:root{--ink:#1d2b36;--muted:#5b6b78;--paper:#f5f7f8;--card:#fff;--line:#c9d3da;--accent:#1f4e79;--ok:#2f6f4f;--err:#9b2c2c}
@media (prefers-color-scheme:dark){:root{--ink:#e7edf1;--muted:#9fb0bd;--paper:#14191e;--card:#1c242b;--line:#33414c;--accent:#7fb2e0;--ok:#7ccaa0;--err:#f0a0a0}}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
main{max-width:34rem;margin:0 auto;padding:2.5rem 1.25rem 4rem}
h1{font-size:1.6rem;line-height:1.25;margin:0 0 .5rem}
p.lead{color:var(--muted);margin:0 0 1.75rem}
label.opt{display:flex;gap:.8rem;align-items:center;padding:.95rem 1rem;margin:0 0 .6rem;background:var(--card);border:1.5px solid var(--line);border-radius:6px;cursor:pointer}
label.opt:has(input:checked){border-color:var(--accent);outline:2px solid var(--accent)}
label.opt:has(input:focus-visible){outline:3px solid var(--accent)}
input[type=radio]{accent-color:var(--accent);width:1.15rem;height:1.15rem}
input[type=email],input[type=password],input[type=text]{width:100%;padding:.7rem;font:inherit;border:1.5px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink);margin:.25rem 0 1rem}
button{font:inherit;font-weight:600;padding:.8rem 1.4rem;border:0;border-radius:6px;background:var(--accent);color:var(--paper);cursor:pointer}
button:disabled{opacity:.5;cursor:default}
button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.sep{border:0;border-top:1px dashed var(--line);margin:1rem 0}
.msg{margin-top:1rem;color:var(--err)}
/* O recibo: o único elemento de destaque da página */
.stub{background:var(--card);border:1.5px solid var(--ok);border-radius:6px;padding:1.5rem}
.stub h2{margin:0 0 .25rem;color:var(--ok);font-size:1.25rem}
.stub code{display:block;margin:.9rem 0;padding:.8rem;background:var(--paper);border:1px dashed var(--ok);word-break:break-all;font:.95rem/1.5 ui-monospace,Menlo,Consolas,monospace}
.stub small{color:var(--muted)}
ul.receipts{list-style:none;padding:0;font:.85rem/1.6 ui-monospace,Menlo,Consolas,monospace;word-break:break-all}
details.fp{margin-top:2rem;color:var(--muted);font-size:.95rem}
details.fp summary{cursor:pointer;color:var(--ink)}
details.fp code{display:block;padding:.7rem;border:1px dashed var(--line);word-break:break-all;font:.9rem/1.5 ui-monospace,Menlo,Consolas,monospace;color:var(--ink)}

/* ---- Instalador e painel do administrador ---- */
main.wide{max-width:60rem}
h2{font-size:1.15rem;margin:2rem 0 .5rem}
a{color:var(--accent)}
a.btn,button.btn{display:inline-block;font:inherit;font-weight:600;padding:.7rem 1.2rem;border:0;border-radius:6px;background:var(--accent);color:var(--paper);text-decoration:none;cursor:pointer}
button.ghost,a.btn.ghost{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}
button.small{padding:.35rem .7rem;font-size:.9rem}
input[type=datetime-local],input[type=file],select,textarea{width:100%;padding:.7rem;font:inherit;border:1.5px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink);margin:.25rem 0 1rem}
textarea.code{font:.85rem/1.45 ui-monospace,Menlo,Consolas,monospace}
form label:not(.opt){display:block;font-weight:600;font-size:.95rem}
ul.check{list-style:none;padding:0}
ul.check li{padding:.2rem 0}
ul.check li.ok{color:var(--ok)} ul.check li.bad{color:var(--err)}
.note{color:var(--muted);font-size:.95rem}
.ok-msg{color:var(--ok)}
nav.top{display:flex;gap:1.25rem;flex-wrap:wrap;align-items:center;margin:0 0 2rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}
nav.top form{margin:0 0 0 auto} nav.top a{text-decoration:none;font-weight:600}
table{width:100%;border-collapse:collapse;font-size:.95rem;margin:.5rem 0 1.5rem}
th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
td.mono,code.mono{font:.85rem/1.4 ui-monospace,Menlo,Consolas,monospace;word-break:break-all}
.pill{display:inline-block;padding:.1rem .6rem;border-radius:99px;border:1.5px solid var(--line);font-size:.85rem}
.pill.aberta{border-color:var(--ok);color:var(--ok)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem;margin:0 0 1rem}
.cards div{background:var(--card);border:1.5px solid var(--line);border-radius:6px;padding:1rem}
.cards b{display:block;font-size:1.8rem;line-height:1.1}
.warn{background:var(--card);border:1.5px solid var(--err);border-radius:6px;padding:1rem;margin:1rem 0}
form.inline{display:inline;margin:0}
