/* fiscaldoo portal — mesma linguagem visual do Plano Director e do Painel fiscaldoo.
   Propositadamente NÃO é o "cloud SaaS" genérico: tom de ledger/documento certificado,
   nunca dashboard escuro com gráficos roxo-azul. */
:root{
  --paper:#F1F2ED; --surface:#FBFBF8; --surface-2:#F7F8F2;
  --ink:#16222E; --ink-muted:#4C5B62; --ink-faint:#7C8A86;
  --accent:#1F5C6B; --accent-ink:#0F3A45; --accent-soft:#E3EDEC;
  --critical:#8C332E; --critical-soft:#F3E4DF; --critical-ink:#6B2420;
  --good:#3F7D4F; --good-soft:#E3EEE1; --good-ink:#2C5B38;
  --warn:#A8762A; --warn-soft:#F3E9D6; --warn-ink:#7E5A1E;
  --line:#D9DBD1; --line-strong:#C3C6B8;
}
@media (prefers-color-scheme: dark){
  :root{
    --paper:#10161C; --surface:#161D24; --surface-2:#131920;
    --ink:#E7EAE4; --ink-muted:#9FB0AC; --ink-faint:#71817D;
    --accent:#5FB8C9; --accent-ink:#BFE9EF; --accent-soft:#1B3339;
    --critical:#E08478; --critical-soft:#3A1E1C; --critical-ink:#F2B6AC;
    --good:#7FC08E; --good-soft:#1C3322; --good-ink:#AEE0B8;
    --warn:#D7AE64; --warn-soft:#3A2E16; --warn-ink:#EAC989;
    --line:#2A3138; --line-strong:#3A4248;
  }
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Public Sans", system-ui, sans-serif; font-size:15px; line-height:1.55;
}
h1,h2{font-family:"Newsreader", Georgia, serif; font-weight:600; margin:0}
code,.mono{font-family:"IBM Plex Mono", ui-monospace, monospace}
a{color:var(--accent)}
.wrap{max-width:880px; margin:0 auto; padding:2rem 1.2rem 4rem}
header.top{display:flex; align-items:baseline; gap:1.2rem; margin-bottom:1.6rem; flex-wrap:wrap}
header.top h1{font-size:1.6rem}
nav.tabs{display:flex; gap:.4rem; margin-bottom:1.6rem}
nav.tabs a{
  font-size:.82rem; padding:.4rem .9rem; border:1px solid var(--line-strong); border-radius:999px;
  color:var(--ink-muted); text-decoration:none;
}
nav.tabs a.active{background:var(--accent-soft); border-color:var(--accent); color:var(--accent-ink); font-weight:600}
.tbl-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:3px; margin-bottom:1.2rem}
table{border-collapse:collapse; width:100%; font-size:.86rem}
th,td{text-align:left; padding:.55rem .75rem; border-bottom:1px solid var(--line)}
thead th{background:var(--surface-2); font-family:"IBM Plex Mono",monospace; font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted)}
tbody tr:last-child td{border-bottom:none}
.pill{display:inline-flex; align-items:center; gap:.35rem; font-size:.76rem; font-weight:600; padding:.1rem .55rem; border-radius:999px}
.pill .d{width:7px;height:7px;border-radius:50%}
.pill.good{background:var(--good-soft); color:var(--good-ink)} .pill.good .d{background:var(--good)}
.pill.crit{background:var(--critical-soft); color:var(--critical-ink)} .pill.crit .d{background:var(--critical)}
.pill.warn{background:var(--warn-soft); color:var(--warn-ink)} .pill.warn .d{background:var(--warn)}
.empty{color:var(--ink-faint); font-size:.86rem; padding:1rem; text-align:center; border:1px dashed var(--line-strong); border-radius:3px}
.note{font-size:.8rem; color:var(--ink-faint); margin-top:1.5rem; padding-top:1rem; border-top:1px solid var(--line)}

/* Assistente de instalação (F1-EPIC-08) */
.stepper{display:flex; align-items:center; gap:.3rem; margin-bottom:1.3rem; font-size:.78rem; flex-wrap:wrap}
.stepper .s{padding:.3rem .7rem; border-radius:999px; background:var(--surface-2); border:1px solid var(--line); color:var(--ink-faint)}
.stepper .s.on{background:var(--accent-soft); border-color:var(--accent); color:var(--accent-ink); font-weight:600}
.stepper .s.done{color:var(--good-ink); border-color:var(--good)}
.stepper .sep{color:var(--line-strong)}
.wiz-card{border:1px solid var(--line); border-radius:3px; padding:1.1rem 1.2rem; background:var(--surface); margin-bottom:1rem}
.wiz-opt{display:flex; gap:.6rem; align-items:flex-start; padding:.6rem .7rem; border:1px solid var(--line); border-radius:3px; margin-bottom:.5rem; cursor:pointer}
.wiz-opt:hover{border-color:var(--accent)}
.wiz-opt input{margin-top:.2rem}
.wiz-btn{display:inline-block; font-size:.86rem; padding:.5rem 1.1rem; border-radius:3px; border:1px solid var(--accent); background:var(--accent); color:#fff; cursor:pointer; text-decoration:none}
.wiz-btn.ghost{background:transparent; color:var(--accent-ink)}
.secret-box{background:var(--warn-soft); border:1px solid var(--warn); border-radius:3px; padding:.8rem 1rem; margin:.8rem 0; font-size:.86rem; color:var(--warn-ink)}
.secret-box .mono{display:block; margin-top:.4rem; font-size:.82rem; word-break:break-all}
.check-line{font-size:.86rem; margin-bottom:.4rem; display:flex; gap:.5rem; align-items:center}
