:root{
  --ink:#0E1B2C; --ink-2:#16283F; --steel:#3F5570; --mute:#7C8794;
  --line:#D9E0E8; --paper:#FFFFFF; --canvas:#E8ECF1; --field:#F3F6F9;
  --signal:#C8862A; --signal-soft:#FBF2E2; --go:#1E6E4B; --stop:#9E3030;
  --sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--sans);background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased}

/* ---------- estrutura ---------- */
.topo{background:var(--ink-2);color:#fff;padding:10px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.topo .marca{font-size:13px;font-weight:600;letter-spacing:-.01em}
.topo .org{font-size:10px;letter-spacing:.12em;color:#9FB3C8;text-transform:uppercase}
.topo nav{display:flex;gap:2px;margin-left:auto;flex-wrap:wrap}
.topo nav a{color:#C6D4E2;text-decoration:none;font-size:12.5px;padding:6px 10px;border-radius:2px}
.topo nav a:hover,.topo nav a.aqui{background:rgba(255,255,255,.12);color:#fff}
.topo form{margin:0}
.topo .sair{background:none;border:1px solid rgba(255,255,255,.25);color:#C6D4E2;font:inherit;font-size:12.5px;padding:6px 10px;border-radius:2px;cursor:pointer}

.wrap{max-width:1120px;margin:0 auto;padding:26px 18px 70px}
.wrap.estreito{max-width:560px}
h1{font-size:22px;margin:0 0 4px;letter-spacing:-.02em;color:var(--ink-2)}
h2{font-size:15px;margin:26px 0 10px;color:var(--ink-2);letter-spacing:-.01em}
.lead{color:var(--steel);font-size:13.5px;margin:0 0 22px;line-height:1.55;max-width:66ch}

/* ---------- blocos ---------- */
.card{background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:16px 18px;margin-bottom:14px}
.card.destaque{border-left:3px solid var(--signal)}
.card.aberta{border-left:3px solid var(--go)}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.kv{display:flex;justify-content:space-between;gap:14px;font-size:13px;padding:5px 0;border-bottom:1px solid var(--line)}
.kv:last-child{border-bottom:0}
.kv .l{color:var(--mute)}
.kv .v{font-weight:600;text-align:right}
.num{font-family:var(--mono);font-size:26px;font-weight:700;letter-spacing:.04em;color:var(--ink-2)}
.plate{font-family:var(--mono);font-weight:700;letter-spacing:.06em}
.mono{font-family:var(--mono);font-size:12.5px}
.mute{color:var(--mute)}

/* ---------- formulario ---------- */
.field{margin-bottom:13px}
.field label{display:block;font-size:11px;letter-spacing:.06em;color:var(--mute);margin-bottom:5px;text-transform:uppercase}
.control{width:100%;background:var(--field);border:1px solid var(--line);border-radius:3px;padding:11px 12px;font:inherit;font-size:15px;color:var(--ink)}
.control:focus{outline:2px solid var(--ink-2);outline-offset:-1px;background:#fff}
textarea.control{min-height:78px;resize:vertical}
.linha{display:flex;gap:10px;flex-wrap:wrap}
.linha .field{flex:1;min-width:150px}
.hint{font-size:11.5px;color:var(--mute);margin-top:5px;line-height:1.45}
.hint b{color:var(--ink-2)}

.btn{display:inline-block;font:inherit;font-size:14px;font-weight:600;border:1px solid var(--ink-2);background:var(--ink-2);color:#fff;padding:11px 18px;border-radius:3px;cursor:pointer;text-decoration:none;text-align:center}
.btn:hover{background:var(--ink)}
.btn-lg{width:100%;padding:15px;font-size:16px}
.btn-ghost{background:var(--paper);color:var(--ink-2)}
.btn-ghost:hover{background:var(--field)}
.btn-go{background:var(--go);border-color:var(--go)}
.btn-stop{background:var(--stop);border-color:var(--stop)}
.btn-mini{font-size:12px;padding:6px 10px}

/* ---------- avisos ---------- */
.alerta{border-radius:3px;padding:11px 14px;font-size:13px;line-height:1.5;margin-bottom:14px;border:1px solid}
.alerta.erro{background:#FBEDED;border-color:#E5C4C4;color:#7A2626}
.alerta.atencao{background:var(--signal-soft);border-color:#E7D2A8;color:#7A5410}
.alerta.ok{background:#E9F4EE;border-color:#BFE0CD;color:#155638}
.alerta ul{margin:6px 0 0;padding-left:18px}

.flag{display:inline-block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:2px;background:var(--signal-soft);color:#7A5410;border:1px solid #E7D2A8;vertical-align:middle}
.flag.go{background:#E9F4EE;color:#155638;border-color:#BFE0CD}
.flag.stop{background:#FBEDED;color:#7A2626;border-color:#E5C4C4}

/* ---------- tabela ---------- */
table{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);font-size:13px}
th{text-align:left;background:var(--field);color:var(--steel);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;padding:9px 10px;border-bottom:1px solid var(--line)}
td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
.rolagem{overflow-x:auto}

details.editor{background:var(--paper);border:1px solid var(--line);border-radius:3px;margin-bottom:14px}
details.editor>summary{cursor:pointer;padding:12px 16px;font-size:13.5px;font-weight:600;color:var(--ink-2)}
details.editor>div{padding:0 16px 16px}

/* ---------- transcricao do BDT: leitura a distancia ---------- */
.transcricao .kv{font-size:17px;padding:9px 0}
.transcricao .kv .v{font-size:20px;font-weight:700}

@media (max-width:560px){
  .wrap{padding:18px 13px 60px}
  .topo nav a{font-size:12px;padding:5px 8px}
}
