:root{--bg:#0f1420;--card:#182233;--line:#2a3a52;--txt:#e6edf7;--sub:#8ea2c0;
--accent:#3b82f6;--ok:#22c55e;--low:#f59e0b;--empty:#ef4444;}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--txt);
font:15px/1.5 -apple-system,Segoe UI,Roboto,Arial,sans-serif}
.wrap{max-width:720px;margin:0 auto;padding:28px 18px 80px}
header h1{margin:0 0 4px;font-size:26px}
.sub{color:var(--sub);margin:0 0 18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;
padding:18px;margin-bottom:16px}
.lbl{display:block;font-weight:600;margin-bottom:8px}
.hint{color:var(--sub);font-size:13px}
input[type=email]{width:100%;padding:11px 13px;border-radius:9px;border:1px solid var(--line);
background:#0e1626;color:var(--txt);font-size:15px}
.quota{margin-top:10px}
.qbadge{display:inline-block;padding:5px 10px;border-radius:8px;font-size:13px;font-weight:600}
.q-ok{background:rgba(34,197,94,.15);color:#5be584}
.q-low{background:rgba(245,158,11,.15);color:#fbbf24}
.q-empty{background:rgba(239,68,68,.15);color:#f87171}
.drop{border:2px dashed var(--line);border-radius:12px;padding:26px;text-align:center;
color:var(--sub);transition:.15s;cursor:pointer}
.drop.over{border-color:var(--accent);background:rgba(59,130,246,.08)}
.drop a{color:#6ea8fe}
.ideal{margin:12px 0}
.ideal summary{cursor:pointer;color:var(--sub);font-size:13px}
.idealList{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.pill{background:#0e1626;border:1px solid var(--line);border-radius:20px;
padding:4px 11px;font-size:12px}
.pill b{color:#9cc2ff;font-weight:600}
.btn{margin-top:14px;padding:11px 18px;border-radius:9px;border:1px solid var(--line);
background:#22314a;color:var(--txt);font-size:15px;cursor:pointer;font-weight:600}
.btn:disabled{opacity:.5;cursor:default}
.btn.primary{background:var(--accent);border-color:var(--accent)}
.hidden{display:none}
.mapHead{display:flex;justify-content:space-between;align-items:center}
.badge{background:rgba(34,197,94,.15);color:#5be584;padding:3px 8px;border-radius:7px;font-size:12px}
#mapTable{width:100%;border-collapse:collapse;margin-top:6px}
#mapTable td{padding:7px 4px;border-bottom:1px solid var(--line);vertical-align:middle}
.fname{font-weight:600;width:45%}
.fkey{color:var(--sub);font-size:11px;font-weight:400}
#mapTable select{width:100%;padding:8px;border-radius:8px;border:1px solid var(--line);
background:#0e1626;color:var(--txt)}
.sample{margin-top:12px;font-size:12px;color:var(--sub);word-break:break-word}
.samp-h{margin-bottom:4px;font-weight:600;color:var(--txt)}
.sk{color:#9cc2ff}
.result .ok{font-size:18px;font-weight:700;color:var(--ok)}
.etaBig{font-size:20px;font-weight:700;margin:10px 0;color:#9cc2ff}
code{background:#0e1626;padding:2px 6px;border-radius:5px}
