/* AutoSteward Sales: styling. Reuses AutoSteward's design tokens so it feels native, in light
 * and dark. Self-contained (no external fonts/CDNs, free + offline). */

:root, [data-theme="light"] {
  --navy:#102b4e; --ink:#14243a; --muted:#5d6e82; --line:#cfd9e4;
  --surface:#f7f9fc; --surface-strong:#ffffff; --surface-soft:#eef3f8; --canvas:#e8eef5;
  --input-bg:#ffffff; --input-ink:#15283f; --sidebar-bg:#092744; --sidebar-bg-2:#0d355b;
  --sidebar-ink:#e9f2fb; --sidebar-muted:#9db8d1; --shadow:0 10px 28px rgba(16,43,78,.10);
  --blue:#1768b2; --bluesoft:#e3eefb; --green:#1c7c4a; --greensoft:#d9f2e4;
  --red:#c0392b; --redsoft:#fbe4e1; --amber:#b7791f; --ambersoft:#fbeecf;
  --accent:#1768b2; --accent-strong:#0d5fa5; --accent-deep:#0b3d6b; --accent-glow:#7fc4ff;
  --radius:14px; --radius-sm:9px;
}
[data-theme="dark"] {
  --navy:#dcecff; --ink:#e7eef7; --muted:#a8b7c8; --line:#344a61;
  --surface:#17283a; --surface-strong:#1c3044; --surface-soft:#112337; --canvas:#0d1b2a;
  --input-bg:#0e2032; --input-ink:#edf5fc; --sidebar-bg:#071b2e; --sidebar-bg-2:#0b2d4d;
  --sidebar-ink:#eff7ff; --sidebar-muted:#9bb5ce; --shadow:0 10px 30px rgba(0,0,0,.28);
  --blue:#77b8f5; --bluesoft:#163a59; --green:#68d39a; --greensoft:#173d2b;
  --red:#ff8d96; --redsoft:#4b2227; --amber:#f2bd67; --ambersoft:#4a3517;
  --accent:#3f8fd6; --accent-strong:#2f7ec2; --accent-deep:#1a5c98; --accent-glow:#7fc4ff;
}

* { box-sizing:border-box; }
html, body { margin:0; height:100%; background:var(--canvas); color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; font-size:15px; }
a { color:var(--accent); }
h1,h2,h3 { letter-spacing:-.02em; }

.app { display:grid; grid-template-columns:224px 1fr; min-height:100vh; }

/* Sidebar */
.sidebar { position:sticky; top:0; height:100vh; color:var(--sidebar-ink);
  background:linear-gradient(180deg,var(--sidebar-bg),var(--sidebar-bg-2));
  display:flex; flex-direction:column; }
.brand { display:flex; align-items:center; gap:11px; padding:16px 16px; border-bottom:1px solid rgba(255,255,255,.11); }
.brand .mark { width:38px; height:38px; border-radius:10px; display:grid; place-items:center;
  background:#f7fbff; color:var(--accent-deep); font-weight:900; letter-spacing:-.04em; }
.brand .mark.brand-logo { background:transparent; overflow:hidden; }
.brand .mark.brand-logo svg { width:100%; height:100%; display:block; }
.brand .name { font-weight:800; font-size:1.05rem; }
.brand .sub { font-size:.72rem; color:var(--sidebar-muted); }
.nav { padding:10px 8px; display:flex; flex-direction:column; gap:2px; }
.nav a { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:9px;
  color:var(--sidebar-ink); text-decoration:none; font-weight:600; font-size:.92rem; opacity:.86; }
.nav a:hover { background:rgba(255,255,255,.07); opacity:1; }
.nav a.active { background:var(--accent); opacity:1; box-shadow:inset 3px 0 0 var(--accent-glow); }
.nav .ico { width:18px; text-align:center; }
.sidebar .foot { margin-top:auto; padding:14px 16px; font-size:.75rem; color:var(--sidebar-muted); border-top:1px solid rgba(255,255,255,.1); }

/* Main */
.main { min-width:0; padding:22px 26px 60px; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.topbar h1 { margin:0; font-size:1.5rem; }
.topbar .eyebrow { color:var(--muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }

/* KPIs */
.kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:20px; }
.kpi { background:var(--surface-strong); border:1px solid var(--line); border-radius:var(--radius);
  padding:14px 16px; position:relative; overflow:hidden; box-shadow:var(--shadow); }
.kpi:before { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--accent); }
.kpi .n { font-size:1.7rem; font-weight:800; }
.kpi .l { color:var(--muted); font-size:.82rem; font-weight:600; }
.kpi.warn:before { background:var(--red); }

/* Panels */
.panel { background:var(--surface-strong); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:18px; margin-bottom:20px; }
.panel h2 { margin:0 0 4px; font-size:1.1rem; }
.panel .desc { color:var(--muted); font-size:.85rem; margin:0 0 14px; }
.section-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }

/* Buttons */
.btn { display:inline-flex; align-items:center; gap:7px; padding:8px 13px; border-radius:9px;
  border:1px solid var(--line); background:var(--surface); color:var(--ink); font-weight:650;
  font-size:.88rem; cursor:pointer; text-decoration:none; line-height:1; }
.btn:hover { border-color:var(--accent); }
.btn.primary { background:var(--accent-strong); border-color:var(--accent-strong); color:#fff; }
.btn.primary:hover { background:var(--accent-deep); }
.btn.sm { padding:6px 10px; font-size:.8rem; }
.btn.ghost { background:transparent; }
.btn:disabled { opacity:.5; cursor:not-allowed; }

/* Call queue */
.queue { display:flex; flex-direction:column; gap:10px; }
.qcard { display:flex; align-items:center; gap:14px; padding:12px 14px; border:1px solid var(--line);
  border-radius:var(--radius-sm); background:var(--surface); }
.qcard.overdue { border-color:var(--red); background:var(--redsoft); }
.score { flex:0 0 auto; width:46px; height:46px; border-radius:12px; display:grid; place-items:center;
  font-weight:800; font-size:1.05rem; color:#fff; background:var(--accent); }
.score.hot { background:var(--green); } .score.warm { background:var(--amber); } .score.cold { background:var(--muted); }
.qmeta { flex:1 1 auto; min-width:0; }
.qmeta .t { font-weight:750; }
.qmeta .s { color:var(--muted); font-size:.83rem; }
.reasons { display:flex; flex-wrap:wrap; gap:6px; margin-top:5px; }
.chip { font-size:.72rem; padding:2px 8px; border-radius:20px; background:var(--bluesoft); color:var(--blue); font-weight:650; }
.qactions { display:flex; gap:6px; flex-wrap:wrap; }

/* Kanban */
.kanban { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(210px,1fr); gap:12px; overflow-x:auto; padding-bottom:8px; }
.col { background:var(--surface-soft); border:1px solid var(--line); border-radius:var(--radius-sm); padding:10px; }
.col h3 { margin:0 0 8px; font-size:.82rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); display:flex; justify-content:space-between; }
.lc { background:var(--surface-strong); border:1px solid var(--line); border-radius:8px; padding:9px 10px; margin-bottom:8px; cursor:grab; }
.lc:hover { border-color:var(--accent); }
.lc[draggable]:active { cursor:grabbing; }
.lc.dragging { opacity:.45; }
.col.drop { outline:2px dashed var(--accent); outline-offset:-3px; background:var(--bluesoft); }
.col-drop { display:none; color:var(--muted); font-size:.75rem; text-align:center; padding:8px; border:1px dashed var(--line); border-radius:8px; }
.col.drop .col-drop { display:block; border-color:var(--accent); color:var(--accent); }
.lc .t { font-weight:700; font-size:.9rem; }
.lc .s { color:var(--muted); font-size:.78rem; }

/* Tables */
.table { width:100%; border-collapse:collapse; font-size:.9rem; }
.table th { text-align:left; color:var(--muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; padding:8px 10px; border-bottom:1px solid var(--line); }
.table td { padding:9px 10px; border-bottom:1px solid var(--line); }
.table tr:hover td { background:var(--surface-soft); }
.table .clickable { cursor:pointer; }

/* Badges */
.badge { display:inline-block; padding:2px 9px; border-radius:20px; font-size:.74rem; font-weight:700; background:var(--surface-soft); color:var(--muted); border:1px solid var(--line); }
.badge.stage-discovery,.badge.stage-demo { background:var(--bluesoft); color:var(--blue); border-color:transparent; }
.badge.stage-trial { background:var(--ambersoft); color:var(--amber); border-color:transparent; }
.badge.stage-won { background:var(--greensoft); color:var(--green); border-color:transparent; }
.badge.stage-lost,.badge.stage-nurture { opacity:.8; }

/* Forms */
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.field { display:flex; flex-direction:column; gap:5px; }
.field.full { grid-column:1 / -1; }
.field label { font-size:.8rem; font-weight:700; color:var(--muted); }
.field input, .field select, .field textarea { padding:9px 11px; border:1px solid var(--line); border-radius:9px;
  background:var(--input-bg); color:var(--input-ink); font:inherit; }
.field textarea { min-height:78px; resize:vertical; }
.field .hint { font-size:.75rem; color:var(--muted); }

/* Detail layout */
.detail { display:grid; grid-template-columns:1.4fr 1fr; gap:20px; align-items:start; }
.kv { display:grid; grid-template-columns:auto 1fr; gap:6px 14px; font-size:.9rem; }
.kv dt { color:var(--muted); font-weight:600; }
.timeline { list-style:none; margin:0; padding:0; }
.timeline li { padding:9px 0 9px 18px; border-left:2px solid var(--line); position:relative; }
.timeline li:before { content:''; position:absolute; left:-6px; top:13px; width:10px; height:10px; border-radius:50%; background:var(--accent); }
.timeline .when { color:var(--muted); font-size:.75rem; }

.empty { color:var(--muted); text-align:center; padding:26px; }
.row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.spacer { flex:1; }
.note { background:var(--bluesoft); color:var(--blue); border-radius:9px; padding:10px 12px; font-size:.85rem; }
.ai-out { margin-top:10px; }
.ai-card { background:var(--surface-soft); border:1px solid var(--line); border-radius:11px; padding:14px 16px; font-size:.88rem; line-height:1.5; }
.ai-card.md .md-h { font-weight:750; color:var(--ink); margin:15px 0 5px; letter-spacing:-.01em; }
.ai-card.md .md-h:first-child { margin-top:0; }
.ai-card.md .md-ul { margin:4px 0 4px 2px; padding:0; list-style:none; }
.ai-card.md .md-ul li { position:relative; padding-left:16px; margin:5px 0; color:var(--ink); }
.ai-card.md .md-ul li:before { content:'–'; position:absolute; left:0; color:var(--accent); font-weight:700; }
.ai-card.md .md-p { margin:8px 0; }
.ai-card strong { color:var(--ink); font-weight:700; }
.ai-card code { background:var(--surface); padding:1px 5px; border-radius:5px; font-size:.85em; }
.ai-busy { color:var(--muted); }
.cand-head { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin:4px 0 12px; font-size:.95rem; }
.cand-head .cand-sub { color:var(--muted); font-size:.82rem; }
.cand-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(330px,1fr)); gap:12px; }
.cand { border:1px solid var(--line); border-radius:14px; padding:15px 16px; background:var(--surface-strong);
  box-shadow:var(--shadow); transition:transform .16s ease, box-shadow .16s ease, opacity .2s; }
.cand:hover { transform:translateY(-2px); box-shadow:0 14px 34px rgba(16,43,78,.16); border-color:var(--accent); }
.cand.added { opacity:.62; }
.cand.added:hover { transform:none; }
.cand-top { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.cand-name { font-weight:800; font-size:1.02rem; letter-spacing:-.01em; line-height:1.25; }
.cand-meta { color:var(--muted); font-size:.79rem; margin-top:3px; }
.cand-tags { display:flex; gap:6px; flex-wrap:wrap; margin:10px 0 0; }
.cand-why { font-size:.85rem; margin:10px 0 0; line-height:1.45; color:var(--muted); }
.cand-brief { font-size:.84rem; margin:10px 0 0; padding:10px 12px; border-radius:9px; background:var(--bluesoft); color:var(--blue); line-height:1.45; }
.cand-actions { display:flex; gap:7px; flex-wrap:wrap; margin-top:13px; align-items:center; }
.added-badge { font-size:.8rem; font-weight:700; color:var(--green); background:var(--greensoft); padding:5px 11px; border-radius:20px; }
.tag { font-size:.72rem; font-weight:650; padding:3px 9px; border-radius:20px; background:var(--surface-soft); color:var(--muted); border:1px solid var(--line); }
.tag.good { background:var(--greensoft); color:var(--green); border-color:transparent; }
.tag.warn { background:var(--ambersoft); color:var(--amber); border-color:transparent; }
.tag.muted { opacity:.75; font-style:italic; }
.notes-box { min-height:120px !important; line-height:1.5; }

/* ---- Google Voice setup note ---- */
.gv-setup { margin-top:16px; padding:14px 16px; border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:11px; background:var(--surface-soft); }
.gv-setup h3 { margin:0 0 8px; font-size:.92rem; }
.gv-setup p { margin:0 0 8px; font-size:.85rem; line-height:1.5; color:var(--muted); }
.gv-setup b { color:var(--ink); }
.gv-setup ol { margin:0 0 8px; padding-left:20px; }
.gv-setup li { font-size:.85rem; line-height:1.55; margin:6px 0; color:var(--muted); }
.mono { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; background:var(--surface-strong); padding:1px 6px; border-radius:5px; font-size:.85em; border:1px solid var(--line); }

/* ---- Live call (M3) ---- */
.lc-consent { max-width:760px; }
.lc-script { margin:14px 0; padding:16px 18px; border-left:4px solid var(--accent); border-radius:0 11px 11px 0;
  background:var(--bluesoft); color:var(--blue); font-size:1.02rem; line-height:1.55; font-weight:600; }
.lc-consent-actions { display:flex; gap:9px; flex-wrap:wrap; margin-top:16px; }
.lc-fineprint { margin-top:14px; font-size:.82rem; color:var(--muted); line-height:1.5; }
.lc-wrap { display:flex; flex-direction:column; gap:14px; }
.lc-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; flex-wrap:wrap; }
.lc-head h1 { margin:0; font-size:1.4rem; }
.lc-head-actions { display:flex; align-items:center; gap:10px; }
.lc-mic { font-size:.78rem; font-weight:750; padding:5px 11px; border-radius:20px; }
.lc-mic.on { background:var(--greensoft); color:var(--green); }
.lc-mic.warn { background:var(--ambersoft); color:var(--amber); }
.lc-mic.err { background:var(--redsoft); color:var(--red); }
.lc-mic.off { background:var(--surface-soft); color:var(--muted); }
.lc-howto { font-size:.85rem; line-height:1.5; color:var(--muted); background:var(--surface-soft);
  border:1px solid var(--line); border-radius:11px; padding:11px 14px; }
.lc-howto b { color:var(--ink); }
.lc-interim { display:block; margin-top:6px; font-style:italic; opacity:.75; }
.lc-browser-warn:not(:empty) { margin-top:12px; padding:12px 15px; border-radius:11px; background:var(--ambersoft);
  color:var(--amber); border:1px solid currentColor; font-size:.87rem; line-height:1.55; }
.lc-browser-warn b { color:inherit; }
.diag-out { margin:12px 0 0; padding:13px 15px; border-radius:10px; background:var(--surface-soft); border:1px solid var(--line);
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.78rem; line-height:1.6; white-space:pre-wrap;
  max-height:340px; overflow:auto; color:var(--ink); }
.lc-mictest { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:14px; }
.lc-mictest-out { font-size:.85rem; color:var(--muted); }
.lc-mictest-out.ok { color:var(--green); font-weight:700; }
.lc-mictest-out.bad { color:var(--red); font-weight:700; }
.lc-rec { font-size:.78rem; font-weight:750; padding:5px 11px; border-radius:20px; }
.lc-rec.on { background:var(--redsoft); color:var(--red); }
.lc-rec.off { background:var(--surface-soft); color:var(--muted); }
.btn.danger { background:var(--red); border-color:var(--red); color:#fff; }
.lc-start { margin-top:10px; display:inline-flex; }
.lc-nudge { display:flex; align-items:center; gap:12px; padding:15px 18px; border-radius:13px;
  background:var(--surface-strong); border:1px solid var(--line); border-left:5px solid var(--accent);
  box-shadow:var(--shadow); font-size:1.02rem; font-weight:650; line-height:1.45; transition:transform .2s, box-shadow .2s; }
.lc-nudge.show { transform:scale(1.012); box-shadow:0 12px 32px rgba(23,104,178,.25); }
.lc-nudge.objection { border-left-color:var(--red); background:var(--redsoft); }
.lc-nudge.talk { border-left-color:var(--amber); background:var(--ambersoft); }
.lc-nudge.ready { border-left-color:var(--green); background:var(--greensoft); }
.lc-nudge-label { font-size:.66rem; text-transform:uppercase; letter-spacing:.1em; font-weight:850;
  padding:4px 9px; border-radius:20px; background:var(--accent); color:#fff; flex:0 0 auto; }
.lc-meters { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.lc-meter { background:var(--surface-strong); border:1px solid var(--line); border-radius:13px; padding:13px 15px; box-shadow:var(--shadow); }
.lc-meter-top { display:flex; justify-content:space-between; align-items:baseline; font-size:.8rem; color:var(--muted); font-weight:650; }
.lc-meter-top b { font-size:1.5rem; color:var(--ink); }
.lc-meter-hint { font-size:.72rem; color:var(--muted); margin-top:7px; }
.lc-bar { position:relative; height:10px; border-radius:6px; background:var(--surface-soft); margin-top:9px; overflow:hidden; }
.lc-bar-fill { height:100%; border-radius:6px; background:var(--green); transition:width .35s ease, background .3s; }
.lc-bar-fill.warn { background:var(--amber); } .lc-bar-fill.bad { background:var(--red); }
.lc-bar-target { position:absolute; top:-2px; bottom:-2px; left:43%; width:2px; background:var(--ink); opacity:.45; }
.lc-dots { display:flex; gap:4px; margin-top:11px; flex-wrap:wrap; }
.lc-dot { width:11px; height:11px; border-radius:50%; background:var(--surface-soft); border:1px solid var(--line); }
.lc-dot.on { background:var(--accent); border-color:var(--accent); }
.lc-chips { display:flex; gap:5px; flex-wrap:wrap; margin-top:9px; }
.lc-body { display:grid; grid-template-columns:1.6fr 1fr; gap:14px; align-items:start; }
.lc-transcript-wrap { background:var(--surface-strong); border:1px solid var(--line); border-radius:13px; box-shadow:var(--shadow); overflow:hidden; }
.lc-speaker { display:flex; align-items:center; gap:8px; padding:11px 14px; border-bottom:1px solid var(--line); font-size:.82rem; color:var(--muted); flex-wrap:wrap; }
.lc-sp { border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:20px; padding:5px 15px; font-weight:700; font-size:.84rem; cursor:pointer; }
.lc-sp.active { background:var(--accent); border-color:var(--accent); color:#fff; }
.lc-sp-hint { font-size:.73rem; opacity:.8; }
.lc-transcript { height:340px; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:9px; }
.lc-line { font-size:.9rem; line-height:1.5; padding:9px 12px; border-radius:11px; background:var(--surface-soft); max-width:92%; }
.lc-line.rep { align-self:flex-end; background:var(--bluesoft); color:var(--blue); }
.lc-who { display:block; font-size:.66rem; text-transform:uppercase; letter-spacing:.08em; font-weight:800; opacity:.65; margin-bottom:2px; }
.lc-empty { color:var(--muted); font-size:.86rem; text-align:center; margin:auto; }
.lc-side { display:flex; flex-direction:column; gap:12px; }
.lc-side-card { background:var(--surface-strong); border:1px solid var(--line); border-radius:13px; padding:13px 15px; box-shadow:var(--shadow); }
.lc-side-card h3 { margin:0 0 8px; font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); }
.lc-side-card ul { margin:0; padding-left:17px; }
.lc-side-card li { font-size:.85rem; line-height:1.45; margin:7px 0; }
.lc-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-top:14px; }
.lc-sumcard { background:var(--surface-soft); border:1px solid var(--line); border-radius:12px; padding:15px; text-align:center; }
.lc-sumval { font-size:1.9rem; font-weight:800; }
.lc-sumlabel { font-size:.85rem; font-weight:700; margin-top:2px; }
.lc-sumhint { font-size:.72rem; color:var(--muted); margin-top:3px; }
.call-hist { display:flex; flex-direction:column; gap:7px; }
.call-row { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:9px 12px; border:1px solid var(--line); border-radius:9px; background:var(--surface-soft); font-size:.86rem; }
@media (max-width:900px){ .lc-body{grid-template-columns:1fr} }

/* ---- Playbook / guide ---- */
.gd { width:100%; height:auto; margin:14px 0 6px; overflow:visible; }
.g-hero h2 { font-size:1.35rem; }
.g-rules { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; margin-top:14px; }
.g-card { border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:11px; padding:13px 15px; background:var(--surface-soft); }
.g-card h4 { margin:0 0 6px; font-size:.92rem; letter-spacing:-.01em; }
.g-card p { margin:0; font-size:.85rem; line-height:1.5; color:var(--muted); }
.g-card b { color:var(--ink); }
.g-stages { margin-top:16px; border:1px solid var(--line); border-radius:11px; overflow:hidden; }
.g-srow { display:grid; grid-template-columns:150px 1.1fr 1.3fr; gap:12px; padding:11px 14px; border-top:1px solid var(--line); font-size:.85rem; align-items:baseline; }
.g-srow:first-child { border-top:0; }
.g-srow:nth-child(odd) { background:var(--surface-soft); }
.g-sname { font-weight:800; }
.g-swhat { color:var(--muted); }
.g-stodo b { color:var(--accent); }
.g-step { display:flex; gap:14px; padding:16px 0; border-top:1px solid var(--line); }
.g-step:first-of-type { border-top:0; padding-top:6px; }
.g-num { flex:0 0 30px; height:30px; border-radius:50%; display:grid; place-items:center; background:var(--accent); color:#fff; font-weight:800; font-size:.86rem; }
.g-body { flex:1; min-width:0; }
.g-body h3 { margin:3px 0 7px; font-size:1rem; }
.g-body p { margin:0 0 8px; font-size:.88rem; line-height:1.55; }
.g-tip { background:var(--bluesoft); color:var(--blue); padding:9px 12px; border-radius:9px; font-size:.84rem !important; }
.g-obj { display:flex; flex-direction:column; }
.g-objrow { padding:12px 0; border-top:1px solid var(--line); }
.g-objrow:first-child { border-top:0; }
.g-q { font-weight:750; font-size:.9rem; margin-bottom:4px; }
.g-a { color:var(--muted); font-size:.87rem; line-height:1.55; }
.g-list { margin:6px 0 0; padding-left:20px; }
.g-list li { margin:8px 0; font-size:.88rem; line-height:1.55; color:var(--muted); }
.g-list b { color:var(--ink); }
@media (max-width:760px){ .g-srow{grid-template-columns:1fr;gap:4px} }
.conf { font-size:.68rem; font-weight:800; padding:3px 9px; border-radius:20px; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }
.conf.high { background:var(--greensoft); color:var(--green); }
.conf.medium { background:var(--ambersoft); color:var(--amber); }
.conf.low { background:var(--surface-soft); color:var(--muted); }
.dms-chip { background:var(--bluesoft); color:var(--blue); font-size:.72rem; padding:2px 8px; border-radius:20px; font-weight:650; }
.toast { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); background:var(--accent-deep); color:#fff; padding:11px 18px; border-radius:10px; box-shadow:var(--shadow); z-index:50; }

@media (max-width:820px){ .app{grid-template-columns:1fr;} .sidebar{position:static;height:auto;flex-direction:row;overflow:auto;} .sidebar .foot{display:none;} .detail{grid-template-columns:1fr;} .form-grid{grid-template-columns:1fr;} }

/* ---- Live-call transcriber options (engine + audio source) ---------------- */
.lc-options{display:flex;flex-direction:column;gap:10px;margin:14px 0}
.lc-optrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lc-optlabel{font-size:.8rem;font-weight:700;color:var(--muted);min-width:96px}
.lc-opt{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;
  padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);
  background:var(--surface);color:var(--ink);cursor:pointer;text-align:left;line-height:1.2}
.lc-opt span{font-size:.72rem;color:var(--muted);font-weight:500}
.lc-opt.on{border-color:var(--accent);background:var(--accent-glow);box-shadow:inset 0 0 0 1px var(--accent)}
.lc-opt:hover{border-color:var(--accent)}

/* ---- Manager dashboard --------------------------------------------------- */
.cd-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
@media (max-width:820px){.cd-grid{grid-template-columns:1fr}}
.cd-frow{display:flex;align-items:center;gap:10px;margin:6px 0}
.cd-fname{width:92px;font-size:.82rem;font-weight:700;color:var(--ink)}
.cd-fbar{flex:1;height:12px;background:var(--surface-soft);border-radius:999px;overflow:hidden}
.cd-ffill{display:block;height:100%;background:var(--accent);border-radius:999px}
.cd-fnum{width:80px;text-align:right;font-size:.82rem;color:var(--muted);font-weight:700}
.cd-fnum em{color:var(--green);font-style:normal;font-weight:700;font-size:.72rem}
.cd-arow{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);margin:6px 0;text-decoration:none;color:var(--ink)}
.cd-arow:hover{border-color:var(--accent)}
.cd-arow .t{font-weight:700;flex:1}
.cd-arow .s{font-size:.78rem;color:var(--muted)}
.cd-table{width:100%;border-collapse:collapse;font-size:.86rem}
.cd-table th,.cd-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.cd-table th{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}
.chip.warn{background:var(--ambersoft);color:var(--amber);border-color:var(--amber)}

/* Sign-in */
.auth-wrap { min-height:100vh; display:grid; place-items:center; padding:24px 16px; background:linear-gradient(180deg,var(--sidebar-bg),var(--sidebar-bg-2)); }
.auth-card { width:100%; max-width:420px; background:var(--surface-strong); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:26px 26px 22px; display:flex; flex-direction:column; gap:12px; }
.auth-brand { display:flex; align-items:center; gap:12px; margin-bottom:4px; }
.auth-logo { width:42px; height:42px; display:block; }
.auth-logo svg { width:100%; height:100%; display:block; }
.auth-name { font-weight:700; font-size:16px; }
.auth-sub { font-size:12px; color:var(--muted); }
.auth-card h1 { margin:6px 0 0; font-size:22px; }
.auth-lead { margin:0; color:var(--muted); font-size:14px; line-height:20px; }
.auth-go { justify-content:center; padding:11px 14px; margin-top:4px; }
.auth-err { margin:0; min-height:18px; color:var(--red); font-size:13px; font-weight:600; }
.auth-err:empty { display:none; }
.auth-foot { margin:2px 0 0; font-size:12px; line-height:18px; color:var(--muted); }
.auth-qr { display:grid; place-items:center; padding:6px 0; }
.auth-qr svg { border-radius:8px; border:1px solid var(--line); }
.auth-key summary { cursor:pointer; font-size:13px; color:var(--accent); }
.auth-key code { display:block; margin-top:8px; padding:10px; border-radius:8px; background:var(--surface-soft); font-size:14px; letter-spacing:.06em; word-break:break-all; }

/* Who is signed in */
.sidebar .foot .who { color:var(--sidebar-ink); font-weight:600; font-size:13px; }
.sidebar .foot .role { margin-bottom:8px; }
.sidebar .foot .signout { color:var(--sidebar-ink); border-color:rgba(255,255,255,.25); }

/* Whose leads */
.scope { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:-6px 0 16px; }
.scope-person { padding:6px 10px; border:1px solid var(--line); border-radius:9px; background:var(--input-bg); color:var(--input-ink); font-size:13px; }
.lc .o { font-size:12px; color:var(--muted); margin-top:2px; }
.owner-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:12px; padding:10px 12px; border-radius:9px; background:var(--surface-soft); font-size:14px; }
.owner-row label { font-weight:600; font-size:13px; color:var(--muted); }
.owner-row select { padding:7px 10px; border:1px solid var(--line); border-radius:9px; background:var(--input-bg); color:var(--input-ink); }

/* Team */
.invite-link { margin-top:12px; }
.invite-link .row { margin-top:8px; }
.invite-link input { padding:8px 10px; border:1px solid var(--line); border-radius:9px; background:var(--input-bg); color:var(--input-ink); }
#teamList .table td .s { color:var(--muted); font-size:13px; }
#teamList .table select { padding:6px 8px; border:1px solid var(--line); border-radius:8px; background:var(--input-bg); color:var(--input-ink); }
#teamList tr.off td { opacity:.6; }
#teamList td.acts { white-space:nowrap; text-align:right; }
.kv.roles dt { font-weight:700; }

/* Email from the lead */
.mail-box { display:flex; flex-direction:column; gap:8px; margin-top:10px; padding:12px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface-soft); }
.mail-box .s { font-size:13px; color:var(--muted); }
.mail-box input, .mail-box textarea { padding:9px 11px; border:1px solid var(--line); border-radius:9px; background:var(--input-bg); color:var(--input-ink); font:inherit; }
.auth-google { text-decoration:none; }
