:root{
  --bg:#f2f6fb; --card:#ffffff; --ink:#0f1f3d; --muted:#53647f; --line:#d6e0ee;
  --accent:#0858b8; --on-accent:#ffffff; --ok:#176b3a; --ok-bg:#e4f4ea; --bad:#a1261c; --bad-bg:#fbe9e7; --warn-bg:#fff4dc;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#0b1426; --card:#131e33; --ink:#e6eef9; --muted:#97a9c4; --line:#243350;
    --accent:#3d9bea; --on-accent:#071226; --ok:#6fd49a; --ok-bg:#12301f; --bad:#ff9d93; --bad-bg:#3a1713; --warn-bg:#352b12; }
}
*{ box-sizing:border-box; }
body{ margin:0; background:var(--bg); color:var(--ink); font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
main{ max-width:560px; margin:0 auto; padding:24px 16px 48px; }
h1{ font-size:1.35rem; margin:0 0 4px; text-wrap:balance; }
.sub{ color:var(--muted); margin:0 0 20px; font-size:.95rem; }
.card{ background:var(--card); border:1px solid var(--line); border-radius:10px; padding:16px; margin-bottom:16px; }
dl{ margin:0; display:grid; grid-template-columns:max-content 1fr; gap:6px 14px; }
dt{ color:var(--muted); font-size:.9rem; }
dd{ margin:0; overflow-wrap:anywhere; }
.mono{ font-family:ui-monospace,Consolas,monospace; font-size:.85rem; }
.pill.anulado{ background:var(--bad-bg); color:var(--bad); }
.pill{ display:inline-block; padding:2px 10px; border-radius:99px; font-size:.85rem; font-weight:600; background:var(--ok-bg); color:var(--ok); margin-bottom:12px; }
.result{ border-radius:8px; padding:12px 14px; margin-top:12px; font-weight:600; }
.result.ok{ background:var(--ok-bg); color:var(--ok); }
.result.bad{ background:var(--bad-bg); color:var(--bad); }
.result.err{ background:var(--bad-bg); color:var(--bad); }
.note{ background:var(--warn-bg); border-radius:8px; padding:10px 12px; font-size:.88rem; color:var(--ink); }
label{ display:block; font-weight:600; margin-bottom:6px; }
input[type=text],input[type=file]{ width:100%; padding:10px; border:1px solid var(--line); border-radius:8px; background:var(--bg); color:var(--ink); font:inherit; }
button{ margin-top:10px; padding:10px 16px; border:0; border-radius:8px; background:var(--accent); color:var(--on-accent); font:inherit; font-weight:600; cursor:pointer; }
input[type=file]::file-selector-button{ margin-right:10px; padding:8px 12px; border:0; border-radius:6px; background:var(--accent); color:var(--on-accent); font:inherit; font-weight:600; cursor:pointer; }
:focus-visible{ outline:3px solid var(--accent); outline-offset:2px; }
[hidden]{ display:none !important; }
