:root{--bg: #0a1210;--bg-elev: #101a17;--bg-soft: #15231e;--line: rgba(214, 232, 224, .1);--ink: #e8f3ed;--muted: #8aa397;--accent: #2fbf78;--accent-2: #9be7b8;--danger: #ef6b5c;--warn: #e0b34d;--trap: #c47cff;--ok: #2fbf78;--font: "IBM Plex Sans", sans-serif;--mono: "IBM Plex Mono", monospace;--radius: 14px;--shadow: 0 18px 50px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);color:var(--ink);background:radial-gradient(900px 500px at 0% 0%,rgba(47,191,120,.16),transparent 55%),radial-gradient(800px 420px at 100% 0%,rgba(155,231,184,.08),transparent 50%),linear-gradient(160deg,#070d0b,var(--bg) 40%,#0c1613)}button,input,textarea,select{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:200px 1fr}.login-shell{display:grid;place-items:center;position:relative;overflow:hidden}.login-art{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,rgba(47,191,120,.12),transparent 40%),repeating-linear-gradient(-18deg,transparent,transparent 18px,rgba(232,243,237,.03) 18px,rgba(232,243,237,.03) 19px);animation:drift 16s ease-in-out infinite alternate}@keyframes drift{0%{transform:translate(0)}to{transform:translate(-2%)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-box{position:relative;width:min(420px,calc(100% - 2rem));background:#101a17eb;border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem;display:grid;gap:.85rem;box-shadow:var(--shadow);animation:rise .45s ease both}.login-box h1{margin:0;font-size:1.55rem}.login-box label{display:grid;gap:.35rem;color:var(--muted);font-size:.9rem}.logo-mark{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:.78rem;color:#062015;background:linear-gradient(145deg,var(--accent-2),var(--accent));flex-shrink:0}.sidebar{padding:1rem .75rem;border-right:1px solid var(--line);background:#080e0ceb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:1rem}.brand-block{display:flex;gap:.55rem;align-items:center;padding:0 .35rem}.brand-block strong{display:block;font-size:.88rem;line-height:1.2}.brand-block span{color:var(--muted);font-size:.65rem;font-family:var(--mono);line-height:1.2;word-break:break-all}.side-nav{display:flex;flex-direction:column;gap:2px;flex:1}.nav-item{text-align:left;border:0;border-left:2px solid transparent;background:transparent;color:var(--muted);padding:.45rem .55rem .45rem .65rem;border-radius:0 8px 8px 0;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease;font-size:.86rem;line-height:1.25}.nav-item:hover{color:var(--ink);background:#15231e8c}.nav-item.active{color:var(--accent-2);background:#2fbf7814;border-left-color:var(--accent);font-weight:500}.sidebar .btn.wide{width:auto;align-self:stretch;padding:.45rem .65rem;font-size:.82rem;border-radius:8px}.workspace{min-width:0;padding:1.25rem 1.5rem 2.5rem;animation:rise .4s ease both}.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1.25rem;flex-wrap:wrap}.topbar h2{margin:0;font-size:1.45rem}.top-stats{display:flex;gap:.5rem;flex-wrap:wrap}.chip{border:1px solid var(--line);background:var(--bg-elev);padding:.45rem .7rem;border-radius:999px;font-size:.85rem;color:var(--muted);font-family:var(--mono)}.chip.live{color:var(--accent-2);border-color:#2fbf7873}.muted{color:var(--muted)}.small{font-size:.82rem}.panel,.hero-panel,.metric{background:#101a17c7;border:1px solid var(--line);border-radius:var(--radius)}.panel{padding:1.15rem}.panel.narrow{max-width:820px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem}.panel h3,.hero-panel h3{margin:0 0 .35rem}.hero-panel{padding:1.4rem;background:linear-gradient(145deg,rgba(47,191,120,.14),transparent 45%),#101a17d9;box-shadow:var(--shadow)}.eyebrow{margin:0 0 .4rem;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--accent-2);font-weight:600}.grid-dash{display:grid;grid-template-columns:1.5fr .8fr;gap:1rem}.span-2{grid-column:1 / -1}.stack-gap{display:grid;gap:.75rem;align-content:start}.metric{padding:.9rem 1rem;display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.metric strong{color:var(--ink);font-size:1.35rem;font-family:var(--mono)}.metric.accent{border-color:#2fbf7866}.metric.mini{padding:.65rem .75rem;flex-direction:column;align-items:flex-start;gap:.2rem}.metric.mini strong{font-size:1.1rem}.metric.ok strong{color:var(--ok)}.metric.bad strong{color:var(--danger)}.metric.warn strong{color:var(--warn)}.metric.trap strong{color:#e0c2ff}.field{width:100%;background:#0a1210;border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:.75rem .85rem}.field.area{font-family:var(--mono);font-size:.9rem;resize:vertical}.field:focus{outline:1px solid rgba(47,191,120,.55);border-color:#2fbf788c}.btn{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink);border-radius:10px;padding:.7rem 1rem;cursor:pointer;transition:.15s ease}.btn:hover{transform:translateY(-1px);border-color:#2fbf7873}.btn.primary{background:linear-gradient(145deg,#3dcd86,var(--accent));color:#052016;border:0;font-weight:600}.btn.ghost{background:transparent}.btn.danger{background:transparent;border-color:#ef6b5c73;color:#ffb4aa}.btn.wide{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.check-row{display:flex;gap:.65rem;align-items:center;margin-top:1rem}.check-row.wrap{flex-wrap:wrap}.grow{flex:1}.toggle{display:inline-flex;gap:.4rem;align-items:center;color:var(--muted);white-space:nowrap}.file{cursor:pointer}.form-stack{display:grid;gap:.75rem}.alert{background:#ef6b5c1f;border:1px solid rgba(239,107,92,.35);color:#ffc2ba;padding:.75rem 1rem;border-radius:10px;margin-bottom:1rem}.job-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.job-card,.job-row{width:100%;text-align:left;border:1px solid var(--line);background:#0a1210;color:inherit;border-radius:12px;padding:.85rem;cursor:pointer}.job-card:hover,.job-row:hover,.job-row.active{border-color:#2fbf7873}.job-card-top{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.job-card-meta,.job-row span{display:flex;gap:.65rem;color:var(--muted);font-size:.8rem;font-family:var(--mono);margin-top:.45rem}.job-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;max-height:70vh;overflow:auto}.job-row{display:grid;gap:.25rem}.progress{height:4px;background:#e8f3ed14;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.bar-line{display:inline-block;width:72px;height:6px;margin-right:.4rem;vertical-align:middle;background:#e8f3ed14;border-radius:99px;overflow:hidden}.bar-line>span{display:block;height:100%;background:var(--accent)}.jobs-layout{display:grid;grid-template-columns:.9fr 1.4fr;gap:1rem}.metrics-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-bottom:.85rem}.table-wrap{overflow:auto;margin-top:.75rem}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:.65rem .4rem;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:500}.mono{font-family:var(--mono);font-size:.86rem}.pill{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:999px;border:1px solid var(--line);font-size:.75rem;font-family:var(--mono);white-space:nowrap}.pill.valid{color:var(--accent-2);border-color:#2fbf7880;background:#2fbf781a}.pill.invalid,.pill.disposable{color:#ffb4aa;border-color:#ef6b5c80;background:#ef6b5c1a}.pill.full,.pill.risky,.pill.catch_all{color:#f6d889;border-color:#e0b34d80;background:#e0b34d1a}.pill.spam_trap{color:#e8ccff;border-color:#c47cff80;background:#c47cff1f}.pill.unknown,.pill.duplicate{color:var(--muted)}.result-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);animation:rise .35s ease both}.result-panel.large{margin-top:1.25rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:#0a1210}.result-top{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:.85rem}.result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.result-grid span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:.2rem}@media(max-width:980px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:.75rem;gap:.65rem}.side-nav{flex-direction:row;flex-wrap:wrap;gap:.25rem;flex:initial}.nav-item{border-left:0;border-bottom:2px solid transparent;border-radius:8px;padding:.4rem .65rem}.nav-item.active{border-left-color:transparent;border-bottom-color:var(--accent)}.grid-dash,.jobs-layout,.job-cards,.result-grid,.metrics-row{grid-template-columns:1fr}}
