/* Cores e fontes do layout do Figma (Nutri — Visão geral); o modo escuro segue a mesma lógica */
:root{
  --bg:#F4F7FA; --surface:#FFFFFF; --ink:#183448; --muted:#6C8090; --line:#E1E9EF; --field:#FFFFFF;
  --brand:#183448; --brand-ink:#FFFFFF; --brand-soft:#A9C3D1; --accent:#287B95; --accent-soft:#E9F3F7;
  --good:#1F8A5B; --bad:#C2452D; --warn:#A86A12;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0F1A20; --surface:#16252D; --ink:#E3ECF1; --muted:#93A7B4; --line:#263843; --field:#12212A;
  --brand:#0B1A21; --brand-ink:#E3ECF1; --brand-soft:#8FB3C2; --accent:#5DB2CB; --accent-soft:#1B3742;
  --good:#4CC28A; --bad:#FF7A5C; --warn:#F2B85C; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0F1A20; --surface:#16252D; --ink:#E3ECF1; --muted:#93A7B4; --line:#263843; --field:#12212A;
  --brand:#0B1A21; --brand-ink:#E3ECF1; --brand-soft:#8FB3C2; --accent:#5DB2CB; --accent-soft:#1B3742;
  --good:#4CC28A; --bad:#FF7A5C; --warn:#F2B85C; color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5}
a{color:var(--accent)}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

/* faixa de cima */
.band{background:var(--brand);color:var(--brand-ink)}
.top .wrap{padding-block:28px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.marca{color:var(--brand-ink);text-decoration:none;font-weight:600;letter-spacing:.01em}
.marca small{display:block;font-weight:400;font-size:12px;color:var(--brand-soft);letter-spacing:.08em;text-transform:uppercase}
.cabeca .wrap{padding-block:8px 26px;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:flex-end;justify-content:space-between}
.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-soft);margin:0 0 4px}
.eyebrow a{color:var(--brand-soft)}
h1{margin:0;font-size:clamp(24px,3.4vw,32px);font-weight:600;letter-spacing:-.01em;text-wrap:balance}
.sub{margin:4px 0 0;color:var(--brand-soft);font-size:14px}

main .wrap{padding-block:24px 56px;display:flex;flex-direction:column;gap:20px}
h2{margin:0;font-size:16px;font-weight:600}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;min-width:0;display:flex;flex-direction:column;gap:12px}
.note{margin:0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}

/* botões */
.acoes{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.acoes form{margin:0}
.btn{appearance:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);
  font:500 14px var(--sans);padding:9px 14px;border-radius:9px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{border-color:var(--accent)}
.btn.pri{background:var(--accent);border-color:var(--accent);color:#fff}
.band .btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25);color:var(--brand-ink)}
.band .btn.pri{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.perigo{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,transparent)}
.btn.perigo.cheio{background:var(--bad);border-color:var(--bad);color:#fff}
.btn:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* mensagens */
.msg{border-radius:10px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--good) 40%,transparent);background:color-mix(in srgb,var(--good) 10%,var(--surface))}
.msg.aviso,.msg.erro{border-color:color-mix(in srgb,var(--warn) 50%,transparent);background:color-mix(in srgb,var(--warn) 12%,var(--surface))}
.msg ul{margin:4px 0 0;padding-left:18px}

/* indicadores */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.kpi .k{font-size:12px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.kpi .v{font:500 24px var(--mono);font-variant-numeric:tabular-nums}
.kpi .v small{font-size:13px;color:var(--muted);margin-left:3px}
.kpi .d{font:500 13px var(--mono);color:var(--muted)}

/* tabelas */
.tablebox{overflow-x:auto}
/* lista com barra de rolamento própria (Pacientes): o cabeçalho fica parado no topo */
.tablebox.rolagem{max-height:70vh;overflow:auto}
.tablebox.rolagem thead th{position:sticky;top:0;z-index:1;background:var(--surface);box-shadow:inset 0 -1px 0 var(--line)}
table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}
th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
th{font-weight:600;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
th.t,td.t{text-align:left}
td.n{font-family:var(--mono)}
tbody tr:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
td a.linha{color:var(--ink);font-weight:500;text-decoration:none}
td a.linha:hover{color:var(--accent);text-decoration:underline}
.vazio{color:var(--muted)}
.chip{display:inline-block;padding:1px 9px;border-radius:999px;font-size:12px;border:1px solid currentColor;white-space:nowrap}
.chip.warn{color:var(--warn)} .chip.good{color:var(--good)} .chip.bad{color:var(--bad)}

/* busca */
.busca{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.busca input{flex:1 1 280px;font:16px var(--sans);padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:var(--field);color:var(--ink)}

/* formulário */
form.ficha{display:flex;flex-direction:column;gap:16px}
/* cartões da ficha que minimizam: clique no título ou no − / + */
.card.dobravel>:first-child{cursor:pointer}
.card.fechado>:not(:first-child){display:none!important}
.card.dobravel>:first-child>h2{margin-right:auto}     /* título à esquerda; botões do cartão e o − / + à direita */
.dobra-btn{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;
  width:30px;height:30px;font-size:18px;line-height:1;cursor:pointer;flex:0 0 auto}
.dobra-btn:hover{color:var(--ink);border-color:var(--muted)}
.dobra-corpo{display:flex;flex-direction:column;gap:12px;min-width:0}
.secao{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:0}
.secao>summary{cursor:pointer;padding:14px 18px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
.secao>summary::-webkit-details-marker{display:none}
.secao>summary::after{content:"+";color:var(--muted);font-weight:400}
.secao[open]>summary::after{content:"−"}
.secao .preenchidos{margin-left:auto;font-weight:400;color:var(--muted);font-size:13px}
.campos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px;padding:0 18px 18px}
.campo{display:flex;flex-direction:column;gap:4px;min-width:0}
.campo label{font-size:13px;color:var(--muted)}
.campo input,.campo select{font:15px var(--mono);padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--ink);width:100%}
.campo input.texto{font-family:var(--sans)}
.campo.calc input{border-style:dashed}
.campo .dica{font-size:11px;color:var(--muted)}
.barra{position:sticky;bottom:0;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(6px);
  border-top:1px solid var(--line);padding-block:12px calc(12px + env(safe-area-inset-bottom,0px));display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.confirma{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cadastro{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px 16px}
@media (max-width:600px){th,td{padding:8px 6px}.oculta-cel{display:none}}

/* menu e contatos */
.menu{display:flex;gap:6px;flex-wrap:wrap}
.badge{display:inline-block;min-width:20px;padding:0 6px;border-radius:999px;background:var(--warn);color:#fff;font:600 12px/20px var(--sans);text-align:center}
.lista{display:flex;flex-direction:column;gap:12px}
.item{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:start}
.item .quem{display:flex;flex-direction:column;gap:2px;min-width:0}
.item .quem a{font-weight:600;color:var(--ink);text-decoration:none}
.item .quem a:hover{color:var(--accent)}
.item textarea{grid-column:1/-1}
textarea{width:100%;font:14px/1.45 var(--sans);padding:9px 11px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--ink);resize:vertical;min-height:64px}
.tipo{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.btn.zap{background:#1F8A5B;border-color:#1F8A5B;color:#fff}
code{font-family:var(--mono);font-size:13px;background:color-mix(in srgb,var(--accent) 10%,transparent);padding:1px 5px;border-radius:5px}
.duas{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;align-items:start}
@media (max-width:600px){.item{grid-template-columns:1fr}}

/* abas da ficha e página de evolução embutida */
.abas{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}
.aba{padding:10px 16px;border-radius:10px 10px 0 0;color:var(--muted);text-decoration:none;font-weight:500;white-space:nowrap;border:1px solid transparent;border-bottom:0;margin-bottom:-1px}
.aba[aria-selected="true"]{background:var(--surface);color:var(--ink);border-color:var(--line)}
.aba:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#aba-ficha{display:flex;flex-direction:column;gap:20px}
.painel-evolucao{display:flex;flex-direction:column;gap:8px}
.painel-evolucao iframe{width:100%;min-height:600px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}

/* editor de planos: refeições à esquerda, meta e totais fixos à direita */
.editor{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.ed-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.ed-lado{display:flex;flex-direction:column;gap:16px;position:sticky;top:12px}
.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.meta-grid .campo input,.meta-grid .campo select{font:14px var(--mono);padding:7px 9px}
.energia{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.energia div{display:flex;flex-direction:column;background:var(--bg);border-radius:10px;padding:8px 10px}
.energia span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.energia b{font:500 15px var(--mono)}
.energia .destaque{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}
.total-kcal{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.total-kcal b{font:500 30px var(--mono)}
.barra-meta{height:8px;border-radius:4px;background:var(--line);overflow:hidden}
.barra-meta i{display:block;height:100%;width:0;background:var(--accent);transition:width .2s}
.barra-meta i.acima{background:var(--warn)}
.macros-ed td,.macros-ed th{padding:5px 6px}
.macros-ed td{font-family:var(--mono)}
.refeicao{gap:10px}
.ref-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ref-top input[type=time]{font:500 14px var(--mono);padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink)}
.ref-top .r-nome{flex:1 1 200px;font-weight:600;font-size:15px}
.tot-ref{font-family:var(--mono)}
/* editor de plano: mover, duplicar, fora do total, valores próprios */
.mexer{display:inline-flex;gap:3px;align-items:center;flex-wrap:wrap}
.mexer .mx,.mexer .mover{font:600 12px var(--sans);min-width:26px;height:26px;padding:0 6px;border:1px solid var(--line);border-radius:7px;
  background:var(--surface);color:var(--muted);cursor:pointer}
.mexer .mx:hover:not(:disabled),.mexer .mover:hover{border-color:var(--accent);color:var(--accent)}
.mexer .mx:disabled{opacity:.35;cursor:default}
.mexer .mx.on{background:#fff4d6;border-color:#e6b34a;color:#8a5a00}
.mexer .mover{width:auto;max-width:150px}
.refeicao.fora{border-style:dashed;background:repeating-linear-gradient(135deg,transparent 0 12px,#f6f1e5 12px 13px)}
.refeicao .item.fora{opacity:.6}
.refeicao .item.fora .i-nome{text-decoration:line-through dotted}
.valores-ed{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;background:var(--bg);border-radius:10px;padding:8px 10px;margin-top:4px}
.valores-ed label{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--muted)}
.valores-ed input{width:70px;font:500 13px var(--mono);padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:var(--field);color:var(--ink)}
.valores-ed .note{flex-basis:100%;margin:0;font-size:12px}
.editor input.texto{font:14px var(--sans);padding:7px 9px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--ink);min-width:0}
.itens{display:flex;flex-direction:column;gap:8px}
.item{border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:6px}
.item-lin,.sub-lin{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.item-lin .i-nome{flex:1 1 220px;font-weight:500}
.sub-lin{padding-left:6px}
.sub-lin .s-nome{flex:1 1 140px;font-size:13px}
.sub-lin .qtd-ed .q{width:58px}
.sub-lin .ou{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.qtd-ed{display:inline-flex;gap:4px;align-items:center}
.qtd-ed .q{width:64px;font:14px var(--mono);padding:6px 7px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink)}
.qtd-ed .u{font:13px var(--sans);padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);max-width:220px}
.g-eq{font:12px var(--mono);color:var(--muted)}
.nutri{font-family:var(--mono);font-size:12px}
.btn.mini{padding:3px 9px;font-size:13px}
.subs-ed{display:flex;flex-direction:column;gap:6px}
.busca-box{position:relative}
.busca-box .busca{width:100%;font:14px var(--sans);padding:8px 10px;border:1px dashed var(--line);border-radius:8px;background:transparent;color:var(--ink)}
.busca-box .busca:focus{border-style:solid;border-color:var(--accent);background:var(--field)}
.subs-ed .busca{font-size:13px;padding:6px 9px}
.sugestoes{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--line);border-radius:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.12);max-height:320px;overflow:auto}
.sug{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;border:0;background:none;color:var(--ink);
  padding:8px 12px;font:14px var(--sans);cursor:pointer;border-bottom:1px solid var(--line)}
.sug:hover,.sug:focus-visible{background:color-mix(in srgb,var(--accent) 8%,transparent);outline:none}
.sug small{color:var(--muted);font-size:12px}
.nova-medida{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:4px 0}
.r-obs{min-height:34px}
@media (max-width:980px){.editor{grid-template-columns:1fr}.ed-lado{position:static;order:-1}}

/* check-in semanal */
.passos{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.passos li{padding-left:4px}
.passos code{word-break:break-all}
table.ck td{vertical-align:top}
table.ck .chip{font-size:12px;padding:1px 8px;margin:1px 0}
.nota{font-family:var(--mono)}
.nota.baixa{color:var(--bad);font-weight:600}
tr.ck-texto td{white-space:normal;text-align:left;color:var(--muted);font-size:13px;padding-top:0;display:table-cell}
tr.ck-texto span{display:block;max-width:90ch}
.graf-peso{width:100%;height:auto;max-height:170px}
.graf-peso polyline{fill:none;stroke:var(--accent);stroke-width:2.5}
.graf-peso circle{fill:var(--surface);stroke:var(--accent);stroke-width:2}
.graf-peso text{font:11px var(--mono);fill:var(--muted)}
.script-gs{width:100%;font:12px var(--mono);min-height:160px}
table.ck td.alertas{white-space:normal;min-width:200px}

/* editor: ingestão hídrica */
.agua-meta{display:flex;gap:10px;align-items:flex-end}
.agua-meta .campo{flex:1;min-width:0}
.agua-meta input{font:500 16px var(--mono);padding:7px 9px}
#agua.desligada .agua-meta,#agua.desligada #a-copos{opacity:.5}
.chave{position:relative;display:inline-block;width:42px;height:24px;flex:none;cursor:pointer}
.chave input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.chave span{position:absolute;inset:0;border-radius:999px;background:var(--line);transition:background .15s}
.chave span::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.chave input:checked+span{background:var(--accent)}
.chave input:checked+span::after{transform:translateX(18px)}
.chave input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}

/* lista de pacientes: ordenar pelas colunas */
th button.ordem{appearance:none;border:0;background:none;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
th button.ordem::after{content:"↕";opacity:.35;font-size:11px}
th[aria-sort="ascending"] button.ordem::after{content:"▲";opacity:1;font-size:9px}
th[aria-sort="descending"] button.ordem::after{content:"▼";opacity:1;font-size:9px}
th[aria-sort="ascending"],th[aria-sort="descending"]{color:var(--ink)}
th button.ordem:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.busca .ordenar{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.busca .ordenar select{font:14px var(--sans);padding:7px 9px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--ink)}
/* perfil: excluir paciente */
.zona-perigo{border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}
.zona-perigo h2{color:var(--bad)}

/* agenda */
.nav-semana{align-items:center}
.nav-semana .ir-data{display:flex;align-items:center;gap:6px;margin-left:auto}
.nav-semana .ir-data input{font:14px var(--mono);padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--ink)}
.semana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.dia{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:180px;min-width:0}
.dia header{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.dia .dsem{font-weight:600}
.dia .dnum{font:13px var(--mono);color:var(--muted)}
.dia.hoje{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.dia.passado{opacity:.7}
.cons{display:flex;flex-direction:column;gap:1px;padding:7px 9px;border-radius:9px;background:var(--bg);border-left:3px solid var(--accent);text-decoration:none;color:var(--ink);font-size:13px;min-width:0}
.cons:hover{background:color-mix(in srgb,var(--accent) 10%,var(--bg))}
.cons .hora{font:500 12px var(--mono);color:var(--muted)}
.cons .nome{font-weight:600;overflow-wrap:anywhere}
.cons .det,.cons .conf{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:2px 8px}
.cons .falta,.lista-consultas .falta{color:var(--warn)}
.cons.st-agendada{border-left-color:var(--muted)}
.cons.st-aguardando{border-left-color:var(--warn)}
.cons.st-aguardando .st{color:var(--warn);font-weight:600}
.cons.st-remarcar{border-left-color:var(--bad);background:color-mix(in srgb,var(--bad) 9%,var(--bg))}
.cons.st-remarcar .st{color:var(--bad);font-weight:700}
.cons.st-confirmada{border-left-color:var(--good);background:color-mix(in srgb,var(--good) 7%,var(--bg))}
.legenda-agenda{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0}
.legenda-agenda span{display:inline-flex;align-items:center;gap:6px}
.ponto{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--muted)}
.ponto.confirmada{background:var(--good)}.ponto.aguardando{background:var(--warn)}.ponto.remarcar{background:var(--bad)}
.cons.st-confirmada .st{color:var(--good);font-weight:600}
.cons.st-faltou{border-left-color:var(--bad)}
.cons.st-faltou .st{color:var(--bad)}
.cons.st-realizada{border-left-color:var(--line);opacity:.8}
.cons.st-cancelada{border-left-color:var(--line);opacity:.55}
.cons.st-cancelada .nome{text-decoration:line-through}
.cons.st-remarcada{border-left-color:var(--line);opacity:.55}
.chip.st-remarcada{color:var(--muted)}
.cons-linha{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}
.cons-linha>.cons{flex:1 1 320px}
.cons-sit{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.cons-sit .btn{white-space:nowrap}
.cons-sit .sit-realizada.ativo{background:var(--good);border-color:var(--good);color:#fff}
.cons-sit .sit-remarcada.ativo{background:var(--warn);border-color:var(--warn);color:#fff}
.cons-sit .sit-cancelada.ativo{background:var(--bad);border-color:var(--bad);color:#fff}
.dia .mais{margin-top:auto;font-size:12px;color:var(--muted);text-decoration:none;padding:4px 2px}
.dia .mais:hover{color:var(--accent)}
@media (max-width:1000px){.semana{grid-template-columns:minmax(0,1fr)}.dia{min-height:0}.dia.vazio{padding-block:6px}}
/* ficha: consultas do paciente */
.lista-consultas{display:flex;flex-direction:column;gap:6px}
.lista-consultas .cons{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 12px;border-left-width:3px}
.lista-consultas .cons.passada{opacity:.7}
.chip.st-agendada{color:var(--muted)}
.chip.st-confirmada{color:var(--good)}
.chip.st-faltou{color:var(--bad)}
.chip.st-realizada,.chip.st-cancelada{color:var(--muted)}
/* consulta */
fieldset.modalidade{border:0;padding:0;margin:0;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
fieldset.modalidade legend{font-size:13px;color:var(--muted);float:left;margin-right:6px}
fieldset.modalidade label{display:flex;gap:6px;align-items:center}
.confirmacoes .item{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.confirmacoes textarea{width:100%}
.confirmacoes .campo input{width:100%}
.cons.google{border-left-color:var(--line);background:transparent;border:1px dashed var(--line);border-left:3px solid var(--muted);color:var(--muted)}
.cons.google .nome{font-weight:500;color:var(--ink)}

/* editor: aba Suplementação */
.editor .abas button.aba{appearance:none;background:none;font:inherit;cursor:pointer}
.editor .abas button.aba[aria-selected="true"]{background:var(--surface)}
.supl-sug{display:flex;flex-wrap:wrap;gap:6px}
.btn.sug-supl{padding:5px 10px;font-size:13px}
.btn.sug-supl.ja{opacity:.6}
.s-item{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;background:var(--surface)}
.s-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.s-top .btn{margin-left:auto}
.s-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 10px}
.s-campos .campo input,.s-campos .campo select{font:14px var(--sans);padding:7px 9px}
.s-sat{display:flex;gap:8px;align-items:center;grid-column:1/-1}
.s-dose{margin:0;font-size:13px;color:var(--muted)}
.s-dose b{color:var(--ink);font-weight:600}
.s-info{font-size:13px;color:var(--muted)}
.s-info p{margin:6px 0 0}
/* referências da aba Suplementação (artigos favoritos do Cofre) */
.s-ref{margin:0;font-size:13px;color:var(--muted)}.s-ref a{color:var(--accent,#1A9E8F)}
.s-refs{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px;font-size:14px}
.s-refs a{color:inherit;text-decoration:underline;text-decoration-color:var(--line)}.s-refs a:hover{text-decoration-color:currentColor}
.s-refs-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.s-refs-tags .chip{color:var(--muted);font-size:11px}
.s-refs-tags .chip.s{color:var(--good)}
.s-refs-filtro{display:flex;flex-wrap:wrap;gap:6px}
.chip-f{appearance:none;border:1px solid var(--line);background:transparent;color:var(--muted);font:12px inherit;font-family:inherit;padding:3px 10px;border-radius:999px;cursor:pointer}
.chip-f.on{background:var(--ink);color:var(--surface,#fff);border-color:var(--ink)}
.s-refs-rel{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px}
.s-refs-rel ul{margin:6px 0 0;padding-left:18px}.s-refs-rel a{color:inherit}
#s-add{font:14px var(--sans);padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--ink)}
.meta-grid.hidr{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}

/* rastreio de RED-S */
.reds-ed{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.link-btn{appearance:none;border:0;background:none;padding:0;color:var(--accent);font:13px var(--sans);text-decoration:underline;cursor:pointer;align-self:flex-start}
.reds-resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.reds-resumo>div{display:flex;flex-direction:column;gap:4px;background:var(--bg);border-radius:10px;padding:10px 12px}
.reds-resumo .k{font-size:12px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.reds-resumo .v{font:500 24px var(--mono)}
.reds-resumo .v small{font-size:13px;color:var(--muted)}
.reds-resumo .chip{align-self:flex-start}
details.nova-leafq>summary{list-style:none;display:inline-block}
details.nova-leafq>summary::-webkit-details-marker{display:none}
fieldset.lq-secao{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:12px;margin:0}
fieldset.lq-secao legend{font-weight:600;padding:0 6px}
.lq-perg p{margin:0 0 6px;font-weight:500}
.lq-ops{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.lq-ops label{display:flex;gap:6px;align-items:center;font-size:14px}
.lq-ops .pts{font:500 11px var(--mono);color:var(--warn)}
.lq-perg input.texto{width:100%;font:14px var(--sans);padding:7px 9px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--ink)}
.lq-total{font-weight:600}
.lq-total.risco{color:var(--bad)} .lq-total.ok{color:var(--good)}
dl.respostas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 16px;margin:8px 0;font-size:13px}
dl.respostas dt{color:var(--muted)} dl.respostas dd{margin:0;color:var(--ink)}
@media (max-width:700px){dl.respostas{grid-template-columns:minmax(0,1fr)}}
.lq-envio{border:1px dashed var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.lq-risco{color:var(--bad);font-weight:600}
input.campo-pac{font:14px var(--sans);padding:7px 9px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--ink);width:260px;max-width:100%}

/* fórmulas escritas ("Como foi calculado") */
.passos-calc{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.passo{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--bg);min-width:0}
.passo b{font-size:14px}
.passo .f{font-size:13px;color:var(--muted)}
.passo .c{font:13px var(--mono);overflow-wrap:anywhere}
.passo .r{font:600 15px var(--mono);color:var(--ink)}
.formulas-e{display:flex;flex-direction:column;gap:6px;font-size:13px}
.formulas-e div{border-left:3px solid var(--line);padding:2px 0 2px 8px}
.formulas-e .f{color:var(--muted)}
.formulas-e .c{font-family:var(--mono);overflow-wrap:anywhere}
.formulas summary{cursor:pointer;margin:4px 0}
.campo.usada input{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.campo.usada label::after{content:" · entra no protocolo";color:var(--accent);font-size:11px}
.passo .c.falta{font-family:var(--sans);color:var(--warn)}

/* exames laboratoriais e testes de desempenho */
.ex-alertas{display:flex;flex-wrap:wrap;gap:6px}
.ex-alertas .chip{white-space:normal}
.chip.att{color:var(--warn)}
table.ex th,table.ex td{padding:6px 8px}
table.ex td.gr{text-align:left;background:var(--bg);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600}
table.ex td.v-baixo,table.ex td.v-alto{color:var(--bad);font-weight:600}
table.ex td.v-atencao{color:var(--warn);font-weight:600}
table.ex td .seta{font-size:11px;margin-left:2px}
table.ex tr.linha{cursor:pointer}
table.ex tr.linha:hover td{background:color-mix(in srgb,var(--accent, #1A9E8F) 6%,transparent)}
.ex-th-acoes{display:flex;gap:4px;justify-content:flex-end;margin-top:4px}
.ex-th-acoes form{display:inline}
.ex-grafico{display:flex;flex-direction:column;gap:6px}
.ex-grafico svg{width:100%;height:auto;max-height:220px}
.ex-grafico .faixa{fill:var(--good);opacity:.10}
.ex-grafico polyline{fill:none;stroke:var(--accent);stroke-width:2.5}
.ex-grafico circle{fill:var(--surface);stroke:var(--accent);stroke-width:2}
.ex-grafico text{font:11px var(--mono);fill:var(--muted)}
.ex-form details.ex-grupo{border:1px solid var(--line);border-radius:10px;padding:0 12px;background:var(--surface)}
.ex-form details.ex-grupo>summary{cursor:pointer;padding:10px 0;font-weight:600;display:flex;justify-content:space-between;gap:8px}
.ex-form details.ex-grupo>summary .note{font-weight:400}
.ex-itens{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px 16px;padding:4px 0 14px}
.ex-item{display:flex;flex-direction:column;gap:3px}
.ex-item label{font-size:13px;font-weight:600}
.ex-item .linha-in{display:flex;gap:6px}
.ex-item .linha-in input{min-width:0}
.ex-item .linha-in input.val{flex:1.1}
.ex-item .linha-in input.rl{flex:1;font-size:12px}
.ex-item .ref{font-size:12px;color:var(--muted)}
.ex-novo{grid-column:1/-1;display:flex;flex-direction:column;gap:8px}
.mf-sessoes{display:flex;flex-direction:column;gap:6px}
.mf-sessao{border:1px solid var(--line);border-radius:10px;padding:0 12px;background:var(--surface)}
.mf-sessao>summary{cursor:pointer;padding:10px 0;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.mf-lista{margin:0 0 10px;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.mf-lista li{display:flex;flex-direction:column;gap:1px}
.mf-lista .mf-nome{font-weight:600}
.mf-lista .mf-series{font-size:13px;font-variant-numeric:tabular-nums}
.mf-lista .mf-instr{font-size:12px}
.mf-lista .mf-subst{margin-left:14px;list-style:circle}
.gm-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.gm-kpis>div{background:var(--bg);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.gm-kpis .k{font-size:12px;color:var(--muted)}
.gm-kpis .v{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}
.gm-kpis .v small{font-size:13px;font-weight:400;color:var(--muted)}
/* aba Lesões: boneco frente/costas + legenda e lista */
.les-topo{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.les-topo h2{margin:0}
.les-corpo{display:grid;grid-template-columns:minmax(0,auto) minmax(260px,1fr);gap:24px;align-items:start}
.les-figuras{display:flex;gap:8px;justify-content:center}
.les-figuras figure{margin:0;display:flex;flex-direction:column;align-items:center}
.les-figuras figcaption{font-size:12px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.boneco{width:200px;height:400px;max-width:42vw}
.boneco .base{fill:color-mix(in srgb,var(--muted) 14%,var(--surface));stroke:color-mix(in srgb,var(--muted) 55%,transparent);stroke-width:1.2}
.boneco:not(.real) [fill]{stroke-width:1.4}
.boneco.real{width:auto;height:420px;max-width:44vw;background:#fff;border-radius:10px}
.bn-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.bn-slot{border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.bn-prev{width:100%;height:170px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px}
.bn-prev img{max-height:170px;max-width:100%}
.boneco:not(.real) .lado{font:600 13px var(--sans)}
.boneco .lado{fill:var(--muted);font-family:var(--sans);font-weight:700}
.les-lado{display:flex;flex-direction:column;gap:12px;min-width:0}
.les-legenda{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px}
.les-legenda li{display:inline-flex;align-items:center;gap:6px}
.les-legenda i{width:12px;height:12px;border-radius:3px;display:inline-block}
.les-tab td{vertical-align:top;white-space:normal}
.les-trecho{display:block;font-size:12px;margin-top:2px}
.les-sit{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:99px;
  background:color-mix(in srgb,var(--c) 16%,transparent);color:color-mix(in srgb,var(--c) 75%,var(--ink));border:1px solid color-mix(in srgb,var(--c) 45%,transparent)}
@media (max-width:760px){.les-corpo{grid-template-columns:minmax(0,1fr)}}
.ex-novo>.btn{align-self:flex-start}
.ex-novo-form{border:1px dashed var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}
.ex-novo-form .linha-novo{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px}
.ex-novo-form label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600}
@media (max-width:640px){.ex-novo-form .linha-novo{grid-template-columns:1fr 1fr}}
.ex-item .previa{font-size:12px;font-weight:600}
.ex-item .previa.baixo,.ex-item .previa.alto{color:var(--bad)} .ex-item .previa.atencao{color:var(--warn)} .ex-item .previa.ok{color:var(--good)}
.ex-causas{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.ex-causas .note{display:block}
table.ref-tab input{width:76px;padding:4px 6px}
table.ref-tab input.un{width:110px}
.dp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:12px}
.dp-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:var(--surface);min-width:0}
.dp-card h3{margin:0;font-size:15px;display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.dp-card .v{font:500 22px var(--mono)}
.dp-card .v small{font-size:13px;color:var(--muted);margin-left:3px}
.dp-card table{font-size:13px}
.dp-card th,.dp-card td{padding:6px 6px}
.dp-card th{white-space:nowrap}
.dp-card svg{width:100%;height:90px}
.dp-card svg polyline{fill:none;stroke-width:2.5;vector-effect:non-scaling-stroke}
.dp-card svg .d{stroke:var(--accent)} .dp-card svg .e{stroke:var(--warn);stroke-dasharray:4 3}
.var-boa{color:var(--good);font-weight:600} .var-ruim{color:var(--bad);font-weight:600}

/* perfil antropométrico (avaliação) */
.pf{display:flex;flex-direction:column;gap:18px}
.pf-bloco{display:flex;flex-direction:column;gap:8px;min-width:0}
.pf-bloco h3{margin:0;font-size:15px}
.pf tr.escolhido td{background:color-mix(in srgb,var(--good) 8%,transparent)}
.pf-falta summary{cursor:pointer;color:var(--muted);font-size:13px}
.pf-falta ul{margin:6px 0 0;padding-left:18px;font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:3px}
.pf-soma{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:16px;align-items:center}
@media (max-width:700px){.pf-soma{grid-template-columns:1fr}}
.pf-num{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.pf-num>div{display:flex;flex-direction:column;gap:2px;background:var(--bg);border-radius:10px;padding:10px 12px}
.pf-num .k{font-size:12px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.pf-num .v{font:500 22px var(--mono)}
.somatocarta{width:100%;max-width:300px;height:auto}
.somatocarta .tri{fill:color-mix(in srgb,var(--accent) 6%,transparent);stroke:var(--muted);stroke-width:1.2}
.somatocarta .eixo{stroke:var(--line);stroke-width:1}
.somatocarta text,.zbar text{font:11px var(--sans);fill:var(--muted)}
.somatocarta .pt{fill:var(--accent);stroke:var(--surface);stroke-width:2}
.zbar{width:100%;max-width:640px;height:auto}
.zbar .grade{stroke:var(--line)} .zbar .zero{stroke:var(--muted)}
.zbar .pos{fill:var(--accent)} .zbar .neg{fill:var(--warn)}
.pf-metas{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}

/* lembretes */
.atalhos{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.google-lb{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
.google-lb .check{display:flex;gap:8px;align-items:center;font-size:14px}
.google-lb select{margin-left:6px;font:14px var(--sans);padding:5px 8px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--ink)}
.lista-lembretes{display:flex;flex-direction:column;gap:8px}
.lemb{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 12px;border-radius:10px;
  background:var(--bg);border-left:3px solid var(--accent)}
.lemb.vencido{border-left-color:var(--warn);background:color-mix(in srgb,var(--warn) 8%,var(--bg))}
.lemb.feito{border-left-color:var(--line);opacity:.75}
.lemb.compacto{padding:7px 10px}
.lemb-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 260px}
.lemb .quando{font:500 12px var(--mono);color:var(--muted)}
.lemb.vencido .quando{color:var(--warn)}
.lemb .o-que{font-weight:600;overflow-wrap:anywhere}
.lemb .det{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:2px 10px}
.lemb .adiar{display:flex;gap:4px;align-items:center}
.lemb .adiar select{font:13px var(--sans);padding:6px 6px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--ink)}
.cons.lembrete{border-left-color:var(--warn);background:color-mix(in srgb,var(--warn) 7%,var(--bg))}
.cons.lembrete .nome{font-weight:500}
.cons.lembrete.feito{opacity:.55}
.cons.lembrete.feito .nome{text-decoration:line-through}
.avisos-lemb{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:10px;z-index:50;max-width:min(360px,calc(100vw - 32px))}
.aviso-lemb{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:12px;padding:12px 14px;
  box-shadow:0 8px 24px rgba(0,0,0,.18);display:flex;flex-direction:column;gap:6px}
.aviso-lemb b{overflow-wrap:anywhere}
.assistente{border-left:4px solid var(--accent)}
.assist-linha{display:flex;gap:8px;flex-wrap:wrap}
.assist-linha input{flex:1 1 280px;font:16px var(--sans);padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--ink);min-width:0}
.entendi{display:flex;flex-direction:column;gap:6px;min-height:22px}
.entendi .chips{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.entendi .chip{color:var(--accent)} .entendi .chip.warn{color:var(--warn)}
.entendi .falta{color:var(--warn)}

/* lembretes dos pacientes */
.titulo-sec{font-size:16px;margin:8px 0 0}
.canais-escolha{display:flex;flex-direction:column;gap:10px}
.canais-escolha .check{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.canais-escolha .check input{margin-top:3px}
.canais-escolha .check>span{display:flex;flex-direction:column;gap:2px}
.canais-escolha .check.indisponivel{opacity:.6;cursor:default}
.canais-pac .item{display:flex;flex-direction:column;gap:8px}
.canais-pac .quem{display:flex;flex-direction:column;gap:4px}

/* ficha: acesso à página do paciente (data de nascimento + código) */
.acesso-pag{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--good) 8%,var(--surface));border:1px solid var(--line)}
.acesso-pag .codigo{font:600 18px var(--mono);letter-spacing:.12em}
.acesso-item{display:flex;flex-direction:column;gap:2px}

/* tela inicial (painel do dia) */
.menu .btn[aria-current="page"]{background:var(--brand-ink);color:var(--brand)}
.pn-busca{position:relative;width:min(340px,100%)}
.pn-busca input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--field);color:var(--ink);font:inherit}
.pn-kpis{margin-bottom:16px}
.pn-kpis a.kpi{text-decoration:none;color:var(--ink)}
.pn-kpis a.kpi:hover{border-color:var(--accent)}
.pn-kpis .kpi.alerta .v{color:var(--warn)}
.pn-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.pn-grade .card{margin:0}
.pn-grade .largo{grid-column:1/-1}
.pn-tit{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 10px}
.pn-tit h2{margin:0;font-size:16px}
.pn-tit a{font-size:13px}
.pn-dias{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pn-dias h3{margin:0 0 8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pn-dias .lista{display:flex;flex-direction:column;gap:6px}
.pn-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pn-lista li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 2px;border-top:1px solid var(--line);font-size:14px}
.pn-lista li:first-child{border-top:0}
.pn-lista .q{font:500 12px var(--mono);color:var(--muted);white-space:nowrap}
.pn-lista .nm{font-weight:600;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.pn-lista a.nm:hover{color:var(--accent)}
.pn-lista .det{display:block;font-size:12px;color:var(--muted);font-weight:400}
.pn-lista .atr{color:var(--bad)} .pn-lista .ok{color:var(--good)} .pn-lista .av{color:var(--warn)}
.pn-vazio{color:var(--muted);font-size:14px;margin:4px 0}
.pn-atalhos{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:820px){.pn-grade,.pn-dias{grid-template-columns:1fr}}

/* gestão: custos fixos, horas e preços */
.gs-grade{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start}
.gs-grade .card{margin:0}
.gs-grade .largo{grid-column:1/-1}
.gs table td,.gs table th{padding:6px 8px}
.gs td.t,.gs th.t{text-align:left;width:100%}
.gs input.c{width:100%;min-width:90px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;font-size:14px}
.gs input.c.n{text-align:right;font-family:var(--mono);max-width:120px}
.gs input.c:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);border-color:var(--accent)}
.gs td.calc{font-family:var(--mono);color:var(--muted)}
.gs tfoot td{font-weight:600;border-bottom:0;font-family:var(--mono)}
.gs tfoot td.t{font-family:var(--sans)}
.gs .tirar{border:0;background:none;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px;border-radius:6px}
.gs .tirar:hover{color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent)}
.gs .campos{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;font-size:14px}
.gs .campos .res{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:8px;font-weight:600}
.gs .campos .res span:last-child{font-family:var(--mono)}
.gs .bom{color:var(--good)} .gs .ruim{color:var(--bad)} .gs .med{color:var(--warn)}
.gs-salvo{font-size:13px;color:var(--brand-soft)}
@media (max-width:900px){.gs-grade{grid-template-columns:1fr}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gs #servicos input.c:not(.n){min-width:170px}
.gs #servicos input.c.n{max-width:96px;min-width:70px}
.gs table.gs-serv th{white-space:normal;vertical-align:bottom;min-width:70px}
.gs #servicos td.calc,.gs #servicos td[id^="s-sobra"]{white-space:normal;min-width:84px}

/* mapa de treino (aba 3 da avaliação) */
.mp .card{margin:0}
.mp-topo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px;align-items:start}
.mp input.c,.mp textarea.c{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;font-size:14px;width:100%}
.mp input.c.n{text-align:right;font-family:var(--mono)}
.mp input.c:focus,.mp textarea.c:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);border-color:var(--accent)}
.mp-tab th{text-align:left;color:var(--ink);text-transform:none;letter-spacing:0;font-size:14px;font-weight:500}
.mp-tab thead th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-align:right}
.mp-tab td{font-family:var(--mono);padding:5px 8px}
.mp-tab td input.c.n{max-width:110px;margin-left:auto;display:block}
.mp-tmb{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:10px;font-size:14px}
.mp-tmb label{display:flex;gap:8px;align-items:center;font-weight:600}
.mp-tmb label input{width:110px}
.mp-usar{display:flex;gap:4px;align-items:center;color:var(--muted);font-size:13px}
.mp-grade{min-width:900px}
.mp-grade th,.mp-grade td{padding:3px 4px;text-align:center}
.mp-grade th.t{text-align:left;color:var(--ink);text-transform:none;letter-spacing:0;font-size:13px;font-weight:500;padding-right:10px}
.mp-grade input.c{min-width:92px;text-align:center;font-size:13px;padding:5px 6px}
.mp-grade input.c.n{text-align:center}
.mp-grade tbody.mp-esp+tbody.mp-esp tr:first-child>*{border-top:6px solid color-mix(in srgb,var(--accent) 22%,var(--surface))}
.mp-grade tr.mp-vet td,.mp-grade tr.mp-vet th{font-weight:600;font-family:var(--mono);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.mp-grade td[id]{font-family:var(--mono)}
.mp-grade tr.mp-tot>*{font-weight:700;background:color-mix(in srgb,var(--accent) 12%,transparent)}
@media (max-width:900px){.mp-topo{grid-template-columns:1fr}}

/* agenda: abas Semana | Campeonatos e o cronograma de campeonatos */
.abas-ag{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 14px}
.abas-ag a{padding:8px 14px;text-decoration:none;color:var(--muted);font-weight:600;font-size:14px;border-bottom:3px solid transparent;margin-bottom:-1px}
.abas-ag a:hover{color:var(--ink)}
.abas-ag a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
.cons.campeonato{border-left-color:#7A5AF8;background:color-mix(in srgb,#7A5AF8 9%,var(--bg))}
.cons.campeonato.viagem{background:transparent;border:1px dashed color-mix(in srgb,#7A5AF8 45%,var(--line));border-left:3px solid #7A5AF8}
.cp-filtro{align-items:center;gap:8px;margin-bottom:14px}
.cp-filtro select{font:inherit;padding:6px 10px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--ink)}
.cp-sec{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 8px}
.cp-area{width:100%;font:inherit;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--ink)}
.cp-grupo{font-size:15px;margin:20px 0 10px}
.cp{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:16px;align-items:start;margin:0 0 10px;border-left:4px solid #7A5AF8}
.cp-passado{border-left-color:var(--line)}
.cp-agora{border-left-color:var(--good)}
.cp-data{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.cp-dia{font:600 18px var(--mono)}
.cp-ano{font:500 12px var(--mono);color:var(--muted)}
.cp h3{margin:0;font-size:16px}
.cp-linha{margin:2px 0 8px;font-size:14px;color:var(--muted)}
.cp-det{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 18px;margin:0;font-size:14px}
.cp-det dt{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cp-det dd{margin:0}
.cp-det .cp-nota{grid-column:1/-1}
.cp-det .cp-nota dd{white-space:pre-wrap}
.cp-acoes{display:flex;flex-direction:column;gap:6px}
.cp-passados summary{cursor:pointer;list-style-position:outside}
@media (max-width:700px){.cp{grid-template-columns:1fr}.cp-acoes{flex-direction:row}}
/* painel: minimizar / maximizar caixas */
.pn-tit{align-items:center}
.pn-tit h2{margin-right:auto}
.pn-min{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;width:28px;height:28px;font-size:18px;line-height:1;cursor:pointer;flex:none}
.pn-min:hover{color:var(--ink);border-color:var(--accent)}
.pn-fechado>*:not(.pn-tit){display:none!important}
.pn-fechado .pn-tit{margin:0}
.pn-fechado .pn-tit>:not(h2):not(.pn-min){display:none}
.pn-todas{display:flex;justify-content:flex-end;gap:6px;margin:0 0 10px}

/* check-ins: aba Enviar lembretes */
.abas-ag .badge{margin-left:4px}
.ce-quem{margin:10px 0 -4px}
.ce-busca{font:inherit;padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--ink);width:min(260px,100%)}
.ce-tab td,.ce-tab th{text-align:left}
.ce-tab tr.ce-form td{background:color-mix(in srgb,var(--accent) 5%,transparent);white-space:normal}
.ce-tab tr.ce-form .zapform{margin:0}

.ce-email{margin:6px 0 4px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--surface)}
.ce-email summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--accent)}
.ce-email-form{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.ce-linha{display:flex;flex-wrap:wrap;gap:8px 14px}
.ce-linha label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);flex:1 1 220px}
.ce-linha .ce-ass{flex:2 1 300px}
.ce-email-form input,.ce-email-form textarea{font:14px var(--sans);padding:7px 9px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--ink);width:100%}

/* agenda: arrastar a consulta para outro dia */
.cons[draggable="true"]{cursor:grab}
.cons.arrastando{opacity:.45}
.dia.alvo{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));box-shadow:0 0 0 2px var(--accent)}
.mover-dlg{border:1px solid var(--line);border-radius:14px;padding:20px 22px;background:var(--surface);color:var(--ink);width:min(420px,calc(100vw - 32px))}
.mover-dlg::backdrop{background:rgba(10,25,30,.45)}

/* faturamento */
.etq{display:inline-block;font-size:12px;font-weight:600;line-height:1.2;padding:2px 9px;border-radius:999px;white-space:nowrap;text-decoration:none;
  color:var(--cor,#1A9E8F);background:color-mix(in srgb,var(--cor,#1A9E8F) 14%,transparent);border:1px solid color-mix(in srgb,var(--cor,#1A9E8F) 40%,transparent)}
.band .etq.grande{font-size:13px;padding:3px 12px;color:#fff;background:var(--cor,#1A9E8F);border-color:transparent}
.fat-mes{align-items:center;gap:8px}
.fat-mes-nome{font-weight:600;min-width:150px;text-align:center;color:var(--brand-ink)}
.fat-grade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.fat-grade .card{margin:0}
.fat-grade .largo{grid-column:1/-1}
.fat-tab td,.fat-tab th{padding:7px 8px;vertical-align:middle}
.fat-tab td.t,.fat-tab th.t{text-align:left;white-space:normal}
.fat-tab tr.desp td{background:color-mix(in srgb,var(--bad) 4%,transparent)}
.fat-tab .neg{color:var(--bad)}
.fat-tab tr.atual td{font-weight:600}
.fat-tab tr.inativo td{opacity:.6}
.fat-acoes{display:flex;gap:6px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.fat-acoes form{margin:0}
.fat-receber{display:flex;gap:4px;align-items:center}
.fat-receber select,.fat-receber input{font:13px var(--sans);padding:4px 6px;border-radius:7px;border:1px solid var(--line);background:var(--field);color:var(--ink)}
.fat-novo summary{cursor:pointer;color:var(--accent);font-weight:600;font-size:14px;margin-top:6px}
.fat-barras{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;height:170px;align-items:end;margin:4px 0}
.fat-mesb{display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;text-decoration:none;color:var(--muted)}
.fat-mesb.atual small{color:var(--ink);font-weight:700}
.fat-par{flex:1;width:100%;display:flex;gap:3px;align-items:flex-end;justify-content:center}
.fat-par i,.fat-leg i{display:block;width:40%;max-width:22px;border-radius:4px 4px 0 0;min-height:2px}
.fat-mesb.futuro .fat-par i{opacity:.45}
i.ent{background:var(--good)} i.sai{background:var(--bad);opacity:.75}
.fat-mesb small{font:11px var(--mono)}
.fat-leg{display:flex;gap:16px;margin:0}
.fat-leg span{display:flex;align-items:center;gap:6px}
.fat-leg i{width:12px;height:12px;border-radius:3px}
.fat-cores{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.fat-cores label{cursor:pointer}
.fat-cores input{position:absolute;opacity:0;width:1px;height:1px}
.fat-cores i{display:block;width:24px;height:24px;border-radius:50%;border:3px solid transparent;box-shadow:0 0 0 1px var(--line)}
.fat-cores input:checked+i{border-color:var(--surface);box-shadow:0 0 0 2px var(--ink)}
.fat-cores input:focus-visible+i{outline:2px solid var(--accent)}
@media (max-width:900px){.fat-grade{grid-template-columns:1fr}.fat-barras{grid-template-columns:repeat(8,minmax(28px,1fr))}}

/* tela inicial: resumo do faturamento */
.pf-fat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:18px;align-items:center}
.pf-nums{display:grid;gap:12px}
.pf-nums>div{display:flex;flex-direction:column;gap:1px}
.pf-nums .k{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pf-nums b{font:500 22px var(--mono)}
.pf-barra{display:block;height:6px;border-radius:99px;background:var(--line);margin-top:4px;overflow:hidden;max-width:240px}
.pf-barra i{display:block;height:100%;background:var(--good);border-radius:99px}
.pf-barras{grid-template-columns:repeat(7,minmax(0,1fr));height:150px}
@media (max-width:820px){.pf-fat{grid-template-columns:1fr}}

/* consultoria: fichas técnicas */
.ct-grade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.ct-grade .card{margin:0}
.ct-dados,.ct-ingr,.ct-nut,.ct-prep{grid-column:1/-1}
.ct-tab td,.ct-tab th{padding:5px 6px;vertical-align:middle}
.ct-tab td.t,.ct-tab th.t{text-align:left;white-space:normal}
.ct-tab input.c{width:90px;padding:5px 7px;border:1px solid var(--line);border-radius:7px;background:var(--field);color:var(--ink);font:13px var(--mono);text-align:right}
.ct-tab input.c.fc{width:64px}
.ct-tab tfoot td{font-weight:700;font-family:var(--mono)}
.ct-mov{white-space:nowrap}
.ct-mov button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:15px;padding:2px 5px;border-radius:6px}
.ct-mov button:hover{color:var(--ink);background:var(--bg)}
.ct-mov button[data-x]:hover{color:var(--bad)}
.ct-add{position:relative;margin-top:10px}
.ct-add input,#np-busca{width:100%}
.ct-sugest{position:absolute;z-index:20;left:0;right:0;top:100%;margin-top:4px;background:var(--surface);border:1px solid var(--line);border-radius:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:320px;overflow:auto;display:flex;flex-direction:column}
.campo .ct-sugest{position:absolute}
.campo{position:relative}
.ct-sugest button{text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:8px 12px;font:14px var(--sans);color:var(--ink);cursor:pointer}
.ct-sugest button:hover{background:var(--bg)}
.ct-sugest small{color:var(--muted)}
.ct-campos{display:flex;flex-direction:column;gap:8px}
.ct-campos label{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}
.ct-campos label input{width:130px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:14px var(--mono);text-align:right}
.ct-campos label input.texto{font-family:var(--sans);text-align:left;width:170px}
.ct-res{display:flex;justify-content:space-between;gap:12px;font-size:14px;border-top:1px solid var(--line);padding-top:6px}
.ct-res b{font-family:var(--mono)}
.ct-res.destaque b{color:var(--accent);font-size:16px}
.ct-res b.bom{color:var(--good)} .ct-res b.ruim{color:var(--bad)}
@media (max-width:900px){.ct-grade{grid-template-columns:1fr}}
.ct-add input,#np-busca{font:14px var(--sans);padding:9px 12px;border-radius:10px;border:1px dashed var(--accent);background:var(--field);color:var(--ink)}
.ct-add input:focus,#np-busca:focus{border-style:solid;outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent)}

/* trocar de perfil (clicar no nome): atendimento clínico × consultoria de alimentos */
.perfil-troca{position:relative}
.perfil-troca summary{list-style:none;cursor:pointer;border-radius:10px;padding:4px 8px;margin:-4px -8px}
.perfil-troca summary::-webkit-details-marker{display:none}
.perfil-troca summary:hover,.perfil-troca[open] summary{background:rgba(255,255,255,.08)}
.perfil-troca .seta{font-size:11px;opacity:.8}
.perfil-op{position:absolute;z-index:40;top:calc(100% + 8px);left:-8px;min-width:290px;background:var(--surface);color:var(--ink);border:1px solid var(--line);
  border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.22);padding:6px;display:flex;flex-direction:column;gap:2px}
.perfil-op a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:9px 10px;border-radius:9px;
  text-decoration:none;color:var(--ink)}
.perfil-op a span{grid-row:1/3;font-size:20px}
.perfil-op a small{color:var(--muted);font-size:12px}
.perfil-op a:hover{background:var(--bg)}
.perfil-op a[aria-current="true"]{background:color-mix(in srgb,var(--accent) 12%,transparent)}
.perfil-op a[aria-current="true"] b::after{content:" ✓";color:var(--accent)}

/* rótulo nutricional */
.rt-grade{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;align-items:start}
.rt-form{display:flex;flex-direction:column;gap:14px}
.rt-form .card{margin:0}
.rt-nome{width:100%!important;text-align:left!important;font-family:var(--sans)!important}
.rt-alerg{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.rt-alerg fieldset{border:1px solid var(--line);border-radius:10px;padding:8px 12px;display:flex;flex-direction:column;gap:3px;font-size:13px}
.rt-alerg legend{font-weight:700;font-size:12px;letter-spacing:.04em;padding:0 4px}
.rt-previa{position:sticky;top:12px;display:flex;flex-direction:column;gap:10px}
.rt-avisos ul{margin:4px 0 0;padding-left:18px}
.rt-etiqueta{background:#fff;color:#000;border:1px solid var(--line);border-radius:6px;padding:14px;font-family:Arial,Helvetica,sans-serif;display:flex;flex-direction:column;gap:10px}
.rt-tab{border-collapse:collapse;width:100%;font-size:12px;border:2px solid #000;color:#000}
.rt-tab th,.rt-tab td{border:0;border-bottom:1px solid #000;padding:2px 5px;text-align:right;color:#000;font-family:Arial,Helvetica,sans-serif;text-transform:none;letter-spacing:0}
.rt-tab td:first-child,.rt-tab th:first-child{text-align:left}
.rt-tab .rt-tit{text-align:left;font-size:15px;font-weight:900;border-bottom:1px solid #000}
.rt-tab .rt-por{text-align:left;font-size:12px}
.rt-tab .rt-linha-grossa{border-bottom:5px solid #000}
.rt-tab .rt-cab th{font-weight:700;font-size:11px;border-bottom:2px solid #000}
.rt-tab td.rt-sub{padding-left:16px}
.rt-tab tfoot td{text-align:left;font-size:10px;border-bottom:0}
.rt-linear{font-size:11px;line-height:1.4;margin:0;border:1px solid #000;padding:6px}
.rt-textos p{margin:0 0 4px;font-size:12px}
.rt-forte{font-weight:700;text-transform:uppercase}
.lupa{display:flex;align-items:stretch;border:3px solid #000;background:#000;color:#fff;align-self:flex-start;border-radius:3px;overflow:hidden}
.lupa-ic{background:#fff;display:flex;align-items:center;padding:4px 6px}
.lupa-ic svg{width:34px;height:34px}
.lupa-tx{display:flex;flex-direction:column;gap:3px;padding:5px 8px;font-family:Arial,Helvetica,sans-serif}
.lupa-tx .alto{font-weight:900;font-size:13px;letter-spacing:.03em}
.lupa-tx .nut{background:#fff;color:#000;font-weight:900;font-size:12px;padding:2px 6px}
.rt-fonte{margin:0}
@media (max-width:980px){.rt-grade{grid-template-columns:1fr}.rt-previa{position:static}.rt-alerg{grid-template-columns:1fr}}
@media print{header.band,.rt-form,.rt-resp,.rt-avisos,.rt-fonte,.msg,footer{display:none!important}.rt-grade{display:block}
  .rt-etiqueta{border:0;max-width:110mm}body{background:#fff}}
/* consultoria · visitas técnicas */
.vs-placar{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 18px;position:sticky;top:8px;z-index:5;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.vs-kpi{display:flex;flex-direction:column;min-width:74px}
.vs-kpi span{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.vs-kpi b{font:500 22px var(--mono);font-variant-numeric:tabular-nums}
.vs-kpi small{font-size:12px;color:var(--muted)}
.vs-kpi.c b{color:var(--good)}.vs-kpi.nc b{color:var(--bad)}
.vs-filtro{display:flex;gap:6px;margin-left:auto}
.vs-filtro [aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.vs-indice{margin:0;padding-left:20px;columns:2 260px;font-size:14px}
.vs-indice li{margin:2px 0;break-inside:avoid}
.vs-secao{gap:0}
.vs-secao h2{padding-bottom:6px;border-bottom:2px solid var(--line)}
.vs-item{padding:12px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.vs-item:last-child{border-bottom:0}
.vs-item[data-resp="NC"]{box-shadow:inset 3px 0 0 var(--bad);padding-left:10px}
.vs-texto{margin:0;line-height:1.45}
.vs-resp{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.vs-b{min-width:52px;min-height:40px;border-radius:10px;border:1px solid var(--line);background:var(--field);color:var(--ink);font:600 14px var(--sans);cursor:pointer}
.vs-b:hover{border-color:var(--accent)}
.vs-c[aria-pressed="true"]{background:var(--good);border-color:var(--good);color:#fff}
.vs-nc[aria-pressed="true"]{background:var(--bad);border-color:var(--bad);color:#fff}
.vs-na[aria-pressed="true"]{background:var(--muted);border-color:var(--muted);color:#fff}
.vs-foto-btn{cursor:pointer}
.vs-obs{min-height:38px;resize:vertical}
.vs-fotos{display:flex;flex-wrap:wrap;gap:8px}
.vs-fotos:empty{display:none}
.vs-mini{margin:0;width:132px;display:flex;flex-direction:column;gap:3px}
.vs-mini img{width:132px;height:100px;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block}
.vs-mini figcaption{display:flex;gap:4px}
.vs-leg{flex:1;min-width:0;font:12px var(--sans);padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:var(--field);color:var(--ink)}
.vs-x{border:0;background:none;color:var(--bad);font-size:18px;line-height:1;cursor:pointer;padding:0 4px}
@media (max-width:640px){.vs-placar{top:0;border-radius:0 0 14px 14px}.vs-filtro{margin-left:0;width:100%}.vs-kpi b{font-size:18px}.vs-b{min-width:58px;min-height:44px}}
.campo .note input[type=checkbox]{width:auto;display:inline;margin:0 4px 0 0;vertical-align:middle}
.campo label.note{display:block;margin-top:4px}


/* ============ layout do Figma: barra lateral, barra de cima e cabeçalho da página ============ */
:root{--lateral:232px}
body{font-size:14px}
.ic{display:inline-block;width:20px;height:20px;flex:none;background:currentColor;
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.lateral{position:fixed;inset:0 auto 0 0;width:var(--lateral);background:var(--surface);border-right:1px solid var(--line);
  display:flex;flex-direction:column;z-index:30;overflow-y:auto;padding:30px 16px 22px}
.lateral .perfil-troca{margin:0 0 0 14px}
.lateral .marca{display:block;color:var(--ink);font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.01em;overflow-wrap:anywhere}
.lateral .marca small{margin-top:10px;font-size:9px;font-weight:500;letter-spacing:.2em;color:var(--muted)}
.lateral .perfil-troca .seta{font-size:12px;color:var(--muted)}
.perfil-troca summary:hover,.perfil-troca[open] summary{background:var(--bg)}
.lateral .perfil-op{left:-14px}
nav.menu{display:flex;flex-direction:column;gap:6px;margin-top:40px;flex-wrap:nowrap}
.nav-item{display:flex;align-items:center;gap:14px;min-height:46px;padding:0 14px;border-radius:8px;color:var(--muted);
  text-decoration:none;font-size:13px;font-weight:400}
.nav-item:hover{background:var(--bg);color:var(--ink)}
.nav-item[aria-current="page"]{background:var(--accent-soft);color:var(--accent);font-weight:600}
.nav-item .badge{margin-left:auto}
.nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.lateral-pe{margin-top:auto;padding-top:28px;display:flex;flex-direction:column;gap:2px}
.lateral-pe .nav-item{min-height:40px;font-size:12px}
.nota-cuidado{background:color-mix(in srgb,var(--accent-soft) 45%,var(--bg));border-radius:10px;padding:16px 14px;margin:0 6px 18px;
  display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--muted);line-height:1.45}
.nota-cuidado b{font-size:12px;font-weight:500;color:var(--ink)}
.lateral-rodape{margin:18px 0 0 14px;font-size:10px;color:var(--muted)}
@media (max-height:760px){.nota-cuidado{display:none}}

.area{margin-left:var(--lateral);min-height:100vh;display:flex;flex-direction:column}
.topo{height:104px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:26px;
  padding:0 44px;position:sticky;top:0;z-index:20}
.topo-frase{margin:0 auto 0 0;color:var(--muted);font-size:15px}
.topo-sino{position:relative;color:var(--muted);display:flex;padding:6px;border-radius:8px}
.topo-sino:hover{color:var(--accent);background:var(--bg)}
.topo-sino .ponto{position:absolute;top:5px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--warn);border:2px solid var(--surface)}
.topo-quem{display:flex;flex-direction:column;border-left:1px solid var(--line);padding:4px 0 4px 26px;text-decoration:none;min-width:0}
.topo-quem b{color:var(--ink);font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.topo-quem small{color:var(--muted);font-size:11px}
.topo-menu{display:none}

.area .wrap{max-width:1208px;padding-left:44px;padding-right:44px}
.cabeca .wrap{padding-block:36px 4px;align-items:flex-start}
.cabeca:has(.wrap:empty){display:none}
.cabeca h1{color:var(--ink);font-size:30px;font-weight:600;line-height:1.45;letter-spacing:0}
.cabeca .sub,.eyebrow,.eyebrow a{color:var(--muted)}
.cabeca .sub{font-size:14px;margin-top:2px}
.cabeca .etq.grande{font-size:13px;padding:3px 12px;color:#fff;background:var(--cor,var(--accent));border-color:transparent}
main .wrap{padding-block:28px 56px}

/* botões, cartões e tabelas no padrão do layout */
.btn{border-radius:7px;font-size:13px}
.btn.pri{background:var(--accent);border-color:var(--accent)}
.btn.pri:hover{background:color-mix(in srgb,var(--accent) 88%,#000)}
.cabeca .btn.pri{min-height:44px;padding:0 20px 0 14px;gap:10px}
.btn .ic{width:18px;height:18px}
.card{border-radius:10px;padding:22px 23px}
.kpi{border-radius:10px}
th{font-size:9px;font-weight:500;letter-spacing:.1em}
.badge{background:var(--accent)}

@media (max-width:900px){
  .lateral{transform:translateX(-100%);transition:transform .2s ease;box-shadow:none}
  body.menu-aberto .lateral{transform:none;box-shadow:0 0 40px rgba(0,0,0,.25)}
  .lateral-fundo{position:fixed;inset:0;background:rgba(10,20,26,.4);z-index:25}
  .area{margin-left:0}
  .topo{height:64px;padding:0 16px;gap:12px}
  .topo-menu{display:flex;flex-direction:column;justify-content:center;gap:4px;width:40px;height:40px;padding:0 9px;border:1px solid var(--line);
    border-radius:8px;background:var(--surface);cursor:pointer}
  .topo-menu span{display:block;height:2px;border-radius:2px;background:var(--ink)}
  .topo-frase{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topo-quem{padding-left:12px}.topo-quem small{display:none}.topo-quem b{max-width:120px}
  .area .wrap{padding-left:16px;padding-right:16px}
  .cabeca .wrap{padding-top:22px}
  .cabeca h1{font-size:24px}
}
@media print{.lateral,.topo,.cabeca,.lateral-fundo{display:none!important}.area{margin:0}}

/* ============ Visão geral (painel) ============ */
.vg-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.vg-kpi{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 19px 15px;min-height:134px;
  display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;text-decoration:none;color:var(--ink)}
a.vg-kpi:hover{border-color:var(--accent)}
.vg-kpi .k{font-size:12px;font-weight:500;color:var(--muted)}
.vg-kpi .ic{width:18px;height:18px;color:var(--muted);margin-top:1px}
.vg-kpi .v{grid-column:1/-1;font-size:34px;font-weight:500;line-height:1.45;font-variant-numeric:tabular-nums;margin-top:6px}
.vg-kpi .d{grid-column:1/-1;font-size:11px;color:var(--muted)}
.vg-kpi .d.pos{color:var(--accent)}
.vg-grade{display:grid;grid-template-columns:minmax(0,716fr) minmax(0,380fr);gap:24px;align-items:start}
.vg-lado{display:flex;flex-direction:column;gap:24px}
.vg-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0}
.vg-tit{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 23px 0}
.vg-tit h2{font-size:19px;font-weight:600;line-height:1.45}
.vg-lado .vg-tit h2{font-size:18px}
.vg-tit p{margin:2px 0 0;font-size:12px;color:var(--muted)}
.vg-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--accent);text-decoration:none;margin-top:6px;white-space:nowrap}
.vg-link .ic{width:20px;height:20px}
.vg-link:hover{text-decoration:underline}
.vg-agenda table{margin-top:22px;font-size:12px}
.vg-agenda th{background:color-mix(in srgb,var(--bg) 60%,var(--surface));border:0;padding:12px 0 12px 24px;text-align:left;color:var(--muted)}
.vg-agenda td{padding:0 0 0 24px;height:58px;text-align:left;border:0;color:var(--ink);font-weight:500}
.vg-agenda tbody tr{box-shadow:inset 0 -1px 0 var(--line);background-clip:padding-box}
.vg-agenda tbody tr:hover{background:color-mix(in srgb,var(--accent-soft) 50%,transparent)}
.vg-agenda tr.prox{background:color-mix(in srgb,var(--accent-soft) 70%,transparent);box-shadow:inset 3px 0 0 var(--accent),inset 0 -1px 0 var(--line)}
.vg-agenda td.tipo{font-size:11px;font-weight:400;color:var(--muted);text-transform:none;letter-spacing:0}
.vg-agenda td.ir{width:52px;padding:0 22px 0 0}
.vg-agenda td.ir a{display:flex;color:var(--muted)}
.vg-agenda td.ir a:hover{color:var(--accent)}
.vg-agenda a.nome{color:var(--ink);text-decoration:none}
.vg-agenda a.nome:hover{color:var(--accent)}
.vg-st{display:inline-block;min-width:98px;height:25px;line-height:25px;padding:0 11px;border-radius:5px;font-size:10px;font-weight:500;
  background:color-mix(in srgb,var(--muted) 10%,var(--surface));color:var(--muted)}
.vg-st.confirmada{background:var(--accent-soft);color:var(--accent)}
.vg-st.aguardando,.vg-st.agendada,.vg-st.remarcar{background:color-mix(in srgb,#A08A5E 14%,var(--surface));color:#827153}
.vg-st.faltou{background:color-mix(in srgb,var(--bad) 10%,var(--surface));color:var(--bad)}
.vg-pe{display:flex;justify-content:space-between;gap:12px;padding:18px 23px 18px;font-size:10px;color:var(--muted)}
.vg-vazio{padding:26px 23px 30px;color:var(--muted);font-size:13px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.vg-periodo{background:color-mix(in srgb,var(--bg) 70%,var(--surface));border-radius:5px;padding:5px 12px;font-size:11px;color:var(--muted);white-space:nowrap}
.vg-total{display:flex;align-items:baseline;gap:14px;padding:12px 23px 0}
.vg-total b{font-size:29px;font-weight:500;line-height:1.45}
.vg-total span{font-size:11px;color:var(--muted)}
.vg-barras{display:flex;justify-content:space-around;align-items:flex-end;height:96px;margin:14px 23px 0;
  background:repeating-linear-gradient(to top,transparent 0 31px,var(--line) 31px 32px);text-decoration:none}
.vg-barras>span{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;width:30px}
.vg-barras i{display:block;width:30px;border-radius:4px;background:color-mix(in srgb,var(--accent) 22%,var(--surface));min-height:3px}
.vg-barras .hoje i{background:var(--accent)}
.vg-dias{display:flex;justify-content:space-around;margin:10px 23px 18px;font-size:10px;color:var(--muted)}
.vg-dias span{width:30px;text-align:center}
.vg-dias .hoje{color:var(--accent);font-weight:500}
.vg-cuidados{list-style:none;margin:0;padding:26px 23px 14px;display:flex;flex-direction:column}
.vg-cuidados a{display:grid;grid-template-columns:38px 1fr 20px;gap:14px;align-items:center;padding:12px 0;text-decoration:none;color:var(--ink)}
.vg-cuidados li+li a{border-top:1px solid var(--line);margin-left:52px;padding-left:0;grid-template-columns:38px 1fr 20px;margin-left:0}
.vg-cuidados .n{width:38px;height:38px;border-radius:7px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;
  font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}
.vg-cuidados b{display:block;font-size:12px;font-weight:500}
.vg-cuidados small{display:block;font-size:10px;color:var(--muted)}
.vg-cuidados .ic{color:var(--muted)}
.vg-cuidados a:hover b{color:var(--accent)}
.vg-mais{margin-top:8px}
.vg-mais>summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:500;padding:6px 0;list-style:none;display:inline-flex;gap:8px;align-items:center}
.vg-mais>summary::-webkit-details-marker{display:none}
.vg-mais>summary::before{content:"+";display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid var(--line);border-radius:6px}
.vg-mais[open]>summary::before{content:"−"}
.vg-mais[open]>summary{margin-bottom:12px}
.vg-acoes{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.vg-acoes .pn-busca{width:260px}
.vg-acoes .pn-busca input{height:44px;font-size:13px}
@media (max-width:1180px){.vg-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vg-grade{grid-template-columns:1fr}}
@media (max-width:600px){.vg-kpis{grid-template-columns:1fr 1fr;gap:12px}.vg-kpi{min-height:0;padding:14px}.vg-kpi .v{font-size:26px}
  .vg-agenda .oc{display:none}.vg-agenda td,.vg-agenda th{padding-left:14px}.vg-acoes .pn-busca{width:100%}}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* indicadores das outras telas no mesmo padrão dos cartões da Visão geral */
.kpi{padding:16px 19px;gap:4px}
.kpi .k{font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}
.kpi .v{font:500 28px/1.3 var(--sans);font-variant-numeric:tabular-nums}
.kpi .d{font:400 11px var(--sans)}
/* modo escuro: texto escuro sobre o azul claro dos botões principais */
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn.pri,:root:not([data-theme="light"]) .badge{color:#0B1A21}}
:root[data-theme="dark"] .btn.pri,:root[data-theme="dark"] .badge{color:#0B1A21}

/* ============ fluxo Novo paciente → Cadastro concluído → Agendar → Consulta agendada (Figma) ============ */
.migalha{margin:0 0 10px;font-size:12px;color:var(--muted)}
.migalha a{color:var(--muted);text-decoration:none}
.migalha a:hover{color:var(--accent);text-decoration:underline}
.migalha span{margin:0 8px}
.fl-form{display:flex;flex-direction:column;gap:24px}
.fl-grade{display:grid;grid-template-columns:minmax(0,740fr) minmax(0,356fr);gap:24px;align-items:start}
.fl-lado{display:flex;flex-direction:column;gap:24px}
.fl-card{padding:23px 27px 27px}
.fl-card h2{font-size:19px;font-weight:600;line-height:1.45}
.fl-card h2.menor{font-size:17px}
.fl-sub{margin:6px 0 0;font-size:13px;color:var(--muted)}
.fl-obs{margin:6px 0 0;font-size:11px;color:var(--muted)}
.fl-obs.centro{text-align:center}
.fl-campos{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;margin-top:24px}
.fl-campo{display:flex;flex-direction:column;gap:8px;min-width:0}
.fl-campo.largo{grid-column:1/-1}
.fl-campo label,.fl-campo .rot{font-size:13px;font-weight:500;color:var(--ink)}
.fl-campo input,.fl-campo select,.fl-campo textarea{height:46px;padding:0 14px;border:1px solid var(--line);border-radius:7px;background:var(--field);
  color:var(--ink);font:13px var(--sans);width:100%}
.fl-campo textarea{height:84px;padding:11px 13px;resize:vertical;min-height:84px}
.fl-campo input::placeholder,.fl-campo textarea::placeholder{color:var(--muted)}
.fl-campo input:focus,.fl-campo select:focus,.fl-campo textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}
.fl-campo small{font-size:11px;color:var(--muted)}
.fl-etapas{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:30px}
.fl-etapas li{display:grid;grid-template-columns:30px 1fr;column-gap:14px;row-gap:2px}
.fl-etapas span{grid-row:1/3;width:30px;height:30px;border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:600;
  background:color-mix(in srgb,var(--bg) 60%,var(--surface));color:var(--muted)}
.fl-etapas li.atual span{background:var(--accent-soft);color:var(--accent)}
.fl-etapas b{font-size:13px;font-weight:500}
.fl-etapas small{font-size:12px;color:var(--muted)}
.fl-nota{background:var(--accent-soft);border-radius:10px;padding:20px 24px}
.fl-nota b{font-size:13px;font-weight:600}
.fl-nota p{margin:8px 0 0;font-size:12px;color:var(--muted)}
.fl-acoes{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.fl-acoes p{margin:0 auto 0 0;font-size:12px;color:var(--muted)}
.fl-btn{min-height:44px;justify-content:center;padding:0 26px;font-size:13px}
.fl-btn.largo{min-width:172px}
.fl-btn:not(.pri){color:var(--muted)}
/* confirmação (cadastro concluído / consulta agendada) */
.fl-ok{max-width:760px;width:100%;margin:0 auto;padding:27px 39px 30px;display:flex;flex-direction:column;align-items:center;text-align:center}
.fl-check{width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,#27745F 12%,var(--surface));color:#27745F;display:grid;place-items:center}
.fl-check .ic{width:28px;height:28px}
.fl-ok h2{margin-top:18px;font-size:22px;font-weight:600}
.fl-ok .fl-sub{margin-top:8px}
.fl-resumo{align-self:stretch;text-align:left;background:color-mix(in srgb,var(--bg) 60%,var(--surface));border-radius:8px;padding:20px 22px 22px;margin-top:32px}
.fl-resumo h3{margin:0;font-size:17px;font-weight:600}
.fl-resumo-tit{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.fl-resumo-tit h3{font-size:16px}
.fl-st{min-width:148px;height:28px;line-height:28px;font-size:12px;text-align:center}
.fl-resumo-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.fl-resumo .k{display:block;font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.fl-resumo p{margin:0 0 4px;font-size:13px}
.fl-resumo p.forte{font-weight:500}
.fl-resumo .fl-sub.esq{margin-top:18px;font-size:12px}
.fl-falta{color:var(--muted)}
.fl-pergunta{margin:30px 0 0;font-size:14px;font-weight:500}
.fl-botoes{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.fl-botoes .fl-btn{min-width:174px}
.fl-botoes .fl-btn.largo{min-width:250px}
.fl-botoes .fl-btn:not(.pri){color:var(--ink)}
.fl-voltar{margin-top:22px;font-size:12px;font-weight:500;color:var(--accent);text-decoration:none}
.fl-voltar:hover{text-decoration:underline}
.fl-aviso{align-self:stretch;text-align:left;background:var(--accent-soft);border-radius:8px;padding:16px 20px;margin-top:24px}
.fl-aviso b{font-size:13px;font-weight:600}
.fl-aviso p{margin:6px 0 0;font-size:12px;color:var(--muted)}
.fl-aviso .ok{color:var(--good);font-weight:500}
.fl-aviso-acoes{display:flex;gap:6px 20px;flex-wrap:wrap;margin-top:8px}
.fl-link{appearance:none;border:0;background:none;padding:0;font:500 12px var(--sans);color:var(--accent);cursor:pointer;text-decoration:none}
.fl-link:hover{text-decoration:underline}
.fl-ok .fl-obs{margin-top:16px}
/* agendar */
.fl-pac{display:flex;justify-content:space-between;align-items:center;gap:12px;background:color-mix(in srgb,var(--bg) 60%,var(--surface));
  border-radius:7px;padding:10px 16px;margin-top:20px}
.fl-pac .k{display:block;font-size:10px;font-weight:500;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.fl-pac b{font-size:14px;font-weight:500}
.fl-pac a{font-size:11px;font-weight:500;color:var(--accent);text-decoration:none}
.fl-seg{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;height:44px;border-radius:7px;background:color-mix(in srgb,var(--bg) 60%,var(--surface))}
.fl-seg label{position:relative;display:block}
.fl-seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.fl-seg span{display:grid;place-items:center;height:100%;border-radius:5px;font-size:13px;color:var(--muted);border:1px solid transparent}
.fl-seg input:checked+span{background:var(--surface);border-color:var(--line);color:var(--accent);font-weight:500}
.fl-seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:1px}
.fl-quando{display:grid;grid-template-columns:346px minmax(0,1fr);gap:26px;margin-top:26px;align-items:start}
.fl-cal{border:1px solid var(--line);border-radius:8px;padding:15px 14px 16px}
.fl-cal-top{display:flex;align-items:center;gap:18px;margin:0 2px 16px}
.fl-cal-top b{margin-right:auto;font-size:14px;font-weight:600}
.fl-cal-top button{appearance:none;border:0;background:none;padding:0;color:var(--muted);cursor:pointer;display:flex}
.fl-cal-top button:disabled{opacity:.35;cursor:default}
.fl-cal-top button:not(:disabled):hover{color:var(--accent)}
.ic.girar{transform:rotate(180deg)}
.fl-cal-sem,.fl-cal-dias{display:grid;grid-template-columns:repeat(7,34px);justify-content:space-between}
.fl-cal-sem span{text-align:center;font-size:10px;font-weight:500;color:var(--muted)}
.fl-cal-dias{row-gap:4px;margin-top:8px}
.fl-cal-dias button{appearance:none;border:0;background:none;height:28px;border-radius:6px;font:12px var(--sans);color:var(--ink);cursor:pointer}
.fl-cal-dias button.fds{color:var(--muted)}
.fl-cal-dias button:disabled{color:color-mix(in srgb,var(--muted) 45%,var(--surface));cursor:default}
.fl-cal-dias button:not(:disabled):hover{background:var(--accent-soft)}
.fl-cal-dias button.hoje{box-shadow:inset 0 0 0 1px var(--line)}
.fl-cal-dias button.sel{background:var(--accent);color:#fff;font-weight:600}
.fl-horas b{font-size:13px;font-weight:600}
.fl-horas .fl-sub{font-size:12px;margin-top:4px}
.fl-hgrade{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;max-height:236px;overflow-y:auto;padding:2px}
.fl-hgrade button{appearance:none;height:44px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font:500 13px var(--sans);cursor:pointer}
.fl-hgrade button:hover{border-color:var(--accent)}
.fl-hgrade button.sel{background:var(--accent);border-color:var(--accent);color:#fff}
.fl-outro{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:12px;color:var(--muted)}
.fl-outro input{height:34px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:var(--field);color:var(--ink);font:13px var(--sans)}
.fl-esc{margin:14px 0 0;font-size:11px;font-weight:500;color:var(--accent);min-height:16px}
.fl-res dl{margin:26px 0 0;display:flex;flex-direction:column}
.fl-res dt{font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.fl-res dd{margin:4px 0 20px;font-size:13px;font-weight:500}
.fl-rodape{margin:0;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fl-cal-dias button.sel,:root:not([data-theme="light"]) .fl-hgrade button.sel{color:#0B1A21}}
:root[data-theme="dark"] .fl-cal-dias button.sel,:root[data-theme="dark"] .fl-hgrade button.sel{color:#0B1A21}
@media (max-width:1180px){.fl-grade{grid-template-columns:1fr}.fl-quando{grid-template-columns:1fr}.fl-cal{max-width:380px}}
@media (max-width:600px){.fl-campos,.fl-resumo-cols{grid-template-columns:1fr}.fl-card{padding:20px 18px}.fl-ok{padding:24px 18px}
  .fl-acoes .fl-btn,.fl-botoes .fl-btn{flex:1 1 100%}.fl-cal-sem,.fl-cal-dias{grid-template-columns:repeat(7,1fr)}}
.fl-aviso-acoes{align-items:center}.fl-aviso-acoes .fl-link{line-height:1.45;display:inline-block}

/* ============ área do superadmin (online): painel e entrada própria ============ */
.adm-marca{display:block;margin:0 0 0 14px;color:var(--ink);font-size:22px;font-weight:600;text-decoration:none;line-height:1.3}
.adm-marca small{margin-top:10px;font-size:9px;font-weight:500;letter-spacing:.2em;color:var(--muted)}
.adm-faixa{margin:0;border-radius:0;display:flex;gap:10px 16px;justify-content:center;align-items:center;flex-wrap:wrap;position:relative;z-index:31}
.adm-selo{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--good);background:color-mix(in srgb,var(--good) 9%,var(--surface));
  padding:6px 12px;border-radius:999px}
.adm-selo .ic{width:16px;height:16px}
.adm-uma{display:block}
.adm-nova{line-height:1.8}
.adm-senha{font-size:15px;padding:2px 8px;letter-spacing:.04em}
.adm-contas td{height:64px}
.adm-nome{display:block;font-weight:500}
.adm-det{display:block;font-size:11px;font-weight:400;color:var(--muted);max-width:260px;overflow:hidden;text-overflow:ellipsis}
tr.adm-susp td{opacity:.6}
.adm-sit{display:flex;align-items:center;gap:12px;margin:0}
.adm-perigo{color:var(--bad)}
.adm-entrar{display:flex;align-items:center;gap:8px;margin:0;padding-right:20px}
.adm-entrar input{height:32px;width:150px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--field);color:var(--ink);font:12px var(--sans)}
.adm-entrar input:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}
.adm-mod{appearance:none;border:1px dashed var(--line);background:none;border-radius:5px;padding:4px 10px;font:500 11px var(--sans);color:var(--muted);cursor:pointer}
.adm-mod.on{border-style:solid;border-color:transparent;background:var(--accent-soft);color:var(--accent)}
.adm-rec .n{font-size:11px}
.adm-rec b{font-weight:500;overflow-wrap:anywhere}
.adm-filtro select{height:44px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font:13px var(--sans);min-width:220px}
.adm-quando{white-space:nowrap}
.adm-quando small{display:block;font-size:11px;font-weight:400;color:var(--muted)}
.adm-acao{font-size:11px;white-space:normal;word-break:break-all}
.adm-check{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:7px;padding:12px 14px;cursor:pointer}
.adm-check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent)}
.adm-check b{display:block;font-size:13px;font-weight:500}
.adm-check small{font-size:11px;color:var(--muted)}
.adm-check:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.adm-qr{display:flex;flex-direction:column;align-items:center;gap:10px;margin:26px 0 4px}
.adm-qr>div{background:#fff;padding:10px;border-radius:10px;border:1px solid var(--line);line-height:0}
.adm-qr code{font-size:13px;letter-spacing:.06em}
/* entrada */
.adm-login{min-height:100vh;background:var(--bg)}
.al-grade{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.al-lado{background:var(--surface);border-right:1px solid var(--line);padding:48px 56px;display:flex;flex-direction:column;gap:48px}
.al-marca{margin:0;font-size:28px;font-weight:600;line-height:1.3}
.al-marca small{display:block;margin-top:10px;font-size:9px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.al-texto{margin-top:auto}
.al-texto h2{font-size:34px;font-weight:600;line-height:1.25;letter-spacing:-.01em;max-width:420px}
.al-texto p{margin:14px 0 0;font-size:15px;color:var(--muted);max-width:420px}
.al-pontos{list-style:none;margin:0 0 auto;padding:0;display:flex;flex-direction:column;gap:22px}
.al-pontos li{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:center}
.al-pontos .ic{width:38px;height:38px;padding:9px;border-radius:7px;background:var(--accent-soft);color:var(--accent);
  -webkit-mask:none;mask:none;position:relative}
.al-pontos .ic::after{content:"";position:absolute;inset:9px;background:var(--accent);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.al-pontos b{display:block;font-size:13px;font-weight:500}
.al-pontos small{font-size:12px;color:var(--muted)}
.al-form{display:grid;place-items:center;padding:40px 24px}
.al-caixa{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:32px 30px 26px}
.al-icone{width:48px;height:48px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}
.al-icone .ic{width:24px;height:24px}
.al-caixa h1{margin:18px 0 0;font-size:24px;font-weight:600}
.al-caixa .msg{margin-top:16px}
.al-campos{display:flex;flex-direction:column;gap:18px;margin-top:24px}
.al-campos .fl-btn{width:100%;margin-top:4px}
.al-senha{position:relative}
.al-senha input{padding-right:84px}
.al-senha button{position:absolute;right:8px;top:50%;transform:translateY(-50%);appearance:none;border:0;background:none;color:var(--accent);
  font:500 12px var(--sans);cursor:pointer;padding:6px}
.al-rodape{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);text-align:center}
.al-rodape a{color:var(--accent);text-decoration:none;font-weight:500}
@media (max-width:900px){.al-grade{grid-template-columns:1fr}.al-lado{display:none}.adm-selo{display:none}}
.adm-sit .vg-st{min-width:0}.adm-entrar input{width:140px}.adm-det a{color:var(--accent);text-decoration:none}.adm-painel{font-size:11px;color:var(--muted);font-weight:400}.adm-acao-t{font-weight:500;overflow-wrap:anywhere}
