:root{
  --ink:#0c1326;--ink2:#3a4866;--muted:#6b7a99;--line:#e4e8f1;--bg:#eef1f7;--panel:#fff;
  --sidebar:#0c1326;--side-ink:#aeb8d0;--accent:#3b5bff;--accent-d:#2a45d8;--teal:#0f9e75;
  --teal-bg:#e3f6ef;--amber:#b4690e;--amber-bg:#fbeed7;--red:#cf2e2e;--red-bg:#fde9e9;
  --soft:#f3f5fb;--radius:14px;--radius-s:10px;
  --display:"Bricolage Grotesque",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--mono:ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box}html,body{margin:0;height:100%}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.55}
a{color:var(--accent)}button{font-family:var(--sans);cursor:pointer}
.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
@media(max-width:760px){.app{grid-template-columns:1fr}.side{position:sticky;top:0;z-index:20}}
.side{background:var(--sidebar);color:var(--side-ink);padding:22px 18px;display:flex;flex-direction:column;gap:4px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:19px;margin-bottom:16px}
.brand .dot{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#4d6bff,#22d3ee);display:grid;place-items:center;color:#fff}
.navlbl{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#5d6b8c;margin:14px 8px 6px}
.nav{display:block;color:var(--side-ink);text-decoration:none;padding:10px 12px;border-radius:10px;font-size:14px;border:0;background:transparent;text-align:left;width:100%}
.nav:hover{background:rgba(255,255,255,.05);color:#fff}.nav.on{background:var(--accent);color:#fff}
.side form{margin-top:auto}
.main{padding:30px 36px;max-width:1040px}@media(max-width:760px){.main{padding:18px}}
.candtop{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--line);background:#fff}
.candtop .brand{color:var(--ink);margin:0}.candwrap{max-width:900px;margin:0 auto;padding:26px 20px}
h1{font-family:var(--display);font-size:28px;letter-spacing:-.5px;margin:0 0 4px}
.sub{color:var(--muted);font-size:14px;margin:0 0 18px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:18px}
.card h2{font-family:var(--display);font-size:18px;margin:0 0 10px}
label.f{display:block;font-size:12.5px;font-weight:600;color:var(--ink2);margin:12px 0 6px}
input,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-s);font-size:15px;background:#fff;color:var(--ink)}
input:focus,select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,91,255,.12)}
.btn,button.btn{background:var(--accent);color:#fff;border:0;border-radius:var(--radius-s);padding:11px 18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}
.btn:hover{background:var(--accent-d)}.btn.ghost{background:var(--soft);color:var(--ink)}.btn.sm{padding:7px 12px;font-size:13px}
.btn.wa{background:#25d366;color:#062e16}.btn.mail{background:#e7ecff;color:var(--accent-d)}
.pill{font-size:12px;font-weight:600;padding:4px 11px;border-radius:999px}
.pill.info{background:#e7ecff;color:var(--accent-d)}.pill.ok{background:var(--teal-bg);color:var(--teal)}
.pill.warn{background:var(--amber-bg);color:var(--amber)}.pill.bad{background:var(--red-bg);color:var(--red)}.pill.mut{background:#eceff5;color:var(--ink2)}
table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:0 8px 10px}
td{padding:11px 8px;border-top:1px solid var(--line);vertical-align:top}
.tag{font-size:12px;color:var(--muted)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid5{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.stat{background:var(--soft);border-radius:var(--radius-s);padding:14px 16px}.stat .n{font-family:var(--display);font-weight:700;font-size:28px}.stat .l{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}
.flash{background:var(--amber-bg);color:#7a4708;border-radius:var(--radius-s);padding:10px 14px;margin-bottom:16px;font-size:14px}
.cred{font-family:var(--mono);font-size:13px;background:var(--ink);color:#cdd6f0;border-radius:var(--radius-s);padding:16px;line-height:2;word-break:break-all}.cred b{color:#7ee0ff}
.note{font-size:13px;background:var(--soft);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;padding:10px 14px;margin:12px 0}
.note.warn{border-color:var(--amber);background:var(--amber-bg);color:#7a4708}
.item{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius-s);padding:12px 14px;margin-bottom:10px}
.bar{height:8px;background:var(--soft);border-radius:999px;overflow:hidden;margin-top:8px}.bar>i{display:block;height:100%;background:linear-gradient(90deg,#3b5bff,#22d3ee)}
.opt{display:block;padding:7px 0}.opt input{width:auto;margin-right:8px}
.q{border:1px solid var(--line);border-radius:var(--radius-s);padding:14px 16px;margin-bottom:12px}.q.right{border-color:var(--teal);background:var(--teal-bg)}.q.wrong{border-color:var(--red);background:var(--red-bg)}
.viewer{position:relative;border:1px solid var(--line);border-radius:var(--radius-s);overflow:hidden;background:#fff}
.vbar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--soft);border-bottom:1px solid var(--line)}
.wm{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:5}
.wm span{transform:rotate(-24deg);font-family:var(--mono);font-size:12px;color:#0c1326;opacity:.12;text-align:center;line-height:3.2;white-space:pre-wrap}
#pdfpages canvas{display:block;width:100%;margin:0 auto 10px;border:1px solid var(--line)}
.center{max-width:440px;margin:6vh auto}
.result-ico{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;font-size:28px;margin:0 auto 8px}
