/* Painel Nimbus — design system da Nautis (tokens de 18/09/2026).
   Regras da marca: sem sombra (planos por cor e borda), estado = borda + marca quadrada + palavra, dourado só no
   contador do que espera você, foco com anel de 2 px. Fontes guardadas aqui (a política de segurança só deixa 'self'). */

@font-face{font-family:"Outfit";font-weight:400;font-display:swap;src:url("fontes/outfit-400.ttf") format("truetype")}
@font-face{font-family:"Outfit";font-weight:500;font-display:swap;src:url("fontes/outfit-500.ttf") format("truetype")}
@font-face{font-family:"Outfit";font-weight:600;font-display:swap;src:url("fontes/outfit-600.ttf") format("truetype")}
@font-face{font-family:"DM Sans";font-weight:400;font-display:swap;src:url("fontes/dmsans-400.ttf") format("truetype")}
@font-face{font-family:"DM Sans";font-weight:500;font-display:swap;src:url("fontes/dmsans-500.ttf") format("truetype")}

:root{
  --azul-profundo:#0a1628;--azul-oceano:#1e3a5f;--dourado:#c9a227;--branco:#fff;
  --surface:#fff;--surface-subtle:#f8f9fa;--border:#e8ecf0;--border-strong:#8a96a3;
  --text:#0a1628;--text-secondary:#5a6b7d;--text-muted:#8a96a3;--text-on-brand:#fff;--text-on-dourado:#0a1628;
  --focus-ring:#1e3a5f;--danger:#e53e3e;--success:#0d9488;--warning:#d97706;--info:#3b82f6;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;
  --space-12:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;
  --font-display:"Outfit",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-sans:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --topo:64px;--lateral:248px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--text);background:var(--surface-subtle)}
a{color:var(--azul-oceano);text-underline-offset:3px}
a:hover{color:var(--azul-profundo)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;color:var(--text);margin:0}
h1{font-size:1.8rem;line-height:1.3;margin-bottom:var(--space-2)}
h2{font-size:1.15rem;line-height:1.4;margin-bottom:var(--space-3)}
h3{font-size:1rem;line-height:1.4;margin:var(--space-5) 0 var(--space-2)}
h4{font-size:.85rem;line-height:1.6;color:var(--text-secondary);margin:var(--space-3) 0 var(--space-1)}
p{margin:0 0 var(--space-3)}
ul{margin:0 0 var(--space-3);padding-left:1.2em}
code{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:.8rem;word-break:break-all;color:var(--text-secondary)}
pre{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:.8rem;background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);overflow:auto;white-space:pre-wrap;margin:0 0 var(--space-3)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- topo: Nautis e NimbusTax lado a lado, nas cores originais (o logo da Nimbus só existe para fundo claro) ---------- */
.topo{position:sticky;top:0;z-index:10;height:var(--topo);display:flex;align-items:center;gap:var(--space-5);padding:0 var(--space-6) 0 var(--space-2);background:var(--surface);color:var(--text);border-bottom:1px solid var(--border)}
.topo-marca{display:flex;align-items:center;gap:var(--space-5);height:100%;padding:0 var(--space-2);text-decoration:none}
.topo-marca .logo{display:block;height:50px;width:auto;margin-right:-10px}
.logo-nimbus{display:block;height:24px;width:auto;padding-left:var(--space-5);border-left:1px solid var(--border);box-sizing:content-box}
.topo-cliente{font-family:var(--font-display);font-weight:400;font-size:.95rem;color:var(--text-secondary);white-space:nowrap}
.topo-conta{margin-left:auto;display:flex;align-items:center;gap:var(--space-4)}
.topo-quem{font-size:.85rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:28ch}
.topo-conta form{margin:0}
.botao-sair{font:500 .85rem/1 var(--font-sans);color:var(--text);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);cursor:pointer}
.botao-sair:hover{background:var(--surface-subtle)}

/* ---------- grade: lateral + corpo ---------- */
.grade{display:grid;grid-template-columns:var(--lateral) minmax(0,1fr);min-height:calc(100vh - var(--topo))}
.lateral{background:var(--surface);border-right:1px solid var(--border);padding:var(--space-5) var(--space-3);display:flex;flex-direction:column;gap:2px;position:sticky;top:var(--topo);height:calc(100vh - var(--topo));overflow-y:auto}
.lateral .rotulo{font:500 .75rem/1.6 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin:var(--space-5) var(--space-3) var(--space-1)}
.lateral .rotulo:first-child{margin-top:0}
.lateral .item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text);text-decoration:none;font-size:.95rem;border-left:3px solid transparent}
.lateral .item:hover{background:var(--surface-subtle)}
.lateral .item.on{background:var(--surface-subtle);border-left-color:var(--azul-profundo);font-weight:500}
.lateral-nota{margin:auto var(--space-3) 0;padding-top:var(--space-6);font-size:.8rem;color:var(--text-secondary)}
.contador,.cnt{display:inline-block;min-width:1.6em;text-align:center;background:var(--dourado);color:var(--text-on-dourado);border-radius:var(--radius-sm);padding:0 var(--space-2);font:500 .8rem/1.6 var(--font-display)}
.cnt.neutro{background:var(--surface);border:1px solid var(--border);color:var(--text)}
.corpo{padding:var(--space-10) var(--space-10) var(--space-12);min-width:0}
.corpo>*{max-width:1000px}
.corpo>.tabela{max-width:1240px}
.corpo.estreito>*{max-width:720px}

/* ---------- cabeçalho de página ---------- */
.pagina-topo{margin-bottom:var(--space-8)}
.pagina-topo p{color:var(--text-secondary);max-width:600px;margin:0}
.voltar{display:inline-block;font-size:.9rem;margin-bottom:var(--space-4);text-decoration:none}
.voltar:hover{text-decoration:underline}

/* ---------- blocos ---------- */
.cartao{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8);margin-bottom:var(--space-6)}
.cartao>h2:first-child{margin-top:0}
section.bloco{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-8);margin-bottom:var(--space-4)}
.suave,.quando{color:var(--text-secondary);font-size:.85rem}
.quando{margin-left:var(--space-2)}
.certo{color:var(--text);font-weight:500}
.certo::before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:2px;background:var(--success);vertical-align:0}

/* ---------- etiquetas (badge da marca) ---------- */
.etiqueta{display:inline-flex;align-items:center;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--text);font:500 .72rem/1.8 var(--font-display);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;margin-right:var(--space-1)}
.etiqueta.conflito,.etiqueta.aviso{background:transparent;border:1.5px solid var(--warning)}
.etiqueta.bloqueia,.etiqueta.aviso_forte{background:transparent;border:1.5px solid var(--danger)}

/* ---------- alertas: borda na cor do estado, marca quadrada, palavra do estado ---------- */
.alerta{display:flex;gap:var(--space-3);align-items:flex-start;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5);color:var(--text)}
.alerta-marca{flex:0 0 auto;width:12px;height:12px;margin-top:6px;border-radius:var(--radius-sm);background:var(--border-strong)}
.alerta-palavra{font:500 .75rem/1.6 var(--font-display);letter-spacing:.1em;text-transform:uppercase;margin-right:var(--space-2)}
.alerta-perigo{border-color:var(--danger)}.alerta-perigo .alerta-marca{background:var(--danger)}
.alerta-atencao{border-color:var(--warning)}.alerta-atencao .alerta-marca{background:var(--warning)}
.alerta-sucesso{border-color:var(--success)}.alerta-sucesso .alerta-marca{background:var(--success)}
.alerta-info{border-color:var(--info)}.alerta-info .alerta-marca{background:var(--info)}
.alerta p:last-child,.alerta ul:last-child{margin-bottom:0}
/* nomes antigos ainda usados em telas e mensagens */
.erro,.aviso,.ok{display:block;background:var(--surface);border:1.5px solid var(--danger);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-4);color:var(--text)}
.aviso{border-color:var(--warning)}
.ok{border-color:var(--success)}

/* ---------- formulários ---------- */
label{display:block;font:500 .75rem/1.6 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin:var(--space-4) 0 var(--space-2)}
label.inline{display:inline;font:inherit;letter-spacing:0;text-transform:none}
input[type=email],input[type=password],input[type=text],input[type=date],select,textarea{width:100%;padding:var(--space-3) var(--space-4);background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-md);font:400 .95rem/1.6 var(--font-sans)}
textarea{resize:vertical;min-height:5.5em}
input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--azul-oceano)}
.filtros{display:flex;gap:var(--space-4);align-items:flex-end;flex-wrap:wrap;margin-bottom:var(--space-6)}
.filtros>div{display:flex;flex-direction:column}
.filtros label{margin-top:0}
.filtros select{width:auto;min-width:8em}.filtros input{width:18em}

/* ---------- botões (Button da marca) ---------- */
button.principal,button.perigo,button.neutro,.botao{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);padding:var(--space-3) var(--space-6);font:500 .95rem/1 var(--font-sans);cursor:pointer;text-decoration:none;transition:background-color 120ms ease,border-color 120ms ease}
button.principal{background:var(--azul-profundo);color:var(--text-on-brand)}
button.principal:hover{background:var(--azul-oceano)}
button.neutro{background:transparent;color:var(--text);border-color:var(--border-strong)}
button.neutro:hover{background:var(--surface-subtle)}
button.perigo{background:transparent;color:var(--text);border:1.5px solid var(--danger)}
button.perigo:hover{background:#fdf2f2}
.acoes-form{margin:var(--space-4) 0 0}

/* ---------- tabelas ---------- */
.tabela{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin:0 0 var(--space-6)}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;vertical-align:top;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);font-size:.92rem}
tr:last-child>td{border-bottom:0}
th{font:500 .75rem/1.6 var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);background:var(--surface);white-space:nowrap}
tbody tr:hover>td{background:var(--surface-subtle)}
table.ficha th{width:13em;white-space:normal}

details{margin-top:var(--space-4)}
summary{cursor:pointer;font:500 .95rem/1.6 var(--font-display);color:var(--azul-oceano)}
summary:hover{color:var(--azul-profundo)}

/* ---------- Pendentes: a lista do que espera você ---------- */
.lista-propostas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}
.lista-propostas a.proposta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2) var(--space-6);align-items:start;padding:var(--space-5) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-decoration:none;color:var(--text);transition:border-color 120ms ease}
.lista-propostas a.proposta:hover{border-color:var(--azul-oceano)}
.proposta-titulo{font:500 1.02rem/1.45 var(--font-display)}
.proposta-quando{font-size:.85rem;color:var(--text-secondary);white-space:nowrap}
.proposta-etiquetas{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:var(--space-1)}
.vazio{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-10);text-align:center;color:var(--text-secondary)}
.vazio strong{display:block;font:500 1.15rem/1.4 var(--font-display);color:var(--text);margin-bottom:var(--space-1)}

/* ---------- Proposta: leitura à esquerda, decisão à direita ---------- */
.corpo.proposta-pagina>*{max-width:none}
.proposta-grade{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-6);align-items:start;max-width:1240px}
.proposta-meta{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center;margin-bottom:var(--space-6)}
.fatos{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-5);margin:0 0 var(--space-4)}
.fatos dt{font:500 .75rem/1.9 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}
.fatos dd{margin:0;min-width:0;overflow-wrap:anywhere}
.explicacao{color:var(--text);max-width:68ch}
blockquote{margin:0 0 var(--space-3);padding:var(--space-4) var(--space-5);border-left:3px solid var(--azul-profundo);background:var(--surface-subtle);border-radius:0 var(--radius-md) var(--radius-md) 0;max-width:72ch}
.citacao{margin-bottom:var(--space-6)}
.citacao:last-child{margin-bottom:0}
.citacao-meta{font-size:.85rem;color:var(--text-secondary);margin:0 0 var(--space-1)}
.citacao-links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);font-size:.9rem;align-items:center;margin:0}
.citacao details{margin-top:var(--space-2)}
.citacao summary{font:400 .85rem/1.6 var(--font-sans);color:var(--text-secondary)}
.achados{list-style:none;padding:0}
.achados li{display:flex;gap:var(--space-3);align-items:baseline;padding:var(--space-2) 0;border-bottom:1px solid var(--border)}
.achados li:last-child{border-bottom:0}
.trecho{font-family:var(--font-sans);font-size:.92rem;white-space:pre-wrap;background:var(--surface-subtle);border:0;border-left:3px solid var(--border-strong);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:var(--space-3) var(--space-4)}

.decisao-painel{position:sticky;top:calc(var(--topo) + var(--space-6));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6)}
.decisao-painel h2{margin-bottom:var(--space-1)}
.decisao-painel .suave{margin-bottom:var(--space-4)}
.abas{display:flex;gap:2px;padding:3px;background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-2)}
.abas input{position:absolute;opacity:0;pointer-events:none}
.abas label{flex:1;margin:0;text-align:center;padding:var(--space-2) var(--space-1);border-radius:6px;cursor:pointer;font:500 .85rem/1.4 var(--font-sans);letter-spacing:0;text-transform:none;color:var(--text-secondary)}
.abas label:hover{color:var(--text)}
.abas input:checked+label{background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}
.abas input:focus-visible+label{outline:2px solid var(--focus-ring);outline-offset:1px}
.decisao-painel form{margin:0}
.decisao-painel form button{width:100%;margin-top:var(--space-4)}
.decisao-painel form label:first-of-type{margin-top:var(--space-3)}
.decisao-painel .aviso{font-size:.9rem}
/* com :has(), só o formulário da aba escolhida aparece; sem :has(), todos aparecem (continua funcionando) */
.decisao-painel:has(.abas) form.decisao{display:none}
.decisao-painel:has(#aba-aprovada:checked) form.f-aprovada,
.decisao-painel:has(#aba-recusada:checked) form.f-recusada,
.decisao-painel:has(#aba-devolvida:checked) form.f-devolvida,
.decisao-painel:has(#aba-continua_valendo:checked) form.f-continua_valendo,
.decisao-painel:has(#aba-encerrada:checked) form.f-encerrada{display:block}
.decidida{border:1.5px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-5);background:var(--surface)}

/* ---------- capa: entrar e criar senha ---------- */
body.capa{min-height:100vh;background:var(--azul-profundo) url("marca/fundo-capa.jpg") left center/cover no-repeat}
.capa-miolo{min-height:100vh;display:flex;align-items:center;justify-content:flex-end;padding:var(--space-10) 9vw}
.capa-cartao{width:100%;max-width:420px;background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-10)}
.capa-marca{display:flex;align-items:center;gap:var(--space-4);margin:0 0 var(--space-8) -12px}
.capa-marca .logo{display:block;height:44px;width:auto}
.capa-marca .logo-nimbus{height:24px;padding-left:var(--space-4)}
.capa-cartao h1{font-size:1.5rem;margin-bottom:var(--space-1)}
.capa-cartao .apoio{color:var(--text-secondary);margin-bottom:var(--space-4)}
.capa-cartao form button.principal{width:100%;margin-top:var(--space-6)}
/* botão do Google: segue o padrão de marca do Google (fundo branco, borda, logo colorido) */
.botao-google{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;margin-top:var(--space-6);padding:var(--space-3) var(--space-4);background:#fff;color:#1f1f1f;border:1px solid #747775;border-radius:var(--radius-md);font:500 .95rem/1.4 var(--font-sans);text-decoration:none}
.botao-google:hover{background:#f8f9fa;color:#1f1f1f}
.capa-cartao .cartao{border:0;padding:0;margin:0}

/* ---------- telas estreitas ---------- */
@media (max-width:1100px){
  .proposta-grade{grid-template-columns:minmax(0,1fr)}
  .decisao-painel{position:static}
}
@media (max-width:800px){
  :root{--topo:56px}
  .topo{padding-right:var(--space-4)}
  .topo-marca{gap:var(--space-3)}
  .topo-marca .logo{height:32px}
  .logo-nimbus{height:20px;padding-left:var(--space-3)}
  .topo-cliente,.topo-quem{display:none}
  .grade{grid-template-columns:minmax(0,1fr)}
  .lateral{position:static;height:auto;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding:var(--space-2);border-right:0;border-bottom:1px solid var(--border)}
  .lateral .rotulo,.lateral-nota{display:none}
  .lateral .item{white-space:nowrap;border-left:0;border-bottom:3px solid transparent;border-radius:var(--radius-md) var(--radius-md) 0 0}
  .lateral .item.on{border-bottom-color:var(--azul-profundo)}
  .corpo{padding:var(--space-6) var(--space-4) var(--space-10)}
  .cartao,section.bloco{padding:var(--space-5)}
  .capa-miolo{justify-content:center;padding:var(--space-6)}
  .capa-cartao{padding:var(--space-8) var(--space-6)}
  h1{font-size:1.5rem}
  .fatos{grid-template-columns:1fr;gap:0}
  .fatos dd{margin-bottom:var(--space-3)}
  .lista-propostas a.proposta{grid-template-columns:1fr}
}
