:root{--bg:#f5f7fa;--card:#fff;--text:#1b2430;--muted:#66727f;--line:#e2e7ee;--brand:#1f6feb;--brand-d:#1658c2;
--ok:#1a7f37;--ok-bg:#e6f4ea;--warn:#8a5a00;--warn-bg:#fff4d6;--err:#b42318;--err-bg:#fde8e7;--radius:10px}
@media (prefers-color-scheme:dark){:root{--bg:#0f141a;--card:#171e26;--text:#e6ebf0;--muted:#94a0ad;--line:#29323d;--brand:#4c8dff;--brand-d:#3a78e6;
--ok:#56d364;--ok-bg:#12261a;--warn:#e3b341;--warn-bg:#2a2210;--err:#ff7b72;--err-bg:#2d1414}}
*{box-sizing:border-box}
body{margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--brand)}
h1{font-size:1.5rem;margin:0 0 .5rem}h2{font-size:1.2rem}h3{font-size:1rem;margin:1.5rem 0 .5rem}
.topbar{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;justify-content:space-between;padding:.8rem 16px;background:var(--card);border-bottom:1px solid var(--line)}
.brand{font-weight:700;text-decoration:none;color:var(--text)}
.topbar nav{display:flex;flex-wrap:wrap;gap:1rem}.topbar nav a{text-decoration:none;color:var(--muted)}.topbar nav a:hover{color:var(--text)}
.wrap{max-width:1150px;margin:0 auto;padding:20px 16px 60px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:16px;min-width:0}
.narrow{max-width:460px;margin:20px auto}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
@media(max-width:800px){.grid2{grid-template-columns:1fr}}
label{display:block;margin:0 0 .9rem;font-weight:600;font-size:.92rem}
label.check{font-weight:400;display:flex;gap:.5rem;align-items:center}
input,select,textarea{display:block;width:100%;margin-top:.3rem;padding:.65rem .75rem;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px}
label.check input{width:auto;margin:0}
input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:-1px}
.btn{display:inline-block;padding:.6rem 1.1rem;border:0;border-radius:8px;background:var(--brand);color:#fff;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;margin:.15rem 0}
.btn:hover{background:var(--brand-d)}.btn.big{width:100%;padding:.85rem;font-size:1.05rem}
.btn.ghost{background:transparent;color:var(--brand);border:1px solid var(--line)}
.linkbtn{background:none;border:0;color:var(--brand);font:inherit;cursor:pointer;padding:0;text-decoration:underline}
.linkbtn.danger,.errtext{color:var(--err)}
form.inline{display:inline}.right{text-align:right;margin-top:.5rem}
.muted{color:var(--muted);font-weight:400}
.alert{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;background:var(--ok-bg);color:var(--ok)}
.alert.err{background:var(--err-bg);color:var(--err)}.alert.warn{background:var(--warn-bg);color:var(--warn)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
@media(max-width:700px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;color:var(--muted);font-size:.85rem}
.stat span{display:block;font-size:1.7rem;font-weight:700;color:var(--text)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}
.filters input{flex:1 1 220px;margin:0}.filters select{flex:0 1 160px;margin:0}.filters .btn{margin:0}
.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
table.leads{width:100%;border-collapse:collapse}
.leads th,.leads td{padding:.7rem .8rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:.93rem}
.leads th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.leads tbody tr{cursor:pointer}.leads tbody tr:hover{background:var(--bg)}
.admin tbody tr{cursor:default}.actions form{margin:.2rem 0;display:flex;gap:.3rem;align-items:center}.actions input,.actions select{width:auto;margin:0;padding:.3rem}
@media(max-width:700px){.leads:not(.admin) thead{display:none}.leads:not(.admin) tr{display:block;border-bottom:1px solid var(--line);padding:.4rem 0}
.leads:not(.admin) td{display:block;border:0;padding:.15rem .8rem}.leads:not(.admin) td:empty{display:none}}
.pill{display:inline-block;padding:.1rem .55rem;border-radius:99px;font-size:.78rem;font-weight:600;text-transform:capitalize;background:var(--bg);color:var(--muted);border:1px solid var(--line)}
.pill.new{color:var(--brand)}.pill.booked,.pill.won{color:var(--ok);background:var(--ok-bg)}.pill.lost{color:var(--err);background:var(--err-bg)}.pill.contacted{color:var(--warn);background:var(--warn-bg)}
.tag{font-size:.72rem;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 .3rem}
.pager{text-align:center;display:flex;gap:1rem;justify-content:center}
.empty{text-align:center;color:var(--muted);padding:40px}
.bignum{font-size:2rem;font-weight:700;margin:.2rem 0 1rem}
.codes{border-collapse:collapse;width:100%;font-size:.9rem;margin-bottom:1rem}.codes td{padding:.4rem;border-bottom:1px solid var(--line)}
code{background:var(--bg);padding:.1rem .35rem;border-radius:4px;border:1px solid var(--line);white-space:nowrap}
audio{width:100%;margin-bottom:1rem}
.thread{display:flex;flex-direction:column;gap:8px}
.bubble{max-width:85%;padding:.55rem .8rem;border-radius:14px;background:var(--bg);border:1px solid var(--line);font-size:.92rem;overflow-wrap:anywhere}
.bubble.out{align-self:flex-end;background:var(--brand);color:#fff;border-color:var(--brand)}
.bubble small{display:block;opacity:.7;font-size:.72rem;margin-top:.2rem}
/* public form */
body.public{display:flex;justify-content:center;padding:16px}
.form-card{width:100%;max-width:480px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;margin-top:10px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.card>h2:first-child,.card>h3:first-child{margin-top:0}
.narrow.wide{max-width:640px}
.grid3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.grid2.tight{gap:12px}
@media(max-width:560px){.grid3{grid-template-columns:1fr 1fr}.grid3 label:first-child{grid-column:1/-1}}
fieldset.choice{border:1px solid var(--line);border-radius:8px;padding:.6rem 1rem;margin:0 0 1rem}
fieldset.choice legend{font-weight:600;font-size:.92rem;padding:0 .3rem}
form.row{display:flex;gap:.6rem;align-items:flex-end}form.row label{flex:1;margin:0}form.row .btn{margin:0 0 .1rem}
.foot{text-align:center;color:var(--muted);font-size:.85rem;margin-top:30px}.foot a{color:var(--muted)}
.legal{max-width:760px;margin:0 auto}.legal h2{margin-top:1.6rem}.legal p,.legal li{color:var(--text)}
.form-note{font-size:.8rem;color:var(--muted);margin-top:.8rem}

/* ---- v4: alerts, usage, tags ---- */
.bell{font:inherit;font-size:.9rem;background:none;border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:.15rem .7rem;cursor:pointer}
.bell:hover{color:var(--text);border-color:var(--brand)}
.alert-bar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:space-between;padding:.7rem 16px;background:var(--brand);color:#fff}
.alert-bar[hidden]{display:none}
.alert-bar .ab-text{flex:1 1 280px;font-size:1rem}
.alert-bar .btn{background:#fff;color:var(--brand);margin:0}
.alert-bar .btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6)}
.alert-bar.urgent{background:var(--err);animation:flash 1s steps(2,jump-none) infinite}
.alert-bar.urgent .btn:not(.ghost){color:var(--err)}
@keyframes flash{50%{filter:brightness(1.25)}}
@media(prefers-reduced-motion:reduce){.alert-bar.urgent{animation:none}}
.usage h2{margin:0 0 .6rem}
.table-wrap.flat{border:0;background:none}
.usage-t{width:100%;border-collapse:collapse}
.usage-t th,.usage-t td{padding:.5rem .6rem;text-align:right;border-bottom:1px solid var(--line);font-size:.95rem}
.usage-t thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.usage-t tbody th{text-align:left;font-weight:600}
.usage-t td strong{font-size:1.15rem}
p.small,.small{font-size:.82rem}
.tag.warn{color:var(--warn);background:var(--warn-bg);border-color:transparent}
.tag.new{color:#fff;background:var(--brand);border-color:transparent}
.row-urgent{box-shadow:inset 4px 0 0 var(--err)}
.transcript{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.7rem .9rem;white-space:pre-wrap;font-size:.95rem}
fieldset.group{border:1px solid var(--line);border-radius:var(--radius);padding:.8rem 1rem 0;margin:0 0 1.2rem}
fieldset.group legend{font-weight:700;padding:0 .4rem}
.days{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin-bottom:.8rem}.days label{display:flex;gap:.3rem;align-items:center;margin:0;font-weight:400}.days input{width:auto;margin:0}
.timerow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
