/* DF CRM — dark theme matched to DF prototype (crimson #ED1C24, charcoal, Geist) */
:root{
  --bg-app:#0a0a0c; --bg-side:#0d0d10; --bg-surface:#121216; --bg-inset:#1a1a20;
  --border:#232329; --border-soft:#1c1c22;
  --text-primary:#f4f4f6; --text-secondary:#9d9da8; --text-muted:#63636e;
  --accent:#ED1C24; --accent-dim:#7d1015; --accent-soft:rgba(237,28,36,.12);
  --success:#34d17b; --warning:#eab308; --info:#38bdf8; --violet:#a78bfa; --orange:#fb923c; --pink:#e879f9;
  --radius:12px; --shadow:0 10px 32px rgba(0,0,0,.5);
  font-size:15px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg-app);color:var(--text-primary);
  font-family:Geist,Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased}
.hidden{display:none!important}
h1,h2,h3{margin:0;font-weight:650}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
.mono{font-family:"Geist Mono",ui-monospace,monospace;font-size:.85em}
input,select,textarea{font:inherit;background:var(--bg-inset);color:var(--text-primary);
  border:1px solid var(--border);border-radius:9px;padding:8px 11px;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
label{display:block;font-size:.84rem;color:var(--text-secondary);margin-bottom:10px}
label input,label select,label textarea{margin-top:5px}
::placeholder{color:var(--text-muted)}

.btn{border:1px solid var(--border);background:var(--bg-inset);color:var(--text-primary);
  border-radius:9px;padding:8px 15px;font-weight:500;transition:filter .15s}
.btn:hover{filter:brightness(1.25)}
.btn-primary{background:var(--accent);border-color:var(--accent);font-weight:650;
  box-shadow:0 4px 16px rgba(237,28,36,.35)}
.btn-ghost{background:transparent}
.btn-sm{padding:5px 11px;font-size:.84rem}

/* brand */
.brand{display:flex;gap:12px;align-items:center;margin-bottom:22px}
.brand h1{font-size:1.15rem}
.brand p{margin:2px 0 0;color:var(--text-muted);font-size:.8rem}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border-radius:10px;background:var(--accent);font-weight:800;letter-spacing:-.5px;flex-shrink:0}
.brand-mark.sm{width:34px;height:34px;font-size:.85rem}

/* login */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-card{width:100%;max-width:390px;background:var(--bg-surface);border:1px solid var(--border);
  border-radius:16px;padding:30px;box-shadow:var(--shadow)}
.login-card .btn{width:100%;margin-top:4px}
.form-error{color:var(--accent);font-size:.85rem;min-height:1em;margin:8px 0 0}
.demo-note{margin-top:18px;padding:11px 13px;background:var(--bg-inset);border:1px dashed var(--border);
  border-radius:9px;font-size:.75rem;color:var(--text-secondary);line-height:1.55}
.demo-note code{color:var(--warning);font-family:"Geist Mono",monospace}

/* shell */
.app{display:flex;min-height:100vh}
.sidebar{width:248px;flex-shrink:0;background:var(--bg-side);border-right:1px solid var(--border-soft);
  display:flex;flex-direction:column;padding:14px 12px;position:sticky;top:0;height:100vh;overflow-y:auto}
.ws-card{display:flex;gap:10px;align-items:center;padding:8px;border-radius:10px;margin-bottom:10px;
  width:100%;background:none;border:1px solid transparent;color:inherit;text-align:left;cursor:default}
.ws-card.clickable{cursor:pointer;border-color:var(--border)}
.ws-card.clickable:hover{background:var(--bg-inset)}
.ws-chev{margin-left:auto;color:var(--text-muted);font-size:.9rem}

/* demo mode */
.demo-banner{display:flex;flex-wrap:wrap;gap:6px;align-items:center;
  background:rgba(234,179,8,.1);border-bottom:1px solid rgba(234,179,8,.35);
  color:#f5d98b;padding:9px 26px;font-size:.79rem;line-height:1.5}
.link-btn{background:none;border:none;color:var(--warning);text-decoration:underline;
  font-size:.79rem;padding:0}
.persona-group{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);
  margin:14px 0 6px}
.persona-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;
  background:var(--bg-inset);border:1px solid var(--border);border-radius:9px;
  padding:9px 11px;margin-bottom:6px;color:inherit}
.persona-row:hover{border-color:var(--accent)}
.persona-row.on{border-color:var(--success)}
.persona-row .pill{margin-left:auto}
.persona-row .pill + .pill{margin-left:6px}
.ws-meta{display:flex;flex-direction:column;min-width:0}
.ws-meta strong{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ws-meta span{font-size:.72rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-search{margin:0 4px 12px}
.side-search input{background:#141419;font-size:.85rem;padding:7px 11px}
#side-nav{display:flex;flex-direction:column;gap:2px}
.nav-sec{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);
  padding:12px 12px 5px}
#side-nav a{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:8px;
  color:var(--text-secondary);font-size:.9rem;font-weight:500;white-space:nowrap}
/* role-gated links: the attribute must win over the display rule above */
#side-nav a[hidden]{display:none}
#side-nav a .ni{width:16px;text-align:center;opacity:.8;font-size:.85rem}
#side-nav a.active{background:var(--accent-soft);color:var(--text-primary);
  box-shadow:inset 2px 0 0 var(--accent)}
#side-nav a:hover{color:var(--text-primary);background:var(--bg-inset)}
.nav-badge{margin-left:auto;background:var(--bg-inset);border:1px solid var(--border);
  border-radius:6px;font-size:.68rem;padding:1px 6px;color:var(--text-secondary)}
.nav-badge:empty{display:none}
.soon{margin-left:auto;font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;
  color:var(--text-muted);border:1px solid var(--border);border-radius:99px;padding:1px 7px}
.sidebar-foot{margin-top:auto;padding-top:14px;display:flex;flex-direction:column;gap:8px}
.user-card{display:flex;gap:10px;align-items:center;background:var(--bg-surface);
  border:1px solid var(--border-soft);border-radius:10px;padding:9px}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;
  border-radius:50%;background:var(--bg-inset);border:1px solid var(--border);
  font-size:.72rem;font-weight:700;color:var(--text-secondary);flex-shrink:0}
.avatar.sm{width:28px;height:28px;font-size:.66rem}

.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:14px;padding:13px 26px;border-bottom:1px solid var(--border-soft);
  position:sticky;top:0;z-index:5;background:rgba(10,10,12,.85);backdrop-filter:blur(8px)}
.crumbs{flex:1;font-size:.86rem;color:var(--text-muted)}
.crumbs #page-title{color:var(--text-primary);font-weight:600}
.crumb-sep{margin:0 4px}
.menu-btn{display:none;background:none;border:none;color:var(--text-primary);font-size:1.3rem}
.demo-pill{font-size:.68rem;color:var(--warning);border:1px solid rgba(234,179,8,.5);
  border-radius:99px;padding:3px 10px;white-space:nowrap}
main#content{padding:24px 26px;max-width:1240px;width:100%}

/* greeting */
.greet h2{font-size:1.45rem;font-weight:700;letter-spacing:-.02em}
.greet p{margin:4px 0 0;color:var(--text-muted);font-size:.86rem}
.greet{margin-bottom:20px}

/* cards / KPIs */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:18px}
.kpi{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.kpi-top{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.kpi-ic{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border-radius:7px;background:var(--bg-inset);border:1px solid var(--border);font-size:.8rem}
.kpi-ic.red{color:var(--accent)} .kpi-ic.green{color:var(--success)}
.kpi-ic.blue{color:var(--info)} .kpi-ic.yellow{color:var(--warning)}
.kpi-top span{font-size:.8rem;color:var(--text-secondary)}
.kpi .v{font-size:1.65rem;font-weight:750;letter-spacing:-.02em}
.kpi .v.red{color:var(--accent)}
.kpi .sub{font-size:.74rem;color:var(--text-muted);margin-top:5px}
.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:18px;margin-bottom:18px}
.card h3{font-size:.95rem;margin-bottom:13px;display:flex;align-items:center;gap:8px}
.card h3 .hint{font-weight:400;font-size:.76rem;color:var(--text-muted)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}

/* chart */
.chart-wrap{position:relative}
.chart-legend{display:flex;gap:16px;font-size:.74rem;color:var(--text-secondary);margin-bottom:6px}
.chart-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}
.chart-wrap svg{width:100%;height:170px;display:block}
.chart-x{display:flex;justify-content:space-between;font-size:.68rem;color:var(--text-muted);margin-top:4px}

/* tables */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.88rem}
th{color:var(--text-muted);font-weight:600;text-align:left;font-size:.7rem;
  text-transform:uppercase;letter-spacing:.07em}
th,td{padding:10px 10px;border-bottom:1px solid var(--border-soft);white-space:nowrap}
tbody tr:last-child td{border-bottom:none}
tbody tr{cursor:pointer}
tbody tr:hover{background:var(--bg-inset)}
tr.no-hover{cursor:default}
tr.no-hover:hover{background:none}

/* pills */
.pill{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.72rem;font-weight:600;
  border:1px solid var(--border);color:var(--text-secondary)}
.pill.stage-new{color:var(--info);border-color:rgba(56,189,248,.55)}
.pill.stage-contacted{color:var(--violet);border-color:rgba(167,139,250,.55)}
.pill.stage-follow_up{color:var(--warning);border-color:rgba(234,179,8,.55)}
.pill.stage-quoted{color:var(--orange);border-color:rgba(251,146,60,.55)}
.pill.stage-app_submitted{color:var(--pink);border-color:rgba(232,121,249,.55)}
.pill.stage-closed_won{color:var(--success);border-color:rgba(52,209,123,.55)}
.pill.stage-lost{color:var(--text-muted)}
.pill.temp-hot{color:var(--accent);border-color:rgba(237,28,36,.6)}
.pill.temp-warm{color:var(--warning);border-color:rgba(234,179,8,.55)}
.pill.temp-cold{color:var(--info);border-color:rgba(56,189,248,.55)}
.pill.role{color:var(--accent);border-color:var(--accent-dim)}

/* toolbar */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:center}
.toolbar input[type=search]{max-width:280px}
.toolbar select{width:auto}
.toolbar .spacer{flex:1}

/* activity */
.act{display:flex;flex-direction:column;padding:9px 0;border-bottom:1px solid var(--border-soft);font-size:.86rem}
.act:last-child{border-bottom:none}
.act .meta,.note .meta{color:var(--text-muted);font-size:.73rem;margin-top:3px}
.act a{color:var(--info)}
.note{border-bottom:1px solid var(--border-soft);padding:10px 0;font-size:.88rem}
.note:last-child{border-bottom:none}
.note-form{display:flex;gap:8px;margin-top:10px}
.note-form textarea{flex:1;min-height:40px;resize:vertical}

/* lead detail */
.detail-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.detail-head h2{font-size:1.35rem;letter-spacing:-.02em}
.back-link{color:var(--text-muted);font-size:.84rem}
.back-link:hover{color:var(--text-primary)}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}

/* placeholder pages */
.ph{max-width:520px;margin:60px auto;text-align:center}
.ph .ph-ic{font-size:2rem;display:inline-flex;width:64px;height:64px;align-items:center;justify-content:center;
  border-radius:16px;background:var(--bg-surface);border:1px solid var(--border);margin-bottom:16px}
.ph h2{font-size:1.3rem;margin-bottom:8px}
.ph p{color:var(--text-secondary);font-size:.9rem;line-height:1.6}
.ph .pill{margin-top:14px}

/* modal */
.modal-back{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;
  align-items:center;justify-content:center;z-index:50;padding:16px}
.modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;
  padding:24px;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow)}
.modal h3{margin-bottom:16px}
.modal .row{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}

/* toast */
#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:99}
#toast .t{background:var(--bg-inset);border:1px solid var(--border);border-left:3px solid var(--success);
  border-radius:9px;padding:10px 16px;margin-top:8px;box-shadow:var(--shadow);font-size:.88rem}
#toast .t.err{border-left-color:var(--accent)}

.empty{color:var(--text-muted);padding:20px 0;text-align:center;font-size:.88rem}

/* notice banner (placeholder-rules warnings) */
.notice{background:rgba(234,179,8,.08);border:1px solid rgba(234,179,8,.35);color:#f5d98b;
  border-radius:10px;padding:11px 14px;font-size:.8rem;line-height:1.5;margin-bottom:16px}

/* commission status + lifecycle pills */
.pill.st-projected{color:var(--info);border-color:rgba(56,189,248,.5)}
.pill.st-advanced{color:var(--success);border-color:rgba(52,209,123,.5)}
.pill.st-on_hold{color:var(--warning);border-color:rgba(234,179,8,.5)}
.pill.st-clawed_back{color:var(--accent);border-color:rgba(237,28,36,.55)}
.pill.st-settled{color:var(--text-secondary)}
.pill.lc-new_sale{color:var(--info);border-color:rgba(56,189,248,.5)}
.pill.lc-active{color:var(--success);border-color:rgba(52,209,123,.5)}
.pill.lc-cancelled{color:var(--accent);border-color:rgba(237,28,36,.55)}
.pill.lc-lapsed{color:var(--warning);border-color:rgba(234,179,8,.5)}
.pill.lc-reinstated{color:var(--violet);border-color:rgba(167,139,250,.5)}

/* page header (prototype style) */
.page-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.page-head h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}
.scope-pill{background:rgba(167,139,250,.12);border:1px solid rgba(167,139,250,.3);color:#c4b5fd;
  border-radius:99px;padding:4px 12px;font-size:.76rem;font-weight:500}
.scope-pill::before{content:'●';font-size:.5rem;vertical-align:middle;margin-right:6px}
.head-meta{margin-left:auto;font-size:.76rem;color:var(--text-muted);font-weight:400}

/* KPI cards without icons (commissions/leaderboards style) */
.kpis.plain .kpi .l{font-size:.82rem;color:var(--text-secondary);text-transform:none;letter-spacing:0;margin:0 0 8px}
.kpis.plain .kpi .v{font-size:1.6rem}
.kpis.plain .kpi .v.neg{color:var(--accent)}
.kpis.plain .kpi .v.muted-v{color:var(--text-muted)}
.kpis.plain .kpi .sub.red-sub{color:var(--accent)}

/* payout tracker banner */
.tracker{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background:linear-gradient(90deg,rgba(237,28,36,.12),rgba(237,28,36,.02));
  border:1px solid rgba(237,28,36,.4);border-radius:11px;padding:12px 16px;margin-bottom:18px;font-size:.9rem}
.dot-pill{color:var(--success);border-color:rgba(52,209,123,.5)}
.dot-pill::before,.ok-pill::before{content:'●';font-size:.5rem;vertical-align:middle;margin-right:6px}
.ok-pill{color:var(--success);border-color:rgba(52,209,123,.45);background:rgba(52,209,123,.08)}

/* hero payout box */
.hero-box{background:rgba(52,209,123,.07);border:1px solid rgba(52,209,123,.35);border-radius:11px;
  padding:14px 16px;margin-bottom:14px}
.hero-amt{font-size:1.5rem;font-weight:750;margin:8px 0 4px}
.hero-box p{margin:0;font-size:.82rem;color:var(--text-secondary)}

/* payout day groups */
.day-group{border-top:1px solid var(--border-soft);padding:12px 0}
.day-group:first-of-type{border-top:none}
.day-head{display:flex;align-items:center;gap:8px;font-size:.86rem;margin-bottom:8px}
.day-head .hint{color:var(--text-muted);font-size:.76rem;font-weight:400}
.day-total{margin-left:auto;font-weight:700}
.pay-row{display:flex;align-items:center;gap:10px;padding:7px 0}
.pay-meta{display:flex;flex-direction:column;min-width:0}
.pay-meta strong{font-size:.86rem}
.pay-meta span{font-size:.74rem;color:var(--text-muted)}
.pay-amt{margin-left:auto;font-weight:650;font-size:.9rem}
.stat-line{display:flex;justify-content:space-between;font-size:.86rem;padding:7px 0;
  border-bottom:1px solid var(--border-soft)}
.stat-line:last-of-type{border-bottom:none}
.foot-note{font-size:.74rem;color:var(--text-muted);line-height:1.6;margin:12px 0 0}
.neg{color:var(--accent)}

/* tabs */
.tabs{display:flex;align-items:center;border-bottom:1px solid var(--border);margin-bottom:16px}
.tabs a{padding:9px 2px;margin-right:22px;font-size:.9rem;color:var(--text-secondary);
  border-bottom:2px solid transparent}
.tabs a.on{color:var(--text-primary);border-bottom-color:var(--accent);font-weight:600}
.tabs-r{margin-left:auto;display:flex}
.tabs-r a{margin:0 0 0 20px}

/* throwdown banner */
.td-banner{position:relative;background:linear-gradient(100deg,rgba(237,28,36,.22),rgba(237,28,36,.04));
  border:1px solid rgba(237,28,36,.45);border-radius:12px;padding:14px 18px;margin-bottom:18px}
.td-banner.closed{background:linear-gradient(100deg,rgba(120,120,130,.14),rgba(120,120,130,.03));
  border-color:var(--border)}
.td-banner-main{display:flex;align-items:center;gap:10px;font-size:1rem;margin-bottom:10px}
.td-banner-row{display:flex;align-items:center;gap:10px}
.td-amt{margin-left:auto;font-size:1.4rem;font-weight:750;padding-right:150px}
.td-link{position:absolute;top:16px;right:18px;color:var(--accent);font-size:.84rem;font-weight:500}
.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
  border-radius:50%;background:rgba(234,179,8,.15);border:1px solid rgba(234,179,8,.5);
  color:var(--warning);font-size:.72rem;font-weight:700}

/* podium */
.podium{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:14px;
  background:linear-gradient(180deg,rgba(237,28,36,.16),rgba(237,28,36,.02));
  border:1px solid rgba(237,28,36,.3);border-radius:12px;padding:22px 22px 0;margin-bottom:18px;
  min-height:230px;overflow:hidden}
.pod{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}
.pod .avatar{width:46px;height:46px;font-size:.9rem;margin-bottom:6px}
.pod .avatar.gold{border-color:#eab308;color:#fde68a}
.pod .avatar.silver{border-color:#cbd5e1;color:#e2e8f0}
.pod .avatar.bronze{border-color:#fb923c;color:#fed7aa}
.pod-name{font-weight:650;font-size:.92rem}
.pod-ap{font-size:.84rem;color:var(--text-secondary)}
.pod-pts{font-size:.8rem;color:var(--accent);font-weight:600}
.pod-block{margin-top:10px;width:100%;border-radius:10px 10px 0 0;font-size:1.7rem;font-weight:750;
  padding:14px 0 26px;background:linear-gradient(180deg,#c81a20,#8e1116)}
.pod-1 .pod-block{padding:26px 0 40px;background:linear-gradient(180deg,#ED1C24,#a3121a)}
.pod-3 .pod-block{padding:8px 0 20px}
.tr{margin-right:5px;font-size:.8rem}
.tr.up{color:var(--success)} .tr.dn{color:var(--accent)} .tr.fl{color:var(--text-muted)}
.rank-cell{white-space:nowrap;color:var(--text-secondary)}
tr.is-me{background:rgba(237,28,36,.06)}

/* target bars */
.bar{height:5px;background:var(--bg-inset);border-radius:99px;overflow:hidden;min-width:150px;margin-bottom:5px}
.bar i{display:block;height:100%;background:var(--accent);border-radius:99px}
.bar-lbl{font-size:.78rem;color:var(--text-muted)}
.bar-lbl strong{color:var(--text-primary)}

/* throwdown matchups */
.vs-row{display:flex;align-items:center;gap:16px;justify-content:center;padding:8px 0}
.vs-side{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}
.vs-side strong{font-size:.92rem}
.vs-side span:last-child{font-size:1.1rem;font-weight:700}
.vs-badge{background:var(--accent);border-radius:99px;padding:5px 11px;font-size:.72rem;font-weight:750}
.vs-badge.sm{padding:3px 8px;font-size:.66rem}
.match{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-soft)}
.match:last-of-type{border-bottom:none}
.m-name{font-size:.88rem;font-weight:600;flex:1}
.m-name.right{text-align:right}
.m-ap{font-size:.9rem;font-weight:650;color:var(--text-secondary)}

/* sidebar search row + dot */
.srow{display:flex;align-items:center;gap:8px;background:#141419;border:1px solid var(--border);
  border-radius:9px;padding:6px 10px;margin:0}
.srow input{border:none;background:none;padding:0;font-size:.85rem}
.srow input:focus{outline:none}
.kbd{font-size:.68rem;color:var(--text-muted);border:1px solid var(--border);border-radius:5px;padding:1px 5px}
#side-nav a .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);margin-left:auto}
#side-nav a .dot:empty{display:block}

/* alert card (needs-you) */
.alert-card{background:rgba(234,179,8,.06);border:1px solid rgba(234,179,8,.35);
  border-radius:12px;padding:16px 18px;margin-bottom:18px}
.alert-head{display:flex;align-items:center;gap:10px;font-size:.95rem}
.alert-sub{margin:6px 0 10px;font-size:.8rem;color:var(--text-secondary)}
.warn-pill{color:var(--warning);border-color:rgba(234,179,8,.5);background:rgba(234,179,8,.08)}
.warn-pill::before{content:'●';font-size:.5rem;vertical-align:middle;margin-right:6px}
.info-pill{color:var(--info);border-color:rgba(56,189,248,.45);background:rgba(56,189,248,.08)}

/* filter chips */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.chip{display:inline-flex;align-items:center;gap:7px;background:var(--bg-surface);
  border:1px solid var(--border);border-radius:99px;padding:6px 13px;font-size:.84rem;color:var(--text-secondary)}
.chip.on{background:var(--bg-inset);color:var(--text-primary);border-color:var(--accent)}
.chip-n{background:var(--bg-inset);border-radius:6px;padding:0 6px;font-size:.72rem}

/* nurture */
.nurture-grid{display:grid;grid-template-columns:1fr 380px;gap:18px;align-items:start}
.enroll-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.card.enroll{margin:0;padding:14px}
.enroll-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.enroll-head .pill{margin-left:auto}
.day-track{display:flex;align-items:center;gap:3px;margin-bottom:10px}
.dt-lbl{font-size:.74rem;color:var(--text-muted);margin-right:6px;white-space:nowrap}
.day-track i{flex:1;height:4px;border-radius:99px;background:var(--bg-inset)}
.day-track i.on{background:var(--accent)}
.card.enroll blockquote{margin:0 0 10px;background:var(--bg-inset);border-radius:9px;padding:10px 12px;
  font-size:.82rem;font-style:italic;color:var(--text-secondary);line-height:1.5}
.enroll-next{font-size:.76rem;color:var(--text-muted);margin:0 0 10px}
.enroll-actions{display:flex;gap:6px;flex-wrap:wrap}
.pill.ns-active{color:var(--info);border-color:rgba(56,189,248,.5)}
.pill.ns-time_confirmed{color:var(--warning);border-color:rgba(234,179,8,.5)}
.pill.ns-booked{color:var(--success);border-color:rgba(52,209,123,.5)}
.pill.ns-manual{color:var(--text-secondary)}
.pill.ns-opted_out{color:var(--accent);border-color:rgba(237,28,36,.5)}
.card.cadence{position:sticky;top:74px}
.cad-step{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-soft)}
.cad-step:last-of-type{border-bottom:none}
.cad-num{width:22px;height:22px;flex-shrink:0;border-radius:50%;background:var(--bg-inset);
  border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;
  font-size:.7rem;color:var(--text-secondary)}
.cad-body{flex:1;min-width:0}
.cad-title{display:flex;align-items:center;gap:8px;font-size:.86rem}
.cad-title .pill{margin-left:auto;font-size:.66rem}
.cad-when{font-size:.72rem;color:var(--text-muted)}
.cad-copy{margin-top:7px;background:var(--bg-inset);border-radius:8px;padding:9px 11px;
  font-size:.78rem;color:var(--text-secondary);line-height:1.5}

/* calendar */
.seg{display:inline-flex;border:1px solid var(--border);border-radius:9px;overflow:hidden}
.seg a{padding:6px 13px;font-size:.84rem;color:var(--text-secondary);border-right:1px solid var(--border)}
.seg a:last-child{border-right:none}
.seg a.on{background:var(--bg-inset);color:var(--text-primary);font-weight:600}
.legend{display:flex;gap:12px;font-size:.74rem;color:var(--text-secondary);flex-wrap:wrap}
.lg::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}
.lg-cb::before{background:var(--accent)} .lg-mt::before{background:var(--info)}
.lg-tr::before{background:var(--violet)} .lg-ap::before{background:var(--success)}
.ev-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.ev-dot.cb{background:var(--accent)} .ev-dot.mt{background:var(--info)}
.ev-dot.tr{background:var(--violet)} .ev-dot.ap{background:var(--success)}
.cal-grid{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:14px;margin-bottom:18px}
.cal-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px}
.cal-dow span{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);
  text-align:center}
.cal-cells{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-grid.day .cal-cells{grid-template-columns:1fr}
.cal-cell{min-height:96px;background:var(--bg-app);border:1px solid var(--border-soft);
  border-radius:9px;padding:7px}
.cal-cell.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px rgba(237,28,36,.25)}
.cal-cell.other{opacity:.4}
.cal-num{font-size:.74rem;color:var(--text-muted);display:block;margin-bottom:5px}
.cal-ev{font-size:.7rem;border-radius:6px;padding:3px 6px;margin-bottom:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:2px solid}
.cal-ev b{font-weight:600;opacity:.85}
.cal-ev.cb{background:rgba(237,28,36,.12);border-color:var(--accent)}
.cal-ev.mt{background:rgba(56,189,248,.12);border-color:var(--info)}
.cal-ev.tr{background:rgba(167,139,250,.12);border-color:var(--violet)}
.cal-ev.ap{background:rgba(52,209,123,.12);border-color:var(--success)}
.cal-more{font-size:.68rem;color:var(--text-muted)}

@media (max-width: 1100px){
  .nurture-grid{grid-template-columns:1fr}
  .enroll-col{grid-template-columns:1fr 1fr}
  .card.cadence{position:static}
}
@media (max-width: 800px){
  .enroll-col{grid-template-columns:1fr}
  .cal-cells{grid-template-columns:repeat(7,minmax(60px,1fr));overflow-x:auto}
}

/* team + admin */
.pill.ts-ahead{color:var(--warning);border-color:rgba(234,179,8,.5);background:rgba(234,179,8,.08)}
.pill.ts-on_track{color:var(--success);border-color:rgba(52,209,123,.5);background:rgba(52,209,123,.08)}
.pill.ts-at_risk{color:var(--warning);border-color:rgba(234,179,8,.5)}
.pill.ts-behind{color:var(--accent);border-color:rgba(237,28,36,.5);background:rgba(237,28,36,.08)}
.pill.ts-ahead::before,.pill.ts-on_track::before,.pill.ts-at_risk::before,.pill.ts-behind::before{
  content:'●';font-size:.5rem;vertical-align:middle;margin-right:6px}
.bar i.ahead{background:var(--success)} .bar i.at_risk{background:var(--warning)}
.bar i.behind{background:#f472b6}
.pill.cs-verified{color:var(--success);border-color:rgba(52,209,123,.5)}
.pill.cs-submitted{color:var(--info);border-color:rgba(56,189,248,.5)}
.pill.cs-action_needed{color:var(--warning);border-color:rgba(234,179,8,.5)}
.pill.cs-in_progress{color:var(--text-muted)}
.perf-row{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid var(--border-soft)}
.perf-row:last-child{border-bottom:none}
.perf-main{flex:1;min-width:0}
.perf-top{display:flex;align-items:baseline;gap:6px;margin-bottom:6px;font-size:.9rem}
.perf-top .hint{color:var(--text-muted);font-size:.78rem}
.perf-ap{margin-left:auto;font-weight:700}
.pay-amt.pos{color:var(--success)} .pay-amt.neg{color:var(--accent)}
.dist-row{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:.84rem}
.dist-name{width:130px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dist-val{margin-left:auto;color:var(--text-secondary);font-size:.78rem;white-space:nowrap}
.code-box{background:var(--bg-inset);border:1px dashed var(--accent);border-radius:9px;
  padding:14px;text-align:center;font-size:1.2rem;font-weight:700;letter-spacing:.08em;margin:12px 0}
.page-head .head-meta .btn{margin-left:6px}

/* sidebar action rows */
.srow-btn{width:100%;margin-top:6px;color:var(--text-secondary);text-align:left;
  display:flex;align-items:center;gap:8px;font-size:.85rem}
.srow-btn:hover{color:var(--text-primary)}
.srow-btn .kbd{margin-left:auto}

/* carrier fit */
.fit-grid{display:grid;grid-template-columns:400px 1fr;gap:18px;align-items:start}
.chk{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-secondary);margin-bottom:8px}
.chk input{width:auto;margin:0}
.chk.inline{margin:0 0 0 auto;white-space:nowrap}
.chips label.chip{cursor:pointer}
.chips label.chip input{width:auto;margin:0 2px 0 0}
.fit-row{border-left:3px solid var(--border);background:var(--bg-inset);border-radius:9px;
  padding:12px 14px;margin-bottom:10px}
.fit-row.fr-eligible{border-left-color:var(--success)}
.fit-row.fr-graded{border-left-color:var(--warning)}
.fit-row.fr-ineligible{border-left-color:var(--accent);opacity:.72}
.fit-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fit-est{margin-left:auto;font-weight:700;font-size:.95rem}
.fit-est .ok{color:var(--success);font-size:.72rem;font-weight:500;margin-left:6px}
.fit-est .over{color:var(--accent);font-size:.72rem;font-weight:500;margin-left:6px}
.fit-note{font-size:.78rem;color:var(--text-muted);margin:6px 0}
.fit-reason{font-size:.78rem;margin-top:3px}
.fit-reason.warn{color:var(--warning)} .fit-reason.ok{color:var(--text-secondary)}
.pill.fv-eligible{color:var(--success);border-color:rgba(52,209,123,.5)}
.pill.fv-graded{color:var(--warning);border-color:rgba(234,179,8,.5)}
.pill.fv-ineligible{color:var(--accent);border-color:rgba(237,28,36,.5)}

/* profile */
.prof-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.avatar.lg{width:56px;height:56px;font-size:1.1rem}
.badges{display:flex;flex-wrap:wrap;gap:8px}
.badge{display:inline-flex;align-items:center;gap:7px;background:var(--bg-inset);
  border:1px solid rgba(234,179,8,.4);color:#fde68a;border-radius:99px;padding:6px 13px;font-size:.8rem}
.badge.locked{border-color:var(--border);color:var(--text-muted)}

/* settings + operator rows */
.int-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-soft)}
.int-row:last-child{border-bottom:none}
.int-row .pill{margin-left:auto}
.log-row{display:grid;grid-template-columns:56px 110px 1fr auto;gap:10px;align-items:baseline;
  padding:8px 0;border-bottom:1px solid var(--border-soft);font-size:.82rem}
.log-row:last-child{border-bottom:none}
.log-row .lv{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;border-radius:5px;
  padding:2px 6px;text-align:center}
.log-row.lv-info .lv{background:rgba(56,189,248,.15);color:var(--info)}
.log-row.lv-warn .lv{background:rgba(234,179,8,.15);color:var(--warning)}
.log-row.lv-error .lv{background:rgba(237,28,36,.15);color:var(--accent)}
.log-row .src{color:var(--text-muted);font-size:.74rem}
.log-row .meta{color:var(--text-muted);font-size:.72rem;white-space:nowrap}

/* onboarding stepper */
.stepper{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:18px}
.step{display:flex;align-items:center;gap:10px;background:var(--bg-surface);border:1px solid var(--border);
  border-radius:10px;padding:11px 13px;cursor:pointer}
.step.on{border-color:var(--accent);background:rgba(237,28,36,.06)}
.step.done .step-n{background:var(--success);color:#04240f;border-color:var(--success)}
.step-n{width:24px;height:24px;flex-shrink:0;border-radius:50%;background:var(--bg-inset);
  border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem}
.step div strong{display:block;font-size:.85rem}
.step div span{font-size:.72rem;color:var(--text-muted)}
.vid-box{width:34px;height:26px;border-radius:6px;background:var(--bg-inset);border:1px solid var(--border);
  display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--accent)}

/* marketplace */
.sec-h{font-size:.95rem;margin:6px 0 12px}
.store{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:20px}
.store-item{position:relative;margin:0;display:flex;flex-direction:column;gap:8px}
.store-item.best{border-color:rgba(52,209,123,.45)}
.best-pill{position:absolute;top:12px;right:12px;font-size:.66rem}
.store-price{font-size:1.5rem;font-weight:750}
.store-price span{font-size:.8rem;color:var(--text-muted);font-weight:400;margin-left:3px}
.store-blurb{font-size:.8rem;color:var(--text-secondary);margin:0}
.store-feat{margin:0;padding-left:16px;font-size:.78rem;color:var(--text-secondary);line-height:1.7}
.store-foot{display:flex;align-items:center;margin-top:auto;padding-top:8px}
.store-foot .hint{font-size:.74rem;color:var(--text-muted)}
.store-foot .btn{margin-left:auto}

/* command palette */
.pal-list{margin-top:12px;max-height:320px;overflow-y:auto}
.pal-item{display:block;padding:9px 11px;border-radius:8px;font-size:.88rem;color:var(--text-secondary);cursor:pointer}
.pal-item:hover{background:var(--bg-inset);color:var(--text-primary)}

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

/* blocked-integration markers */
.needs{font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:var(--warning);
  border:1px solid rgba(234,179,8,.4);border-radius:99px;padding:1px 6px;margin-left:6px;white-space:nowrap}
.muted-kpi{cursor:pointer;opacity:.75}
.kpi.clickable{cursor:pointer;transition:border-color .15s}
.kpi.clickable:hover{border-color:var(--accent)}

/* notification bell + tray */
.bell{position:relative;background:none;border:none;padding:4px;color:var(--text-secondary);
  display:inline-flex;align-items:center}
.bell:hover{color:var(--text-primary)}
.bell-dot{position:absolute;top:2px;right:2px;width:7px;height:7px;border-radius:50%;background:var(--accent);
  box-shadow:0 0 0 2px var(--bg-app)}
.notif{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid var(--border-soft);
  color:inherit}
.notif:last-of-type{border-bottom:none}
.notif.unread{background:rgba(237,28,36,.04)}
.notif-main{display:flex;flex-direction:column;flex:1;min-width:0}
.notif-main strong{font-size:.88rem}
.notif-main span{font-size:.78rem;color:var(--text-secondary)}
.notif-when{font-size:.7rem;color:var(--text-muted);white-space:nowrap}
.pill.nv-pill-urgent{color:var(--accent);border-color:rgba(237,28,36,.5)}
.pill.nv-pill-action{color:var(--warning);border-color:rgba(234,179,8,.5)}
.pill.nv-pill-info{color:var(--info);border-color:rgba(56,189,248,.45)}

/* leads board (kanban) */
.board{display:grid;grid-template-columns:repeat(6,minmax(180px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px}
.board-col{background:var(--bg-surface);border:1px solid var(--border);border-radius:11px;padding:10px;
  min-height:180px}
.board-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.board-n{margin-left:auto;font-size:.78rem;color:var(--text-muted)}
.board-card{background:var(--bg-inset);border:1px solid var(--border-soft);border-radius:9px;
  padding:9px 10px;margin-bottom:8px;cursor:pointer;display:flex;flex-direction:column;gap:4px}
.board-card:hover{border-color:var(--accent)}
.board-card strong{font-size:.85rem}
.board-card .mono{font-size:.74rem;color:var(--text-muted)}
.board-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.board-card .hint{font-size:.72rem;color:var(--text-muted)}
.board-empty{color:var(--text-muted);text-align:center;font-size:.8rem;margin:8px 0}

/* work-next queue */
.queue-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border-soft);
  cursor:pointer}
.queue-row:last-child{border-bottom:none}
.queue-row:hover{background:var(--bg-inset)}

/* dashboard goals + today panel */
.goal-row{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border-soft)}
.goal-row:last-child{border-bottom:none}
.goal-main{flex:1;min-width:0}
.goal-top{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:6px}
.goal-band{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}
.goal-band.completed{color:var(--success)} .goal-band.on_track{color:var(--success)}
.goal-band.at_risk{color:var(--warning)}
.bar i.completed{background:var(--success)} .bar i.on_track{background:var(--accent)}
.bar i.at_risk{background:var(--warning)}
.today-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border-soft)}
.today-row:last-of-type{border-bottom:none}
.today-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.today-dot.mt{background:var(--info)} .today-dot.tr{background:var(--violet)}
.today-dot.ap{background:var(--success)}
.td-banner.slim{display:flex;align-items:center;gap:12px;padding:11px 16px}
.td-banner.slim .td-banner-main{margin:0}
.td-banner.slim .td-link{position:static;margin-left:auto}

/* calendar period nav */
.cal-nav{display:flex;align-items:center;gap:6px}
.period-label{font-size:.84rem;color:var(--text-secondary);margin-left:4px;white-space:nowrap}

/* carrier fit extras */
.sub-chk{margin-left:22px;font-size:.8rem}
.sub-group{margin:6px 0 10px}
.sub-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);
  display:block;margin-bottom:5px}
.chip.sm{font-size:.76rem;padding:4px 10px}

/* lead detail dispositions */
.disp-card{margin-bottom:18px}
.disp-row{display:flex;gap:6px;flex-wrap:wrap}

/* AI modal bar */
.ai-bar{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.ai-bar .seg a{cursor:pointer}

/* office TV board */
body.tv-mode{background:#07070a;overflow-x:hidden}
.tv{padding:26px 34px;max-width:1600px;margin:0 auto}
.tv-head{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.tv-head h1{font-size:1.7rem;letter-spacing:-.02em}
.tv-total{margin-left:auto;font-size:2rem;font-weight:800;color:var(--accent);text-align:right;line-height:1}
.tv-total small{display:block;font-size:.7rem;color:var(--text-muted);font-weight:400;letter-spacing:.06em;
  text-transform:uppercase;margin-top:4px}
.tv .podium{min-height:280px}
.tv-table{width:100%;margin-top:18px;font-size:1.05rem}
.tv-table td{padding:12px 10px;border-bottom:1px solid var(--border-soft)}
.tv-table tr.top td{background:rgba(237,28,36,.06)}
.tv-rank{width:64px;font-family:"Geist Mono",monospace;color:var(--text-muted)}
.tv-ap{text-align:right;font-weight:750}
.tv-deals,.tv-pts{text-align:right;color:var(--text-secondary);font-size:.9rem}
.tv-foot{margin-top:16px;font-size:.78rem;color:var(--text-muted);text-align:center}

@media (max-width: 1100px){ .board{grid-template-columns:repeat(6,minmax(160px,1fr))} }

/* payout accordions */
details.payout{border-bottom:1px solid var(--border-soft)}
details.payout:last-child{border-bottom:none}
details.payout summary{display:flex;align-items:center;gap:10px;padding:10px 0;cursor:pointer;
  font-size:.88rem;list-style:none}
details.payout summary::-webkit-details-marker{display:none}
details.payout summary::before{content:'▸';color:var(--text-muted);font-size:.7rem}
details.payout[open] summary::before{content:'▾'}
details.payout summary strong{margin-left:auto;font-weight:650}
details.payout summary .hint{font-size:.74rem;color:var(--text-muted);font-weight:400}
.payout-item{display:flex;justify-content:space-between;font-size:.82rem;color:var(--text-secondary);
  padding:5px 0 5px 18px}

/* responsive */
@media (max-width: 800px){
  .sidebar{position:fixed;left:-270px;z-index:40;transition:left .2s;height:100vh}
  .sidebar.open{left:0}
  .menu-btn{display:block}
  .grid-2{grid-template-columns:1fr}
  .modal .row{grid-template-columns:1fr}
  main#content{padding:16px}
  .demo-pill{display:none}
}
