:root{--bg:#fff;--surface:#f8f9fa;--surface-2:#f1f3f4;--text:#202124;--muted:#5f6368;--border:#dadce0;--primary:#1a73e8;--on-primary:#fff;--primary-soft:#e8f0fe;--red:#d93025;--yellow:#f9ab00;--green:#1e8e3e;--r:16px;--r-sm:10px;--font:"Google Sans","Segoe UI",Roboto,Arial,sans-serif}
:root[data-theme=dark]{--bg:#202124;--surface:#292a2d;--surface-2:#35363a;--text:#e8eaed;--muted:#9aa0a6;--border:#3c4043;--primary:#8ab4f8;--on-primary:#202124;--primary-soft:#2b3a55;--red:#f28b82;--yellow:#fdd663;--green:#81c995}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 var(--font);background:var(--bg);color:var(--text)}
h1{font-size:1.75rem;font-weight:500;margin:0 0 1rem}h2{font-size:1.15rem;font-weight:500;margin:2rem 0 .75rem}
a{color:var(--primary)}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--bg);padding:8px;z-index:9}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:1.15rem;margin-bottom:1.25rem}
.brand-mark{width:24px;height:24px;border-radius:7px;background:conic-gradient(var(--primary) 0 25%,var(--red) 0 50%,var(--yellow) 0 75%,var(--green) 0)}
.shell{display:flex;min-height:100vh}.sidebar{width:260px;flex:none;background:var(--surface);border-right:1px solid var(--border);padding:20px 12px;overflow-y:auto}
.nav-group ul{list-style:none;margin:0 0 .75rem;padding:0}.nav-group ul.collapsed{display:none}
.nav-toggle{font:inherit;background:none;border:0;cursor:pointer;display:block;width:100%;text-align:left;padding:6px 12px;color:var(--muted);font-size:.85rem;font-weight:500}
.nav-group a,.nav-soon{display:block;padding:9px 14px;border-radius:999px;text-decoration:none;color:var(--text)}
.nav-group a:hover{background:var(--surface-2)}.nav-group a[aria-current=page]{background:var(--primary-soft);color:var(--primary);font-weight:500}.nav-soon{color:var(--muted);cursor:default}
.main-col{flex:1;min-width:0}.topbar{display:flex;align-items:center;gap:8px;padding:10px 24px;border-bottom:1px solid var(--border)}.grow{flex:1}
.content{padding:24px;max-width:1100px}
.icon-btn{border:0;background:none;color:var(--text);font-size:1.25rem;width:40px;height:40px;border-radius:50%;cursor:pointer}.icon-btn:hover{background:var(--surface-2)}
.btn{font:inherit;border:0;border-radius:999px;padding:10px 24px;cursor:pointer;font-weight:500}.btn-filled{background:var(--primary);color:var(--on-primary)}.btn-filled:hover{filter:brightness(.95)}.btn-text{background:none;color:var(--primary)}.btn-text:hover{background:var(--primary-soft)}
.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:20px}
.grid.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.stat{font-size:2rem;font-weight:500}.label,.muted,small{color:var(--muted)}
.meter{height:6px;background:var(--surface-2);border-radius:3px;margin:10px 0 4px;overflow:hidden}.meter i{display:block;height:100%;background:var(--primary)}
.empty{background:var(--surface)}.table-wrap{padding:0;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500}tr:last-child td{border-bottom:0}
.chip{background:var(--primary-soft);color:var(--primary);border-radius:8px;padding:2px 10px;font-size:.85rem}
.alert{border-radius:var(--r-sm);padding:12px 16px;margin-bottom:16px;border:1px solid var(--border)}.alert-error{border-color:var(--red);color:var(--red)}.alert-success{border-color:var(--green);color:var(--green)}.alert-info{background:var(--primary-soft);border-color:var(--primary)}
.auth-body{display:grid;place-items:center;min-height:100vh;background:var(--surface);padding:16px}.auth-card{width:100%;max-width:420px;background:var(--bg);border:1px solid var(--border);border-radius:28px;padding:32px}
.stack{display:grid;gap:16px}.field{display:grid;gap:4px}.field span{font-size:.9rem;color:var(--muted)}
.field input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 14px}.field input:focus{outline:2px solid var(--primary);border-color:var(--primary)}
@media(max-width:800px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:5;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:none}}
@media(min-width:801px){#menuBtn{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.toolbar h1{margin:0}
.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:12px 0 20px}
.grid.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.card h3{margin:0 0 8px;font-size:1.05rem;font-weight:500}
.actions{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.actions form{margin:0}
.chip-alt{background:var(--surface-2);color:var(--muted)}.btn-danger{color:var(--red)}.btn-danger:hover{background:var(--surface-2)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}@media(max-width:1000px){.split{grid-template-columns:1fr}}
.field select,.field textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 14px}
.field input[type=color]{height:44px;padding:4px;width:100%}.field input[type=file]{padding:8px}
.code{font-family:ui-monospace,Consolas,monospace;font-size:.85rem;line-height:1.45}
.preview{width:100%;height:520px;border:1px solid var(--border);border-radius:var(--r);background:#fff}.preview.short{height:240px}
.narrow{max-width:560px}.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.logo-preview{max-width:200px;max-height:100px;border:1px solid var(--border);border-radius:var(--r-sm);padding:8px;background:#fff}
fieldset{border:0;padding:0;margin:0;min-width:0}code{background:var(--surface-2);padding:1px 6px;border-radius:6px}
.content:has(.editor-shell){max-width:none}
.ed-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 16px}.ed-bar select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px;max-width:260px}
.seg{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.seg button{font:inherit;border:0;background:none;color:var(--text);padding:8px 16px;cursor:pointer}.seg button[aria-pressed=true]{background:var(--primary-soft);color:var(--primary);font-weight:500}
.file-btn{display:inline-block}.file-btn:focus-within{outline:3px solid var(--primary)}
.editor-shell{display:grid;grid-template-columns:minmax(340px,480px) minmax(0,1fr);gap:20px;align-items:start}@media(max-width:1000px){.editor-shell{grid-template-columns:1fr}}
.palette{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.palette .btn{padding:6px 14px;border:1px solid var(--border)}
.blocks{list-style:none;margin:0;padding:0;display:grid;gap:8px}.blk{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg)}.blk.open{border-color:var(--primary)}
.blk.drag{opacity:.4}.blk.over{border-color:var(--primary);background:var(--primary-soft)}
.blk-head{display:flex;align-items:center;gap:2px;padding:4px 8px}.blk-title{flex:1;text-align:left;font:inherit;color:var(--text);background:none;border:0;padding:8px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.grip{cursor:grab;color:var(--muted);padding:0 6px}.blk-body{padding:8px 16px 16px}.blk-head .icon-btn{width:32px;height:32px;font-size:1rem}
.cm-host{margin-top:8px}.cm-host .cm-editor{height:520px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:.85rem}.cm-host .cm-editor.cm-focused{outline:2px solid var(--primary)}.cm-scroller{overflow:auto}
.pv-wrap{background:var(--surface-2);border-radius:var(--r);padding:12px}.preview.tall{height:640px;display:block;margin:0 auto}
.lint{list-style:none;padding:0;margin:0;display:grid;gap:6px}.lint li{padding:8px 12px;border-radius:var(--r-sm);border:1px solid var(--border)}
.lint-error{border-color:var(--red)!important;color:var(--red)}.lint-warning{border-color:var(--yellow)!important}.lint-ok{border-color:var(--green)!important;color:var(--green)}
.st-subscribed{background:#e6f4ea;color:var(--green)}.st-pending{background:#fef7e0;color:#b06000}.st-unsubscribed,.st-bounced,.st-complained{background:#fce8e6;color:var(--red)}
:root[data-theme=dark] .st-subscribed,:root[data-theme=dark] .st-pending,:root[data-theme=dark] .st-unsubscribed,:root[data-theme=dark] .st-bounced,:root[data-theme=dark] .st-complained{background:var(--surface-2)}
.check{display:flex;gap:8px;align-items:center}.filters.bulk{margin-top:0}.cond{padding:12px 16px;margin:0}.cond legend{padding:0 6px}.inline-input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px}
legend{font-size:.9rem}
.subnav{display:flex;gap:4px;margin:0 0 12px}.subnav a{padding:6px 16px;border-radius:999px;text-decoration:none;color:var(--text)}.subnav a[aria-current=page]{background:var(--primary-soft);color:var(--primary);font-weight:500}
.rec code{word-break:break-all;font-size:.8rem}.dom-verified,.rs-ok{background:#e6f4ea;color:var(--green)}.dom-pending,.rs-pending,.rs-partial,.rs-unknown{background:#fef7e0;color:#b06000}.dom-failed,.rs-missing{background:#fce8e6;color:var(--red)}
:root[data-theme=dark] .dom-verified,:root[data-theme=dark] .rs-ok,:root[data-theme=dark] .dom-pending,:root[data-theme=dark] .rs-pending,:root[data-theme=dark] .rs-partial,:root[data-theme=dark] .rs-unknown,:root[data-theme=dark] .dom-failed,:root[data-theme=dark] .rs-missing{background:var(--surface-2)}
.avatar-thumb{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid var(--border)}.av-canvas{width:256px;height:256px;border:1px solid var(--border);border-radius:50%;background:#fff}
dialog{border:1px solid var(--border);border-radius:var(--r);background:var(--bg);color:var(--text);padding:24px}dialog::backdrop{background:rgba(0,0,0,.4)}
