
:root{--bg:#0e1116;--panel:#151a21;--line:#262d37;--ink:#e8e6df;--muted:#9aa3ad;--amber:#f5a524;--green:#3ecf8e;--red:#ff6b6b;--blue:#6ab0ff;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box}[hidden]{display:none !important}html,body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Noto Sans SC",sans-serif}
.masthead{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-bottom:1px solid var(--line);background:#0b0e12}
.brand{display:flex;gap:10px;align-items:baseline;font-weight:700;letter-spacing:.02em}.brand .mark{color:var(--amber)}.brand .sub{color:var(--muted);font-weight:500;font-size:12px}
.who{font-family:var(--mono);font-size:12px;color:var(--muted);display:flex;gap:10px;align-items:center}
.app{max-width:1180px;margin:0 auto;padding:22px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px 20px;margin-bottom:18px}
.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}h1{font-size:18px;margin:0 0 8px}h2{font-size:15px;margin:0;display:flex;gap:10px;align-items:center}
.muted{color:var(--muted)}.msg{min-height:18px;color:var(--amber);font-family:var(--mono);font-size:12px;margin:8px 0 0}.msg.err{color:var(--red)}.msg.ok{color:var(--green)}
.row{display:flex;gap:10px;margin-top:10px}.row input{flex:1}.row-gap{flex-wrap:wrap}
input,select{background:#0b0e12;border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:8px 10px;font:inherit}input:focus,select:focus{outline:1px solid var(--amber)}
button{border:1px solid var(--line);background:#1d242d;color:var(--ink);border-radius:6px;padding:8px 12px;font:inherit;cursor:pointer}button:hover{border-color:var(--amber)}
button.primary{background:var(--amber);color:#0b0e12;border-color:var(--amber);font-weight:700}button.ghost{background:transparent}button.danger{color:var(--red)}button:disabled{opacity:.5;cursor:wait}
.login{max-width:560px;margin:40px auto}
.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:18px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 14px}.stat .k{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.stat .v{font-size:20px;font-weight:700;margin-top:2px;font-family:var(--mono)}.stat .m{font-size:11px;color:var(--muted);margin-top:4px;font-family:var(--mono)}
.add-row{display:grid;grid-template-columns:1.6fr auto auto auto 1.2fr auto;gap:8px;align-items:center;margin:8px 0 14px}.check{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted);white-space:nowrap}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;padding:8px 8px;border-bottom:1px solid var(--line)}td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle}
td.email{font-family:var(--mono)}td.when{font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap}
.chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.03em;border:1px solid var(--line)}.chip.active{color:var(--green);border-color:var(--green)}.chip.paused{color:var(--amber);border-color:var(--amber)}.chip.unsubscribed{color:var(--red);border-color:var(--red)}.chip.subtle{color:var(--muted);font-weight:500}
.actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}.actions button{padding:5px 8px;font-size:12px}
.prod{display:flex;gap:8px}.prod label{display:flex;gap:4px;align-items:center;font-size:12px;color:var(--muted)}
.audit{list-style:none;margin:0;padding:0;font-family:var(--mono);font-size:12px}.audit li{padding:6px 0;border-bottom:1px dashed var(--line);display:grid;grid-template-columns:170px 200px 1fr;gap:10px}.audit .t{color:var(--muted)}.audit .a{color:var(--blue)}
.foot{text-align:center;color:var(--muted);font-size:11px;padding:20px}
@media (max-width:800px){.add-row{grid-template-columns:1fr 1fr}.audit li{grid-template-columns:1fr}}
