:root{
  --midnight:#101A22; --midnight-2:#18242E;
  --navy:#2C3E50; --navy-soft:#3D5468;
  --paper:#F4F6F5; --surface:#FFFFFF; --surface-2:#FAFBFB;
  --green:#2ECC71; --green-deep:#1F4A3D; --green-wash:#E9F8F0;
  --terracota:#D98B3F; --terracota-wash:#FBF1E4; --sand:#E4DCC9;
  --ink:#131C24; --ink-2:#3E4C57; --mute:#66757F; --mute-2:#8B979F;
  --line:#E2E8EA; --line-2:#EEF2F3;
  --perigo:#C0472F; --perigo-wash:#FBEDE9; --info-wash:#EDF2F6;
  --display:'Poppins',system-ui,-apple-system,sans-serif;
  --corpo:'Inter',system-ui,-apple-system,sans-serif;
  --t-micro:10px; --t-xs:11.5px; --t-sm:13px; --t-base:14px; --t-lg:16px;
  --t-xl:19px; --t-2xl:24px; --t-3xl:32px; --t-4xl:44px;
  --e1:4px; --e2:8px; --e3:12px; --e4:16px; --e5:20px; --e6:24px; --e7:32px; --e8:44px; --e9:64px;
  --r-sm:6px; --r-md:10px; --r-lg:14px; --r-xl:20px; --r-full:999px;
  --sombra-1:0 1px 2px rgba(19,28,36,.05);
  --sombra-2:0 4px 16px rgba(19,28,36,.07);
  --sombra-3:0 18px 48px rgba(19,28,36,.16);
  --foco:0 0 0 3px rgba(46,204,113,.30);
  --trilho:76px; --cabecalho:64px; --transicao:150ms cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--corpo);font-size:var(--t-base);line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display);margin:0;color:var(--ink)}
a{color:inherit}
button{font-family:var(--corpo);cursor:pointer}
input,select,textarea{font-family:var(--corpo);font-size:var(--t-base)}
::selection{background:var(--green-wash)}

/* ---- shell ---- */
.app{display:flex;min-height:100vh}
.trilho{width:var(--trilho);background:var(--midnight);display:flex;flex-direction:column;align-items:center;padding:var(--e4) 0;position:sticky;top:0;height:100vh;flex-shrink:0}
.trilho__marca{width:40px;height:40px;border-radius:var(--r-md);background:var(--midnight-2);display:flex;align-items:center;justify-content:center;margin-bottom:var(--e6);color:var(--green);font-size:20px}
.trilho__marca img{width:28px;height:28px;object-fit:contain;border-radius:6px}
.trilho__nav{display:flex;flex-direction:column;gap:var(--e2);flex:1;width:100%;align-items:center}
.trilho__item{position:relative;width:52px;height:52px;border-radius:var(--r-md);border:none;background:transparent;color:var(--mute-2);display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:19px;font-family:var(--display);transition:var(--transicao)}
.trilho__item span.rotulo{display:none}
.trilho__item:hover{background:var(--midnight-2);color:#fff}
.trilho__item.ativo{background:var(--green);color:var(--green-deep)}
.trilho__contador{position:absolute;top:4px;right:8px;background:var(--terracota);color:#fff;font-size:9px;font-weight:700;border-radius:var(--r-full);min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.trilho__rodape{display:flex;flex-direction:column;align-items:center;gap:var(--e2)}
.trilho__usuario{width:32px;height:32px;border-radius:var(--r-full);background:var(--navy-soft);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--t-xs);font-weight:700}
.trilho__versao{color:var(--mute-2);font-size:var(--t-micro)}

.viewport{flex:1;display:flex;flex-direction:column;min-width:0}
.contexto{height:var(--cabecalho);flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:var(--e5);padding:0 var(--e6);position:sticky;top:0;z-index:5}
.contexto__id h1{font-size:var(--t-xl)}
.contexto__id div{font-size:var(--t-xs);color:var(--mute)}
.pulso{display:flex;gap:var(--e2);flex-wrap:wrap;flex:1}
.pulso__sinal{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--r-full);padding:var(--e1) var(--e4);font-size:var(--t-xs);font-weight:600;white-space:nowrap}
.pulso__sinal--atencao{background:var(--terracota-wash);color:#8a5a1f;border-color:transparent}
.pulso__sinal--perigo{background:var(--perigo-wash);color:var(--perigo);border-color:transparent}
.pulso__sinal--calmo{background:var(--green-wash);color:var(--green-deep);border-color:transparent}
.contexto__ferramentas{display:flex;align-items:center;gap:var(--e3)}
.busca-atalho{display:flex;align-items:center;gap:var(--e2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--e1) var(--e3);background:var(--surface-2);color:var(--mute);font-size:var(--t-sm)}
.busca-atalho kbd{background:var(--line-2);border-radius:4px;padding:1px 5px;font-size:var(--t-micro)}
.btn-atualizar{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);padding:var(--e2) var(--e4);font-size:var(--t-sm);font-weight:600;color:var(--ink-2)}
.canvas{flex:1;padding:var(--e6);overflow-y:auto}
.barra-mobile{display:none}

/* ---- botões ---- */
.btn{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);padding:8px 16px;font-size:var(--t-sm);font-weight:600;color:var(--ink-2);display:inline-flex;align-items:center;gap:6px}
.btn:hover{background:var(--surface-2)}
.btn:focus-visible{outline:none;box-shadow:var(--foco)}
.btn.primary{background:var(--green);border-color:var(--green);color:var(--green-deep)}
.btn.escuro{background:var(--midnight);border-color:var(--midnight);color:#fff}
.btn.perigo{background:var(--perigo-wash);border-color:transparent;color:var(--perigo)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn.pequeno{padding:5px 10px;font-size:var(--t-xs)}

/* ---- painel inicial: fila de tarefas ---- */
.saudacao h1{font-size:var(--t-3xl);margin-bottom:2px}
.saudacao p{color:var(--mute);margin:0 0 var(--e6)}
.tela-grade{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--e6);align-items:start}
@media (max-width:1000px){.tela-grade{grid-template-columns:1fr}}
.fila-grupo{margin-bottom:var(--e5)}
.fila-grupo h3{font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--mute);margin-bottom:var(--e3);display:flex;gap:8px;align-items:center}
.fila-grupo h3 .contagem{background:var(--line-2);color:var(--ink-2);border-radius:var(--r-full);padding:1px 8px;font-size:var(--t-micro)}
.fila{display:flex;flex-direction:column;gap:var(--e2)}
.tarefa{display:flex;align-items:center;gap:var(--e4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sombra-1);padding:var(--e3) var(--e4);cursor:pointer;transition:var(--transicao)}
.tarefa:hover{box-shadow:var(--sombra-2);transform:translateY(-1px)}
.tarefa__faixa{width:4px;align-self:stretch;border-radius:2px;background:var(--line)}
.tarefa--urgente .tarefa__faixa{background:var(--perigo)}
.tarefa--prazo .tarefa__faixa{background:var(--terracota)}
.tarefa--dinheiro .tarefa__faixa{background:var(--green)}
.tarefa__corpo{flex:1;min-width:0}
.tarefa__titulo{font-weight:600;font-size:var(--t-sm)}
.tarefa__sub{color:var(--mute);font-size:var(--t-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tarefa__valor{text-align:right;font-size:var(--t-sm);font-weight:700;white-space:nowrap}
.tarefa__idade{color:var(--mute);font-size:var(--t-micro);display:block;font-weight:400}
.vazio{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-md);padding:var(--e6);text-align:center;color:var(--mute)}
.vazio__titulo{font-family:var(--display);font-weight:600;color:var(--ink);margin-bottom:6px}

.placar{background:var(--midnight);color:#fff;border-radius:var(--r-lg);padding:var(--e5);margin-bottom:var(--e4)}
.placar__rotulo{font-size:var(--t-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--mute-2);margin-bottom:4px}
.placar__valor{font-family:var(--display);font-size:var(--t-2xl);font-weight:700;margin-bottom:var(--e4)}
.placar__linha{display:flex;justify-content:space-between;padding:6px 0;border-top:1px solid rgba(255,255,255,.08);font-size:var(--t-sm)}
.placar__linha span{color:var(--mute-2)}
.placar__linha strong{font-family:var(--display)}
.mini-metricas{display:grid;grid-template-columns:1fr 1fr;gap:var(--e3);margin-bottom:var(--e4)}
.mini-metrica{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--e3);box-shadow:var(--sombra-1)}
.mini-metrica--clicavel{cursor:pointer;transition:var(--transicao)}
.mini-metrica--clicavel:hover{box-shadow:var(--sombra-2);transform:translateY(-1px)}
.mini-metrica__rotulo{font-size:var(--t-micro);text-transform:uppercase;color:var(--mute);letter-spacing:.03em}
.mini-metrica__valor{font-family:var(--display);font-size:var(--t-lg);font-weight:700;margin-top:2px}
.mini-metrica--ok .mini-metrica__valor{color:var(--green-deep)}
.mini-metrica--alerta .mini-metrica__valor{color:var(--perigo)}
.mini-metrica__nota{font-size:var(--t-micro);color:var(--mute)}

.fluxo-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--e4)}
.fluxo-card h3{font-size:var(--t-sm);margin-bottom:var(--e4)}
.fluxo{display:flex;align-items:flex-end;gap:var(--e3);height:120px}
.fluxo__mes{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}
.fluxo__pilha{flex:1;width:100%;max-width:34px;display:flex;flex-direction:column-reverse;justify-content:flex-start;position:relative}
.fluxo__barra{width:100%;border-radius:3px 3px 0 0;min-height:2px}
.fluxo__barra--previsto{background:rgba(44,62,80,.22)}
.fluxo__barra--recebido{background:var(--green)}
.fluxo__rotulo{font-size:var(--t-micro);color:var(--mute)}
.fluxo__legenda{display:flex;gap:var(--e4);margin-top:var(--e3);font-size:var(--t-xs);color:var(--mute)}
.fluxo__legenda span{display:inline-flex;align-items:center;gap:6px}
.fluxo__quadrado{width:9px;height:9px;border-radius:2px;display:inline-block}

/* ---- cards genéricos, tabelas ---- */
.cartao{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--e4);box-shadow:var(--sombra-1);margin-bottom:var(--e4)}
.cartao__titulo{font-family:var(--display);font-weight:600;font-size:var(--t-lg);margin-bottom:var(--e2)}
.toolbar{display:flex;align-items:center;gap:var(--e3);justify-content:space-between;margin-bottom:var(--e4);flex-wrap:wrap}
.toolbar h2{font-size:var(--t-xl)}
.tabela-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}
table{width:100%;border-collapse:collapse;font-size:var(--t-sm)}
th{text-align:left;color:var(--mute);font-weight:600;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.02em;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:10px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}
tr:last-child td{border-bottom:none}
.num{text-align:right;font-variant-numeric:tabular-nums}

.etiqueta{display:inline-block;padding:2px 10px;border-radius:var(--r-full);font-size:var(--t-micro);font-weight:700;text-transform:uppercase;letter-spacing:.02em;background:var(--line-2);color:var(--ink-2)}
.etiqueta--ok{background:var(--green-wash);color:var(--green-deep)}
.etiqueta--andamento{background:var(--info-wash);color:var(--navy)}
.etiqueta--atencao{background:var(--terracota-wash);color:#8a5a1f}
.etiqueta--parado{background:var(--perigo-wash);color:var(--perigo)}
.etiqueta--neutro{background:var(--line-2);color:var(--mute)}
.selo-pilar{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-xs);font-weight:600;color:var(--navy)}
.selo-pilar::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--navy)}
.selo-pilar--viagens{color:var(--green-deep)}
.selo-pilar--viagens::before{background:var(--green)}

/* ---- pipeline board ---- */
.filtros-pipeline{display:flex;gap:var(--e3);margin-bottom:var(--e4);flex-wrap:wrap;align-items:center}
.filtros-pipeline input,.filtros-pipeline select{border:1px solid var(--line);border-radius:var(--r-md);padding:8px 10px;background:var(--surface)}
.quadro{display:flex;gap:var(--e4);overflow-x:auto;padding-bottom:var(--e3)}
.coluna{background:var(--surface-2);border-radius:var(--r-md);padding:var(--e3);min-width:270px;flex-shrink:0}
.coluna__cabecalho{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--e3);padding:0 4px}
.coluna__titulo{font-weight:700;font-size:var(--t-sm)}
.coluna__qtd{background:var(--line-2);border-radius:var(--r-full);padding:1px 8px;font-size:var(--t-micro)}
.coluna--enviada .coluna__cabecalho{color:#8a5a1f}
.negocio{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:var(--r-md);padding:var(--e3);margin-bottom:var(--e3);cursor:pointer;box-shadow:var(--sombra-1);transition:var(--transicao)}
.negocio:hover{box-shadow:var(--sombra-2);transform:translateY(-1px)}
.negocio--quente{border-left-color:var(--terracota)}
.negocio--fria{border-left-color:var(--perigo)}
.negocio__codigo{font-size:var(--t-xs);color:var(--mute);font-weight:600}
.negocio__cliente{font-weight:700;font-size:var(--t-sm);margin:2px 0}
.negocio__rota{font-size:var(--t-xs);color:var(--mute-2);margin-bottom:6px}
.rota-mini{display:flex;gap:3px;margin-bottom:6px}
.rota-mini span{flex:1;height:3px;border-radius:2px;background:var(--line)}
.rota-mini span.on{background:var(--green)}
.negocio__valor{font-weight:700;font-size:var(--t-sm)}
.negocio__alerta{color:var(--terracota);font-size:var(--t-micro);margin-top:4px}
.negocio__idade{color:var(--mute);font-size:var(--t-micro);float:right}

/* ---- detalhe do negócio ---- */
.migalha{font-size:var(--t-xs);color:var(--mute);margin-bottom:6px}
.negocio-cabecalho{margin-bottom:var(--e5)}
.negocio-cabecalho h1{font-size:var(--t-2xl)}
.negocio-cabecalho__meta{color:var(--mute);font-size:var(--t-sm);margin:6px 0 var(--e4);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.negocio-acoes{display:flex;gap:var(--e2);flex-wrap:wrap;margin-bottom:var(--e5)}
.rota__trilha{display:flex;align-items:center;margin-bottom:var(--e5)}
.rota__parada{flex:1;text-align:center;position:relative;font-size:var(--t-xs);color:var(--mute)}
.rota__parada::before{content:'';position:absolute;top:6px;left:0;right:50%;height:2px;background:var(--line)}
.rota__parada::after{content:'';position:absolute;top:6px;left:50%;right:0;height:2px;background:var(--line)}
.rota__parada:first-child::before{display:none}
.rota__parada:last-child::after{display:none}
.rota__ponto{width:14px;height:14px;border-radius:50%;background:var(--surface);border:2px solid var(--line);margin:0 auto 6px;position:relative;z-index:1}
.rota__parada.feito .rota__ponto{background:var(--green);border-color:var(--green)}
.rota__parada.feito::before,.rota__parada.feito::after{background:var(--green)}
.rota__parada strong{display:block;color:var(--ink)}
.abas{display:flex;gap:var(--e5);border-bottom:1px solid var(--line);margin-bottom:var(--e5)}
.abas button{background:none;border:none;padding:10px 2px;font-size:var(--t-sm);font-weight:600;color:var(--mute);border-bottom:2px solid transparent}
.abas button.ativa{color:var(--ink);border-color:var(--green)}
.negocio-corpo{display:grid;grid-template-columns:1fr 300px;gap:var(--e5);align-items:start}
.negocio-corpo--simples{grid-template-columns:1fr}
@media (max-width:900px){.negocio-corpo{grid-template-columns:1fr}}
.lado-cartao{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--e4);margin-bottom:var(--e4)}
.lado-cartao h3{font-size:var(--t-sm);margin-bottom:var(--e3)}
.atalho{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:10px 12px;margin-bottom:8px;text-align:left}
.atalho span:first-child strong{display:block;font-size:var(--t-sm)}
.atalho span:first-child span{font-size:var(--t-xs);color:var(--mute)}
.atalho--perigo{border-color:var(--perigo-wash);color:var(--perigo)}
.atalho__seta{color:var(--mute)}
.grade-pares{display:flex;flex-wrap:wrap;gap:var(--e3)}
.par{flex:1;min-width:140px}
.par span{display:block;font-size:var(--t-micro);color:var(--mute);text-transform:uppercase}
.par strong{font-size:var(--t-sm)}
.margem-barra{height:10px;border-radius:6px;overflow:hidden;display:flex;margin-bottom:var(--e3)}
.margem-barra__parte--repasse{background:var(--navy-soft)}
.margem-barra__parte--agente{background:var(--terracota)}
.margem-barra__parte--liquido{background:var(--green)}

/* ---- cadastros ---- */
.segmentado{display:flex;gap:4px;background:var(--line-2);border-radius:var(--r-md);padding:3px}
.segmentado button{background:none;border:none;padding:7px 16px;border-radius:8px;font-size:var(--t-sm);font-weight:600;color:var(--mute)}
.segmentado button.ativo{background:var(--surface);color:var(--ink);box-shadow:var(--sombra-1)}
.grade-contatos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--e4)}
.contato{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--e4);box-shadow:var(--sombra-1)}
.contato__topo{display:flex;gap:var(--e3);align-items:center;margin-bottom:var(--e3)}
.contato__avatar{width:36px;height:36px;border-radius:var(--r-full);background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--t-sm);flex-shrink:0}
.contato__avatar--viagens{background:var(--green);color:var(--green-deep)}
.contato__nome{font-weight:700;font-size:var(--t-sm)}
.contato__sub{font-size:var(--t-xs);color:var(--mute)}
.contato__linha{font-size:var(--t-xs);color:var(--ink-2);margin-bottom:3px}
.contato__rodape{display:flex;justify-content:space-between;align-items:center;margin-top:var(--e3);padding-top:var(--e3);border-top:1px solid var(--line-2)}

/* ---- financeiro ---- */
.aging__faixa{display:grid;grid-template-columns:110px 1fr 100px;gap:var(--e3);align-items:center;margin-bottom:8px;font-size:var(--t-xs)}
.aging__trilho{background:var(--line-2);border-radius:var(--r-full);height:8px;overflow:hidden}
.aging__preenche{height:100%;background:var(--green)}
.aging__faixa--atraso .aging__preenche{background:var(--terracota)}
.aging__faixa--critico .aging__preenche{background:var(--perigo)}
.ranking{display:flex;flex-direction:column;gap:8px}
.ranking__linha{display:grid;grid-template-columns:140px 1fr 90px;gap:var(--e3);align-items:center;font-size:var(--t-xs)}
.ranking__trilho{background:var(--line-2);border-radius:var(--r-full);height:8px;overflow:hidden}
.ranking__preenche{height:100%;background:var(--navy)}

/* ---- configurações ---- */
.logos-config{display:grid;grid-template-columns:1fr 1fr;gap:var(--e4);margin-bottom:var(--e5)}
.logo-caixa{border:1px dashed var(--line);border-radius:var(--r-md);padding:var(--e4);text-align:center}
.logo-caixa img{max-height:60px;margin-bottom:var(--e3)}
.config-bloco{border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:var(--e3);overflow:hidden}
.config-bloco__cabecalho{display:flex;justify-content:space-between;padding:var(--e3) var(--e4);cursor:pointer;background:var(--surface-2);font-weight:700;font-size:var(--t-sm)}
.config-bloco__corpo{padding:var(--e4);display:none}
.config-bloco.aberto .config-bloco__corpo{display:block}
.form-grade{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--e4)}
.campo{grid-column:span 6}
.campo--3{grid-column:span 3}
.campo--6{grid-column:span 6}
@media (max-width:700px){.form-grade{grid-template-columns:1fr}.campo,.campo--3,.campo--6{grid-column:1}}
.campo label{display:block;font-size:var(--t-xs);font-weight:600;margin-bottom:4px;color:var(--ink-2)}
.campo input,.campo select,.campo textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;background:var(--surface)}
.campo small{display:block;color:var(--mute);font-size:var(--t-micro);margin-top:3px}
.zona-risco{border:1px solid var(--perigo-wash);background:var(--perigo-wash);border-radius:var(--r-md);padding:var(--e4)}
.zona-risco h3{color:var(--perigo);font-size:var(--t-sm);margin-bottom:6px}

/* ---- painel/drawer + modal ---- */
.cortina{position:fixed;inset:0;background:rgba(19,28,36,.35);z-index:40}
.painel{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:100vw;background:var(--surface);box-shadow:var(--sombra-3);z-index:41;overflow-y:auto;padding:var(--e5)}
.painel__fechar{float:right;border:none;background:none;font-size:20px;color:var(--mute)}
.dialogo-fundo{position:fixed;inset:0;background:rgba(19,28,36,.4);display:flex;align-items:center;justify-content:center;z-index:50}
.dialogo{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sombra-3);padding:var(--e5);max-width:420px;width:90%}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--e3)}
.grid2 label{display:block;font-size:var(--t-xs);font-weight:600;margin-bottom:4px}
.grid2 input,.grid2 select,.grid2 textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px}
.grid2 .full{grid-column:1/-1}
.notice{padding:10px 14px;border-radius:var(--r-md);font-size:var(--t-sm);margin-bottom:var(--e3)}
.notice.error{background:var(--perigo-wash);color:var(--perigo)}
.notice.success{background:var(--green-wash);color:var(--green-deep)}
.loading{padding:var(--e6);text-align:center;color:var(--mute)}
.hidden{display:none!important}

/* ---- login / setup ---- */
.login-wrap,.public-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--e5)}
.card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sombra-3);padding:var(--e7);width:100%;max-width:420px}
.card .brand strong{font-family:var(--display);font-size:var(--t-lg)}
.card .brand span{display:block;color:var(--mute);font-size:var(--t-xs)}
.card h1{font-size:var(--t-2xl);margin:var(--e4) 0 var(--e5)}
.card label{display:block;font-size:var(--t-xs);font-weight:600;margin-bottom:4px;margin-top:var(--e3)}
.card input{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px}
.card button.btn{width:100%;justify-content:center;margin-top:var(--e5);padding:11px}

/* ---- formulário público ---- */
.public-card{max-width:640px}
.public-card h1{font-size:var(--t-xl)}
.triagem{display:flex;gap:var(--e3);margin-bottom:var(--e4)}
.triagem button{flex:1;border:2px solid var(--line);border-radius:var(--r-md);padding:var(--e4);background:var(--surface);font-weight:700}
.triagem button.is-selected{border-color:var(--green);background:var(--green-wash);color:var(--green-deep)}
.public-card .full{grid-column:1/-1}
