/* ── from portal.html <style id=anon> ── */
.cc-syncpill.saving{color:#a4842b!important;background:#fdf6e3!important;border-color:#ecdfae!important}.cc-syncpill.saved{color:#0e7c66!important;background:#eaf6f1!important;border-color:#bfe3cd!important}

/* ── from portal.html <style id=cw-sync-chip-css> ── */
.cw-sync-chip{display:inline-flex;align-items:center;gap:6px;max-width:min(42vw,320px);padding:5px 11px;border-radius:100px;border:1px solid #cdd3dc;background:#f4f6f9;color:#475467;font:600 10.5px/1.2 Inter,system-ui,sans-serif;letter-spacing:.2px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cw-sync-chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:#94a3b8}
.cw-sync-chip--ok{border-color:#bfe3cd;background:#eaf6f1;color:#0e7c66}.cw-sync-chip--ok .cw-sync-chip-dot{background:#0e7c66}
.cw-sync-chip--warn{border-color:#ecdfae;background:#fdf6e3;color:#92680a}.cw-sync-chip--warn .cw-sync-chip-dot{background:#d97706}
.cw-sync-chip--bad{border-color:#f5c2c2;background:#fef2f2;color:#b42318}.cw-sync-chip--bad .cw-sync-chip-dot{background:#dc2626}
.cw-sync-chip:hover{filter:brightness(.97)}
.cw-sync-chip-txt{overflow:hidden;text-overflow:ellipsis}
@media(max-width:720px){.cw-sync-chip{max-width:38vw;padding:5px 8px;font-size:10px}.cw-sync-chip-txt--long{display:none}}
body.cw-client-portal #cwSyncStatusChip{display:none!important}

/* ── from portal.html <style id=anon> ── */
@keyframes cwBootSpin{to{transform:rotate(360deg)}}

/* ── from portal.html <style id=cw-pp-v4-styles> ── */
.cw-pp-perf{background:rgba(255,255,255,.02);border:1px solid var(--bdr);border-radius:var(--radius-sm);padding:18px 20px;margin-bottom:20px;font-family:var(--font-body,inherit)}
.cw-pp-perf .pp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.cw-pp-perf .pp-title{font-size:15px;font-weight:700;margin:0 0 2px}
.cw-pp-perf .pp-sub{font-size:11px;color:var(--mut)}
.cw-pp-perf .pp-pct{font-size:36px;font-weight:500;letter-spacing:-.5px;margin:6px 0 4px}
.cw-pp-perf .pp-pct.pos{color:#4ade80}
.cw-pp-perf .pp-pct.neg{color:#f87171}
.cw-pp-perf .pp-winlabel{font-size:11px;color:var(--mut);margin-bottom:8px}
.cw-pp-perf .pp-winlabel b{color:var(--tx);font-weight:500}
.cw-pp-perf .pp-bm{font-size:11px;color:var(--sec);padding:6px 0;border-top:1px dashed var(--bdr);border-bottom:1px dashed var(--bdr);margin-bottom:8px}
.cw-pp-perf .pp-bm b{color:var(--tx)}
.cw-pp-perf .pp-bm .alpha{margin-left:6px;padding:1px 6px;border-radius:6px;font-size:10px;font-weight:500}
.cw-pp-perf .pp-bm .alpha.pos{background:rgba(74,222,128,.15);color:#4ade80}
.cw-pp-perf .pp-bm .alpha.neg{background:rgba(248,113,113,.15);color:#f87171}
.cw-pp-perf .pp-ranges{display:flex;gap:2px;margin:8px 0 8px}
.cw-pp-perf .pp-ranges button{flex:1;padding:6px 0;font-size:11px;background:none;border:none;border-radius:12px;cursor:pointer;color:var(--sec);font-family:inherit;font-weight:500}
.cw-pp-perf .pp-ranges button:hover:not(.disabled){background:rgba(255,255,255,.06)}
.cw-pp-perf .pp-ranges button.active{background:#007abb;color:#fff}
.cw-pp-perf .pp-ranges button.disabled{opacity:.4;cursor:not-allowed}
.cw-pp-perf .pp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px 0 6px;border-top:1px solid var(--bdr)}
.cw-pp-perf .pp-stat{text-align:center}
.cw-pp-perf .pp-stat-lbl{font-size:9px;color:var(--mut);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}
.cw-pp-perf .pp-stat-val{font-size:13px;font-weight:500}
.cw-pp-perf .pp-calc{padding:12px 14px;background:rgba(0,122,187,.06);border:1px solid rgba(0,122,187,.3);border-radius:8px;margin-top:12px}
.cw-pp-perf .pp-calc-lbl{font-size:10px;color:var(--mut);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.cw-pp-perf .pp-calc-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cw-pp-perf .pp-calc-row input{background:var(--bg);border:1px solid var(--bdr);color:var(--tx);padding:6px 10px;border-radius:6px;font-family:var(--font-mono,monospace);width:120px;font-size:13px}
.cw-pp-perf .pp-calc-result{font-size:13px;color:var(--sec)}
.cw-pp-perf .pp-calc-result b{color:#4ade80;font-family:var(--font-mono,monospace);font-size:15px;font-weight:600}
.cw-pp-perf .pp-compare{margin-top:10px;font-size:11px;color:var(--sec)}
.cw-pp-perf .pp-compare select{background:var(--bg);border:1px solid var(--bdr);color:var(--tx);padding:4px 8px;border-radius:6px;font-family:inherit;font-size:11px;margin-left:6px}
.cw-pp-perf .pp-compare-row{margin-top:8px;padding:8px 10px;background:rgba(255,255,255,.03);border-radius:6px;display:none}
.cw-pp-perf .pp-compare-row.show{display:block}
.cw-pp-perf .pp-compare-row b{color:var(--tx)}
.cw-pp-perf .pp-factsheet{display:inline-block;margin-top:10px;padding:5px 12px;font-size:11px;color:#007abb;border:1px solid #007abb;border-radius:12px;text-decoration:none}
.cw-pp-perf .pp-factsheet:hover{background:#007abb;color:#fff}
.cw-pp-perf .pp-fs-embed{margin-top:14px;border-top:1px solid var(--bdr);padding-top:14px}
.cw-pp-perf .pp-fs-toggle{background:#007abb;color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:12.5px;font-weight:600;cursor:pointer}
.cw-pp-perf .pp-fs-toggle:hover{background:#005a8a}
.cw-pp-perf .pp-fs-frame{display:none;margin-top:12px}
.cw-pp-perf .pp-fs-frame.show{display:block}

/* ── from portal.html <style id=cw-portal-publication-theme> ── */
/* Body — warm cream paper (apply to portal app shell, NOT iframes/modals) */
.app, body.has-portal-app{
  background:#fafaf7 !important;
}
body{background:#fafaf7}
.main-content{background:#fafaf7}

/* Sidebar — approved light Command Center nav (readable dark text) */
#sidebar, .sidebar{
  background:#ffffff !important;
  border-right:1px solid #e6eaee !important;
  color:#33424f !important;
}
.cw-sb-main{ background:#ffffff !important; }
#sidebar .sidebar-item, .sidebar .sidebar-item,
#sidebar .sidebar-section-label, .sidebar .sidebar-section-label,
#sidebar .cw-sb-foot-toggle, .sidebar .cw-sb-foot-toggle{ color:#33424f !important; }
#sidebar .sidebar-section-label, .sidebar .sidebar-section-label{ color:#6b7a89 !important; }
#sidebar .sidebar-item:hover, .sidebar .sidebar-item:hover{ color:#0d1b2a !important; background:#f4f7fa !important; }
#sidebar .sidebar-item.active, .sidebar .sidebar-item.active{ color:#055e8f !important; }
.sidebar .nav-item, .sidebar a, .sidebar button.sidebar-item{ color:#33424f !important; }
.sidebar h1,.sidebar h2,.sidebar h3,.sidebar h4{font-family:'Newsreader',Georgia,serif !important;letter-spacing:-.01em;color:#0d1b2a !important}
.sidebar .section-label, .sidebar .nav-group-label{
  font-family:'JetBrains Mono',monospace !important;
  font-size:9.5px !important;letter-spacing:2px;text-transform:uppercase;
  color:#6b7a89 !important;font-weight:700;
}

/* V2 view — page headers get magazine-style treatment */
.v2-view{font-family:'Inter',-apple-system,sans-serif;color:#1a1a1a}
.v2-view .page-header{
  position:relative;
  padding:24px 0 20px;
  margin-bottom:24px;
  border-bottom:1px solid var(--cw-hairline);
}
.v2-view .page-header::before{
  content:'';
  position:absolute;
  top:0;left:0;
  width:120px;height:3px;border-radius:3px;
  background:var(--cw-topline);
}
.v2-view .page-header h1{
  font-family:'Newsreader','Times New Roman',Georgia,serif !important;
  font-weight:700 !important;
  font-size:clamp(1.7rem, 2.6vw, 2.3rem) !important;
  letter-spacing:-0.018em !important;
  line-height:1.1 !important;
  color:#0e1116 !important;
  margin-top:6px;
}
.v2-view .page-header .ph-sub{
  font-family:'Newsreader',Georgia,serif !important;
  font-size:.98rem !important;
  color:#525252 !important;
  font-style:italic;
  margin-top:6px;
  line-height:1.5;
  max-width:680px;
}
.v2-view h2{
  font-family:'Newsreader',Georgia,serif !important;
  font-weight:700 !important;
  font-size:1.4rem !important;
  letter-spacing:-.012em !important;
  color:#0e1116 !important;
}
.v2-view h3{
  font-family:'JetBrains Mono',monospace !important;
  font-size:10px !important;letter-spacing:2.2px !important;
  text-transform:uppercase !important;color:var(--cw-muted) !important;
  font-weight:700 !important;
  border-bottom:1px solid var(--cw-hairline) !important;
  padding-bottom:8px;margin:10px 0 14px;
}
.v2-view h3::before{
  content:'';display:inline-block;width:16px;height:1px;
  background:var(--cw-brand);margin-right:10px;vertical-align:middle;border-radius:0 !important;
}

/* Cards — airy white, cool hairline, brand-blue top line, rounded (Sean Jul 14: cool/blue, not warm/sharp) */
.v2-view .card{
  background:#ffffff !important;
  border:1px solid var(--cw-hairline) !important;
  border-top:2.5px solid var(--cw-brand) !important;
  border-radius:var(--cw-card-radius) !important;
  padding:20px 22px !important;
  box-shadow:0 1px 2px rgba(21,34,50,.045) !important;
  transition:border-color .2s ease, box-shadow .2s ease !important;
}
.v2-view .card:hover{
  border-top-color:var(--cw-brand-strong) !important;
  box-shadow:0 6px 20px rgba(0,122,187,.10) !important;
}
.v2-view .card.warn{background:rgba(180,99,28,.04) !important;border-top-color:#b4631c !important}
.v2-view .card.bad,.v2-view .card.urgent{background:rgba(202,33,39,.04) !important;border-top-color:#ca2127 !important}
.v2-view .card.good{background:rgba(14,124,102,.04) !important;border-top-color:#0e7c66 !important}

/* KPI cards — newspaper bond-table feel */
.v2-view .kpi .label{
  font-family:'JetBrains Mono',monospace !important;
  font-size:9.5px !important;letter-spacing:1.8px;text-transform:uppercase;
  color:var(--cw-muted) !important;font-weight:700;
}
.v2-view .kpi .val{
  font-family:'Newsreader',Georgia,serif !important;
  font-size:1.85rem !important;font-weight:700 !important;
  letter-spacing:-.012em !important;color:#0e1116 !important;
  line-height:1.05;
}
.v2-view .kpi .sub{
  font-family:'Inter',sans-serif !important;
  font-size:11.5px !important;color:#525252 !important;
}

/* Tables — magazine hairlines */
.v2-view table{
  border-collapse:collapse !important;
  border-top:1px solid #1a1a1a !important;
  border-bottom:1px solid #1a1a1a !important;
}
.v2-view th{
  background:transparent !important;
  font-family:'JetBrains Mono',monospace !important;
  font-size:9.5px !important;
  letter-spacing:1.8px !important;
  text-transform:uppercase !important;
  color:#7a6635 !important;
  font-weight:700 !important;
  border-bottom:1px solid #1a1a1a !important;
  padding:10px 12px !important;
}
.v2-view td{
  border-bottom:1px solid #ece8db !important;
  border-left:none !important;border-right:none !important;
  font-family:'Inter',sans-serif !important;
  font-size:13px !important;
  padding:11px 12px !important;
  color:#1a1a1a !important;
}
.v2-view tr:last-child td{border-bottom:none !important}
.v2-view tr:hover td{background:rgba(0,122,187,.04) !important}
.v2-view td.mono, .v2-view .mono{font-family:'JetBrains Mono',monospace !important;font-size:12px}
.v2-view td.editable:hover{background:rgba(201,161,74,.10) !important}

/* Buttons — flat blue primary, ink outline, gold tertiary */
.v2-view .btn{
  background:#007abb !important;color:#fff !important;
  border:1px solid #007abb !important;border-radius:0 !important;
  font-family:'JetBrains Mono',monospace !important;
  font-size:10.5px !important;letter-spacing:1.4px !important;
  font-weight:700 !important;text-transform:uppercase !important;
  padding:10px 18px !important;
  transition:all .2s !important;box-shadow:0 2px 8px rgba(0,122,187,.18) !important;
}
.v2-view .btn:hover{background:#005d8e !important;border-color:#005d8e !important;transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,122,187,.28) !important}
.v2-view .btn.ghost{
  background:transparent !important;color:#1a1a1a !important;
  border:1px solid #1a1a1a !important;box-shadow:none !important;
}
.v2-view .btn.ghost:hover{background:#1a1a1a !important;color:#fafaf7 !important;border-color:#1a1a1a !important;transform:translateY(-1px)}
.v2-view .btn.gold{
  background:#c9a14a !important;border-color:#c9a14a !important;color:#0e1116 !important;
}
.v2-view .btn.gold:hover{background:#b4892f !important;border-color:#b4892f !important}
.v2-view .btn.good{background:#0e7c66 !important;border-color:#0e7c66 !important}
.v2-view .btn.bad,.v2-view .btn.warn{background:#ca2127 !important;border-color:#ca2127 !important}
.v2-view .btn.sm{padding:5px 11px !important;font-size:9.5px !important;letter-spacing:1px !important}

/* Chips — typography refresh */
.v2-view .chip{
  background:#fff !important;border:1px solid #1a1a1a !important;
  border-radius:0 !important;
  font-family:'JetBrains Mono',monospace !important;
  font-size:10px !important;letter-spacing:1.2px !important;
  text-transform:uppercase !important;color:#1a1a1a !important;
  padding:6px 12px !important;font-weight:700 !important;
}
.v2-view .chip:hover{background:#1a1a1a !important;color:#fafaf7 !important}
.v2-view .chip.active{background:#007abb !important;color:#fff !important;border-color:#007abb !important}

/* Pills — stage badges keep colors, refine type */
.v2-view .pill{
  font-family:'JetBrains Mono',monospace !important;
  font-size:9.5px !important;letter-spacing:1.2px !important;
  text-transform:uppercase !important;font-weight:700 !important;
  border-radius:0 !important;padding:3px 8px !important;
}

/* Banners — magazine callout style */
.v2-view .banner{
  border-radius:0 !important;
  border-left:3px solid !important;border-top:none !important;
  border-right:none !important;border-bottom:none !important;
  background:#ffffff !important;
  padding:14px 18px !important;box-shadow:0 1px 0 rgba(26,26,26,.04);
}
.v2-view .banner.urgent{border-left-color:#ca2127 !important;background:rgba(202,33,39,.04) !important}
.v2-view .banner.warn{border-left-color:#b4631c !important;background:rgba(180,99,28,.04) !important}
.v2-view .banner.info{border-left-color:#007abb !important;background:rgba(0,122,187,.04) !important}
.v2-view .banner.good{border-left-color:#0e7c66 !important;background:rgba(14,124,102,.04) !important}
.v2-view .banner .b-title{
  font-family:'Newsreader',Georgia,serif !important;
  font-size:.98rem !important;font-weight:700 !important;
  letter-spacing:-.01em !important;color:#0e1116 !important;
}
.v2-view .banner .b-detail{
  font-family:'Inter',sans-serif !important;
  font-size:12.5px !important;color:#3a3a3a !important;
}

/* Inputs — minimal magazine feel */
.v2-view input,.v2-view select,.v2-view textarea{
  background:#fff !important;
  border:1px solid #d4cdb8 !important;border-radius:0 !important;
  font-family:'Inter',sans-serif !important;font-size:13px !important;
  color:#1a1a1a !important;padding:8px 10px !important;
}
.v2-view input:focus,.v2-view select:focus,.v2-view textarea:focus{
  border-color:#007abb !important;
  box-shadow:0 0 0 2px rgba(0,122,187,.18) !important;outline:none !important;
}
.v2-view label{
  font-family:'JetBrains Mono',monospace !important;
  font-size:9.5px !important;letter-spacing:1.8px !important;
  text-transform:uppercase !important;color:#7a6635 !important;
  font-weight:700 !important;
}

/* Lead-call-result quick-buttons */
.v2-view .qcr{display:inline-flex;gap:4px;flex-wrap:wrap}
.v2-view .qcr button{
  font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:1px;
  text-transform:uppercase;font-weight:700;padding:4px 8px;border-radius:0;
  border:1px solid #d4cdb8;background:#fff;color:#1a1a1a;cursor:pointer;
  transition:all .15s;
}
.v2-view .qcr button:hover{background:#1a1a1a;color:#fafaf7;border-color:#1a1a1a}
.v2-view .qcr button.cr-conn:hover{background:#0e7c66;border-color:#0e7c66;color:#fff}
.v2-view .qcr button.cr-vm:hover{background:#b4631c;border-color:#b4631c;color:#fff}
.v2-view .qcr button.cr-na{}
.v2-view .qcr button.cr-wrong:hover{background:#ca2127;border-color:#ca2127;color:#fff}

/* Lead row notes — expandable */
.v2-view .leadnote{font-family:'Inter',sans-serif;font-size:12px;color:#3a3a3a;max-width:280px;line-height:1.45}
.v2-view .leadnote.collapsed{max-height:34px;overflow:hidden;cursor:pointer;position:relative}
.v2-view .leadnote.collapsed::after{content:'…';position:absolute;right:0;bottom:0;background:#fff;padding-left:6px}

/* Tel link styling — make it obvious it's tappable on mobile */
.v2-view a[href^="tel:"]{
  font-family:'JetBrains Mono',monospace;font-size:12.5px;
  color:#007abb !important;text-decoration:none;font-weight:600;
  letter-spacing:.4px;
}
.v2-view a[href^="tel:"]:hover{text-decoration:underline}

/* Today's-call-list strip — magazine masthead at top of Leads */
.v2-view .callstrip{
  background:#0e1116;color:#fafaf7;
  border-left:3px solid #c9a14a;
  padding:14px 22px;margin-bottom:18px;
  display:flex;gap:32px;flex-wrap:wrap;align-items:center;
}
.v2-view .callstrip .label{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;letter-spacing:2.4px;text-transform:uppercase;
  color:#c9a14a;font-weight:700;
}
.v2-view .callstrip .metric{display:flex;flex-direction:column;gap:2px}
.v2-view .callstrip .metric .v{
  font-family:'Newsreader',Georgia,serif;
  font-size:1.4rem;font-weight:700;color:#fafaf7;letter-spacing:-.02em;line-height:1;
}
.v2-view .callstrip .metric .lb{
  font-family:'JetBrains Mono',monospace;
  font-size:9px;letter-spacing:1.6px;text-transform:uppercase;color:#9ca3af;font-weight:600;
}

/* Stage section — Active Deals stacked-by-stage layout */
.v2-view .stage-section{margin-bottom:30px}
.v2-view .stage-section .stage-head{
  display:flex;align-items:baseline;gap:14px;padding:8px 0;
  border-top:1px solid #1a1a1a;border-bottom:1px solid #e7e2d4;
  margin-bottom:14px;
}
.v2-view .stage-section .stage-head .label{
  font-family:'Newsreader',Georgia,serif;font-size:1.15rem;font-weight:700;
  letter-spacing:-.012em;color:#0e1116;
}
.v2-view .stage-section .stage-head .cnt{
  font-family:'JetBrains Mono',monospace;font-size:10px;
  letter-spacing:1.6px;text-transform:uppercase;color:#7a6635;font-weight:700;margin-left:auto;
}

/* Pipeline summary row */
.v2-view .pipeline-summary{
  font-family:'JetBrains Mono',monospace;font-size:11px;
  letter-spacing:1.2px;text-transform:uppercase;color:#525252;
  padding:8px 0;margin-bottom:10px;font-weight:600;
}
.v2-view .pipeline-summary b{color:#0e1116;font-size:13px}

/* ── from portal.html <style id=anon> ── */
.cwday{border-top:1px solid var(--bdr-l,#eef1f4)}
.cwday-row{display:flex;min-height:40px;border-bottom:1px solid var(--bdr-l,#eef1f4)}
.cwday-row.now{background:rgba(0,122,187,.04)}
.cwday-time{width:54px;flex:0 0 54px;font-size:11px;color:#9aa4af;padding:7px 9px;text-align:right;font-family:var(--font-mono,monospace);white-space:nowrap}
.cwday-slot{flex:1;padding:4px 8px;display:flex;flex-direction:column;gap:4px;justify-content:center}
.cwday-ev{background:rgba(0,122,187,.10);border-left:3px solid #007abb;border-radius:7px;padding:6px 11px;font-size:12.5px;color:#1f2937;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cwday-ev.calendly{background:rgba(14,124,102,.10);border-left-color:#0e7c66}
.cwday-ev .cwday-et{font-family:var(--font-mono,monospace);font-size:11px;color:#007abb;font-weight:700}
.cwday-ev.calendly .cwday-et{color:#0e7c66}
.cwday-empty{padding:20px;text-align:center;color:#8a949e;font-size:13px;background:#f7fafc;border-radius:8px}

/* ── from portal.html <style id=anon> ── */
.cw-deals.cw-hide-comm .cw-comm{display:none}.cw-deals.cw-hide-comm{min-width:760px!important}

/* ── from portal.html <style id=anon> ── */
@media(max-width:820px){#ghl_layout,#ghl_layout_embed{grid-template-columns:1fr!important}}

/* ── from portal.html <style id=anon> ── */
.cwcal-wrap{--cwline:#e9edf2}
.cwcal-grid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--cwline)}
.cwcal-grid>div{background:#fff}
.cwcal-day{min-height:104px;padding:6px 7px;position:relative;transition:background .12s}
.cwcal-day:hover{background:#f7fafc}
.cwcal-day.out{background:#fafbfc}
.cwcal-dn{font-size:12px;font-weight:600;color:#5b6671;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.cwcal-day.today .cwcal-dn{background:#007abb;color:#fff;font-weight:800}
.cwcal-ev{margin-top:4px;font-size:10.5px;line-height:1.3;padding:3px 7px;border-radius:6px;font-weight:600;display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cwcal-ev .dot{width:6px;height:6px;border-radius:50%;flex:0 0 auto}
.cwcal-head{display:grid;grid-template-columns:repeat(7,1fr);background:#fff;border-bottom:1px solid var(--cwline);font-size:11px;font-weight:700;color:#8a949e;text-transform:uppercase;letter-spacing:.5px}
.cwcal-head>div{padding:10px 9px}
.cwcal-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:680px){.cwcal-head,.cwcal-grid{min-width:600px}.cwcal-day{min-height:84px}}

/* ── from portal.html <style id=anon> ── */
.mcal-wrap{--ln:#e9edf2}
.mcal-head,.mcal-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.mcal-head{background:#fff;border-bottom:1px solid var(--ln);font-size:11px;font-weight:700;color:#8a949e;text-transform:uppercase;letter-spacing:.5px}
.mcal-head>div{padding:9px}
.mcal-grid{background:var(--ln)}
.mcal-day{background:#fff;min-height:96px;padding:5px 6px;cursor:pointer;transition:background .12s}
.mcal-day:hover{background:#f6fafc}.mcal-day.out{background:#fafbfc;cursor:default}.mcal-day.sel{background:rgba(0,122,187,.06);box-shadow:inset 0 0 0 2px #007abb}
.mcal-dn{font-size:12px;font-weight:600;color:#5b6671;width:23px;height:23px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.mcal-day.today .mcal-dn{background:#007abb;color:#fff;font-weight:800}
.mcal-ev{margin-top:3px;font-size:10px;line-height:1.25;padding:2px 6px;border-radius:5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px}
.mcal-ev .d{width:6px;height:6px;border-radius:50%;flex:0 0 auto}
.mcal-scroll{overflow-x:auto}@media(max-width:680px){.mcal-head,.mcal-grid{min-width:600px}}

/* ── from portal.html <style id=anon> ── */
.cw-cpw table{width:100%;border-collapse:collapse}.cw-cpw th{color:#475467 !important;font-size:12px !important;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:8px 12px;border-bottom:2px solid #e7e9ee;text-align:left}.cw-cpw td{color:#0b2942 !important;font-size:14px !important;padding:11px 12px;border-bottom:1px solid #eef0f3}.cw-cpw tbody tr:hover{background:#f7f9fb}.cw-cpw .muted{color:#667085 !important}.cw-cpw .small.muted{font-size:13px !important;color:#475467 !important}.cw-cpw .pill{font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px}.cw-cpw .pill.active{background:#dcfce7;color:#15803d}.cw-cpw .pill.nigo{background:#fde8e8;color:#b42318}.cw-cpw .pill.prop{background:rgba(0,122,187,.12);color:#007abb}.cw-cpw .pill.client{background:rgba(14,124,102,.12);color:#0e7c66}.cw-cpw .btn.ghost.sm{border:1px solid #cdd3dc;background:#fff;color:#0b2942;font-weight:600;padding:5px 14px;border-radius:8px;cursor:pointer}.cw-cpw .btn.ghost.sm:hover{background:#0b2942;color:#fff;border-color:#0b2942}.cw-cpw-alert{background:#fff7ed;border:1px solid #f5c78a;border-radius:10px;padding:12px 14px;margin-bottom:12px;color:#9a3412;font-size:13px;line-height:1.45}

/* ── from portal.html <style id=anon> ── */
@keyframes cwBreath{0%{transform:scale(.6)}25%{transform:scale(1)}50%{transform:scale(1)}75%{transform:scale(.6)}100%{transform:scale(.6)}}

/* ── from portal.html <style id=anon> ── */
.cc-pending .ccpend-add{margin-top:14px;background:#f7fafc;border:1px solid #e6eef7;border-radius:12px;padding:12px 13px}
.cc-pending .ccpend-input{display:block;width:100%;box-sizing:border-box;padding:11px 14px;border:1px solid #cdd8e2;border-radius:9px;font:14px Inter;color:#0d1b2a;background:#fff}
.cc-pending .ccpend-input::placeholder{color:#9aa7b4}
.cc-pending .ccpend-input:focus{outline:none;border-color:#007abb;box-shadow:0 0 0 3px rgba(0,122,187,.14)}
.cc-pending .ccpend-row2{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}
.cc-pending .ccpend-lane-lbl{display:inline-flex;align-items:center;gap:7px;font:600 12px Inter;color:#5f7184}
.cc-pending .ccpend-lane{padding:8px 10px;border:1px solid #cdd8e2;border-radius:8px;font:13px Inter;color:#33424f;background:#fff}
.cc-pending .ccpend-addbtn{margin-left:auto;background:#007abb;color:#fff;border:none;border-radius:9px;padding:10px 20px;font:700 13px Inter;cursor:pointer}
.cc-pending .ccpend-addbtn:hover{background:#006aa3}
.cc-pending .ccpend-foot{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:10px;font:11.5px Inter;color:#8a98a8;line-height:1.5}
.cc-pending .ccpend-foot b{color:#5f7184}
.cc-pending .ccpend-synced{white-space:nowrap;color:#aeb8c2}

/* ── from portal.html <style id=cwSecureV119> ── */
#cwSecurePlan{position:fixed;inset:0;z-index:99999;background:#0b1722;display:flex;flex-direction:column}
#cwSecurePlan .cwsp-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;color:#fff;font:600 13px/1.3 Inter,system-ui;flex-wrap:wrap}
#cwSecurePlan .cwsp-bar button{background:#1d3a52;color:#fff;border:0;border-radius:8px;padding:8px 16px;font:600 13px Inter;cursor:pointer}
#cwSecurePlan .cwsp-sync{font:500 11px/1.3 Inter,system-ui;color:#4ade80;margin-left:auto}
#cwSecurePlan .cwsp-stage{position:relative;flex:1;overflow:hidden}
#cwSecurePlan iframe{width:100%;height:100%;border:0;background:#fff}
#cwSecurePlan .cwsp-wm{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center;opacity:.10;font:800 6vw/1 Inter,system-ui;color:#0b2942;transform:rotate(-24deg);white-space:nowrap}
.cw-cpw{overflow-x:auto}
.cw-cpw table{min-width:480px}
.cw-pw-plain{font-family:var(--font-mono,ui-monospace,monospace);background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:2px 8px;font-size:13px;color:#0b2942}
.cw-pw-copy{margin:0 6px;border:1px solid #cdd3dc;background:#fff;border-radius:6px;padding:2px 8px;font-size:11px;cursor:pointer;color:#0b2942}
@media(max-width:640px){#cwSecurePlan .cwsp-wm{font-size:9vw}}
/* Chat compose bar — message box wide, recipient dropdown compact */
.cc-chatbar{display:flex !important;gap:8px;align-items:center;flex-wrap:wrap}
.cc-chatbar .cc-dispo{flex:0 0 auto !important;width:170px !important;max-width:42% !important;font-size:13px !important;padding:0 10px !important;min-height:48px !important;border-radius:10px !important}
.cc-chatbar .cc-chatinput{flex:1 1 240px !important;min-width:0 !important;min-height:48px !important;font-size:15px !important}
.cc-chatbar .cc-report{flex:0 0 auto !important}
@media(max-width:560px){.cc-chatbar .cc-dispo{width:100% !important;max-width:none !important;order:-1}.cc-chatbar .cc-chatinput{flex:1 1 100% !important}.cc-chatbar .cc-report{flex:1 1 100% !important}}

/* ── from portal.html <style id=cwPermCss> ── */
.cw-perm-tbl{width:100%;border-collapse:collapse;min-width:520px}
.cw-perm-tbl th{font:700 12px Inter,system-ui;color:#475467;text-transform:uppercase;letter-spacing:.4px;padding:9px 10px;border-bottom:2px solid #e7e9ee}
.cw-perm-tbl td{font:14px Inter,system-ui;color:#0b2942;padding:9px 10px;border-bottom:1px solid #eef0f3}
.cw-perm-tbl tbody tr:hover{background:#f7f9fb}
.cw-perm-tbl input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#007abb}
.cw-perm-wrap{overflow-x:auto}
.cw-perm .title{display:flex;align-items:center;gap:8px}

/* ── from portal.html <style id=cwHazeTheme> ── */
.main-content:has(.stats-grid){background:
  radial-gradient(900px 520px at 10% -8%,rgba(0,122,187,.12),transparent 60%),
  radial-gradient(820px 520px at 98% 6%,rgba(95,197,240,.12),transparent 55%),
  radial-gradient(760px 620px at 72% 105%,rgba(75,46,92,.07),transparent 60%),
  linear-gradient(165deg,#f5f9fd 0%,#eef4fb 55%,#f7f4fb 100%) !important;}
.dashboard-header h1,.dashboard-header h2{color:#0b2942 !important;font-weight:800;letter-spacing:-.3px}
.stats-grid{gap:16px !important}
.stat-card{background:linear-gradient(135deg,#ffffff,#fbfdff) !important;border:1px solid #e6eef7 !important;border-radius:16px !important;box-shadow:0 8px 26px -14px rgba(0,122,187,.22) !important;position:relative;overflow:hidden;padding:18px !important;transition:transform .15s,box-shadow .15s}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px -14px rgba(0,122,187,.30) !important}
.stat-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#007abb,#5fc5f0)}
.stat-card.gold:before{background:linear-gradient(90deg,#d4a42a,#f0c64e)}
.stat-card.green:before{background:linear-gradient(90deg,#0e7c66,#34d399)}
.stat-card.blue:before{background:linear-gradient(90deg,#007abb,#5fc5f0)}
.stat-card.purple:before{background:linear-gradient(90deg,#4b2e5c,#9b6fb0)}
.stat-val{color:#0b2942 !important;font-weight:800 !important}
.stat-label{color:#5f7184 !important;text-transform:uppercase;letter-spacing:.5px;font-size:11px !important}
.recent-activity{background:linear-gradient(135deg,#ffffff,#fbfdff) !important;border:1px solid #e6eef7 !important;border-radius:16px !important;box-shadow:0 8px 26px -16px rgba(0,122,187,.18) !important;padding:18px !important}
.recent-activity h2,.recent-activity h3{color:#0b2942 !important}

/* ── from portal.html <style id=cwWbV4Css> ── */
#wbView{padding:4px 2px 40px}
#wbView .wbv-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px}
#wbView .wbv-search{flex:1 1 260px;min-width:0;border:1px solid #d8e0ea;border-radius:10px;padding:11px 14px;font:15px Inter}
#wbView table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e6eef7;border-radius:14px;overflow:hidden}
#wbView th{font:700 11px Inter;text-transform:uppercase;letter-spacing:.4px;color:#5f7184;text-align:left;padding:10px 12px;border-bottom:2px solid #eef2f7}
#wbView td{font:14px Inter;color:#0b2942;padding:9px 12px;border-bottom:1px solid #f1f4f8}
#wbView tbody tr:hover{background:#f7fafd}
.wbv-btn{background:#007abb;color:#fff;border:0;border-radius:10px;padding:9px 16px;font:600 13px Inter;cursor:pointer}

/* ── from portal.html <style id=cwPipeCss> ── */
#pipeView{padding:6px 2px 50px}
#pipeView .pv-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:6px}
#pipeView .pv-toggle button{border:1px solid #cdd8e6;background:#fff;color:#0b2942;padding:7px 14px;font:600 13px Inter;cursor:pointer}
#pipeView .pv-toggle button.on{background:#007abb;color:#fff;border-color:#007abb}
#pipeView .pv-toggle button:first-child{border-radius:9px 0 0 9px}
#pipeView .pv-toggle button:last-child{border-radius:0 9px 9px 0;border-left:0}
#pipeView .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin:18px 0 22px}
#pipeView .tile{background:#fff;border:1px solid #e6eef7;border-radius:16px;padding:18px 16px;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 6px 20px -14px rgba(0,122,187,.25);transition:transform .12s,box-shadow .12s;min-height:104px}
#pipeView .tile:hover{transform:translateY(-2px);box-shadow:0 12px 26px -14px rgba(0,122,187,.35)}
#pipeView .tile.sel{outline:3px solid #007abb;outline-offset:1px}
#pipeView .tile:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--tc,#007abb)}
#pipeView .tile .tn{font:800 38px/1 Inter;color:#0b2942;margin-top:6px}
#pipeView .tile .tl{font:700 13px Inter;color:#5f7184;text-transform:uppercase;letter-spacing:.5px;margin-top:8px}
#pipeView .tile .ts{font:500 11px Inter;color:#98a2b3;margin-top:3px}
#pipeView .pv-search{width:100%;border:1px solid #d8e0ea;border-radius:10px;padding:11px 14px;font:15px Inter;margin-bottom:10px}
#pipeView table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e6eef7;border-radius:14px;overflow:hidden}
#pipeView th{font:700 11px Inter;text-transform:uppercase;letter-spacing:.4px;color:#5f7184;text-align:left;padding:10px 12px;border-bottom:2px solid #eef2f7}
#pipeView td{font:14px Inter;color:#0b2942;padding:8px 12px;border-bottom:1px solid #f1f4f8}
#pipeView select,#pipeView input[type=date]{border:1px solid #cdd8e6;border-radius:8px;padding:5px 8px;font:13px Inter}
#pipeView .cw-oc{border:1px solid #cdd8e6;border-radius:8px;padding:5px 8px;font:12px Inter}
#pipeView .cw-oc.oc-no{background:#fbecec;border-color:#f0c9c9;color:#b42318;font-weight:700}
#pipeView .cw-oc.oc-yes{background:#e7f7ee;border-color:#bfe6d4;color:#0e7c66;font-weight:700}
#pipeView .cw-oc.oc-re{background:#fff5e6;border-color:#eccfa8;color:#9a5a14;font-weight:700}
#pipeView .pv-ns{border:1px solid #f0c9c9;background:#fff;color:#b42318;border-radius:9px;padding:7px 14px;font:600 13px Inter;cursor:pointer;margin-left:8px}
#pipeView .pv-ns.on{background:#b42318;color:#fff;border-color:#b42318}

/* ── from portal.html <style id=cwDealsCss> ── */
#dealView{padding:6px 2px 50px}
#dealView .dv-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:6px}
#dealView .stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:16px 0 20px}
#dealView .stat{background:#fff;border:1px solid #e6eef7;border-radius:16px;padding:16px 18px;box-shadow:0 6px 20px -14px rgba(0,122,187,.25);position:relative;overflow:hidden}
#dealView .stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--sc,#007abb)}
#dealView .stat .sv{font:800 26px/1 Inter;color:#0b2942}
#dealView .stat .sl{font:700 11px Inter;text-transform:uppercase;letter-spacing:.5px;color:#5f7184;margin-top:7px}
#dealView .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:6px 0 20px}
#dealView .tile{background:#fff;border:1px solid #e6eef7;border-radius:14px;padding:14px 14px;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 6px 18px -14px rgba(0,122,187,.25);transition:transform .12s}
#dealView .tile:hover{transform:translateY(-2px)}
#dealView .tile.sel{outline:3px solid #007abb;outline-offset:1px}
#dealView .tile:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:#007abb}
#dealView .tile .tn{font:800 30px/1 Inter;color:#0b2942}
#dealView .tile .tsub{font:600 12px Inter;color:#0e7c66;margin-top:5px}
#dealView .tile input{margin-top:8px;width:100%;border:1px solid #dde6f0;border-radius:7px;padding:5px 7px;font:600 12px Inter;color:#0b2942;background:#f7fafd}
#dealView .pv-search{width:100%;border:1px solid #d8e0ea;border-radius:10px;padding:11px 14px;font:15px Inter;margin-bottom:10px}
#dealView table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e6eef7;border-radius:14px;overflow:hidden}
#dealView th{font:700 11px Inter;text-transform:uppercase;letter-spacing:.4px;color:#5f7184;text-align:left;padding:10px 12px;border-bottom:2px solid #eef2f7;cursor:pointer}
#dealView td{font:14px Inter;color:#0b2942;padding:8px 12px;border-bottom:1px solid #f1f4f8}
#dealView .amt{font:700 14px Inter;color:#0e7c66}
#dealView .pill{font:700 10.5px Inter;border-radius:9px;padding:2px 8px;color:#fff}

/* ── from portal.html <style id=cwBlueTheme> ── */
/* wider sidebar — drives BOTH .sidebar width and .main-content margin via the shared var */
:root{ --sidebar-w:272px !important; }
/* Sidebar layout + collapse carets — light readable theme (overrides old dark gradient) */
#sidebar, .sidebar{ background:#ffffff !important; border-right:1px solid #e6eaee !important; display:flex !important; flex-direction:column !important; overflow:hidden !important; z-index:120 !important; }
.cw-sb-main{ flex:1 !important; min-height:0 !important; overflow-y:auto !important; overflow-x:hidden !important; background:#ffffff !important; }
.cw-sb-foot{ flex-shrink:0 !important; border-top:1px solid #e6eaee !important; background:#f4f7fa !important; }
.cw-sb-foot-toggle{ color:#4a5a6a !important; }
.cw-sb-foot-toggle:hover{ background:#eef4f8 !important; color:#0d1b2a !important; }
.cw-sb-foot-status{ background:#eef2f6 !important; color:#6b7a89 !important; border-top:1px solid #e6eaee !important; }
.cw-sb-foot-body{ display:none !important; }
.cw-sb-foot-body.open{ display:block !important; }
.cw-sb-foot .client-list{ max-height:120px !important; }
#sidebar .sidebar-item, .sidebar .sidebar-item{ color:#33424f !important; border-radius:9px; margin:2px 10px; padding:9px 12px !important; font-size:13.5px !important; transition:background .12s; background:transparent !important; }
#sidebar .sidebar-item .icon svg, .sidebar .sidebar-item .icon svg{ stroke:currentColor !important; color:inherit !important; }
.sidebar-item .icon{ filter:none; font-size:19px !important; width:24px !important }
#sidebar .sidebar-section-label, .sidebar .sidebar-section-label{ font-size:9.5px !important; font-weight:700 !important; letter-spacing:1.2px !important; padding:10px 12px 4px !important; color:#6b7a89 !important; text-transform:uppercase }
.sidebar .badge,.sidebar-item .badge{ font-size:11px !important; padding:2px 8px !important }
#sidebar .sidebar-item:hover, .sidebar .sidebar-item:hover{ background:#f4f7fa !important; color:#0d1b2a !important; }
#sidebar .sidebar-item.active, .sidebar .sidebar-item.active{ background:rgba(0,122,187,.09) !important; color:#055e8f !important; font-weight:600 !important; border-left:3px solid #007abb !important; box-shadow:none !important; }
#cwNavPinned .sidebar-item{ color:#33424f !important; background:linear-gradient(180deg,#f8fbfd,#f2f7fb) !important; border:1px solid #e3ebf3 !important; }
#cwNavPinned .sidebar-item.active{ color:#055e8f !important; background:rgba(0,122,187,.1) !important; }
.sidebar-section-label{ cursor:pointer; user-select:none; transition:color .12s }
.sidebar-section-label:before{ font-size:11px !important }
#sidebar .sidebar-section-label:hover, .sidebar .sidebar-section-label:hover{ color:#33424f !important; background:#f4f7fa !important; }
.sidebar-section-label:before{ content:"▾"; font-size:9px; opacity:.7; margin-right:6px; display:inline-block }
.sidebar-section-label.cw-coll:before{ content:"▸" }
.sidebar-item.cw-hide{ display:none !important }
.sidebar .badge,.sidebar-item .badge{ background:#eef1f5 !important; color:#6b7a89 !important; }
#sidebar .sidebar-item.active .badge, .sidebar .sidebar-item.active .badge{ background:#007abb !important; color:#fff !important; }
#sidebar .sidebar-label, .sidebar .sidebar-label{ color:#6b7a89 !important; }
#sidebar .sidebar-brand, #sidebar .sidebar-brand *{ color:#0d1b2a !important; }
#sidebar .sidebar-brand span[style*="5fb3e0"]{ color:#007abb !important; }
#cwNavSearch{ color:#33424f !important; background:#f7fafc !important; }
/* brand mark in sidebar header */
.sidebar .nav-logo-mark,.sidebar-logo-mark{ background:linear-gradient(135deg,#007abb,#1e9bd7) !important }

/* ── from portal.html <style id=cwClientPortalFix> ── */
/* Client portal: no admin sidebar, top nav, ticker, or chart legends */
html.cw-client-portal #sidebar,
html.cw-client-portal .sidebar,
body.cw-client-portal #sidebar,
body.cw-client-portal .sidebar,
body.cw-client-portal #cwSidebarMain,
body.cw-client-portal #cwSidebarFoot,
body.cw-client-portal #portalNav,
body.cw-client-portal .site-nav,
body.cw-client-portal .cw-staff-hidden,
#portalApp.cw-client-portal #sidebar{ display:none !important; visibility:hidden !important; width:0 !important; max-width:0 !important; min-width:0 !important; overflow:hidden !important; pointer-events:none !important; opacity:0 !important; position:absolute !important; left:-10000px !important; height:0 !important; }
html.cw-client-portal .portal,
body.cw-client-portal .portal,
#portalApp.cw-client-portal{ padding-top:0 !important; }
html.cw-client-portal .main-content,
body.cw-client-portal .main-content,
#portalApp.cw-client-portal .main-content{ margin-left:0 !important; width:100% !important; max-width:100% !important; }
body.cw-client-portal #portalNav,
body.cw-client-portal .site-nav{ display:none !important; visibility:hidden !important; height:0 !important; overflow:hidden !important; pointer-events:none !important; }
body.cw-client-portal div:has(> .tradingview-widget-container){ display:none !important; }
body.cw-client-portal .alloc-legend,
body.cw-client-portal .snap-legend{ display:none !important; }

/* ── from portal.html <style id=cwTeleChat> ── */
.cc-chatwrap{ background:#dfe7ee !important; border:0 !important; border-radius:16px !important; padding:18px 16px !important; }
.cc-chatrow{ display:flex !important; margin:7px 0 !important; }
.cc-chatrow.own{ justify-content:flex-end !important; }
.cc-chatbub{ max-width:72% !important; background:#ffffff !important; border-radius:16px 16px 16px 4px !important; padding:8px 13px !important; box-shadow:0 1px 1.5px rgba(16,24,40,.12) !important; font:14px/1.45 Inter,system-ui !important; color:#0b2942 !important; }
.cc-chatrow.own .cc-chatbub{ background:linear-gradient(135deg,#1e9bd7,#007abb) !important; color:#fff !important; border-radius:16px 16px 4px 16px !important; }
.cc-chatmeta{ font:600 10.5px Inter !important; opacity:.7 !important; margin-bottom:3px !important; color:#5f7184 !important; }
.cc-chatrow.own .cc-chatmeta{ color:#dcefff !important; opacity:.9 !important; }
.cc-chatbar{ display:flex !important; gap:8px; align-items:center; margin-top:12px !important; }
.cc-chatinput{ flex:1 1 auto !important; border-radius:22px !important; border:1px solid #cdd8e6 !important; padding:12px 18px !important; font-size:15px !important; background:#fff !important; }
.cc-dispo{ border-radius:22px !important; padding:0 12px !important; min-height:46px !important; border:1px solid #cdd8e6 !important; }
.cc-chatbar .cc-report{ border-radius:50% !important; width:46px !important; height:46px !important; padding:0 !important; background:linear-gradient(135deg,#1e9bd7,#007abb) !important; color:#fff !important; font-size:0 !important; position:relative; flex:0 0 auto; }
.cc-chatbar .cc-report:after{ content:""; font-size:18px; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.cc-hero-kick{ color:#1e9bd7 !important }

/* ── from portal.html <style id=cwDialCss> ── */
a.cw-dial{ display:inline-flex; align-items:center; gap:6px; font:700 14px Inter; color:#007abb; text-decoration:none; background:#eaf5fc; border:1px solid #cfe6f5; border-radius:9px; padding:4px 10px; white-space:nowrap; transition:background .12s,transform .08s }
a.cw-dial:hover{ background:#007abb; color:#fff; border-color:#007abb }
a.cw-dial:active{ transform:scale(.97) }
a.cw-dial:before{ content:""; font-size:13px }
.cw-nodial{ color:#b6c0cc; font:13px Inter }
a.cw-mail{ display:inline-flex; align-items:center; gap:6px; font:600 13px Inter; color:#0e7c66; text-decoration:none; background:#e9f6f1; border:1px solid #cce8dd; border-radius:9px; padding:4px 10px; white-space:nowrap; transition:background .12s,transform .08s }
a.cw-mail:hover{ background:#0e7c66; color:#fff; border-color:#0e7c66 }
a.cw-mail:active{ transform:scale(.97) }
a.cw-mail:before{ content:""; font-size:12px }
.cw-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:6px }
.cw-ptype{ font:700 10.5px Inter; border-radius:8px; padding:2px 8px; white-space:nowrap }
.cw-ptype.mob{ background:#e7f7ee; color:#0e7c66; border:1px solid #bfe6d4 }
.cw-ptype.land{ background:#fbeee0; color:#9a5a14; border:1px solid #eccfa8 }
a.cw-sms{ display:inline-flex; align-items:center; gap:5px; font:700 13px Inter; color:#7a3ea8; text-decoration:none; background:#f3ebfa; border:1px solid #e0cdf0; border-radius:9px; padding:4px 10px; white-space:nowrap }
a.cw-sms:hover{ background:#7a3ea8; color:#fff; border-color:#7a3ea8 }
a.cw-sms:before{ content:""; font-size:12px }
.cw-nosms{ font:600 11px Inter; color:#b08; color:#b6726f; background:#fbecec; border:1px solid #f0d3d3; border-radius:8px; padding:2px 8px; white-space:nowrap }

/* ── from portal.html <style id=cwEnrichCss> ── */
#enrView{padding:6px 2px 50px}
#enrView .stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:16px 0 18px}
#enrView .stat{background:#fff;border:1px solid #e6eef7;border-radius:16px;padding:15px 16px;box-shadow:0 6px 20px -14px rgba(0,122,187,.25);position:relative;overflow:hidden}
#enrView .stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--sc,#007abb)}
#enrView .stat .sv{font:800 24px/1 Inter;color:#0b2942}
#enrView .stat .sl{font:700 11px Inter;text-transform:uppercase;letter-spacing:.4px;color:#5f7184;margin-top:6px}
#enrView details{background:#fff;border:1px solid #e6eef7;border-radius:12px;margin:10px 0;overflow:hidden}
#enrView summary{cursor:pointer;padding:12px 16px;font:700 14px Inter;color:#0b2942;list-style:none}
#enrView summary::-webkit-details-marker{display:none}
#enrView summary:before{content:"▸ ";color:#007abb}
#enrView details[open] summary:before{content:"▾ "}
#enrView table{width:100%;border-collapse:collapse}
#enrView th{font:700 10.5px Inter;text-transform:uppercase;letter-spacing:.4px;color:#5f7184;text-align:left;padding:8px 12px;border-bottom:2px solid #eef2f7}
#enrView td{font:13px Inter;color:#0b2942;padding:7px 12px;border-bottom:1px solid #f1f4f8}
#enrView .btn{background:#007abb;color:#fff;border:0;border-radius:10px;padding:9px 16px;font:600 13px Inter;cursor:pointer}
#enrView .mut{color:#98a2b3;font:12px Inter}

/* ── from portal.html <style id=cwTeamsCss> ── */
#orgTeamsView{padding:6px 2px 50px}
#orgTeamsView .ot-meter{background:#fff;border:1px solid #e6eef7;border-radius:16px;padding:18px 20px;margin:14px 0 20px;box-shadow:0 6px 20px -14px rgba(0,122,187,.25)}
#orgTeamsView .ot-bar{height:18px;border-radius:9px;background:#eef2f7;overflow:hidden;margin-top:10px}
#orgTeamsView .ot-bar > div{height:100%;background:linear-gradient(90deg,#1e9bd7,#0e7c66);border-radius:9px;transition:width .3s}
#orgTeamsView .ot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}
#orgTeamsView .ot-card{background:#fff;border:1px solid #e6eef7;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px -16px rgba(0,122,187,.3);display:flex;flex-direction:column}
#orgTeamsView .ot-top{height:6px;background:var(--tc,#1e9bd7)}
#orgTeamsView .ot-body{padding:16px 16px 14px}
#orgTeamsView .ot-name{font:800 19px Inter;color:#0b2942}
#orgTeamsView .ot-adv{font:600 12.5px Inter;color:#5f7184;margin-top:2px}
#orgTeamsView .ot-arr{display:inline-block;margin-top:8px;font:700 11px Inter;background:#fff7e9;color:#9a5a14;border:1px solid #ecd3a3;border-radius:9px;padding:3px 9px;cursor:pointer}
#orgTeamsView .ot-stats{display:flex;gap:14px;margin:12px 0 6px}
#orgTeamsView .ot-stat .v{font:800 18px Inter;color:#0b2942}
#orgTeamsView .ot-stat .l{font:600 10px Inter;text-transform:uppercase;letter-spacing:.4px;color:#98a2b3}
#orgTeamsView .ot-members{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
#orgTeamsView .ot-chip{font:600 12px Inter;background:#eef6fc;border:1px solid #cfe2f2;color:#0b2942;border-radius:20px;padding:4px 10px;display:inline-flex;align-items:center;gap:6px}
#orgTeamsView .ot-chip .x{cursor:pointer;color:#b6c0cc;font-weight:700}
#orgTeamsView .ot-chip .x:hover{color:#b42318}
#orgTeamsView .ot-foot{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 16px}
#orgTeamsView .ot-btn{border:1px solid #cdd8e6;background:#fff;color:#0b2942;border-radius:9px;padding:6px 11px;font:600 12px Inter;cursor:pointer}
#orgTeamsView .ot-btn.pri{background:#007abb;color:#fff;border-color:#007abb}
#orgTeamsView .ot-wa{font:600 12px Inter;color:#0e7c66;text-decoration:none}

/* ── from portal.html <style id=cwOnbCss> ── */
#onbView{padding:6px 2px 50px}
#onbView .ob-card{background:#fff;border:1px solid #e6eef7;border-radius:14px;padding:16px 18px;margin-bottom:14px;box-shadow:0 6px 20px -16px rgba(0,122,187,.3)}
#onbView .ob-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
#onbView .ob-name{font:800 17px Inter;color:#0b2942}
#onbView .ob-sub{font:600 12px Inter;color:#5f7184}
#onbView .ob-bar{height:8px;border-radius:6px;background:#eef2f7;overflow:hidden;margin:10px 0 12px;max-width:320px}
#onbView .ob-bar>div{height:100%;background:linear-gradient(90deg,#1e9bd7,#0e7c66)}
#onbView .ob-steps{display:flex;flex-wrap:wrap;gap:8px}
#onbView .ob-step{display:inline-flex;align-items:center;gap:7px;border:1px solid #d8e2ec;border-radius:10px;padding:7px 11px;font:600 12.5px Inter;color:#42526b;cursor:pointer;background:#fff}
#onbView .ob-step.done{background:#e7f7ee;border-color:#bfe6d4;color:#0e7c66}
#onbView .ob-step .ck{width:16px;height:16px;border-radius:5px;border:1.5px solid #b6c4d2;display:inline-flex;align-items:center;justify-content:center;font-size:11px}
#onbView .ob-step.done .ck{background:#0e7c66;border-color:#0e7c66;color:#fff}
#onbView .ob-done-badge{font:700 11px Inter;background:#0e7c66;color:#fff;border-radius:9px;padding:3px 9px}
#onbView .ob-filter button{border:1px solid #cdd8e6;background:#fff;color:#0b2942;border-radius:8px;padding:6px 12px;font:600 12px Inter;cursor:pointer;margin-right:6px}
#onbView .ob-filter button.on{background:#007abb;color:#fff;border-color:#007abb}

/* ── from portal.html <style id=cwSearchCss> ── */
#cwSearchOv{position:fixed;inset:0;z-index:2147483600;background:rgba(8,18,28,.5);display:none;align-items:flex-start;justify-content:center;padding-top:90px}
#cwSearchOv.on{display:flex}
#cwSearchBox{background:#fff;border-radius:16px;width:min(620px,92vw);max-height:70vh;overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,.5);display:flex;flex-direction:column}
#cwSearchBox input{border:0;border-bottom:1px solid #eef2f7;padding:18px 20px;font:16px Inter;outline:none}
#cwSearchRes{overflow-y:auto;padding:6px}
.cwsr{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;cursor:pointer;font:14px Inter;color:#0b2942}
.cwsr:hover{background:#eef6fc}
.cwsr .t{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 7px;border-radius:8px;background:#eef2f7;color:#5f7184}
.cwsr .meta{color:#98a2b3;font-size:12px;margin-left:auto}

/* ── from portal.html <style id=cwCCLayout> ── */
/* more air between the KPI/stat cards everywhere in the V2 / Today / Command Center */
.main-content .grid{ gap:18px !important; }
.main-content .grid.cols-4,.main-content .grid.cols-3,.main-content .grid.cols-2{ gap:18px !important; margin-bottom:22px !important; }
/* card styling to match the pipeline hero tiles — rounded, padded, soft shadow */
.main-content .card{ border-radius:16px !important; padding:18px 20px !important; box-shadow:0 8px 24px -18px rgba(11,41,66,.35) !important; border:1px solid #e6eef7 !important; }
.main-content .kpi .val{ font-size:30px !important; line-height:1.05 !important; }
.main-content .kpi .label{ letter-spacing:.4px; }
.main-content .kpi .sub{ margin-top:4px !important; }
/* page header + section breathing room */
.main-content .page-header{ margin-bottom:20px !important; }
.main-content h1{ margin-bottom:2px !important; }
/* command-center hero + scoreboard spacing */
.cc-hero{ padding:22px 24px !important; border-radius:18px !important; margin-bottom:18px !important; }
.cc-scoreboard{ gap:14px !important; margin-bottom:18px !important; }
.cc-sb{ padding:14px 16px !important; border-radius:14px !important; }
.cc-card{ padding:18px 20px !important; border-radius:16px !important; margin-bottom:16px !important; }
/* tables get a little room */
.main-content .cc-tw,.main-content table{ margin-top:6px; }
/* the live-strip cards on Today */
.main-content .card .grid{ margin-top:6px !important; }

/* ── from portal.html <style id=cwLMcss> ── */
.cw-lm-tabs{display:flex;gap:8px;margin:0 0 14px}
.cw-lm-tabs button{border:1px solid #cdd8e6;background:#fff;color:#0b2942;border-radius:10px;padding:9px 18px;font:700 13px Inter;cursor:pointer}
.cw-lm-tabs button.on{background:#007abb;color:#fff;border-color:#007abb}

/* ── from portal.html <style id=cwBdayCss> ── */
#bdayView{padding:6px 2px 50px}
#bdayView .bd-row{display:flex;align-items:center;gap:14px;padding:11px 14px;border-bottom:1px solid #f1f4f8;font:14px Inter;color:#0b2942}
#bdayView .bd-when{font:700 12px Inter;color:#fff;background:#1e9bd7;border-radius:9px;padding:4px 10px;white-space:nowrap;min-width:96px;text-align:center}
#bdayView .bd-when.soon{background:#b4631c}
#bdayView .bd-when.today{background:#0e7c66}
#bdayView .bd-name{font-weight:700}
#bdayView .bd-age{color:#98a2b3;font-size:12px}
#bdayView a.cw-dial{margin-left:auto}
.cw-bday-card{background:#fff;border:1px solid #e6eef7;border-radius:16px;padding:14px 16px;box-shadow:0 8px 24px -18px rgba(11,41,66,.35)}

/* ── from portal.html <style id=cwApptCss> ── */
#apptView{padding:6px 2px 50px}
#apptView .ap-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:8px}
#apptView .ap-tabs button{border:1px solid #cdd8e6;background:#fff;color:#0b2942;border-radius:9px;padding:7px 14px;font:600 13px Inter;cursor:pointer;margin-right:6px}
#apptView .ap-tabs button.on{background:#007abb;color:#fff;border-color:#007abb}
#apptView input.ap-search{width:100%;border:1px solid #d8e0ea;border-radius:10px;padding:11px 14px;font:15px Inter;margin:10px 0}
#apptView table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e6eef7;border-radius:14px;overflow:hidden}
#apptView th{font:700 11px Inter;text-transform:uppercase;letter-spacing:.4px;color:#5f7184;text-align:left;padding:10px 12px;border-bottom:2px solid #eef2f7}
#apptView td{font:14px Inter;color:#0b2942;padding:9px 12px;border-bottom:1px solid #f1f4f8}
#apptView tr:hover td{background:#f7fafd}
#apptView .ap-when{font:700 12.5px Inter;color:#0b2942;white-space:nowrap}
#apptView .ap-soon{color:#0e7c66}

/* ── from portal.html <style id=cwBackupCss> ── */
#bkView{padding:6px 2px 50px;max-width:760px}
#bkView .bk-card{background:#fff;border:1px solid #e6eef7;border-radius:16px;padding:20px 22px;margin-bottom:16px;box-shadow:0 8px 24px -18px rgba(11,41,66,.35)}
#bkView h3{font:800 16px Inter;color:#0b2942;margin:0 0 6px}
#bkView p{font:13.5px/1.6 Inter;color:#5f7184;margin:0 0 12px}
#bkView .bk-btn{border:0;border-radius:10px;padding:12px 20px;font:700 14px Inter;cursor:pointer}
#bkView .bk-dl{background:#0e7c66;color:#fff}
#bkView .bk-rs{background:#fff;color:#0b2942;border:1px solid #cdd8e6}
#bkView .bk-stat{display:inline-block;background:#eef6fc;border:1px solid #cfe2f2;border-radius:9px;padding:5px 11px;font:700 12px Inter;color:#0b2942;margin:2px 6px 2px 0}
#bkView .bk-warn{background:#fbf0e3;border-color:#e3b787;color:#8a6a2c}

/* ── from portal.html <style id=cwTlCss> ── */
.cwtl-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.cwtl-h .t{font:700 16px Inter;color:#0b2942;letter-spacing:-.2px}
.cwtl-h .live{font:600 9.5px Inter;letter-spacing:1.2px;color:#8a98a8;text-transform:uppercase}
.cwtl-h .live b{color:#0e7c66}
.cwtl-count{font:700 11px Inter;background:rgba(0,122,187,.1);color:#007abb;border-radius:20px;padding:2px 10px}
.cwtl-add{margin-left:auto;border:1px solid #dbe5ee;background:#fff;border-radius:8px;padding:4px 12px;font:600 11.5px Inter;color:#0b2942;cursor:pointer}
.cwtl-add:hover{background:#f5f8fb}
.cwtl-row{display:flex;align-items:stretch;gap:0}
.cwtl-time{font:700 11px var(--font-mono,monospace);color:#5f7184;width:62px;flex:0 0 62px;text-align:right;padding:13px 10px 0 0;white-space:nowrap}
.cwtl-rail{position:relative;width:14px;flex:0 0 14px}
.cwtl-rail:before{content:"";position:absolute;left:6px;top:0;bottom:0;width:2px;background:#eef1f5}
.cwtl-dot{position:absolute;left:2px;top:16px;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 3px #fff}
.cwtl-card{position:relative;flex:1;margin:4px 0 4px 10px;padding:10px 70px 10px 14px;background:#fbfcfe;border:1px solid #eef1f5;border-left:3px solid #007abb;border-radius:10px;transition:box-shadow .15s}
.cwtl-card:hover{box-shadow:0 3px 12px rgba(11,41,66,.08)}
.cwtl-title{font:600 13.5px Inter;color:#0b2942;line-height:1.45}
.cwtl-loc{font:11.5px Inter;color:#8a98a8;margin-top:2px}
.cwtl-badge{font:700 9px Inter;background:rgba(180,35,24,.1);color:#b42318;border-radius:8px;padding:2px 7px;letter-spacing:.5px;vertical-align:1px}
.cwtl-cancel .cwtl-title{text-decoration:line-through;color:#9aa7b4}
.cwtl-cancel .cwtl-card{background:#fafbfc}
.cwtl-acts{position:absolute;top:8px;right:8px;opacity:0;transition:opacity .15s;display:flex;gap:4px}
.cwtl-card:hover .cwtl-acts{opacity:1}
.cwtl-acts button{border:1px solid #e3eaf1;background:#fff;border-radius:7px;width:26px;height:24px;font-size:11px;color:#5f7184;cursor:pointer}
.cwtl-acts button:hover{color:#0b2942;border-color:#c8d4e0}
.cwtl-empty{font:13px Inter;color:#9aa7b4;padding:10px 0 4px 24px;font-style:italic}
.cwtl-up{font:700 10px Inter;color:#8a98a8;text-transform:uppercase;letter-spacing:1px;margin:14px 0 4px}
.cwtl-uprow{display:flex;gap:10px;align-items:baseline;padding:5px 0;border-bottom:1px solid #f6f8fb;font:12.5px Inter;color:#33475b}
.cwtl-uprow .d{font:600 11px var(--font-mono,monospace);color:#8a98a8;min-width:100px}

/* ── from portal.html <style id=cw-sidebar-readable> ── */
/* Final sidebar contrast — wins over all earlier theme layers */
#sidebar,.sidebar{position:fixed!important;z-index:120!important;background:#fff!important;border-right:1px solid #e6eaee!important;color:#33424f!important}
#sidebar .cw-sb-main,.sidebar .cw-sb-main{background:#fff!important}
#sidebar button.sidebar-item,#sidebar .sidebar-item,.sidebar button.sidebar-item,.sidebar .sidebar-item{color:#33424f!important;background:transparent!important}
#sidebar .sidebar-item:hover,.sidebar .sidebar-item:hover{color:#0d1b2a!important;background:#f4f7fa!important}
#sidebar .sidebar-item.active,.sidebar .sidebar-item.active{color:#055e8f!important;background:rgba(0,122,187,.09)!important}
#sidebar .sidebar-section-label,.sidebar .sidebar-section-label{color:#6b7a89!important}
#sidebar #cwNavSearch{color:#33424f!important;background:#f7fafc!important;border-color:#e6eaee!important}
#sidebar .cw-sb-foot{background:#f4f7fa!important}
#sidebar .cw-sb-foot-toggle{color:#4a5a6a!important}
#sidebar .sidebar-brand *{color:#0d1b2a!important}
#sidebar .sidebar-brand [style*="5fb3e0"]{color:#007abb!important}

/* ── from portal.html <style id=cwClientPortalFinal> ── */
/* Client portal chrome — last in cascade, beats cwBlueTheme display:flex !important */
html.cw-client-portal #sidebar,
html.cw-client-portal #portalNav,
html.cw-client-portal #cwSidebarMain,
html.cw-client-portal #cwSidebarFoot,
html.cw-client-portal #pinModal,
body.cw-client-portal #sidebar,
body.cw-client-portal .sidebar,
body.cw-client-portal #portalNav,
body.cw-client-portal .site-nav,
body.cw-client-portal #cwSidebarMain,
body.cw-client-portal #cwSidebarFoot,
body.cw-client-portal #pinModal,
#portalApp.cw-client-portal #sidebar,
.cw-staff-hidden{ display:none!important;visibility:hidden!important;width:0!important;max-width:0!important;min-width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important;opacity:0!important;position:absolute!important;left:-10000px!important;top:-10000px!important; }
html.cw-client-portal .portal,
body.cw-client-portal .portal,
#portalApp.cw-client-portal{ padding-top:0!important; }
html.cw-client-portal .main-content,
body.cw-client-portal .main-content,
#portalApp.cw-client-portal .main-content{ margin-left:0!important;width:100%!important;max-width:100%!important; }
