:root{--bg:#EDEFEC;--surface:#F7F8F6;--ink:#1D2522;--ink2:#4B5752;--line:#C9D0CB;--accent:#8C2A3B;--on:#fff;--moss:#3E6B55}
@media (prefers-color-scheme:dark){:root{--bg:#141A18;--surface:#1D2523;--ink:#E7ECE8;--ink2:#A8B4AE;--line:#34413C;--accent:#E58A9A;--on:#1A0A0E;--moss:#86BE9F;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
.caja{max-width:720px;margin:0 auto;padding:32px 16px 64px}
.cab{display:flex;gap:14px;align-items:center;color:var(--accent);margin-bottom:8px}
.cab h1{margin:0;color:var(--ink);font-size:2rem;line-height:1.1}
.mono{margin:0;font:500 .75rem ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.lead{color:var(--ink2);margin:12px 0 24px}
h2{font-size:1.15rem;margin:24px 0 8px}
section,fieldset{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px 18px;margin:0 0 18px;min-width:0}
legend{font-weight:700;padding-inline:6px}
.req,.log{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.req li{display:flex;gap:10px;align-items:baseline}
.req .ic{font-weight:800;width:1.2em;text-align:center}
.req .si .ic{color:var(--moss)}.req .no .ic{color:var(--accent)}.req .warn .ic{color:#B07B00}
.req small{color:var(--ink2)}
.log li::before{content:"✓ ";color:var(--moss);font-weight:800}
label{display:grid;gap:5px;font-size:.88rem;font-weight:600;color:var(--ink2);margin-bottom:12px}
label.chk{display:flex;gap:8px;align-items:flex-start;color:var(--ink);font-weight:400;font-size:.95rem}
input[type=text],input[type=password],input[type=number]{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:10px 12px}
input:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fila2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
@media (max-width:560px){.fila2{grid-template-columns:1fr}}
.err{color:var(--accent);font-weight:400}
.aviso{border:1px solid var(--accent);color:var(--ink);border-radius:8px;padding:12px 14px;margin:0 0 18px;background:var(--surface)}
.ok-banner{border:1px solid var(--moss);color:var(--moss);border-radius:8px;padding:12px 14px;font-weight:700;margin:16px 0}
.nota{color:var(--ink2);font-size:.92rem}
code{font:500 .9em ui-monospace,Menlo,Consolas,monospace}
.cfg{width:100%;margin-top:10px;font:.8rem/1.4 ui-monospace,Menlo,Consolas,monospace;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:10px}
.acciones{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.btn{display:inline-block;text-decoration:none;font:inherit;font-weight:700;color:var(--ink);background:transparent;border:1px solid var(--ink);border-radius:6px;padding:11px 20px;cursor:pointer}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
fieldset[disabled]{opacity:.6}
