/* Identidade visual Procedia (marca v2) aplicada ao sistema.
   Tokens de procedia-tokens.json; regras do Manual da marca:
   gelo como chão (~60%), bordô (~30%), tinta e areia (~10%); areia só sobre bordô;
   texto sobre bordô em off-white (#F4F2EE), nunca branco puro; cantos retos (2px em botões e campos);
   títulos em Instrument Serif, texto em Geist, valores em Geist Mono. */

@font-face{font-family:"Instrument Serif";src:url("/fontes/InstrumentSerif-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("/fontes/InstrumentSerif-Italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Geist";src:url("/fontes/Geist-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Geist";src:url("/fontes/Geist-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Geist";src:url("/fontes/Geist-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("/fontes/GeistMono-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}

:root{
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --sans:Geist,"Helvetica Neue",Arial,sans-serif;
  --mono:"Geist Mono",ui-monospace,Menlo,monospace;

  /* paleta Procedia (claro) */
  --bordo:#6B1F2A; --bordo-forte:#4A1219; --bordo-claro:#F3E4E6;
  --on-bordo:#F4F2EE; --on-bordo-suave:#E8D3D6; --areia:#E4C9A8;
  --tinta:#141418; --tinta-2:#4A4B52; --gelo:#ECEDEA; --papel:#FFFFFF; --linha:#D0D1CD;
  --resultado:#2E6B48; --foco:#6B1F2A;
  --pauta-linha:rgba(107,31,42,.14);

  /* nomes usados pelas páginas do sistema, ligados à paleta */
  --bg:var(--gelo); --panel:var(--papel); --side:#E3E4E0; --ink:var(--tinta); --muted:var(--tinta-2); --line:var(--linha);
  --accent:var(--bordo); --accent-ink:var(--on-bordo); --accent-soft:var(--bordo-claro);
  --law:#E7E3DC; --law-ink:var(--tinta-2);
  --ok:var(--resultado); --ok-soft:#E1EDE5;
  --warn:#7A4A00; --warn-soft:#F6ECD8;
  --danger:#9C2A2A; --danger-soft:#F6E1E1;
  --zone:var(--areia);
  --r:2px;   /* radius-sm: botões, campos, cartões brancos */
  --sombra-cartao:0 10px 30px rgba(20,20,24,.12);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bordo:#C25A6B; --bordo-forte:#D9788A; --bordo-claro:#3A1A20;
    --on-bordo:#141418; --on-bordo-suave:#3A1A20;
    --tinta:#F1F0EC; --tinta-2:#B5B6BC; --gelo:#141418; --papel:#1E1E23; --linha:#34353B;
    --resultado:#6FBF8F; --foco:#D9788A;
    --pauta-linha:rgba(194,90,107,.22);
    --side:#19191D; --law:#2A2620; --law-ink:#C9BFA9;
    --ok-soft:#1A2D22; --warn:#E8B04A; --warn-soft:#352A14; --danger:#F08A80; --danger-soft:#3A1E1E;
    --zone:#B89A74;
    --sombra-cartao:0 10px 30px rgba(0,0,0,.45);
  }
}

/* base */
body{font-family:var(--sans);font-size:15px;line-height:1.6;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.ttl,.step h2,.head,.rv h3,h4.sub{font-family:var(--serif);font-weight:400;letter-spacing:0}
.step h2,h2{font-size:38px;line-height:1.05}
h1{font-size:44px;line-height:1.05}
h4.sub{font-size:23px}
.kick,.obj,.rotulo{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.obj{color:var(--bordo-forte)}
:root:not([data-theme="light"]) .obj{color:var(--bordo)}

/* controles: cantos quase retos, botão principal bordô */
button,a.btn{font-family:var(--sans);border-radius:var(--r);font-weight:600;letter-spacing:.01em}
button.pri,.go{background:var(--bordo);color:var(--on-bordo);border-color:var(--bordo)}
button.pri:hover,.go:hover{background:var(--bordo-forte);border-color:var(--bordo-forte);filter:none}
button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--foco);outline-offset:2px}
input[type=text],input[type=date],input[type=tel],input[type=email],input[type=password],input[type=time],input[type=search],select,textarea{font-family:var(--sans);border-radius:var(--r)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--foco);outline-offset:2px}

/* valores e dados em Geist Mono */
input[inputmode="decimal"],.calc strong,.resumo strong,table.est td:last-child,table.rk td.r,.num,.data,code,.ped .n,.ped .ev,.ped .ch strong,.ev,.proc{font-family:var(--mono)}
.resumo strong,.calc strong{font-family:var(--serif);font-weight:400}
.head{font-size:34px}

/* cartões, selos e caixas */
.step,section.card,.card,.lista,.resumo div,.ped,.calc div,.convite,.ia-fato{border-radius:var(--r)}
.step,section.card,.card{box-shadow:none}
.law,.tag,.pills span,.mods a{border-radius:999px}   /* radius-pill: só selos e etiquetas */
.box{border-radius:var(--r)}
.box.info{background:var(--bordo-claro)}
.law{background:var(--law);color:var(--law-ink)}

/* seleção em listas e etapa atual */
aside li.on .n,.pills input:checked+span{background:var(--bordo);color:var(--on-bordo);border-color:var(--bordo)}
:root:not([data-theme="light"]) aside li.on .n,:root:not([data-theme="light"]) .pills input:checked+span{background:var(--bordo);color:var(--on-bordo)}

/* assinatura da marca no cabeçalho: símbolo + logotipo + nome do produto em Geist Mono */
.marca{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.marca img{display:block;height:24px;width:auto}
.marca .prod{font-family:var(--mono);font-size:13px;color:var(--tinta-2);padding-left:12px;border-left:1px solid var(--linha);line-height:1.2;white-space:nowrap}
.marca .prod b{font-weight:400;color:var(--bordo-forte)}
:root:not([data-theme="light"]) .marca .prod b{color:var(--bordo)}
.marca .claro{display:block}
.marca .escuro{display:none}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .marca .claro{display:none}
  :root:not([data-theme="light"]) .marca .escuro{display:block}
}
header.top .ttl{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;font-family:var(--sans)}
header.top .ttl .sub-caso{font-family:var(--sans);font-size:13px;color:var(--tinta-2)}
@media (max-width:560px){ .marca .prod{display:none} }

/* título com o nome do escritório ao lado */
h1 #nome_esc{font-family:var(--sans);font-size:15px!important;font-weight:400;letter-spacing:0;color:var(--tinta-2);margin-left:6px;vertical-align:middle}
/* rótulos sempre em Geist; legendas e avisos mais discretos */
label,.lbl,.f label{font-family:var(--sans)}
small.hint,.hint{font-family:var(--sans);font-size:12.5px;line-height:1.5}
/* tabelas: cabeçalho em rótulo da marca */
th{font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

/* campos dos cartões de administração: brancos, com borda visível, altura confortável */
.card input[type=text],.card input[type=email],.card input[type=password],.card input[type=search],.card select{background:var(--papel);border:1px solid var(--linha);padding:0 12px;height:42px;font-size:14px;color:var(--ink)}
.card input::placeholder{color:#8A8B91}
.card input:focus,.card select:focus{outline:2px solid var(--foco);outline-offset:1px;background:var(--papel)}
.card select{appearance:auto}
:root:not([data-theme="light"]) .card input::placeholder{color:#7C7D84}
