:root{--bg:#f6f7f9;--card:#fff;--ink:#1d2330;--muted:#6b7280;--line:#e3e6ec;--acc:#1f5eff;--acc-2:#e8efff;--ok:#1a8f5a;--warn:#b7791f;--err:#c0392b}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
header.top{display:flex;align-items:center;gap:18px;padding:10px 22px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;flex-wrap:wrap}
.brand{font-weight:800;font-size:18px;color:var(--ink);letter-spacing:-.01em}
header nav{display:flex;gap:4px;flex-wrap:wrap}
header nav a{padding:6px 10px;border-radius:6px;color:var(--ink);font-weight:500}
header nav a.on,header nav a:hover{background:var(--acc-2);color:var(--acc);text-decoration:none}
.badge{background:var(--err);color:#fff;border-radius:999px;padding:0 6px;font-size:11px;vertical-align:middle}
.quota-mini{margin-left:auto;display:grid;grid-template-columns:auto auto;gap:2px 10px;align-items:center;font-size:13px;font-variant-numeric:tabular-nums}
.quota-mini i{display:block;width:120px;height:6px;background:var(--line);border-radius:3px;position:relative;overflow:hidden}
.quota-mini i::after{content:"";position:absolute;inset:0;width:var(--w);background:var(--acc)}
.quota-mini small{grid-column:1/3;color:var(--muted)}
.logout{color:var(--muted);font-size:13px}
main{max-width:1280px;margin:0 auto;padding:22px}
footer{text-align:center;color:var(--muted);font-size:12px;padding:20px}
h1{font-size:24px;margin:0 0 14px}h2{font-size:17px;margin:22px 0 8px}
.flash{padding:10px 14px;border-radius:8px;margin-bottom:16px;background:#e6f6ee;color:var(--ok);border:1px solid #bfe6d0}
.flash.err{background:#fdecea;color:var(--err);border-color:#f5c2bd}.flash.warn{background:#fff6e0;color:var(--warn);border-color:#f2dfad}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:16px}
.grid{display:grid;gap:14px}.grid.c2{grid-template-columns:repeat(2,1fr)}.grid.c3{grid-template-columns:repeat(3,1fr)}.grid.c4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.grid.c2,.grid.c3,.grid.c4{grid-template-columns:1fr}}
.stat{display:flex;flex-direction:column;gap:2px}.stat b{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}.stat span{color:var(--muted);font-size:13px}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600;white-space:nowrap}
tr:hover td{background:#fafbfd}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.tbl-wrap{overflow-x:auto}
form.inline{display:inline}
input[type=text],input[type=number],input[type=password],input[type=email],select,textarea{font:inherit;padding:7px 10px;border:1px solid #cfd4dd;border-radius:6px;background:#fff;color:var(--ink);min-width:0}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acc-2);border-color:var(--acc)}
label{display:block;font-size:13px;color:var(--muted);margin-bottom:3px}
.field{margin-bottom:12px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.row .field{margin:0}
button,.btn{font:inherit;font-weight:600;padding:8px 14px;border-radius:7px;border:1px solid var(--acc);background:var(--acc);color:#fff;cursor:pointer;display:inline-block;line-height:1.2}
.btn.sec,button.sec{background:#fff;color:var(--acc)}.btn.sm,button.sm{padding:4px 9px;font-size:12px}.btn.danger,button.danger{background:#fff;color:var(--err);border-color:var(--err)}
.btn.ok,button.ok{background:var(--ok);border-color:var(--ok)}
button:hover,.btn:hover{filter:brightness(.95);text-decoration:none}
.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#eef0f4;color:var(--muted);white-space:nowrap}
.pill.running,.pill.found,.pill.good,.pill.done{background:#e6f6ee;color:var(--ok)}.pill.paused,.pill.queued,.pill.planned,.pill.contacted{background:#fff6e0;color:var(--warn)}
.pill.error,.pill.excluded,.pill.stopped{background:#fdecea;color:var(--err)}.pill.not_found,.pill.no_website{background:#eef0f4;color:var(--muted)}
.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}
.bar{height:8px;background:var(--line);border-radius:4px;overflow:hidden;position:relative}.bar i{position:absolute;inset:0;background:var(--acc);width:var(--w)}
.pager{display:flex;gap:6px;align-items:center;margin:14px 0;flex-wrap:wrap}.pager a,.pager span{padding:4px 9px;border:1px solid var(--line);border-radius:6px;background:#fff}.pager span.cur{background:var(--acc);color:#fff;border-color:var(--acc)}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}
.chart{display:flex;align-items:flex-end;gap:3px;height:120px;border-bottom:1px solid var(--line);padding-top:10px}
.chart div{flex:1;background:var(--acc);min-width:6px;position:relative;border-radius:2px 2px 0 0}.chart div span{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:10px;color:var(--muted)}
.chart-x{display:flex;gap:3px;font-size:10px;color:var(--muted)}.chart-x div{flex:1;text-align:center;min-width:6px}
.login{max-width:360px;margin:80px auto}
.help{background:#f4f6fb;border-left:3px solid var(--acc);padding:10px 14px;border-radius:0 8px 8px 0;font-size:13px;color:#3b4252;margin-bottom:14px}
.actions{display:flex;gap:6px;flex-wrap:wrap}
.emails li{margin:2px 0}
.check{display:inline-flex;gap:6px;align-items:center;font-size:14px;color:var(--ink)}
kbd{background:#eef0f4;padding:1px 5px;border-radius:4px;font-family:ui-monospace,monospace;font-size:12px}
