:root{
  --bg:#eef2f4; --sup:#ffffff; --sup2:#f4f7f8; --tx:#16232b; --mut:#5a6a73; --lin:#d4dce1;
  --ac:#0f6e6a; --ac2:#dff1ef; --fin:#5a3d8a; --fin2:#ede6f7;
  --ok:#2f7a3a; --ok2:#e2f2e4; --at:#8f5500; --at2:#fcedd4; --er:#a8322a; --er2:#f9e1de;
  --fs:16px; --raio:12px;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#0e1518; --sup:#162025; --sup2:#1c292f; --tx:#e5edf0; --mut:#9aabb3; --lin:#2b3a41;
  --ac:#4fc1b9; --ac2:#14332f; --fin:#c2a8ef; --fin2:#2a2140;
  --ok:#7cc787; --ok2:#1a321f; --at:#e9b45c; --at2:#382a12; --er:#f08c82; --er2:#3c1c19; color-scheme: dark}}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--tx);font-size:var(--fs);line-height:1.4}
body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
[hidden]{display:none!important}
.topo{position:sticky;top:0;z-index:5;background:var(--sup);border-bottom:1px solid var(--lin);display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px))}
.marca{font-weight:800;letter-spacing:.04em}
.marca small{display:block;font-weight:400;letter-spacing:0;color:var(--mut);font-size:13px}
.topo-dir{display:flex;gap:8px;align-items:center}
.tela{max-width:760px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:14px}
.abas{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--sup);border-top:1px solid var(--lin);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding-bottom:env(safe-area-inset-bottom,0px)}
.abas button{background:none;border:0;color:var(--mut);font:inherit;font-size:13px;font-weight:600;padding:12px 2px 14px;cursor:pointer}
.abas button[aria-current="page"]{color:var(--ac);box-shadow:inset 0 3px 0 var(--ac)}
body.fin .abas button[aria-current="page"]{color:var(--fin);box-shadow:inset 0 3px 0 var(--fin)}
h1{font-size:22px;margin:0}
h2{font-size:15px;margin:6px 0 0;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
p{margin:0}
.sub{color:var(--mut);font-size:14px}
.cartao{background:var(--sup);border:1px solid var(--lin);border-radius:var(--raio);padding:14px;display:flex;flex-direction:column;gap:10px}
.linha{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--lin)}
.linha:last-child{border-bottom:0}
.linha .esq{min-width:0;flex:1}
.linha .esq b{display:block}
.linha .esq span{color:var(--mut);font-size:14px}
.num{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.grande{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums}
.botoes{display:flex;gap:8px;flex-wrap:wrap}
button,.botao{font:inherit;border-radius:10px;border:1px solid var(--lin);background:var(--sup);color:var(--tx);padding:12px 16px;font-weight:700;cursor:pointer;min-height:48px}
button.pri,.botao.pri{background:var(--ac);border-color:var(--ac);color:#fff}
body.fin button.pri{background:var(--fin);border-color:var(--fin)}
button.perigo{color:var(--er);border-color:var(--er)}
button.link{border:0;background:none;color:var(--ac);padding:6px;min-height:0;font-weight:600}
button:disabled{opacity:.45;cursor:not-allowed}
button.bloco{width:100%;font-size:18px;min-height:60px}
button.chip{min-height:40px;padding:8px 12px;font-weight:600;border-radius:999px}
button.chip[aria-pressed="true"]{background:var(--ac2);border-color:var(--ac);color:var(--ac)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ac);outline-offset:2px}
label{font-weight:600;font-size:14px;display:flex;flex-direction:column;gap:4px}
input,select,textarea{font:inherit;font-size:17px;padding:11px 12px;border:1px solid var(--lin);border-radius:10px;background:var(--sup);color:var(--tx);width:100%}
input[inputmode="numeric"]{text-align:right;font-variant-numeric:tabular-nums}
textarea{min-height:70px}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:420px){.campos{grid-template-columns:1fr}}
.lista-escolha{display:flex;flex-direction:column;gap:6px}
.lista-escolha button{text-align:left;font-weight:600;min-height:48px}
.lista-escolha button span{color:var(--mut);font-weight:400;font-size:14px}
.escolhido{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--ac2);border-radius:10px;padding:10px 12px}
.escolhido b{font-size:18px}
.alerta{border-radius:10px;padding:10px 12px;font-size:15px}
.alerta.at{background:var(--at2);color:var(--at)} .alerta.ok{background:var(--ok2);color:var(--ok)} .alerta.er{background:var(--er2);color:var(--er)} .alerta.fin{background:var(--fin2);color:var(--fin)} .alerta.info{background:var(--ac2);color:var(--ac)}
.alerta ul{margin:6px 0 0;padding-left:18px}
.selo{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap;background:var(--sup2);color:var(--mut)}
.selo.ok{background:var(--ok2);color:var(--ok)} .selo.at{background:var(--at2);color:var(--at)} .selo.er{background:var(--er2);color:var(--er)} .selo.info{background:var(--ac2);color:var(--ac)} .selo.fin{background:var(--fin2);color:var(--fin)}
.tabela{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:15px}
th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);text-align:right;padding:6px 4px;font-weight:700}
td{border-top:1px solid var(--lin);padding:8px 4px;text-align:right;font-variant-numeric:tabular-nums}
th:first-child,td:first-child{text-align:left}
.cores td input{width:84px;padding:9px 8px}
.cores tr.duvida td{background:var(--at2)}
.cores .x{min-height:40px;padding:6px 10px}
.texto-msg{white-space:pre-wrap;background:var(--ok2);color:var(--tx);border-radius:12px 12px 12px 2px;padding:12px 14px;font-size:15px;margin:0;font-family:inherit}
.foto-mini{max-width:120px;border-radius:8px;border:1px solid var(--lin);cursor:zoom-in}
.duvidas{background:var(--at2);color:var(--at);border-radius:10px;padding:10px 12px}
.aviso{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 32px);background:var(--tx);color:var(--bg);padding:12px 16px;border-radius:10px;z-index:10;font-weight:600}
.aviso.er{background:var(--er);color:#fff}
.login{max-width:420px;margin:8vh auto 0}
.carregando{color:var(--mut);padding:20px 0;text-align:center}
.impressao{display:none}
@media print{
  body{background:#fff;color:#000;padding:0}
  body > *:not(#impressao){display:none!important}
  #impressao{display:block;font-family:Arial,sans-serif;font-size:13pt;padding:10mm}
  #impressao h1{font-size:18pt;margin:0 0 4mm}
  #impressao table{border-collapse:collapse;width:100%;margin:4mm 0}
  #impressao td,#impressao th{border:1px solid #000;padding:2mm;text-align:left;color:#000}
  #impressao .assin{margin-top:16mm;display:flex;gap:12mm}
  #impressao .assin div{flex:1;border-top:1px solid #000;padding-top:2mm;font-size:10pt}
}
.linha.duvida{background:var(--at2);border-radius:8px;padding-left:8px;padding-right:8px}
.cores{display:flex;flex-direction:column;gap:8px}
.cor-linha{border:1px solid var(--lin);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px}
.cor-linha.duvida{background:var(--at2);border-color:var(--at)}
.cor-linha small{color:var(--at);font-size:14px}
.cor-topo{display:flex;justify-content:space-between;align-items:center}
.cor-topo b{font-size:18px}
.cor-campos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cor-campos label{font-size:13px;color:var(--mut)}
.cor-campos input{padding:10px 8px}
.x{min-height:40px;padding:6px 12px}
