:root{
  --bg:#0a0f1a;
  --bg-2:#0c1322;
  --card:#111c30;
  --card-2:#0f1829;
  --panel:#0e1727;
  --border:#1d2b45;
  --border-2:#2a3d5f;
  --text:#eaf1fb;
  --muted:#93a4bd;
  --dim:#657698;
  --cyan:#38bdf8;
  --cyan-600:#0ea5e9;
  --teal:#34d399;
  --amber:#fbbf24;
  --red:#f87171;
  --cyan-soft:rgba(56,189,248,.12);
  --teal-soft:rgba(52,211,153,.13);
  --amber-soft:rgba(251,191,36,.13);
  --red-soft:rgba(248,113,113,.13);
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  background:
    radial-gradient(900px 500px at 78% -8%, rgba(56,189,248,.10), transparent 60%),
    radial-gradient(700px 400px at 8% 0%, rgba(52,211,153,.06), transparent 55%),
    var(--bg);
  color:var(--text);
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px 64px}

/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(10,15,26,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.nav-inner{max-width:1160px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:18px}
.nav-primary{min-height:70px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:.2px}
.brand-mark{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:var(--cyan-soft);color:var(--cyan)}
.brand-logo{display:inline-flex;align-items:center;background:#fff;border-radius:9px;padding:5px 10px}
.brand-logo img{height:30px;width:auto;display:block}
.brand-logo.lg{padding:12px 18px;border-radius:16px}
.brand-logo.lg img{height:62px}
.brand-accent{color:var(--cyan)}
.program-tabs{display:flex;align-items:center;gap:5px;min-width:0;flex:1}
.program-tab{appearance:none;border:1px solid transparent;background:transparent;color:var(--muted);font:600 12.5px/1.25 "Inter",system-ui,sans-serif;padding:10px 11px;border-radius:10px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.program-tab:hover{color:var(--text);background:rgba(255,255,255,.04)}
.program-tab.active{color:#dff6ff;background:var(--cyan-soft);border-color:rgba(56,189,248,.34)}
.program-tab:focus-visible,.program-overview:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.context-nav-wrap{border-top:1px solid rgba(255,255,255,.045);background:rgba(8,13,23,.48)}
.context-nav-inner{max-width:1160px;min-height:44px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:18px}
.nav-links{display:flex;align-items:center;gap:20px;margin:0}
.nav-links a{color:var(--muted);font-size:14px;font-weight:500;padding:6px 2px}
.nav-links a.active,.nav-links a:hover{color:var(--text)}
.program-context-note{color:var(--muted);font-size:12.5px;font-weight:600}
.context-nav-inner>.chip{margin-left:auto}
.chip-setup{color:#f6c453;background:rgba(246,196,83,.1);border-color:rgba(246,196,83,.24)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:14px}
.nav-toggle{display:none;align-items:center;justify-content:center;width:42px;height:40px;padding:0;background:var(--panel);border:1px solid var(--border-2);border-radius:11px;color:var(--text);cursor:pointer}
.nav-toggle svg{display:block}
.nav-toggle .hidden{display:none}
.chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px;border:1px solid var(--border-2);color:var(--muted)}
.chip-live{color:var(--teal);background:var(--teal-soft);border-color:transparent}
.chip-live.paused{color:#f6c453;background:rgba(246,196,83,.12)}
.chip-live.problem{color:#ff7b7b;background:rgba(255,82,82,.12)}
.dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--cyan-soft);color:var(--cyan);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}

/* hero */
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;padding:52px 0 40px;align-items:center}
.eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--cyan);background:var(--cyan-soft);padding:6px 12px;border-radius:8px;margin-bottom:18px}
h1{font-size:46px;line-height:1.08;font-weight:800;letter-spacing:-1px;margin:0 0 16px}
.grad{color:var(--cyan)}
.lead{color:var(--muted);font-size:17px;max-width:520px;margin:0 0 24px}
.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:inherit;font-size:15px;font-weight:600;padding:12px 20px;border-radius:11px;border:1px solid transparent;cursor:pointer;transition:.15s}
.btn-primary{background:var(--cyan);color:#04121f;border-color:var(--cyan)}
.btn-primary:hover{background:#5cccfb}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--border-2)}
.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan)}
.btn-danger{background:var(--red);color:#2a0808;border-color:var(--red);font-weight:800}
.btn-danger:hover{background:#fa8f8f}
.btn-danger:disabled{background:var(--card-2);color:var(--dim);border-color:var(--border-2);cursor:not-allowed;font-weight:700}
#sendConfirm{font-size:15.5px;padding:13px 26px;letter-spacing:.3px}

/* SEND box on the dashboard, beside the Send-mode control */
.head-right{display:flex;align-items:stretch;gap:14px;flex-wrap:wrap}
.dash-send{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:9px 20px;border-radius:12px;font-family:inherit;font-weight:800;cursor:pointer;border:2px solid var(--border-2);background:var(--card-2);color:var(--dim);transition:.15s}
.dash-send .ds-label{font-size:15px;line-height:1.1;white-space:nowrap}
.dash-send .ds-count{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.dash-send.ready{background:var(--red);color:#2a0808;border-color:#fca5a5;box-shadow:0 0 0 4px var(--red-soft),0 6px 20px rgba(248,113,113,.4);animation:sendpulse 1.8s ease-in-out infinite}
.dash-send.ready .ds-count{background:#fff;color:#c81e1e;font-weight:800;padding:1px 9px;border-radius:999px;margin-top:2px}
.dash-send .ds-src{font-size:10.5px;font-weight:700;line-height:1.2;max-width:200px;white-space:normal;color:var(--dim)}
.dash-send.ready .ds-src{color:#2a0808;margin-top:1px}
.dash-send .ds-src:empty{display:none}
.dash-send.ready:hover{background:#fa8f8f;animation:none}
.dash-send.sending{opacity:.65;cursor:default;animation:none}
.dash-send.checking{background:var(--cyan-soft);color:var(--text);border-color:var(--cyan);cursor:wait;animation:none;box-shadow:0 0 0 4px rgba(56,189,248,.1)}
.dash-send.checking .ds-count{background:transparent;color:var(--cyan);padding:0;margin:0}
.dash-send.checking .ds-src{color:var(--muted)}
.dash-send:disabled{cursor:not-allowed}
@keyframes sendpulse{0%,100%{box-shadow:0 0 0 3px var(--red-soft),0 6px 16px rgba(248,113,113,.28)}50%{box-shadow:0 0 0 7px rgba(248,113,113,.10),0 8px 24px rgba(248,113,113,.5)}}

/* autonomous morning preparation */
.prep-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 0 22px;padding:20px 22px;border:1px solid var(--border-2);border-radius:16px;background:linear-gradient(135deg,rgba(56,189,248,.09),rgba(52,211,153,.05)),var(--card-2)}
.prep-card.running{border-color:rgba(56,189,248,.55)}
.prep-card.ready{border-color:rgba(52,211,153,.65);background:linear-gradient(135deg,rgba(52,211,153,.13),rgba(56,189,248,.05)),var(--card-2)}
.prep-card.failed{border-color:rgba(248,113,113,.65);background:linear-gradient(135deg,rgba(248,113,113,.10),transparent),var(--card-2)}
.prep-copy{flex:1;min-width:0}.prep-kicker{display:block;color:var(--cyan);font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px}
.prep-copy h2{font-size:19px;line-height:1.25;margin:0 0 5px}.prep-copy p{color:var(--muted);font-size:13px;line-height:1.55;margin:0;max-width:720px}
.prep-live{display:flex;align-items:center;gap:8px;margin:7px 0 8px;color:var(--cyan);font-size:11px;font-weight:800;letter-spacing:.45px}
.prep-live strong{margin-left:4px;padding:3px 7px;border:1px solid rgba(56,189,248,.35);border-radius:6px;color:var(--text);font-variant-numeric:tabular-nums}
.prep-live.hidden{display:none}.prep-spinner{width:17px;height:17px;flex:0 0 17px;border:3px solid rgba(56,189,248,.25);border-top-color:var(--cyan);border-right-color:var(--teal);border-radius:50%;animation:prep-spin .8s linear infinite}
@keyframes prep-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.prep-spinner{animation-duration:1.6s}}
.prep-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:220px}.prep-actions small{color:var(--dim);font-size:10.5px;text-align:center}
.prep-start{justify-content:center;font-size:12px;letter-spacing:.45px;padding:11px 15px}.prep-start:disabled{opacity:.5;cursor:not-allowed}
.prep-progress{height:7px;border-radius:999px;background:var(--border);overflow:hidden;margin-top:13px}.prep-progress span{display:block;height:100%;width:8%;background:linear-gradient(90deg,var(--cyan),var(--teal));border-radius:inherit;transition:width .35s ease}
.prep-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:9px;color:var(--muted);font-size:11.5px}.prep-stats b{color:var(--text)}
.prep-preflight{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px;font-size:11px}.prep-preflight.hidden{display:none}.prep-preflight strong{color:var(--teal);margin-right:2px}.prep-preflight.failed strong{color:var(--red)}.prep-check{padding:3px 7px;border:1px solid rgba(52,211,153,.3);border-radius:999px;color:var(--muted)}.prep-check.failed{border-color:rgba(248,113,113,.4);color:var(--red)}
@media(max-width:720px){.prep-card{align-items:stretch;flex-direction:column}.prep-actions{min-width:0;width:100%}}
.hero-note{display:flex;align-items:center;gap:8px;color:var(--teal);font-size:13.5px;margin-top:18px}

/* snapshot card */
.snapshot{background:linear-gradient(180deg,var(--card),var(--card-2));border:1px solid var(--border-2);border-radius:18px;padding:20px}
.snapshot-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.snapshot-title{font-weight:700;font-size:15px}
.tag{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--teal);background:var(--teal-soft);padding:5px 10px;border-radius:7px}
.snapshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.snapshot-grid>div{display:flex;flex-direction:column;gap:2px}
.sg-label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--dim)}
.sg-val{font-size:19px;font-weight:700}
.snapshot-hero{background:var(--panel);border:1px solid var(--border);border-radius:13px;padding:18px;text-align:center;margin-bottom:14px}
.big-num{display:block;font-size:42px;font-weight:800;color:var(--teal);letter-spacing:-1px;line-height:1}
.big-sub{display:block;color:var(--text);font-size:14px;margin-top:6px}
.big-foot{display:block;color:var(--dim);font-size:12px;margin-top:4px}
.snapshot-split{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ss-col{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px}
.ss-hi{border-color:var(--border-2)}
.ss-h{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--dim);margin-bottom:8px}
.ss-row{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);padding:2px 0}
.ss-row .pos{color:var(--text);font-weight:600}

/* cards */
.card{background:var(--card);border:1px solid var(--border);border-radius:16px}

.hidden{display:none !important}
.program-hidden{display:none !important}

/* calendar */
.cal-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin:8px 0 16px}
.cal-head h2{font-size:22px;font-weight:700;margin:0}
.cal-nav{display:flex;align-items:center;gap:10px}
.cal-arrow{width:38px;height:38px;border-radius:10px;background:var(--panel);border:1px solid var(--border-2);color:var(--text);font-size:20px;line-height:1;cursor:pointer}
.cal-arrow:hover{border-color:var(--cyan);color:var(--cyan)}
.cal-month{font-weight:700;font-size:16px;min-width:150px;text-align:center}
.cal-back{padding:10px 16px;margin-left:6px}
.cal-legend{display:flex;align-items:center;gap:20px;color:var(--muted);font-size:13px;margin-bottom:14px}
.cal-legend .lg{width:11px;height:11px;border-radius:3px;display:inline-block;margin-right:7px;vertical-align:-1px}
.lg.sent{background:var(--teal)}.lg.today{background:var(--cyan)}.lg.planned{background:var(--amber)}
.cal-legend-note{margin-left:auto;color:var(--dim);font-size:12.5px}
.cal-key{margin:2px 0 12px;color:var(--dim);font-size:12px;line-height:1.5}
.cal-key b{color:var(--text);font-weight:700}
.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;color:var(--dim);font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}
.cal-weekdays span{text-align:center}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.cal-cell{min-height:88px;background:var(--card-2);border:1px solid var(--border);border-radius:12px;padding:9px;display:flex;flex-direction:column;gap:6px}
.cal-cell.empty{background:transparent;border:none;min-height:0}
.cal-cell.weekend{opacity:.45}
.cal-cell.today{border-color:var(--cyan);box-shadow:0 0 0 1px rgba(56,189,248,.25)}
.cal-date{font-size:12.5px;color:var(--muted);font-weight:600}
.cal-cell.today .cal-date{color:var(--cyan)}
.cal-send{margin-top:auto;font-size:12px;font-weight:600;border-radius:8px;padding:6px 8px;text-align:center;cursor:pointer;transition:.12s}
.cal-send:hover{filter:brightness(1.15)}
.cal-send.sent{background:var(--teal-soft);color:var(--teal)}
.cal-send.today{background:var(--cyan-soft);color:var(--cyan)}
.cal-send.planned{background:var(--amber-soft);color:var(--amber)}
.cal-detail-sum{color:var(--text);font-size:15px;font-weight:600;margin:0 0 12px}
.cal-detail-rows{display:flex;flex-direction:column;gap:2px}
.cal-detail-rows>div{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);padding:7px 0;border-bottom:1px solid var(--border)}
.cal-detail-rows>div:last-child{border-bottom:none}
.cal-detail-rows span:last-child{color:var(--text);font-weight:600}
@media(max-width:640px){.cal-cell{min-height:64px;padding:6px}.cal-date{font-size:11px}.cal-send{font-size:10.5px;padding:4px}}
/* calendar: three send groups per day (Step 1/2/3) */
.cal-groups{margin-top:auto;display:flex;flex-direction:column;gap:3px;background:none;border:none;padding:0;width:100%;cursor:pointer;text-align:left}
.cal-groups .cg{display:flex;align-items:flex-start;justify-content:space-between;gap:5px;font-size:11px;font-weight:700;border-radius:6px;padding:3px 6px;line-height:1.3}
.cal-groups .cg .cg-l{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;opacity:.85}
.cal-groups .cg .cg-d{font-size:10px;font-weight:800;opacity:.95;white-space:nowrap}
.cal-groups .cg .cg-p{flex:1;font-size:9.5px;font-weight:600;opacity:.9}
.cal-groups .cg .cg-p .cg-in{font-weight:800;opacity:1}
.cal-groups .cg b{margin-left:auto;align-self:flex-start;padding-left:2px}
.cal-groups .cg.s1{background:var(--cyan-soft);color:var(--cyan)}
.cal-groups .cg.s2{background:var(--teal-soft);color:var(--teal)}
.cal-groups .cg.s3{background:rgba(167,139,250,.15);color:#c4b5fd}
.cal-groups:hover .cg{filter:brightness(1.14)}
/* calendar: projected (not-yet-sent) day, shown in yellow until the real send lands */
.cal-cell.planned{border-color:rgba(251,191,36,.3)}
.cal-plan{margin-top:auto;display:flex;align-items:center;justify-content:center;background:var(--amber-soft);border:1px dashed rgba(251,191,36,.5);border-radius:5px;padding:1px 5px;line-height:1.25}
.cal-plan .cp-txt{font-size:9px;font-weight:700;color:var(--amber);white-space:normal;text-align:center}
.cal-plan.skip .cp-txt{font-size:9px}
/* calendar day detail modal */
.cal-src{margin:-6px 0 14px;color:var(--muted);font-size:13px}
.cd-group{margin:0 0 12px;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.cd-g-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:var(--card-2);font-size:13.5px}
.cd-g-head small{color:var(--dim);font-weight:500;margin-left:4px}
.cd-g-n{font-weight:800;color:var(--text)}
.cd-g-date{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;background:var(--card);border:1px solid var(--border);color:var(--muted);font-size:12px;font-weight:700;vertical-align:middle}
/* accurate per-batch source breakdown inside a day-detail group */
.cd-origin{padding:7px 12px;background:var(--card);border-top:1px solid var(--border);color:var(--muted);font-size:12.5px;line-height:1.5}
.cd-origin b{color:var(--text);font-weight:800}
/* a follow-up cell that spans more than one origin batch */
.cal-groups .cg .cg-d.cg-multi{font-size:9px;opacity:.85}
.cd-list{list-style:none;margin:0;padding:4px 0;max-height:220px;overflow:auto}
.cd-list li{display:flex;justify-content:space-between;gap:10px;padding:6px 12px;font-size:13px;color:var(--muted)}
.cd-list li .dl-name{color:var(--text)}
.cd-empty{padding:9px 12px;color:var(--dim);font-size:13px}
@media(max-width:640px){.cal-cell{min-height:82px}.cal-groups .cg{font-size:10px;padding:1px 5px}.cal-groups .cg .cg-l{font-size:9px}}

/* login gate */
body.locked{overflow:hidden}
.login{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;
  background:radial-gradient(800px 500px at 50% -10%,rgba(56,189,248,.12),transparent 60%),var(--bg)}
.login.hidden{display:none}
.login-card{width:100%;max-width:380px;background:linear-gradient(180deg,var(--card),var(--card-2));border:1px solid var(--border-2);border-radius:20px;padding:32px 28px;text-align:center}
.login-logo{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:800;font-size:20px;margin-bottom:18px}
.login-card h2{font-size:22px;font-weight:700;margin:0 0 6px}
.login-card p{color:var(--muted);font-size:14px;margin:0 0 20px}
#loginForm{display:flex;flex-direction:column;gap:12px}
#loginPass,.modal-input{width:100%;padding:13px 15px;font-size:15px;font-family:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border-2);border-radius:11px;outline:none}
#loginPass:focus,.modal-input:focus{border-color:var(--cyan)}
.login-btn{justify-content:center;width:100%;padding:13px}
.login-err{color:var(--red);font-size:13.5px;margin-top:14px}
.login-err.hidden{display:none}

/* account menu */
.account{position:relative}
.avatar{border:none;cursor:pointer}
.acct-menu{position:absolute;right:0;top:44px;width:210px;background:var(--card);border:1px solid var(--border-2);border-radius:13px;padding:8px;z-index:40}
.acct-menu.hidden{display:none}
.acct-head{padding:10px 12px 12px;border-bottom:1px solid var(--border);margin-bottom:6px;display:flex;flex-direction:column;gap:2px}
.acct-name{font-weight:600;font-size:14px}
.acct-role{font-size:12px;color:var(--cyan)}
.acct-item{width:100%;text-align:left;font-family:inherit;font-size:14px;color:var(--text);background:transparent;border:none;padding:10px 12px;border-radius:9px;cursor:pointer}
.acct-item:hover{background:var(--panel);color:var(--cyan)}
.modal-input{margin-bottom:10px}

/* send mode */
.sendmode{display:flex;align-items:center;gap:18px;padding:16px 20px;margin-bottom:16px;flex-wrap:wrap}
.sm-left{display:flex;flex-direction:column;gap:2px;flex:1;min-width:220px}
.sm-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px}
.sm-title svg{color:var(--cyan)}
.sm-desc{font-size:13.5px;color:var(--muted)}
.seg{display:inline-flex;background:var(--panel);border:1px solid var(--border);border-radius:11px;padding:4px;gap:4px}
.seg-btn{font-family:inherit;font-size:13.5px;font-weight:600;color:var(--muted);background:transparent;border:none;padding:9px 16px;border-radius:8px;cursor:pointer;transition:.15s}
.seg-btn:hover{color:var(--text)}
.seg-btn.active{background:var(--cyan);color:#04121f}
.seg-btn.active.auto{background:var(--amber);color:#231600}
.auto-note{color:var(--teal);font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.auto-strip{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:600;color:var(--amber);background:var(--amber-soft);border-radius:10px;padding:10px}

/* attention */
.attention{padding:18px 20px;margin-bottom:26px}
.attention-head{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15px;margin-bottom:12px}
.ah-icon{color:var(--cyan);display:flex}
.attention-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.attention-list li{display:flex;align-items:center;gap:11px;font-size:14.5px;color:var(--text)}
.attention-list .ai{display:flex;color:var(--cyan)}
.attention-list .ai.ok{color:var(--teal)}
.attention-list .push{margin-left:auto}
.mini-btn{font-family:inherit;font-size:13px;font-weight:600;padding:7px 14px;border-radius:9px;background:var(--teal-soft);color:var(--teal);border:none;cursor:pointer}
.mini-btn:hover{background:rgba(52,211,153,.22)}

/* kpis */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:34px}
.kpi{background:var(--card-2);border:1px solid var(--border);border-radius:14px;padding:16px 18px}
.kpi .k-label{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:7px}
.kpi .k-val{font-size:28px;font-weight:800;margin-top:8px;letter-spacing:-.5px}
.kpi .k-sub{font-size:12px;color:var(--dim);margin-top:2px}
.k-cyan{color:var(--cyan)}.k-teal{color:var(--teal)}

/* board */
.section-head{display:flex;align-items:baseline;gap:14px;margin-bottom:16px}
.section-head h2{font-size:22px;font-weight:700;margin:0}
.section-sub{color:var(--muted);font-size:14px}
.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}
.batch{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.batch.ready{border-color:var(--teal);box-shadow:0 0 0 1px rgba(52,211,153,.25)}
.batch-top{display:flex;align-items:center;gap:10px}
.batch-title{font-weight:700;font-size:16px}
.batch-geo{font-size:12px;color:var(--cyan);background:var(--cyan-soft);padding:3px 9px;border-radius:7px}
.badge{margin-left:auto;font-size:12px;font-weight:600;padding:4px 11px;border-radius:999px}
.badge.ready{background:var(--teal-soft);color:var(--teal)}
.badge.seq{background:var(--cyan-soft);color:var(--cyan)}
.badge.done{background:rgba(101,118,152,.16);color:var(--muted)}
.badge.today{background:var(--amber-soft);color:var(--amber)}
.batch-meta{font-size:13px;color:var(--muted);margin-top:-4px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.step{border-radius:10px;padding:9px 6px;text-align:center;font-size:12px;border:1px solid transparent}
.step .s-l{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;opacity:.85;margin-bottom:3px}
.step.done{background:var(--teal-soft);color:var(--teal)}
.step.sched{background:var(--panel);color:var(--dim);border-color:var(--border)}
.step.now{background:var(--cyan-soft);color:var(--cyan)}
.batch-stats{display:flex;gap:16px;font-size:13px;color:var(--muted);padding-top:2px;border-top:1px solid var(--border);margin-top:2px;padding-top:11px}
.batch-stats span{display:inline-flex;align-items:center;gap:6px}
.batch-stats .hot{color:var(--teal)}
.batch-actions{display:flex;gap:9px}
.batch .send-btn{flex:1;font-family:inherit;font-weight:600;font-size:14px;padding:10px;border-radius:10px;background:var(--teal);color:#04160f;border:none;cursor:pointer}
.batch .send-btn:hover{background:#57e0af}

/* footer strip */
.foot{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px;padding:22px 24px;background:var(--bg-2);border:1px solid var(--border);border-radius:16px}
.foot-item{display:flex;align-items:center;gap:11px;font-size:14px;color:var(--muted)}
.foot-item svg{color:var(--cyan);flex-shrink:0}
.foot-item strong{color:var(--text);font-weight:600}

/* modal + toast */
.modal{position:fixed;inset:0;background:rgba(4,9,18,.66);display:flex;align-items:center;justify-content:center;z-index:60;padding:20px}
.modal.hidden,.toast.hidden{display:none}
.modal-card{background:var(--card);border:1px solid var(--border-2);border-radius:16px;padding:24px;max-width:440px;width:100%}
.modal-card h3{margin:0 0 8px;font-size:20px}
.modal-card p{color:var(--muted);margin:0 0 14px;font-size:14.5px}
.checklist{color:var(--muted);font-size:13.5px;line-height:1.9;margin:0 0 18px;padding-left:20px}
.modal-actions{display:flex;justify-content:flex-end;gap:10px}
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);display:flex;align-items:flex-start;gap:14px;width:max-content;max-width:calc(100vw - 32px);background:var(--card);border:1px solid var(--teal);color:var(--text);padding:13px 14px 13px 20px;border-radius:12px;font-size:14.5px;z-index:70;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.toast-message{display:block;max-width:680px;max-height:min(36vh,260px);padding:10px 0;overflow:auto;overflow-wrap:anywhere;line-height:1.45}
.toast-dismiss{min-height:44px;padding:0 14px;border:1px solid var(--border-2);border-radius:9px;background:var(--card-2);color:var(--text);font:inherit;font-weight:800;cursor:pointer;flex:0 0 auto}
.toast-dismiss:hover{border-color:var(--teal);color:var(--cyan)}
.toast-dismiss:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}

/* show/hide password */
.pw-wrap{position:relative;margin-bottom:10px}
.pw-wrap #loginPass,.pw-wrap .modal-input{margin-bottom:0;padding-right:46px}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:rgba(255,255,255,.06);border:none;border-radius:8px;color:var(--text);cursor:pointer;opacity:.85}
.pw-eye:hover{color:var(--cyan);background:rgba(255,255,255,.1);opacity:1}
.pw-eye.on{color:var(--cyan);opacity:1}
.pw-show{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:var(--cyan);color:#04121f;border:none;border-radius:8px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:800;cursor:pointer}
.pw-show:hover{filter:brightness(1.08)}
.pw-show.on{background:var(--cyan-soft);color:var(--cyan)}

/* empty states */
.empty-state{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:44px 20px;color:var(--muted);background:var(--card-2);border:1px dashed var(--border-2);border-radius:16px}
.empty-state svg{color:var(--dim);margin-bottom:4px}
.empty-state span{font-weight:700;color:var(--text);font-size:16px}
.empty-state small{color:var(--dim);font-size:13.5px;max-width:340px}

/* admin page */
.admin-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:30px 0 18px}
.admin-head h2{margin:0 0 2px}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px 22px}
.admin-card h3{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:15px;color:var(--cyan)}
.admin-wide{grid-column:1/-1}
.admin-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--border)}
.admin-row:first-of-type{border-top:none}
.admin-row strong{display:block;font-size:14.5px}
.admin-row span{color:var(--muted);font-size:13px}
.admin-kv{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--border);font-size:14px}
.admin-kv:first-of-type{border-top:none}
.admin-kv span:first-child{color:var(--muted)}
.muted-val{color:var(--amber)}
.admin-note{color:var(--muted);font-size:14px;margin:0}
.btn-ghost.sm{padding:8px 13px;font-size:13px}

@media(max-width:760px){ .admin-grid{grid-template-columns:1fr} }

/* temp-password banner + note */
.pw-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:18px 0 0;padding:12px 16px;background:var(--amber-soft);border:1px solid rgba(251,191,36,.4);border-radius:12px;color:#fde08a;font-size:14px}
.pwb-text{display:flex;align-items:center;gap:9px}
.pwb-actions{display:flex;align-items:center;gap:8px}
.btn-primary.sm{padding:8px 14px;font-size:13px}
.pwb-x{background:none;border:none;color:#fde08a;font-size:20px;line-height:1;cursor:pointer;padding:0 4px}
.pwb-x:hover{color:#fff}
/* persistent health status chip: always visible, calm when healthy, flashing red on a problem */
.health-alert{display:inline-flex;align-items:center;gap:10px;max-width:100%;margin:18px 0 0;padding:9px 13px;border-radius:11px;font-size:13.5px;line-height:1.45;border:1px solid;cursor:pointer;user-select:none}
.health-alert .hs-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.health-alert .hs-main{min-width:0}
.health-alert .hs-sub{opacity:.72;font-size:12px}
.health-alert .hs-sep{opacity:.5;margin:0 3px}
.health-alert .hs-act{margin-left:2px;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;opacity:.78;border:1px solid currentColor;border-radius:6px;padding:2px 7px;flex:0 0 auto;white-space:nowrap}
.health-alert.ok{border-color:rgba(52,211,153,.45);background:rgba(52,211,153,.12);color:#9df3d2}
.health-alert.ok .hs-dot{background:#34d399;box-shadow:0 0 8px rgba(52,211,153,.75)}
.health-alert.problem{border-color:rgba(224,64,64,.6);background:rgba(224,64,64,.14);color:#ffb4b4}
.health-alert.problem .hs-dot{background:#e04040}
.health-alert.warn{border-color:rgba(251,191,36,.55);background:var(--amber-soft);color:#fde08a}
.health-alert.warn .hs-dot{background:#fbbf24}
.health-alert.flash{animation:haflash 1.15s ease-in-out infinite}
.health-alert.warn.flash{animation:hawflash 1.5s ease-in-out infinite}
@keyframes haflash{0%,100%{box-shadow:0 0 0 0 rgba(224,64,64,0);border-color:rgba(224,64,64,.55)}50%{box-shadow:0 0 0 3px rgba(224,64,64,.4),0 8px 26px rgba(224,64,64,.3);border-color:#e04040}}
@keyframes hawflash{0%,100%{box-shadow:0 0 0 0 rgba(251,191,36,0)}50%{box-shadow:0 0 0 3px rgba(251,191,36,.34),0 8px 24px rgba(251,191,36,.26)}}
@media (prefers-reduced-motion:reduce){.health-alert.flash,.health-alert.warn.flash{animation:none;box-shadow:0 0 0 3px rgba(224,64,64,.3)}}
.temp-note{margin:0 0 12px;padding:10px 13px;background:var(--cyan-soft);border:1px solid rgba(56,189,248,.35);border-radius:10px;color:var(--text);font-size:13.5px}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;gap:26px;padding:34px 0 28px}
  h1{font-size:36px}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .foot{grid-template-columns:1fr}
  .nav-primary{flex-wrap:wrap;gap:10px;padding-bottom:8px}
  .brand-logo img{height:27px}
  .nav-toggle{display:none}
  .program-tabs{order:3;width:100%;flex-basis:100%;overflow-x:auto;padding:1px 0 4px;scrollbar-width:thin}
  .program-tab{flex:0 0 auto;padding:9px 11px}
  .context-nav-wrap{overflow-x:auto;scrollbar-width:thin}
  .context-nav-inner{min-width:max-content;padding:0 20px}
  .nav-links{
    display:flex;flex-direction:row;gap:4px;margin:0;
    position:static;background:transparent;border:0;padding:0;
    transform:none;opacity:1;pointer-events:auto;
  }
  .nav.nav-open .nav-links{opacity:1;transform:none;pointer-events:auto}
  .nav-links a{padding:11px 9px;font-size:13px;border:0;white-space:nowrap}
  .nav-links a:last-child{border-bottom:none}
}
@media(max-width:460px){
  .chip-live{display:none}
}

/* ===== redesign: pages, day boxes, search, hub, backup ===== */
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;margin:34px 0 4px}
.page-title{font-size:34px;font-weight:800;letter-spacing:-.5px;margin:0;line-height:1.1}
.page-sub{color:var(--muted);font-size:15px;margin:8px 0 22px;max-width:640px}
.page-head .eyebrow{margin-bottom:12px}
.sub-head{display:flex;align-items:center;gap:14px;margin:30px 0 16px}
.sub-head .page-title{font-size:26px}

.mode-pill{display:flex;flex-direction:column;gap:7px;align-items:flex-end}
.mp-label{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--dim)}
.seg.locked{opacity:.7}
.seg.seg-wide{display:flex;width:100%}
.seg.seg-wide .seg-btn{flex:1;text-align:center}

/* unmistakable live Instantly state */
.campaign-state{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:12px;padding:11px 14px;margin:0 0 16px;background:var(--card)}
.campaign-state .cs-dot{width:11px;height:11px;border-radius:50%;flex:none;background:var(--dim)}
.campaign-state span:last-child{display:flex;flex-direction:column;gap:2px}
.campaign-state b{font-size:14px}
.campaign-state small{font-size:11.5px;color:var(--muted)}
.campaign-state.active{border-color:var(--teal);background:var(--teal-soft)}
.campaign-state.active .cs-dot{background:var(--teal);box-shadow:0 0 0 4px rgba(52,211,153,.13)}
.campaign-state.paused{border-color:var(--amber);background:var(--amber-soft)}
.campaign-state.paused .cs-dot{background:var(--amber)}
.campaign-state.problem{border-color:var(--red);background:var(--red-soft)}
.campaign-state.problem .cs-dot{background:var(--red)}

/* persistent carryover feedback: no recovery action may look inert */
.recovery-progress{display:flex;flex-direction:column;gap:7px;margin:0 0 18px;padding:15px 17px;border:1px solid var(--cyan);border-radius:13px;background:linear-gradient(135deg,rgba(56,189,248,.12),rgba(52,211,153,.04)),var(--card)}
.recovery-progress.running{border-color:var(--cyan)}
.recovery-progress.ready,.recovery-progress.complete{border-color:var(--teal);background:linear-gradient(135deg,rgba(52,211,153,.13),rgba(56,189,248,.04)),var(--card)}
.recovery-progress.failed,.recovery-progress.uncertain{border-color:var(--red);background:linear-gradient(135deg,rgba(248,113,113,.13),transparent),var(--card)}
.recovery-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.recovery-progress-kicker{font-size:10.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--cyan)}
.recovery-progress.ready .recovery-progress-kicker,.recovery-progress.complete .recovery-progress-kicker{color:var(--teal)}
.recovery-progress.failed .recovery-progress-kicker,.recovery-progress.uncertain .recovery-progress-kicker{color:var(--red)}
.recovery-progress>strong{font-size:15px;line-height:1.35;color:var(--text)}
.recovery-progress>p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.5;overflow-wrap:anywhere}
.recovery-progress-dismiss{min-height:36px;padding:0 12px;border:1px solid var(--border-2);border-radius:8px;background:var(--card-2);color:var(--text);font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.recovery-progress-dismiss:hover{border-color:var(--cyan);color:var(--cyan)}
.recovery-progress-dismiss:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
.recovery-progress-track{height:10px;margin-top:4px;border:1px solid var(--border-2);border-radius:999px;background:var(--panel);overflow:hidden}
.recovery-progress-track span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--cyan),var(--teal));transition:width .25s ease}
.recovery-progress.failed .recovery-progress-track span,.recovery-progress.uncertain .recovery-progress-track span{background:var(--red)}
.recovery-progress-track.indeterminate span{width:38%;animation:recovery-progress-slide 1.25s ease-in-out infinite}
@keyframes recovery-progress-slide{0%{transform:translateX(-105%)}100%{transform:translateX(270%)}}
@media(prefers-reduced-motion:reduce){.recovery-progress-track.indeterminate span{width:100%;transform:none;animation:none;opacity:.65}}

.send-final-warning{margin:12px 0 2px;padding:10px 12px;border:1px solid var(--amber);border-radius:9px;background:var(--amber-soft);color:var(--text);font-size:12.5px;font-weight:800;line-height:1.45}

/* campaign health strip */
.health{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch;margin:0 0 18px}
.h-tile{display:flex;flex-direction:column;gap:2px;padding:12px 18px;background:var(--card);border:1px solid var(--border);border-radius:12px;min-width:104px}
.h-n{font-size:22px;font-weight:800;line-height:1.1}
.h-n.pos{color:var(--teal)}
.h-n.neg{color:var(--red)}
.h-l{font-size:12px;color:var(--muted)}
.h-refresh{display:flex;flex-direction:column;gap:4px;justify-content:center;margin-left:auto;align-items:flex-end}
.h-updated{font-size:11.5px;color:var(--dim)}
.h-sub{font-size:11px;color:var(--muted);font-weight:700;margin-top:1px}
.h-tile.caution{background:rgba(240,185,10,.16);border-color:rgba(220,165,0,.9)}
.h-tile.caution .h-n{color:#c68a00}
.h-tile.caution .h-l{color:#9a7400;font-weight:700}
.h-tile.caution .h-sub{color:#b07f00}
.db-bounce{font-size:12px;color:var(--muted);margin-top:2px}
.db-bounce.bad{color:#c68a00;font-weight:700}

/* Today focus card */
.tc-eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--cyan)}
.today-card{background:linear-gradient(180deg,var(--cyan-soft),transparent),var(--card);border:1px solid var(--cyan);border-radius:14px;padding:16px 18px;margin:0 0 18px}
.today-card.calm{background:var(--card);border-color:var(--border)}
.tc-head{margin-bottom:12px}
.tc-items{display:flex;flex-wrap:wrap;gap:10px}
.tc-item{display:flex;align-items:center;gap:11px;background:var(--panel);border:1px solid var(--border-2);border-radius:11px;padding:11px 15px;cursor:pointer;font-family:inherit;text-align:left;transition:border-color .12s}
.tc-item:hover{border-color:var(--cyan)}
.tc-item.static{cursor:default}
.tc-item.static:hover{border-color:var(--border-2)}
.tc-n{font-size:22px;font-weight:800;color:var(--cyan);line-height:1}
.tc-txt{font-size:13.5px;color:var(--text);max-width:180px}
.tc-arrow{font-size:20px;color:var(--dim);margin-left:2px}
.tc-clear{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--muted)}
.tc-check{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-size:13px;font-weight:800}

/* Funnel + deliverability */
.funnel-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin:0 0 18px}
.fn-head{margin-bottom:14px}
.fn-stages{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.fn-stage{display:flex;flex-direction:column;gap:5px}
.fn-bar-wrap{background:var(--panel);border-radius:7px;height:14px;overflow:hidden}
.fn-bar{height:100%;border-radius:7px;min-width:4px}
.fn-bar.st-sent{background:var(--cyan)}
.fn-bar.st-deliv{background:var(--cyan-600)}
.fn-bar.st-repl{background:var(--teal)}
.fn-bar.st-int{background:#a78bfa}
.fn-meta{display:flex;align-items:baseline;gap:8px;font-size:13px}
.fn-v{font-weight:800;color:var(--text)}
.fn-n{color:var(--muted)}
.fn-pct{margin-left:auto;color:var(--dim);font-size:12.5px}
.fn-deliver{display:flex;flex-wrap:wrap;gap:12px;align-items:center;border-top:1px solid var(--border);padding-top:14px}
.fn-d{display:flex;flex-direction:column;gap:2px;padding:8px 16px;background:var(--panel);border:1px solid var(--border-2);border-radius:11px;min-width:96px}
.fn-d-n{font-size:20px;font-weight:800;line-height:1.1}
.fn-d.pos .fn-d-n{color:var(--teal)}
.fn-d.warn .fn-d-n{color:var(--amber)}
.fn-d.neg .fn-d-n{color:var(--red)}
.fn-d-l{font-size:11.5px;color:var(--muted)}
.fn-d-note{flex:1;min-width:220px;font-size:12px;color:var(--dim);line-height:1.5}

/* sending capacity */
.cap-card{background:linear-gradient(180deg,var(--teal-soft),transparent),var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin:0 0 18px}
.cap-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px}
.cap-updated{font-size:11.5px;color:var(--dim)}
.cap-tiles{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.cap-tile{flex:1;min-width:120px;display:flex;flex-direction:column;gap:2px;padding:12px 16px;background:var(--panel);border:1px solid var(--border-2);border-radius:12px}
.cap-n{font-size:26px;font-weight:800;line-height:1.05;color:var(--teal)}
.cap-l{font-size:12px;color:var(--muted);line-height:1.4}
.cap-l small{color:var(--dim);font-size:11px}
.cap-bar-label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--muted);margin-bottom:6px}
.cap-bar-label b{color:var(--text)}
.cap-bar{background:var(--panel);border:1px solid var(--border-2);border-radius:8px;height:16px;overflow:hidden}
.cap-fill{height:100%;border-radius:8px 0 0 8px;transition:width .3s}
.cap-fill.ok{background:var(--teal)}
.cap-fill.warn{background:var(--amber)}
.cap-fill.bad{background:var(--red)}
.cap-note{font-size:12px;color:var(--dim);line-height:1.5;margin-top:8px}
.cap-note b{color:var(--muted)}
.cap-target{border-top:1px solid var(--border);margin-top:14px;padding-top:12px;font-size:12.5px;color:var(--muted);line-height:1.5}
.cap-target b{color:var(--text)}
.cap-plan{display:grid;grid-template-columns:repeat(5,minmax(70px,1fr));gap:8px;margin-top:14px}
.cap-day{background:var(--panel);border:1px solid var(--border-2);border-radius:10px;padding:9px 10px;text-align:center}
.cap-day b{display:block;font-size:18px;color:var(--text)}
.cap-day span{font-size:11px;color:var(--muted)}
.cap-verdict{margin-top:12px;padding:11px 13px;border-radius:10px;font-size:12.5px;line-height:1.45;background:var(--panel);border:1px solid var(--border-2)}
.cap-verdict.ok{border-color:var(--teal);background:var(--teal-soft)}
.cap-verdict.warn{border-color:var(--amber);background:var(--amber-soft)}
@media(max-width:640px){.cap-plan{grid-template-columns:repeat(2,1fr)}}

/* day boxes */
.day-list{display:flex;flex-direction:column;gap:12px}
.day-box{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 20px}
.day-box.today{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan-soft),0 10px 30px rgba(56,189,248,.08)}
.db-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.db-date{font-size:17px;font-weight:700}
.db-tag{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#04121f;background:var(--cyan);padding:3px 9px;border-radius:20px}
.db-empty{color:var(--dim);font-size:13.5px;margin-bottom:12px}
.db-sent{font-size:14px;color:var(--muted);margin-bottom:8px}
.db-sent-n{font-size:20px;font-weight:800;color:var(--text)}
.minis{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:12px}
.mini{width:9px;height:9px;border-radius:2px;background:var(--cyan)}
.db-list-wrap{margin:0 0 12px}
.db-list-sum{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;padding:7px 0;user-select:none;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--dim)}
.db-list-sum::-webkit-details-marker{display:none}
.db-list-sum::before{content:'\25B8';color:var(--cyan);display:inline-block;transition:transform .15s}
.db-list-wrap[open] .db-list-sum::before{transform:rotate(90deg)}
.dl-count{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:600;color:var(--muted)}
.db-list{list-style:none;margin:4px 0 6px;padding:0;display:flex;flex-direction:column;gap:3px}
.dl-row{display:flex;align-items:baseline;gap:8px;padding:5px 9px;border-radius:8px;background:var(--card-2);border:1px solid var(--border);font-size:13px}
.dl-name{font-weight:600;color:var(--text);min-width:150px}
.dl-email{color:var(--muted);flex:1;overflow-wrap:anywhere}
.dl-step{font-size:11px;font-weight:700;color:var(--dim);padding:1px 7px;border-radius:999px;border:1px solid var(--border-2);white-space:nowrap}
.dl-step.s1{color:var(--cyan);border-color:var(--cyan-soft)}
.db-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.db-step{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--card-2);border:1px solid var(--border);border-radius:10px;color:var(--dim)}
.db-step b{font-size:13px;color:var(--muted)}
.db-step small{font-size:12px}
.db-step.ok{border-color:var(--border-2)}
.db-step.ok b{color:var(--cyan)}
.db-step.ok small{color:var(--text)}
.day-more{display:flex;gap:10px;justify-content:center;margin:18px 0 6px;flex-wrap:wrap}
.day-more-note{color:var(--dim);font-size:13px}

/* search */
.search-bar{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--border-2);border-radius:13px;padding:14px 18px;color:var(--muted)}
.search-bar input{flex:1;background:none;border:none;outline:none;color:var(--text);font-family:inherit;font-size:16px}
.search-cats{display:flex;gap:8px;margin:14px 0 18px;flex-wrap:wrap}
.cat{font-family:inherit;font-size:13.5px;font-weight:600;color:var(--muted);background:var(--card);border:1px solid var(--border);padding:8px 15px;border-radius:20px;cursor:pointer}
.cat.active{background:var(--cyan);border-color:var(--cyan);color:#04121f}
.search-results{display:flex;flex-direction:column;gap:10px}
.sr-item{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px}
.sr-item strong{display:block;font-size:15px}
.sr-item span{color:var(--muted);font-size:13px}
.sr-type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:4px 9px;border-radius:6px;background:var(--cyan-soft);color:var(--cyan)}
.sr-type.property{background:var(--teal-soft);color:var(--teal)}
.sr-type.reply{background:var(--amber-soft);color:var(--amber)}

/* reply tabs */
.reply-tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.rtab{font-family:inherit;font-size:13.5px;font-weight:600;color:var(--muted);background:var(--card);border:1px solid var(--border);padding:9px 15px;border-radius:10px;cursor:pointer;display:flex;align-items:center;gap:8px}
.rtab.active{background:var(--cyan);border-color:var(--cyan);color:#04121f}
.rcount{font-size:12px;background:rgba(255,255,255,.15);border-radius:20px;padding:1px 8px}
.rtab.active .rcount{background:rgba(0,0,0,.15)}
.rtab.flag{color:var(--amber)}
.rtab.flag.active{background:var(--amber);border-color:var(--amber);color:#1a1206}
.reply-list{display:flex;flex-direction:column;gap:10px}
/* reply triage items */
.reply-item{display:flex;align-items:flex-start;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:13px 15px}
.reply-item.flagged{border-color:var(--amber);background:linear-gradient(180deg,var(--amber-soft),transparent),var(--card)}
.ri-star{flex:none;font-size:19px;line-height:1;color:var(--dim);background:none;border:none;cursor:pointer;padding:2px;margin-top:1px}
.ri-star:hover{color:var(--amber)}
.ri-star.on{color:var(--amber)}
.ri-main{flex:1;min-width:0}
.ri-top{display:flex;align-items:baseline;gap:10px}
.ri-top strong{font-size:15px}
.ri-time{color:var(--dim);font-size:12px;white-space:nowrap}
.ri-snip{color:var(--muted);font-size:13px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ri-file{flex:none;display:flex;flex-direction:column;gap:3px;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--dim)}
.ri-move{font-family:inherit;font-size:13px;color:var(--text);background:var(--panel);border:1px solid var(--border-2);border-radius:9px;padding:6px 9px;cursor:pointer}
.ri-move:focus{outline:none;border-color:var(--cyan)}
/* domain / email health */
.h-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.inbox-summary{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.ib-sumtile{display:flex;flex-direction:column;gap:3px;padding:14px 20px;background:var(--card);border:1px solid var(--border);border-radius:12px;min-width:130px}
.ib-sumtile.ok{border-color:var(--teal);background:var(--teal-soft)}
.ib-sumtile.bad{border-color:var(--red);background:rgba(239,68,68,.1)}
.ib-sn{font-size:19px;font-weight:800;line-height:1.15}
.ib-sumtile.ok .ib-sn{color:var(--teal)}
.ib-sumtile.bad .ib-sn{color:var(--red)}
.ib-sl{font-size:12px;color:var(--muted)}
.inbox-list{display:flex;flex-direction:column;gap:14px}
.ib-domain{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.ib-dhead{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--card-2);font-size:14.5px}
.ib-dcount{margin-left:auto;color:var(--dim);font-size:12.5px}
.ib-warmtag{font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--panel);border:1px solid var(--border-2);color:var(--muted);white-space:nowrap}
.ib-warmtag.new{background:var(--amber-soft);border-color:transparent;color:var(--amber)}
.ib-sumtile.warm{border-color:var(--amber);background:var(--amber-soft)}
.ib-sumtile.warm .ib-sn{color:var(--amber)}
/* warm-up readiness dial */
.ib-warm{display:flex;align-items:center;gap:14px;padding:12px 16px;border-top:1px solid var(--border);background:var(--card-2)}
.wg{flex:none}
.wg .wg-arc{transition:stroke-dashoffset .5s ease}
.wg-n{fill:var(--text);font-size:18px;font-weight:800}
.wg-u{fill:var(--dim);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.wg-new .wg-arc{stroke:var(--amber)}
.wg-mid .wg-arc{stroke:var(--cyan)}
.wg-ok .wg-arc{stroke:var(--teal)}
.ib-warm-main{font-size:14px;font-weight:700;color:var(--text)}
.ib-warm-main.new{color:var(--amber)}
.ib-warm-main.ok{color:var(--teal)}
.ib-warm-sub{font-size:12px;color:var(--dim);margin-top:2px}
.ib-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--teal)}
.ib-dot.warn{background:var(--amber)}
.ib-dot.bad{background:var(--red)}
.ib-rows{display:flex;flex-direction:column}
.ib-row{display:flex;align-items:center;gap:10px;padding:11px 16px;border-top:1px solid var(--border);flex-wrap:wrap}
.ib-email{font-size:13.5px;font-weight:600;color:var(--text);min-width:200px;flex:1;word-break:break-all}
.ib-badge{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}
.ib-badge.ok{background:var(--teal-soft);color:var(--teal)}
.ib-badge.warn{background:var(--amber-soft);color:var(--amber)}
.ib-badge.bad{background:rgba(239,68,68,.14);color:var(--red)}
.ib-score{font-size:12px;font-weight:700;padding:3px 9px;border-radius:8px;background:var(--panel);border:1px solid var(--border-2)}
.ib-score.ok{color:var(--teal)}
.ib-score.warn{color:var(--amber)}
.ib-score.bad{color:var(--red)}
.ib-lim{font-size:12px;color:var(--dim);white-space:nowrap}
.ib-flag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:7px;background:var(--amber-soft);color:var(--amber)}

/* admin hub */
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.hub-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:22px 20px;cursor:pointer;font-family:inherit;transition:.15s}
.hub-tile:hover{border-color:var(--cyan);transform:translateY(-2px);background:var(--card-2)}
.hub-ic{font-size:26px;line-height:1;margin-bottom:6px}
.hub-name{font-size:16px;font-weight:700;color:var(--text)}
.hub-desc{font-size:13px;color:var(--muted)}

/* forms / templates / backup */
.form-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:22px;margin-bottom:16px}
.guard-note{background:var(--amber-soft);border:1px solid rgba(251,191,36,.4);border-radius:12px;padding:14px 16px;font-size:13.5px;color:#fde08a;margin-bottom:18px}
.guard-note strong{color:#fff}
.tpl{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;margin-bottom:14px}
.tpl-h{font-weight:700;font-size:15px;color:var(--cyan);margin-bottom:12px}
.tpl-subj{margin-bottom:10px}
.tpl-body{width:100%;background:var(--panel);border:1px solid var(--border-2);border-radius:11px;color:var(--text);font-family:inherit;font-size:14px;padding:12px 14px;outline:none;resize:vertical}
.tpl-body:focus{border-color:var(--cyan)}
/* Templates read view */
.tpl-note{background:var(--card-2);border:1px solid var(--border);border-radius:12px;padding:14px 16px;font-size:13.5px;color:var(--muted);line-height:1.55;margin-bottom:18px}
.tpl-note strong{color:var(--text)}

/* pending-approval panel (Austin's proposed wording, awaiting Richard) */
.tpl-pending{border-radius:14px;padding:18px;margin-bottom:18px;border:1px solid rgba(251,191,36,.4);background:var(--amber-soft)}
.tpl-pending.waiting{border-color:var(--border-2);background:var(--card-2)}
.tpp-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.tpp-head b{font-size:15.5px;color:var(--text)}
.tpp-head span{font-size:12.5px;color:var(--muted)}
.tpd-list{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.tpd-item{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 14px}
.tpd-label{font-weight:700;font-size:13px;color:var(--cyan);margin-bottom:8px}
.tpd-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tpd-was span,.tpd-now span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.tpd-was span{color:var(--dim)}
.tpd-now span{color:var(--teal)}
.tpd-was pre,.tpd-now pre{white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:13px;margin:0;padding:8px 10px;border-radius:8px;background:var(--panel);border:1px solid var(--border)}
.tpd-was pre{color:var(--muted)}
.tpd-now pre{color:var(--text);border-color:rgba(45,212,191,.35)}
.tpd-none{color:var(--muted);font-size:13px;padding:4px 0}
.tpp-actions{display:flex;gap:10px;flex-wrap:wrap}
.tpp-note{color:var(--muted);font-size:12.5px;margin:12px 0 0}
@media(max-width:600px){ .tpd-cols{grid-template-columns:1fr} }

/* performance page: which wording wins */
.perf-headline{background:linear-gradient(180deg,var(--cyan-soft),var(--card-2));border:1px solid rgba(56,189,248,.35);border-radius:14px;padding:18px 20px;margin-bottom:18px}
.perf-headline.none{background:var(--card-2);border-color:var(--border)}
.ph-eyebrow{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--cyan)}
.ph-quote{font-size:20px;font-weight:800;color:var(--text);margin:8px 0 6px;line-height:1.25}
.ph-quote.muted{color:var(--muted);font-weight:700}
.ph-stat{font-size:14px;color:var(--muted)}
.ph-stat b{color:var(--teal);font-size:16px}
.perf-step{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin-bottom:14px}
.perf-step-h{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.perf-step-h b{font-size:15px;color:var(--cyan)}
.perf-when{font-size:12px;color:var(--dim)}
.perf-kind{margin-left:auto;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--dim)}
.perf-row{display:grid;grid-template-columns:26px 1fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;background:var(--panel)}
.perf-row.lead{border-color:rgba(45,212,191,.5);background:rgba(45,212,191,.06)}
.perf-rank{font-weight:800;color:var(--dim);text-align:center}
.perf-row.lead .perf-rank{color:var(--teal)}
.perf-main{min-width:0}
.perf-text{font-size:14px;color:var(--text);margin-bottom:6px;word-break:break-word}
.perf-crown{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--teal);background:rgba(45,212,191,.14);padding:2px 7px;border-radius:999px;margin-left:6px;white-space:nowrap}
.perf-bar{height:7px;border-radius:999px;background:var(--border);overflow:hidden}
.perf-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--teal));border-radius:999px}
.perf-nums{text-align:right;white-space:nowrap}
.perf-nums b{display:block;font-size:15px;color:var(--text)}
.perf-nums span{font-size:12px;color:var(--dim)}
.perf-single{font-size:14px;color:var(--muted);padding:6px 2px}
.perf-single b{color:var(--teal)}
.perf-note{font-size:12px;color:var(--dim);margin-top:4px}
.perf-foot{color:var(--muted);font-size:12.5px;line-height:1.6;margin:16px 2px 0}
.tpl-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;margin-bottom:14px}
.tpl-card-h{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--cyan);margin-bottom:14px}
.tpl-card-h b{font-weight:700}
.tpl-when{color:var(--dim);font-size:12.5px;font-weight:500}
.tpl-label{font-size:11.5px;letter-spacing:.4px;text-transform:uppercase;color:var(--dim);font-weight:700;margin:2px 0 8px}
.tpl-sub-wrap{margin-bottom:16px}
.tpl-subj-row{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--border-2);border-radius:10px;padding:9px 12px;margin-bottom:7px}
.tpl-subj-row.is-lead{border-color:var(--teal);background:var(--teal-soft)}
.tpl-subj-txt{flex:1}
.tpl-stat{flex:none;font-size:12.5px;color:var(--muted);white-space:nowrap}
.tpl-stat b{color:var(--text)}
.tpl-stat.none{color:var(--dim);font-style:italic}
.tpl-stat.lead b{color:var(--teal)}
.tpl-crown{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--teal);color:#04121a;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;vertical-align:middle}
.tpl-opp{color:var(--cyan)}
.tpl-body-stat{margin-left:8px;font-weight:500;text-transform:none;letter-spacing:0}
.tpl-stat.inline{font-size:12px}
.tpl-early{margin-top:10px;font-size:12.5px;color:var(--dim);background:var(--panel);border:1px dashed var(--border-2);border-radius:9px;padding:8px 11px}
/* editable template fields */
.tpl-edit{font-family:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border-2);border-radius:9px;padding:9px 12px;outline:none;width:100%}
.tpl-edit:focus{border-color:var(--cyan)}
input.tpl-edit-subj{flex:1;font-size:14px;font-weight:600}
textarea.tpl-edit-body{font-size:14px;line-height:1.55;resize:vertical;min-height:120px}
.tpl-subj-row.readonly{opacity:.85}
.tpl-save-row{position:sticky;bottom:0;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:6px;padding:14px 0;background:linear-gradient(180deg,transparent,var(--bg) 40%)}
.tpl-save-note{font-size:12.5px;color:var(--dim);max-width:520px}
.btn-primary:disabled{opacity:.5;cursor:default}
.tpl-vtag{flex:none;width:22px;height:22px;display:grid;place-items:center;border-radius:6px;background:var(--cyan);color:#04121a;font-size:12px;font-weight:800}
.tpl-subj-txt{color:var(--text);font-size:14px;font-weight:600}
.tpl-body-wrap{margin-bottom:12px}
.tpl-body-wrap:last-child{margin-bottom:0}
.tpl-body-txt{white-space:pre-wrap;word-wrap:break-word;background:var(--panel);border:1px solid var(--border-2);border-radius:11px;color:var(--text);font-family:inherit;font-size:14px;line-height:1.55;padding:12px 14px;margin:0}
.fld{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;font-size:14px;color:var(--muted)}
.fld>span:first-child{font-weight:600;color:var(--text)}
.fld-static{color:var(--muted)}
.save-row{display:flex;justify-content:flex-end;margin-top:4px}
.save-row.two{justify-content:space-between;gap:10px;flex-wrap:wrap}
.checklist.tight li{margin:4px 0}

.backup-status{display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px 22px;margin-bottom:16px}
.bs-light{width:16px;height:16px;border-radius:50%;flex:none;box-shadow:0 0 0 4px rgba(255,255,255,.04)}
.bs-light.green{background:var(--teal);box-shadow:0 0 14px 2px rgba(52,211,153,.6),0 0 0 4px var(--teal-soft)}
.bs-light.amber{background:var(--amber);box-shadow:0 0 14px 2px rgba(251,191,36,.5),0 0 0 4px var(--amber-soft)}
.bs-text{display:flex;flex-direction:column;gap:2px}
.bs-text strong{font-size:16px}
.bs-text span{color:var(--muted);font-size:13.5px}
.empty-state.small{padding:28px 20px}
.empty-state.small span{font-size:15px}

/* online presence + daily usage */
.pres-row{display:flex;flex-wrap:wrap;gap:14px}
.pres{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card2,rgba(255,255,255,.02));min-width:190px}
.pres-dot{width:12px;height:12px;border-radius:50%;flex:none;background:#6b7280;box-shadow:0 0 0 3px rgba(107,114,128,.18)}
.pres.on .pres-dot{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.28);animation:presPulse 2s ease-in-out infinite}
@keyframes presPulse{0%,100%{box-shadow:0 0 0 3px rgba(34,197,94,.28)}50%{box-shadow:0 0 0 6px rgba(34,197,94,.12)}}
.pres-txt{display:flex;flex-direction:column;line-height:1.25}
.pres-txt b{font-size:14px;color:var(--text)}
.pres-txt span{font-size:12px;color:var(--dim)}
.pres.on .pres-txt span{color:#22c55e;font-weight:700}
.u-sub{font-size:12px;font-weight:500;color:var(--dim)}
.u-list{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.u-day{border-top:1px solid var(--line);padding-top:10px}
.u-day:first-child{border-top:none;padding-top:0}
.u-daykey{font-size:12px;font-weight:800;color:var(--accent,#38bdf8);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.u-user{padding:6px 0 8px}
.u-user+.u-user{border-top:1px dashed var(--line)}
.u-line{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.u-line b{font-size:13.5px;color:var(--text)}
.u-stat{font-size:12.5px;color:var(--text);font-weight:600}
.u-pages{font-size:12px;color:var(--dim);margin-top:2px}
.u-det{margin-top:4px}
.u-det summary{font-size:11.5px;color:var(--dim);cursor:pointer;list-style:none}
.u-det summary::-webkit-details-marker{display:none}
.u-det summary:hover{color:var(--text)}
.u-sesswrap{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.u-sess{font-size:11.5px;color:var(--text);background:rgba(56,189,248,.1);border-radius:6px;padding:2px 8px}
.u-sess small{color:var(--dim)}
.al-empty{font-size:13px;color:var(--dim);padding:8px 0}

/* suppression + activity */
.supp-add{display:flex;gap:10px;flex-wrap:wrap}
.supp-add .modal-input{flex:1;min-width:180px;margin:0}
.supp-list{display:flex;flex-direction:column;gap:10px}
.supp-h{font-size:15px;font-weight:800;color:var(--text);margin:22px 0 4px}
.supp-hint{font-size:12.5px;color:var(--dim);margin:0 0 10px}
.supp-count{font-weight:700;color:var(--dim);font-size:13px;margin-left:4px}
.bounce-list{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}
.bounce-item{border-color:var(--red)}
.bounce-item strong{color:var(--text)}
.activity-list{display:flex;flex-direction:column;gap:2px}
.act-row{display:grid;grid-template-columns:150px 90px 1fr;gap:12px;align-items:baseline;padding:11px 16px;background:var(--card);border:1px solid var(--border);border-radius:10px;font-size:13.5px}
.act-when{color:var(--dim)}
.act-who{color:var(--cyan);font-weight:600}
.act-what{color:var(--text)}

/* Austin's daily sign-in summary card (top of the activity log) */
.al-card{margin-bottom:16px}
.al-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.al-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 14px;background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap}
.al-day{font-weight:600;font-size:14px}
.al-counts{display:flex;gap:8px;flex-wrap:wrap}
.al-c{font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:999px;border:1px solid var(--border-2)}
.al-c.in{color:var(--teal);background:rgba(45,212,191,.08)}
.al-c.out{color:var(--dim);background:transparent}
.al-empty{color:var(--muted);font-size:13.5px;padding:8px 2px}

@media(max-width:760px){
  .page-head{align-items:flex-start}
  .mode-pill{align-items:flex-start}
  .db-steps{grid-template-columns:1fr}
  .act-row{grid-template-columns:1fr;gap:2px}
}

/* SMS pilot: admin-only, consent-gated, and always one recipient at a time */
.sms-admin-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:var(--cyan-soft);color:var(--cyan);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.55px;white-space:nowrap}
.sms-cold-warning{display:flex;flex-direction:column;gap:4px;margin:4px 0 16px;padding:17px 18px;border:1px solid rgba(248,113,113,.58);border-radius:14px;background:linear-gradient(135deg,rgba(248,113,113,.17),rgba(248,113,113,.06));color:var(--muted);font-size:13.5px;line-height:1.55}
.sms-cold-warning strong{color:#fecaca;font-size:16px}
.sms-lock-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px;padding:18px 20px;border:1px solid rgba(251,191,36,.45);border-radius:14px;background:var(--amber-soft)}
.sms-lock-card.ready{border-color:rgba(52,211,153,.5);background:var(--teal-soft)}
.sms-lock-card>div{display:flex;flex-direction:column;min-width:0}
.sms-lock-kicker{color:var(--amber);font-size:10.5px;font-weight:800;letter-spacing:.9px;text-transform:uppercase}
.sms-lock-card.ready .sms-lock-kicker{color:var(--teal)}
.sms-lock-card strong{font-size:16px;color:var(--text)}
.sms-lock-card small{color:var(--muted);font-size:12.5px;line-height:1.45}
.sms-lock-pill{flex:none;padding:6px 12px;border-radius:999px;background:var(--amber);color:#2b1d02;font-size:11px;font-weight:900;letter-spacing:.5px;text-transform:uppercase}
.sms-lock-card.ready .sms-lock-pill{background:var(--teal);color:#04160f}
.sms-gates{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.sms-gate{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid var(--border);border-radius:12px;background:var(--card)}
.sms-gate-dot{width:11px;height:11px;margin-top:4px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px var(--amber-soft);flex:none}
.sms-gate.ready .sms-gate-dot{background:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}
.sms-gate-copy{display:flex;flex-direction:column;min-width:0}
.sms-gate-copy b{font-size:12.5px;color:var(--text)}
.sms-gate-copy span{font-size:11.5px;color:var(--dim);line-height:1.35}
.sms-gate.ready .sms-gate-copy span{color:var(--teal)}
.sms-counts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.sms-count{display:flex;flex-direction:column;min-width:130px;flex:1;padding:11px 14px;border:1px solid var(--border);border-radius:11px;background:var(--panel)}
.sms-count b{font-size:20px;line-height:1.1;color:var(--text)}
.sms-count span{font-size:11.5px;color:var(--dim)}
.sms-scope-note{margin:0 0 18px;padding:11px 14px;border-left:3px solid var(--cyan);background:var(--cyan-soft);color:var(--muted);font-size:12.5px;line-height:1.5}
.sms-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.sms-form{min-width:0}
.sms-card-copy{margin:-4px 0 16px;color:var(--muted);font-size:12.5px;line-height:1.55}
.sms-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.sms-form .fld{margin-bottom:13px}
.sms-form .fld small{color:var(--dim);font-size:10.5px;line-height:1.35}
.sms-form .modal-input{margin-bottom:0}
.sms-form select.modal-input{appearance:auto}
.sms-disclosure-wrap{margin:3px 0 13px;padding:13px 14px;border:1px solid rgba(56,189,248,.35);border-radius:11px;background:var(--cyan-soft)}
.sms-disclosure-wrap>span{display:block;margin-bottom:5px;color:var(--cyan);font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.55px}
.sms-disclosure-wrap p{margin:0;color:var(--text);font-size:12px;line-height:1.55}
.sms-check{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--border-2);border-radius:10px;background:var(--panel);color:var(--muted);font-size:12.5px;line-height:1.45;cursor:pointer}
.sms-check input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--cyan);flex:none}
.sms-form-status{min-height:20px;margin-top:8px;color:var(--teal);font-size:12px;font-weight:600}
.sms-form-status.error{color:var(--red)}
.sms-draft-body{min-height:180px}
.sms-recipient-preview{margin:-2px 0 13px;padding:11px 13px;border:1px dashed var(--border-2);border-radius:10px;color:var(--dim);font-size:12.5px}
.sms-recipient-preview.ready{border-style:solid;border-color:rgba(52,211,153,.35);background:var(--teal-soft);color:var(--text)}
.sms-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.sms-section-head .tpl-h{margin:0}
.sms-section-head p{margin:2px 0 0;color:var(--dim);font-size:12px}
.sms-contact-list,.sms-message-list{display:flex;flex-direction:column;gap:10px}
.sms-contact-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 15px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.sms-contact-main{min-width:0}
.sms-contact-main strong{display:block;color:var(--text);font-size:14px}
.sms-phone{color:var(--cyan);font-weight:700}
.sms-contact-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:5px;color:var(--dim);font-size:11.5px}
.sms-contact-meta span{word-break:break-word}
.sms-contact-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;flex:none}
.sms-message{padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.sms-message.suppressed{opacity:.72}
.sms-message-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.sms-message-who{display:flex;flex-direction:column;min-width:0}
.sms-message-who strong{font-size:14px;color:var(--text)}
.sms-message-who span{font-size:12px;color:var(--cyan);font-weight:650}
.sms-status{flex:none;padding:3px 9px;border-radius:999px;background:var(--card-2);border:1px solid var(--border-2);color:var(--muted);font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.35px}
.sms-status.draft{color:var(--amber);background:var(--amber-soft);border-color:transparent}
.sms-status.approved{color:var(--cyan);background:var(--cyan-soft);border-color:transparent}
.sms-status.sent,.sms-status.delivered{color:var(--teal);background:var(--teal-soft);border-color:transparent}
.sms-status.failed,.sms-status.suppressed{color:var(--red);background:var(--red-soft);border-color:transparent}
.sms-message-copy{margin:0;padding:12px 13px;border:1px solid var(--border);border-radius:10px;background:var(--card-2);color:var(--text);font:13px/1.55 "Inter",system-ui,sans-serif;white-space:pre-wrap;word-break:break-word}
.sms-message-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}
.sms-message-meta{color:var(--dim);font-size:11px}
.sms-message-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.sms-data-state{min-height:18px;color:var(--dim);font-size:12px;text-align:center}
.sms-data-state.error{color:var(--red)}
.sms-empty{padding:22px 14px;border:1px dashed var(--border-2);border-radius:11px;text-align:center}
.sms-empty strong{display:block;color:var(--text);font-size:14px}
.sms-empty span{display:block;margin-top:2px;color:var(--dim);font-size:12px}
.sms-send-modal-card{max-width:620px}
.sms-send-step{display:inline-flex;margin-bottom:8px;padding:4px 9px;border-radius:999px;background:var(--red-soft);color:#fecaca;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.55px}
.sms-send-recipient{margin:10px 0;padding:13px 14px;border:2px solid var(--red);border-radius:11px;background:var(--red-soft)}
.sms-send-recipient strong{display:block;color:var(--text);font-size:15px}
.sms-send-recipient span{display:block;color:#fecaca;font-size:14px;font-weight:800}
.sms-send-lock{margin:11px 0;padding:10px 12px;border-radius:9px;background:var(--amber-soft);color:var(--amber);font-size:12px;font-weight:700}
.sms-send-check{margin:12px 0}
.sms-send-modal-card .fld{margin-bottom:6px}
.sms-send-modal-card .modal-input{margin-bottom:0}
.sms-send-modal-card .modal-actions{margin-top:12px}

@media(max-width:920px){
  .sms-gates{grid-template-columns:1fr 1fr}
  .sms-two-col{grid-template-columns:1fr}
}
@media(max-width:620px){
  .sms-lock-card{align-items:flex-start;flex-direction:column}
  .sms-gates{grid-template-columns:1fr}
  .sms-field-grid{grid-template-columns:1fr}
  .sms-contact-row,.sms-message-head{flex-direction:column}
  .sms-contact-actions{justify-content:flex-start}
  .sms-message-actions{width:100%;margin-left:0}
  .sms-message-actions .btn,.sms-contact-actions .btn{flex:1;justify-content:center}
  .sms-send-modal-card .modal-actions{flex-direction:column-reverse}
  .sms-send-modal-card .modal-actions .btn{justify-content:center;width:100%}
}

/* ===== multi-program command center ===== */
.command-head{align-items:center;margin-top:38px}
.command-sub{max-width:780px}
.owner-badge,.status-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-2);border-radius:999px;padding:7px 11px;color:var(--muted);background:var(--card-2);font-size:11px;font-weight:800;letter-spacing:.25px;white-space:nowrap}
.owner-badge{color:var(--cyan);border-color:rgba(56,189,248,.3);background:var(--cyan-soft)}
.status-pill.setup{color:var(--amber);border-color:rgba(251,191,36,.3);background:var(--amber-soft)}
.status-pill.locked{color:#f9c9c9;border-color:rgba(248,113,113,.32);background:var(--red-soft)}
.program-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}
.program-overview{appearance:none;display:flex;flex-direction:column;align-items:flex-start;min-height:230px;padding:23px;text-align:left;font:inherit;color:var(--text);border:1px solid var(--border-2);border-radius:18px;background:linear-gradient(150deg,rgba(56,189,248,.055),transparent 50%),var(--card-2);cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}
.program-overview:hover{transform:translateY(-2px);border-color:rgba(56,189,248,.5);box-shadow:0 14px 34px rgba(0,0,0,.18)}
.program-overview.live{background:linear-gradient(150deg,rgba(52,211,153,.1),rgba(56,189,248,.035) 52%,transparent),var(--card-2)}
.program-overview-top{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;margin-bottom:25px}
.program-number{color:var(--dim);font-size:12px;font-weight:800;letter-spacing:1.2px}
.program-state{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.45px}
.program-state.live{color:var(--teal);background:var(--teal-soft)}
.program-state.setup{color:var(--amber);background:var(--amber-soft)}
.program-overview>strong{font-size:22px;line-height:1.2;margin-bottom:8px}
.program-overview>span:not(.program-overview-top):not(.program-open){color:var(--muted);font-size:13.5px;line-height:1.6}
.program-open{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:20px;color:var(--cyan);font-size:12.5px;font-weight:800}
.program-open b{font-size:20px;line-height:1}
.command-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 8px}
.command-principles>div{padding:19px;border:1px solid var(--border);border-radius:15px;background:rgba(15,24,41,.72)}
.command-label,.panel-kicker,.control-label{display:block;color:var(--cyan);font-size:10.5px;font-weight:800;letter-spacing:.85px;text-transform:uppercase;margin-bottom:6px}
.command-principles strong{display:block;font-size:14px;line-height:1.4}
.command-principles p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.55}

/* program setup pages */
.program-page-head{align-items:center;margin-top:38px}
.program-page-sub{max-width:850px}
.setup-banner{display:flex;align-items:center;gap:15px;margin:18px 0 22px;padding:16px 18px;border:1px solid rgba(251,191,36,.36);border-radius:14px;background:linear-gradient(110deg,rgba(251,191,36,.1),rgba(15,24,41,.55))}
.setup-banner.technical{border-color:rgba(56,189,248,.34);background:linear-gradient(110deg,rgba(56,189,248,.09),rgba(15,24,41,.55))}
.setup-lock{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:var(--card);font-size:19px}
.setup-banner>div{display:flex;flex-direction:column;min-width:0}
.setup-banner strong{font-size:14px}
.setup-banner span:last-child{color:var(--muted);font-size:12.5px;line-height:1.5}
.workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}
.workflow-step{position:relative;padding:18px 17px;border:1px solid var(--border);border-radius:15px;background:var(--card-2)}
.workflow-step>span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-bottom:14px;border-radius:9px;background:var(--cyan-soft);color:var(--cyan);font-size:12px;font-weight:900}
.workflow-step strong{display:block;font-size:13.5px;line-height:1.4}
.workflow-step p{margin:6px 0 0;color:var(--muted);font-size:11.5px;line-height:1.55}
.program-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:18px 0}
.program-panel{padding:21px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(150deg,rgba(56,189,248,.035),transparent 48%),var(--card-2)}
.program-panel h2{margin:0 0 11px;font-size:18px;line-height:1.3}
.panel-copy{margin:0 0 16px;color:var(--muted);font-size:12.5px;line-height:1.65}
.plain-checklist{list-style:none;margin:0;padding:0}
.plain-checklist li{position:relative;margin:0;padding:9px 0 9px 22px;border-bottom:1px solid rgba(255,255,255,.055);color:var(--muted);font-size:12.5px;line-height:1.45}
.plain-checklist li:last-child{border-bottom:0}
.plain-checklist li:before{content:"✓";position:absolute;left:0;top:9px;color:var(--teal);font-weight:900}
.next-action-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0;padding:19px 21px;border:1px solid var(--border-2);border-radius:16px;background:var(--card)}
.next-action-card>div{min-width:0}
.next-action-card strong{display:block;font-size:15px}
.next-action-card p{margin:4px 0 0;max-width:760px;color:var(--muted);font-size:12px;line-height:1.55}
.cadence-panel{border-color:rgba(52,211,153,.28);background:linear-gradient(150deg,rgba(52,211,153,.08),transparent 52%),var(--card-2)}
.cadence-number{margin:8px 0;color:var(--teal);font-size:32px;font-weight:850;letter-spacing:-.75px}
.cadence-panel>p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.65}
.mini-rule{display:flex;flex-direction:column;gap:2px;margin-top:15px;padding:12px 13px;border:1px solid rgba(52,211,153,.2);border-radius:11px;background:rgba(52,211,153,.055)}
.mini-rule strong{font-size:12.5px}
.mini-rule span{color:var(--muted);font-size:11.5px;line-height:1.5}
.control-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.control-grid>div{display:flex;flex-direction:column;padding:16px;border:1px solid var(--border);border-radius:13px;background:var(--card-2)}
.control-grid strong{font-size:14px}
.control-grid small{margin-top:3px;color:var(--dim);font-size:10.5px;line-height:1.45}

/* Google Ads setup views */
.data-freshness{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0;padding:15px 17px;border:1px solid var(--border-2);border-radius:14px;background:var(--card-2)}
.data-freshness>div:first-child{display:flex;flex-direction:column}
.freshness-label{color:var(--dim);font-size:10px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
.data-freshness strong{font-size:13.5px}
.data-freshness small{color:var(--dim);font-size:11px}
.freshness-legend{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:10.5px}
.freshness-legend span{display:flex;align-items:center;gap:5px}
.freshness-legend i{display:inline-block;width:8px;height:8px;border-radius:50%}
.freshness-legend .observed{background:var(--teal)}
.freshness-legend .inferred{background:var(--cyan)}
.freshness-legend .forecast{background:var(--amber)}
.google-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:16px 0 20px}
.google-metrics>div{display:flex;flex-direction:column;min-width:0;padding:15px 14px;border:1px solid var(--border);border-radius:13px;background:var(--card)}
.google-metrics span{color:var(--muted);font-size:10.5px}
.google-metrics strong{margin:3px 0;color:var(--dim);font-size:23px;line-height:1.2}
.google-metrics small{color:var(--dim);font-size:9.5px;line-height:1.35}
.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.insight-card{padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--card-2)}
.insight-card.observed-card{border-top-color:rgba(52,211,153,.55)}
.insight-card.inferred-card{border-top-color:rgba(56,189,248,.55)}
.insight-card.forecast-card{border-top-color:rgba(251,191,36,.55)}
.insight-type{display:inline-flex;margin-bottom:10px;padding:3px 8px;border-radius:999px;color:var(--dim);background:var(--panel);font-size:9.5px;font-weight:900;letter-spacing:.6px;text-transform:uppercase}
.observed-card .insight-type{color:var(--teal);background:var(--teal-soft)}
.inferred-card .insight-type{color:var(--cyan);background:var(--cyan-soft)}
.forecast-card .insight-type{color:var(--amber);background:var(--amber-soft)}
.insight-card h2{margin:0 0 7px;font-size:17px}
.insight-card p{min-height:78px;margin:0;color:var(--muted);font-size:11.5px;line-height:1.6}
.empty-line{margin-top:14px;padding:9px 10px;border:1px dashed var(--border-2);border-radius:9px;color:var(--dim);font-size:10.5px;text-align:center}
.google-controls .btn:disabled{opacity:.55;cursor:not-allowed}
.technical-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.technical-health-grid>div{display:grid;grid-template-columns:38px 1fr auto;grid-template-rows:auto auto;column-gap:11px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--card-2)}
.tech-icon{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:var(--cyan-soft);font-size:17px}
.technical-health-grid strong{font-size:12.5px;line-height:1.35}
.technical-health-grid small{grid-column:2;color:var(--dim);font-size:10px}
.technical-health-grid .status-pill{grid-column:3;grid-row:1/3;font-size:9px;padding:4px 7px}
.permission-panel.allowed{border-color:rgba(52,211,153,.28)}
.permission-panel.allowed .panel-kicker{color:var(--teal)}
.permission-panel.restricted{border-color:rgba(248,113,113,.2)}
.permission-panel.restricted .panel-kicker{color:var(--red)}
.permission-panel.restricted .plain-checklist li:before{content:"×";color:var(--red)}

/* team access table */
.planned-user{align-items:center}
.access-note{margin-top:3px;color:var(--amber)!important;font-size:10.5px!important}
.access-matrix{display:block;overflow-x:auto;margin-top:12px;border:1px solid var(--border);border-radius:13px}
.access-row{display:grid;grid-template-columns:minmax(250px,1.8fr) repeat(3,minmax(125px,1fr));min-width:760px}
.access-row span{padding:11px 13px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--muted);font-size:11.5px;line-height:1.4}
.access-row span:last-child{border-right:0}
.access-row:last-child span{border-bottom:0}
.access-head{background:var(--panel)}
.access-head span{color:var(--text);font-size:10px;font-weight:800;letter-spacing:.45px;text-transform:uppercase}
.integration-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:8px}
.integration-title .tpl-h{margin:0}
.integration-title p{margin:2px 0 0;color:var(--dim);font-size:11.5px}

@media(max-width:1020px){
  .program-tab{font-size:11.5px;padding:9px 8px}
  .google-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .program-overview-grid,.command-principles,.program-columns,.insight-grid,.technical-health-grid{grid-template-columns:1fr}
  .program-overview{min-height:205px}
  .control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .next-action-card,.data-freshness{align-items:flex-start;flex-direction:column}
  .freshness-legend{flex-wrap:wrap}
  .insight-card p{min-height:0}
}
@media(max-width:520px){
  .workflow-grid,.google-metrics,.control-grid{grid-template-columns:1fr}
  .program-page-head>.status-pill,.command-head>.owner-badge{white-space:normal;text-align:center}
  .next-action-card>.btn,.next-action-card>.status-pill{width:100%}
}
