@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=Spline+Sans+Mono:wght@400;500;600&family=Inter:wght@400;450;500;600&display=swap');

:root{
  --ink:#0D182E; --ink2:#1B2A44; --slate:#5B6B82; --mist:#8A97A8;
  --line:#E2E8F0; --line2:#EDF1F6; --paper:#F6F8FB; --card:#FFFFFF;
  --teal:#C8920A; --teal-d:#9A7108; --mint:#FEC303; --mint-l:#FEF6DC;
  --amber:#D97706; --amber-l:#FEF3E2; --red:#DC2626; --red-l:#FDECEC;
  --green:#059669; --green-l:#E7F6F0; --violet:#6D5BD0; --violet-l:#EEEBFA;
  --gold:#B8860B;
  /* brand accent in RGB so rgba() tints follow the theme — overridden at runtime by applyBrand() */
  --accent-rgb:254,195,3; --accent2-rgb:200,146,10;
  --r:10px; --r-s:7px;
  --shadow:0 1px 2px rgba(11,18,32,.04),0 4px 16px rgba(11,18,32,.06);
  --shadow-lg:0 8px 40px rgba(11,18,32,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:'Inter',system-ui,sans-serif;background:var(--paper);color:var(--ink);
  -webkit-font-smoothing:antialiased;display:flex;overflow:hidden}
::selection{background:var(--mint);color:#042f2c}

/* ============ SIDEBAR ============ */
.rail{width:236px;background:linear-gradient(178deg,#0D182E,#13213a 60%,#0f1c33);
  color:#C4D0E0;display:flex;flex-direction:column;flex-shrink:0;
  border-right:1px solid #0a1525;position:relative;z-index:30}
.brand{padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.07)}
.brand-mark{display:flex;align-items:center;gap:10px}
.dot{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--mint),var(--teal));
  display:grid;place-items:center;font-family:'Archivo';font-weight:800;color:#0D182E;font-size:16px;
  box-shadow:0 0 0 1px rgba(255,255,255,.08),0 4px 14px rgba(var(--accent-rgb),.4)}
.brand-name{font-family:'Archivo';font-weight:700;font-size:15px;color:#fff;letter-spacing:-.2px;line-height:1}
.brand-sub{font-size:10.5px;color:var(--mist);margin-top:3px;font-weight:500;letter-spacing:.3px}

.switch{padding:14px 14px 6px}
.switch-lbl{font-size:9.5px;text-transform:uppercase;letter-spacing:1.4px;
  color:#60728a;font-weight:700;padding:0 6px 8px}
.mode-btn{width:100%;text-align:left;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);
  color:#C4D0E0;padding:11px 12px;border-radius:var(--r-s);cursor:pointer;margin-bottom:8px;
  display:flex;align-items:center;gap:11px;transition:.16s;font-family:inherit}
.mode-btn:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16)}
.mode-btn.on{background:linear-gradient(135deg,rgba(var(--accent-rgb),.18),rgba(var(--accent2-rgb),.1));
  border-color:rgba(var(--accent-rgb),.5);color:#fff;box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.25)}
.mode-btn.on.bs{background:linear-gradient(135deg,rgba(217,119,6,.16),rgba(184,134,11,.08));
  border-color:rgba(217,119,6,.45)}
.mode-btn.on.svc{background:linear-gradient(135deg,rgba(37,99,235,.18),rgba(29,78,216,.1));
  border-color:rgba(37,99,235,.5)}
.mb-ico{width:30px;height:30px;border-radius:7px;background:rgba(255,255,255,.06);display:grid;place-items:center;flex-shrink:0}
.mode-btn.on .mb-ico{background:rgba(var(--accent-rgb),.25)}
.mode-btn.on.bs .mb-ico{background:rgba(217,119,6,.22)}
.mode-btn.on.svc .mb-ico{background:rgba(37,99,235,.22)}
.mb-ico svg{width:16px;height:16px}
.mb-t{font-weight:600;font-size:13px;line-height:1.1}
.mb-d{font-size:10.5px;color:var(--mist);margin-top:2px}
.mode-btn.on .mb-d{color:#9fb3c9}

.nav{padding:10px 14px;flex:1;overflow-y:auto}
.nav-grp{font-size:9.5px;text-transform:uppercase;letter-spacing:1.3px;color:#60728a;
  font-weight:700;padding:14px 8px 7px}
.nav-i{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;cursor:pointer;
  font-size:12.5px;color:#a9b7ca;transition:.13s;font-weight:450;position:relative}
.nav-i:hover{background:rgba(255,255,255,.05);color:#fff}
.nav-i.on{background:rgba(255,255,255,.07);color:#fff;font-weight:550}
.nav-i.on::before{content:"";position:absolute;left:-14px;top:7px;bottom:7px;width:3px;
  background:var(--mint);border-radius:0 3px 3px 0}
.bs-mode .nav-i.on::before{background:var(--amber)}
.nav-i svg{width:15px;height:15px;opacity:.8;flex-shrink:0}
.nav-ct{margin-left:auto;font-family:'Spline Sans Mono';font-size:10.5px;background:rgba(255,255,255,.08);
  padding:1px 7px;border-radius:20px;color:#cfdae8}
.nav-i.alert .nav-ct{background:rgba(220,38,38,.25);color:#fda;color:#fecaca}

.rail-foot{padding:12px 18px;border-top:1px solid rgba(255,255,255,.07);font-size:10.5px;color:#60728a;
  display:flex;align-items:center;gap:8px;cursor:pointer;transition:.14s}
.rail-foot:hover{background:rgba(255,255,255,.05);color:#cfdae8}
.rail-foot:hover span:last-child{text-decoration:underline}
.sync{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.22);
  animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ============ MAIN ============ */
.main{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh}
.topbar{height:60px;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 24px;flex-shrink:0;z-index:20}
.tb-title{font-family:'Archivo';font-weight:700;font-size:17px;letter-spacing:-.3px}
.tb-crumb{font-size:11px;color:var(--mist);font-weight:500;margin-top:1px}
.search{margin-left:auto;position:relative}
.search input{width:280px;border:1px solid var(--line);background:var(--card);border-radius:8px;
  padding:8px 12px 8px 34px;font-family:inherit;font-size:13px;color:var(--ink);outline:none;transition:.15s}
.search input:focus{border-color:var(--mint);box-shadow:0 0 0 3px var(--mint-l)}
.search svg{position:absolute;left:11px;top:9px;width:15px;height:15px;color:var(--mist)}
.tb-btn{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:8px 13px;font-size:12.5px;
  font-weight:550;color:var(--ink2);cursor:pointer;display:flex;align-items:center;gap:7px;font-family:inherit;transition:.14s}
.tb-btn:hover{border-color:var(--slate);background:var(--paper)}
.tb-btn svg{width:14px;height:14px}
.tb-btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}
.tb-btn.primary:hover{background:var(--ink2)}

.canvas{flex:1;overflow-y:auto;padding:24px}
.canvas::-webkit-scrollbar{width:10px}
.canvas::-webkit-scrollbar-thumb{background:#d3dbe6;border-radius:10px;border:3px solid var(--paper)}

/* ============ KPI ROW ============ */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;position:relative;overflow:hidden}
.kpi.click{cursor:pointer;transition:.15s}
.kpi.click:hover{border-color:var(--slate);box-shadow:var(--shadow);transform:translateY(-1px)}
.kpi::after{content:"";position:absolute;right:-20px;top:-20px;width:80px;height:80px;border-radius:50%;opacity:.05}
.kpi.teal::after{background:var(--teal)} .kpi.red::after{background:var(--red)}
.kpi.amber::after{background:var(--amber)} .kpi.green::after{background:var(--green)}
.kpi.violet::after{background:var(--violet)}
.kpi-l{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--slate);font-weight:600;display:flex;align-items:center;gap:7px}
.kpi-l .tag{width:7px;height:7px;border-radius:2px}
.kpi.teal .tag{background:var(--teal)} .kpi.red .tag{background:var(--red)}
.kpi.amber .tag{background:var(--amber)} .kpi.green .tag{background:var(--green)} .kpi.violet .tag{background:var(--violet)}
.kpi-v{font-family:'Archivo';font-weight:800;font-size:32px;letter-spacing:-1px;margin-top:8px;line-height:1}
.kpi-d{font-size:11.5px;color:var(--mist);margin-top:5px;font-weight:450}
.kpi-d b{font-weight:600}
.kpi.red .kpi-d b{color:var(--red)} .kpi.green .kpi-d b{color:var(--green)} .kpi.amber .kpi-d b{color:var(--amber)}

/* ============ PANELS ============ */
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:20px;overflow:hidden}
.panel-h{padding:15px 18px;border-bottom:1px solid var(--line2);display:flex;align-items:center;gap:12px}
.panel-h h3{font-family:'Archivo';font-weight:700;font-size:14.5px;letter-spacing:-.2px}
.panel-h .sub{font-size:11.5px;color:var(--mist);font-weight:450}
.panel-h .right{margin-left:auto;display:flex;gap:8px;align-items:center}

.chips{display:flex;gap:7px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:var(--card);border-radius:20px;padding:5px 12px;font-size:12px;
  font-weight:550;color:var(--slate);cursor:pointer;transition:.13s;font-family:inherit;display:flex;align-items:center;gap:6px}
.chip:hover{border-color:var(--slate);color:var(--ink2)}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.chip .n{font-family:'Spline Sans Mono';font-size:10.5px;opacity:.7}
.chip.on .n{opacity:.85}

/* ============ TABLE ============ */
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl thead th{text-align:left;padding:10px 14px;font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;
  color:var(--slate);font-weight:700;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;white-space:nowrap}
.tbl tbody td{padding:11px 14px;border-bottom:1px solid var(--line2);vertical-align:middle}
.tbl tbody tr{transition:.1s;cursor:pointer}
.tbl tbody tr:hover{background:var(--mist);background:#F9FBFD}
.tbl tbody tr:last-child td{border-bottom:none}
.cust{font-weight:600;color:var(--ink)}
.veh{color:var(--ink2);font-weight:500}
.muted{color:var(--mist);font-size:12px}
.ro-num{font-family:'Spline Sans Mono';font-size:12px;color:var(--slate);font-weight:500}

.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}
.b-teal{background:var(--mint-l);color:var(--teal-d)} .b-amber{background:var(--amber-l);color:var(--amber)}
.b-red{background:var(--red-l);color:var(--red)} .b-green{background:var(--green-l);color:var(--green)}
.b-violet{background:var(--violet-l);color:var(--violet)} .b-grey{background:#EEF2F7;color:var(--slate)}
.b-gold{background:#FBF3DC;color:var(--gold)}
.dotb{width:6px;height:6px;border-radius:50%;background:currentColor}

.score-pill{display:inline-flex;align-items:center;gap:7px;font-family:'Spline Sans Mono';font-weight:600;font-size:12px}
.score-bar{width:42px;height:6px;border-radius:4px;background:var(--line);overflow:hidden;position:relative}
.score-fill{height:100%;border-radius:4px}
.tier-hot{color:var(--green)} .tier-hot .score-fill{background:linear-gradient(90deg,var(--mint),var(--green))}
.tier-warm{color:var(--amber)} .tier-warm .score-fill{background:var(--amber)}
.tier-watch{color:var(--slate)} .tier-watch .score-fill{background:var(--slate)}

.age-chip{font-family:'Spline Sans Mono';font-size:12px;font-weight:500;padding:2px 8px;border-radius:5px}
.age-ok{color:var(--slate);background:#EEF2F7} .age-warn{color:var(--amber);background:var(--amber-l)}
.age-bad{color:var(--red);background:var(--red-l);font-weight:600}

.flags{display:flex;gap:5px}
.flag{font-size:10px;font-weight:700;padding:2px 6px;border-radius:5px;letter-spacing:.2px}
.f-carless{background:var(--red-l);color:var(--red)} .f-wait{background:var(--violet-l);color:var(--violet)}

.row-act{display:flex;gap:6px;justify-content:flex-end;opacity:0;transition:.13s}
tr:hover .row-act{opacity:1}
.ibtn{width:30px;height:30px;border:1px solid var(--line);background:var(--card);border-radius:7px;display:grid;place-items:center;cursor:pointer;transition:.12s;color:var(--slate)}
.ibtn:hover{border-color:var(--mint);color:var(--teal);background:var(--mint-l)}
.ibtn.amber:hover{border-color:var(--amber);color:var(--amber);background:var(--amber-l)}
.ibtn.green:hover{border-color:var(--green);color:var(--green);background:var(--green-l)}
.ibtn svg{width:15px;height:15px}

/* ============ PIPELINE (kanban) ============ */
.kanban{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px}
.kcol{min-width:248px;width:248px;flex-shrink:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.kcol-h{padding:11px 13px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;position:sticky;top:0}
.kcol-h .kdot{width:8px;height:8px;border-radius:50%}
.kcol-h .kt{font-weight:650;font-size:12.5px}
.kcol-h .kn{margin-left:auto;font-family:'Spline Sans Mono';font-size:11px;color:var(--slate);background:var(--card);padding:1px 8px;border-radius:20px;border:1px solid var(--line)}
.kcol-b{padding:9px;display:flex;flex-direction:column;gap:8px;max-height:540px;overflow-y:auto}
.kcard{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 11px;cursor:pointer;transition:.13s}
.kcard:hover{border-color:var(--slate);box-shadow:var(--shadow);transform:translateY(-1px)}
.kcard-v{font-weight:600;font-size:12.5px;color:var(--ink)}
.kcard-c{font-size:11.5px;color:var(--slate);margin-top:2px}
.kcard-f{display:flex;align-items:center;gap:7px;margin-top:8px}
.kcard-ro{font-family:'Spline Sans Mono';font-size:10.5px;color:var(--mist)}

/* ============ DETAIL DRAWER ============ */
.scrim{position:fixed;inset:0;background:rgba(11,18,32,.45);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:.22s;z-index:50}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100vh;width:460px;max-width:94vw;background:var(--card);
  box-shadow:var(--shadow-lg);transform:translateX(100%);transition:transform .26s cubic-bezier(.4,0,.2,1);z-index:60;
  display:flex;flex-direction:column}
.drawer.on{transform:translateX(0)}
.dr-h{padding:20px 22px;border-bottom:1px solid var(--line);background:linear-gradient(160deg,#0D182E,#1a2c49)}
.dr-h .close{position:absolute;top:18px;right:18px;width:30px;height:30px;border:none;background:rgba(255,255,255,.1);
  border-radius:7px;color:#cfdae8;cursor:pointer;display:grid;place-items:center}
.dr-h .close:hover{background:rgba(255,255,255,.2)}
.dr-veh{font-family:'Archivo';font-weight:700;font-size:19px;color:#fff;letter-spacing:-.3px;padding-right:40px}
.dr-cust{font-size:13px;color:#9fb3c9;margin-top:4px}
.dr-meta{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}
.dr-body{flex:1;overflow-y:auto;padding:20px 22px}
.dr-sect{margin-bottom:22px}
.dr-sect-t{font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--slate);font-weight:700;margin-bottom:11px}
.dr-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dr-field{}
.dr-field .l{font-size:11px;color:var(--mist);font-weight:500}
.dr-field .v{font-size:13.5px;color:var(--ink);font-weight:550;margin-top:2px}
.dr-memo{background:var(--paper);border:1px solid var(--line2);border-radius:8px;padding:12px 14px;font-size:12.5px;
  color:var(--ink2);line-height:1.55;white-space:pre-wrap}
.dr-memo.empty{color:var(--mist);font-style:italic}

.equity{background:linear-gradient(160deg,var(--mint-l),#fffaf0);border:1px solid #f3e0a8;border-radius:10px;padding:15px}
.equity-t{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--teal-d);font-weight:700;display:flex;align-items:center;gap:7px}
.eq-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid rgba(var(--accent2-rgb),.15);font-size:13px}
.eq-row:last-child{border:none}
.eq-row .ek{color:var(--slate)} .eq-row .ev{font-family:'Spline Sans Mono';font-weight:600;color:var(--ink)}
.eq-pos{color:var(--green)!important}
.eq-input{width:96px;border:1px solid #f3e0a8;border-radius:6px;padding:4px 8px;font-family:'Spline Sans Mono';
  font-size:13px;text-align:right;outline:none;background:#fff}
.eq-input:focus{border-color:var(--mint)}

.actions{display:flex;flex-direction:column;gap:9px}
.act{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;
  cursor:pointer;transition:.14s;background:var(--card);text-align:left;font-family:inherit;width:100%}
.act:hover{border-color:var(--mint);background:var(--mint-l)}
.act:hover .act-ico{background:var(--teal);color:#fff}
.act-ico{width:34px;height:34px;border-radius:8px;background:var(--paper);display:grid;place-items:center;flex-shrink:0;transition:.14s;color:var(--slate)}
.act-ico svg{width:17px;height:17px}
.act-t{font-weight:600;font-size:13px;color:var(--ink)}
.act-d{font-size:11px;color:var(--mist);margin-top:1px}
.act.bs:hover{border-color:var(--amber);background:var(--amber-l)} .act.bs:hover .act-ico{background:var(--amber)}

.dr-foot{padding:14px 22px;border-top:1px solid var(--line);display:flex;gap:10px}
.dr-foot button{flex:1;padding:11px;border-radius:9px;font-weight:600;font-size:13px;cursor:pointer;font-family:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink2);transition:.14s}
.dr-foot .pri{background:var(--teal);color:#fff;border-color:var(--teal)}
.dr-foot .pri:hover{background:var(--teal-d)}
.dr-foot .pri.bs{background:var(--amber);border-color:var(--amber)}
.dr-foot button:hover{background:var(--paper)}
.dr-foot .pri:hover{background:var(--teal-d)}

/* timeline */
.tl{position:relative;padding-left:20px}
.tl::before{content:"";position:absolute;left:5px;top:4px;bottom:4px;width:2px;background:var(--line)}
.tl-i{position:relative;padding-bottom:14px}
.tl-i::before{content:"";position:absolute;left:-18px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--card);border:2px solid var(--mint)}
.tl-i.done::before{background:var(--mint)}
.tl-t{font-size:12.5px;font-weight:550;color:var(--ink)}
.tl-d{font-size:11px;color:var(--mist);margin-top:1px}

/* ============ BANNERS / RIBBON ============ */
.banner{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r);padding:14px 18px;margin-bottom:16px;box-shadow:var(--shadow)}
.banner.stale{border-color:#f3c0c0;background:linear-gradient(135deg,#fff,#FDECEC)}
.banner svg{width:22px;height:22px;color:var(--red);flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2}
.banner b{font-size:13.5px}
.banner-d{font-size:12px;color:var(--slate);margin-top:2px}
.env-ribbon{position:fixed;top:14px;right:-34px;z-index:200;transform:rotate(45deg);
  background:var(--amber);color:#fff;font-size:11px;font-weight:800;letter-spacing:2px;
  padding:5px 40px;box-shadow:var(--shadow-lg);pointer-events:none;font-family:'Archivo'}

/* ============ SETTINGS ============ */
.set-grid{display:flex;flex-direction:column;gap:18px;max-width:860px}
.set-body{padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.f{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--slate);font-weight:550}
.f>span{display:flex;align-items:center;gap:8px}
.f.chk{flex-direction:row;align-items:center;gap:9px;cursor:pointer}
.inp{border:1px solid var(--line);border-radius:var(--r-s);padding:9px 12px;font-size:13px;font-family:inherit;color:var(--ink);background:#fff;width:100%}
.inp:focus{outline:2px solid var(--mint);outline-offset:-1px}
.inp.ta{min-height:84px;resize:vertical;line-height:1.5}
.sel{border:1px solid var(--line);border-radius:7px;padding:6px 9px;font-size:12px;font-family:inherit;color:var(--ink);background:#fff}
.set-actions{display:flex;gap:10px;margin-top:4px}
.int-h{font-size:13px;font-weight:650;display:flex;align-items:center;gap:9px}
.int-note{font-size:11px;color:var(--mist);line-height:1.55}
.int-note code{background:var(--paper);border:1px solid var(--line2);border-radius:4px;padding:1px 5px;font-size:10.5px}
.lens-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.lens-col{display:flex;flex-direction:column;gap:10px}
.lens-card{border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;cursor:pointer;transition:.15s;background:#fff}
.lens-card:hover{border-color:var(--slate)}
.lens-card.on{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:var(--mint-l)}
.lc-n{font-family:'Archivo';font-weight:700;font-size:14px}
.lc-t{font-size:11.5px;color:var(--teal-d);font-weight:600;margin-top:2px}
.lc-v{font-size:12px;color:var(--slate);margin-top:7px;line-height:1.5}
.lc-s{font-size:11.5px;color:var(--ink2);margin-top:9px;font-style:italic;line-height:1.5;border-left:2px solid var(--mint);padding-left:9px}
.lens-chip{font-size:9.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--teal-d);
  background:var(--mint-l);border:1px solid rgba(var(--accent2-rgb),.3);border-radius:4px;padding:2px 6px}

/* ============ SCRIPTS ============ */
.scripts{display:flex;flex-direction:column;gap:10px}
.script{border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden;background:#fff}
.script-h{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--paper);border-bottom:1px solid var(--line2)}
.script-l{font-size:11.5px;font-weight:650;color:var(--slate);flex:1}
.script-b{padding:11px 13px;font-size:12px;line-height:1.6;color:var(--ink2)}
.tb-btn.mini{padding:4px 9px;font-size:11px;border-radius:6px}

/* ============ WIZARD ============ */
.modal.wz{width:700px;gap:16px}
.wz-steps{display:flex;gap:6px;flex-wrap:wrap}
.wz-step{font-size:10.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--mist);
  padding:4px 10px;border-radius:20px;border:1px solid var(--line2)}
.wz-step.on{color:#fff;background:var(--ink);border-color:var(--ink)}
.wz-step.done{color:var(--teal-d);border-color:rgba(var(--accent2-rgb),.4);background:var(--mint-l)}
.wz-body{font-size:13px;line-height:1.6;color:var(--ink2);max-height:56vh;overflow-y:auto;display:flex;flex-direction:column;gap:11px}
.wz-hero{display:grid;place-items:center;padding:6px 0}
.wz-hero svg{width:38px;height:38px;color:var(--teal);fill:none;stroke:currentColor;stroke-width:2}
.wz-goals{margin-left:20px;display:flex;flex-direction:column;gap:7px}
.wz-sum{margin-left:20px;display:flex;flex-direction:column;gap:6px}
.muted-p{font-size:12px;color:var(--mist)}

/* ============ LOGIN ============ */
.login-wrap{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:var(--paper)}
.login-card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);
  padding:38px 42px;text-align:center;max-width:380px;display:flex;flex-direction:column;align-items:center}
.login-foot{margin-top:22px;font-size:10.5px;color:var(--mist);letter-spacing:.3px}
.login-sec{position:absolute;bottom:26px;left:0;right:0;display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px;font-size:11px;color:var(--mist);opacity:.8;padding:0 20px}
.login-sec span{display:inline-flex;align-items:center;gap:6px}
.login-sec svg{width:13px;height:13px;opacity:.85}

/* ============ NEW RECORD / FORM GRID ============ */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.form-grid .f.col2{grid-column:1 / -1}
.nr-seg{display:flex;gap:8px;margin-bottom:4px}
.nr-seg button{flex:1;border:1px solid var(--line);background:var(--card);border-radius:var(--r-s);padding:10px;
  cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:550;color:var(--slate);transition:.14s}
.nr-seg button.on{border-color:var(--mint);background:var(--mint-l);color:var(--ink)}
.brand-swatch{width:30px;height:30px;border-radius:7px;border:1px solid var(--line);cursor:pointer;padding:0;flex-shrink:0}
.logo-prev{height:34px;max-width:150px;object-fit:contain;border:1px solid var(--line2);border-radius:6px;padding:4px 8px;background:var(--paper)}

/* ============ IMPORT MODAL ============ */
.modal-wrap{position:fixed;inset:0;display:grid;place-items:center;z-index:60;opacity:0;pointer-events:none;transition:.2s}
.modal-wrap.on{opacity:1;pointer-events:auto}
.modal-bg{position:absolute;inset:0;background:rgba(11,18,32,.45);backdrop-filter:blur(2px)}
.modal{position:relative;width:660px;max-width:92vw;background:var(--card);border-radius:14px;
  box-shadow:var(--shadow-lg);padding:22px;display:flex;flex-direction:column;gap:13px;
  transform:translateY(8px);transition:.2s}
.modal-wrap.on .modal{transform:translateY(0)}
.modal.drag{outline:2px dashed var(--mint);outline-offset:4px}
.im-head{display:flex;align-items:flex-start;gap:12px}
.im-head>div{flex:1}
.im-title{font-family:'Archivo';font-weight:700;font-size:17px;letter-spacing:-.2px}
.im-sub{font-size:12.5px;color:var(--slate);margin-top:4px;line-height:1.5}
.im-x{border:none;background:none;font-size:22px;color:var(--mist);cursor:pointer;line-height:1;
  padding:2px 8px;border-radius:6px;font-family:inherit}
.im-x:hover{background:var(--paper);color:var(--ink)}
.im-text{width:100%;height:190px;resize:vertical;border:1px solid var(--line);border-radius:var(--r-s);
  padding:12px;font-family:'Spline Sans Mono',monospace;font-size:11.5px;line-height:1.55;
  color:var(--ink);background:var(--paper);white-space:pre;overflow:auto}
.im-text:focus{outline:2px solid var(--mint);outline-offset:-1px;background:#fff}
.im-hint{font-size:12px;color:var(--slate);min-height:16px}
.im-hint.ok{color:var(--green);font-weight:550}
.im-hint.err{color:var(--red);font-weight:550}
.im-actions{display:flex;align-items:center;gap:10px}
.im-spacer{flex:1}
.im-file{cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.im-note{font-size:11px;color:var(--mist);border-top:1px solid var(--line2);padding-top:11px;line-height:1.55}
.tb-btn:disabled{opacity:.55;cursor:default}

/* ============ COMMUNICATIONS HUB ============ */
.cm-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}
.cm-tile{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);padding:11px 13px}
.cm-tile.auto{background:var(--mint-l);border-color:rgba(var(--accent2-rgb),.3)}
.cm-tile.in{background:var(--violet-l);border-color:rgba(109,91,208,.25)}
.cm-tile.alert{background:var(--red-l);border-color:rgba(220,38,38,.3)}
.cm-tv{font-family:'Archivo';font-weight:800;font-size:23px;letter-spacing:-.5px;line-height:1}
.cm-tl{font-size:10.5px;color:var(--slate);margin-top:4px;font-weight:550}
.cm-tabs{display:flex;align-items:center;gap:8px;margin-bottom:14px;border-bottom:1px solid var(--line2);padding-bottom:12px}
.cm-tab{border:1px solid var(--line);background:var(--card);border-radius:var(--r-s);padding:8px 13px;font-size:12.5px;
  font-weight:550;color:var(--slate);cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:7px}
.cm-tab svg{width:14px;height:14px}
.cm-tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.cm-wrap{display:grid;grid-template-columns:300px 1fr;gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;height:560px}
.cm-list{border-right:1px solid var(--line);overflow-y:auto;background:var(--paper)}
.cm-th{padding:11px 14px;border-bottom:1px solid var(--line2);cursor:pointer;transition:.12s}
.cm-th:hover{background:var(--card)}
.cm-th.on{background:var(--card);box-shadow:inset 3px 0 0 var(--mint)}
.cm-th-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cm-th-n{font-weight:600;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-th-t{font-size:10.5px;color:var(--mist);flex-shrink:0}
.cm-unread{background:var(--red);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:10px;display:grid;place-items:center;padding:0 5px;flex-shrink:0}
.cm-th-sub{font-size:11px;color:var(--slate);margin-top:2px;display:flex;align-items:center;gap:6px}
.cm-th-last{font-size:11.5px;color:var(--mist);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-conv{display:flex;flex-direction:column;min-width:0;background:var(--card)}
.cm-conv-h{padding:13px 18px;border-bottom:1px solid var(--line2);flex-shrink:0}
.cm-conv-h .muted{font-size:11.5px;margin-top:2px}
.cm-msgs{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,var(--paper),#fff)}
.cm-msg{display:flex;flex-direction:column;max-width:74%}
.cm-msg.out{align-self:flex-end;align-items:flex-end}
.cm-msg.in{align-self:flex-start;align-items:flex-start}
.cm-bubble{padding:9px 13px;border-radius:13px;font-size:13px;line-height:1.45}
.cm-msg.out .cm-bubble{background:var(--ink);color:#fff;border-bottom-right-radius:4px}
.cm-msg.in .cm-bubble{background:var(--card);border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:4px}
.cm-meta{font-size:10px;color:var(--mist);margin-top:4px}
.cm-scripts{display:flex;gap:6px;flex-wrap:wrap;padding:8px 14px 0}
.cm-scripts .chip{cursor:pointer;border:1px solid var(--line);background:var(--paper);border-radius:20px;padding:4px 11px;font-size:11px;color:var(--slate);font-family:inherit}
.cm-scripts .chip:hover{border-color:var(--mint);color:var(--ink)}
.cm-composer{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--line2);align-items:flex-end}
.cm-composer textarea{flex:1;resize:none;font-family:inherit;font-size:13px}
.cm-conv .int-note{padding:0 14px 12px}
.cm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 30px;color:var(--mist);gap:6px}
.cm-empty svg{width:34px;height:34px;opacity:.5;margin-bottom:6px}
.cm-empty .et{font-weight:600;color:var(--slate);font-size:14px}
.cm-empty .ed{font-size:12.5px;max-width:440px;line-height:1.55}
.line-tag{font-size:9px;font-weight:700;letter-spacing:.4px;padding:1px 6px;border-radius:4px;text-transform:uppercase}
.line-tag.acq{background:var(--mint-l);color:var(--teal-d)}
.line-tag.bdr{background:var(--amber-l);color:var(--amber)}
.line-tag.sys{background:var(--line);color:var(--slate)}
.cm-auto-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cm-card{border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.cm-card-h{font-family:'Archivo';font-weight:700;font-size:13px;margin-bottom:10px}
.cm-bar{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--line2);font-size:12.5px}
.cm-bar-c{font-family:'Spline Sans Mono';font-weight:600;color:var(--teal-d)}
.cm-auto-row{padding:11px 0;border-bottom:1px solid var(--line2)}
.cm-auto-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.cm-auto-body{font-size:11.5px;color:var(--slate);margin-top:6px;white-space:pre-wrap;line-height:1.5;background:var(--paper);border-radius:6px;padding:8px 10px}

.flag.f-closed{background:var(--green-l);color:var(--green);border:1px solid rgba(5,150,105,.3)}

/* ---- import live progress ---- */
.im-prog{margin-top:12px;border-top:1px solid var(--line2);padding-top:12px;max-height:200px;overflow-y:auto;
  font-family:'Spline Sans Mono',monospace;font-size:11.5px;display:flex;flex-direction:column;gap:7px}
.im-prog .pl{display:flex;gap:8px;align-items:flex-start;color:var(--slate);line-height:1.5}
.im-prog .pl.ok{color:var(--green)} .im-prog .pl.err{color:var(--red)}
.im-prog .pl b{color:var(--ink);font-weight:600}
.spin{width:11px;height:11px;border:2px solid var(--line);border-top-color:var(--mint);border-radius:50%;
  display:inline-block;animation:spin .7s linear infinite;flex-shrink:0;margin-top:2px}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---- sync log ---- */
.sync-body{max-height:62vh;overflow-y:auto;display:flex;flex-direction:column;gap:10px;margin:4px 0}
.sync-card{border:1px solid var(--line);border-radius:var(--r-s);padding:13px 15px}
.sync-card.latest{border-color:rgba(var(--accent2-rgb),.4);background:var(--mint-l)}
.sr-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.sr-when{font-weight:600;font-size:12.5px;color:var(--ink)}
.sr-badge{background:var(--ink);color:#fff;font-size:9px;padding:1px 6px;border-radius:20px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.sr-src{font-size:11px;color:var(--mist);font-family:'Spline Sans Mono',monospace}
.sr-summary{font-size:12.5px;color:var(--ink2);margin:7px 0 9px;line-height:1.5}
.sr-stats{display:flex;flex-wrap:wrap;gap:6px}
.sr-stat{font-size:11px;color:var(--slate);background:var(--paper);border:1px solid var(--line2);border-radius:5px;padding:2px 8px}
.sr-stat b{color:var(--ink);font-weight:600}
.sr-stat.green b{color:var(--green)} .sr-stat.amber b{color:var(--amber)}
.flag.f-multi{background:var(--violet-l);color:var(--violet);border:1px solid rgba(109,91,208,.3);font-size:9.5px;vertical-align:1px}
.flag.f-today{background:var(--red-l);color:var(--red);border:1px solid rgba(220,38,38,.3);font-size:9.5px;vertical-align:1px;font-weight:600}
.appt-pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;padding:3px 9px;border-radius:999px;white-space:nowrap;line-height:1.4}
.appt-pill svg{width:13px;height:13px;flex:0 0 auto}
.appt-pill b{font-weight:700}
.appt-soon{background:var(--red-l);color:var(--red)}
.appt-week{background:#FEF3E2;color:#D97706}
.appt-later{background:var(--violet-l);color:var(--violet)}
.appt-none{background:var(--paper);color:var(--mist);border:1px solid var(--line2);font-weight:400}
.flag.f-bo{background:var(--red-l);color:var(--red);border:1px solid rgba(220,38,38,.3)}
.flag.f-od{background:#FEF3E2;color:#D97706;border:1px solid rgba(217,119,6,.3)}
.flag.f-ready{background:var(--green-l);color:var(--green);border:1px solid rgba(5,150,105,.3)}
.ds-sent{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--green)}
.ds-sent svg{width:15px;height:15px}
.code-pre{margin:4px 0 0;padding:14px;background:var(--paper);border:1px solid var(--line2);border-radius:9px;font-family:'Spline Sans Mono',monospace;font-size:11.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:48vh;overflow:auto;color:var(--ink)}
/* age visualization */
.agebar{display:inline-block;width:56px;height:5px;background:var(--line2);border-radius:99px;overflow:hidden;vertical-align:middle;margin-left:8px}
.agebar-f{display:block;height:100%;border-radius:99px}
.agebar-f.age-ok{background:var(--green)} .agebar-f.age-warn{background:var(--amber)} .agebar-f.age-bad{background:var(--red)}
.kcard .agebar{width:100%;margin:7px 0 1px}
/* smart filter — topbar funnel + drop-down window */
.tb-ico-wrap{position:relative;display:inline-flex}
.tb-btn.icon{padding:9px;width:38px;justify-content:center}
.tb-btn.icon svg{margin:0;width:16px;height:16px}
.tb-btn.icon.on{border-color:var(--amber);color:var(--amber);background:var(--amber-l)}
.filter-dot{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--amber);border:2px solid var(--card)}
.filter-pop{position:absolute;top:calc(100% + 9px);right:0;width:328px;max-height:calc(100vh - 110px);overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:0 16px 42px rgba(13,24,46,.17);padding:15px 16px;z-index:80}
.fp-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
.fp-h h4{margin:0;font-size:14px;font-weight:700;text-transform:capitalize}
.fp-count{font-size:11.5px;color:var(--amber);font-weight:600}
.fp-sec{border-top:1px solid var(--line2);padding:9px 0}
.fp-sec:first-of-type{border-top:none}
.fp-sec-h{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none}
.fp-grp{font-size:10.5px;color:var(--mist);font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.fp-n{background:var(--amber);color:#fff;border-radius:9px;padding:0 6px;font-size:10px;font-weight:700;margin-left:4px;text-transform:none;letter-spacing:0}
.fp-chev{display:inline-flex;color:var(--mist);transition:transform .15s}
.fp-chev svg{width:15px;height:15px}
.fp-chev:not(.open){transform:rotate(-90deg)}
.fp-cbs{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.fp-cb{display:inline-flex;align-items:center;gap:5px;font-size:12px;background:var(--paper);border:1px solid var(--line2);border-radius:7px;padding:3px 8px;cursor:pointer;user-select:none}
.fp-cb.on{background:var(--amber-l);border-color:var(--amber);color:var(--amber);font-weight:500}
.fp-cb input{margin:0;width:13px;height:13px;accent-color:var(--amber);cursor:pointer}
.fp-empty{font-size:11.5px;color:var(--mist)}
.fp-chk{display:flex;align-items:center;gap:8px;font-size:13px;margin:2px 0 6px;cursor:pointer}
.fp-chk input{accent-color:var(--amber)}
.fp-foot{display:flex;align-items:center;justify-content:space-between;margin-top:6px;padding-top:12px;border-top:1px solid var(--line2);position:sticky;bottom:-15px;background:var(--card)}
.fp-sort{display:flex;align-items:center;gap:8px;margin:0 0 4px;padding-bottom:11px;border-bottom:1px solid var(--line2)}
.fp-sort label{font-size:10.5px;color:var(--mist);font-weight:600;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
.fp-sort .sel{flex:1}
.dr-signals{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.dr-signals .sig{font-size:10.5px;background:rgba(255,255,255,.1);color:#dbe6f4;border:1px solid rgba(255,255,255,.16);border-radius:5px;padding:2px 8px}
.dr-multis{display:flex;flex-direction:column;gap:6px}
.dr-multi{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line2);border-radius:var(--r-s);font-size:12px}
.dr-multi:not(.cur){cursor:pointer}
.dr-multi:not(.cur):hover{border-color:var(--slate);background:var(--paper)}
.dr-multi.cur{background:var(--mint-l);border-color:rgba(var(--accent2-rgb),.35)}
.dm-v{flex:1;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ============ WIN RATE BANNER ============ */
.win-banner{padding:18px 22px;display:flex;flex-direction:column;gap:12px;border-left:4px solid var(--amber)}
.win-banner.hit{border-left-color:var(--green);background:linear-gradient(135deg,var(--green-l),var(--card) 55%)}
.wb-main{display:flex;align-items:center;gap:18px}
.wb-rate{font-family:'Archivo';font-weight:800;font-size:44px;letter-spacing:-2px;line-height:1}
.win-banner.hit .wb-rate{color:var(--green)}
.wb-pc{font-size:22px;font-weight:700;letter-spacing:0}
.wb-t{font-family:'Archivo';font-weight:700;font-size:15px}
.wb-d{font-size:12.5px;color:var(--slate);margin-top:3px}
.wb-track{position:relative;height:10px;background:var(--line2);border-radius:6px;overflow:visible}
.wb-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--amber),var(--green));transition:width .4s}
.win-banner.hit .wb-fill{background:var(--green)}
.wb-tick{position:absolute;top:-3px;width:3px;height:16px;background:var(--ink);border-radius:2px;transform:translateX(-2px)}

/* ============ TOAST ============ */
.toast-wrap{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:90;display:flex;flex-direction:column;gap:10px;align-items:center}
.toast{background:var(--ink);color:#fff;padding:12px 18px;border-radius:10px;font-size:13px;font-weight:500;
  box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:11px;transform:translateY(20px);opacity:0;
  animation:tin .3s forwards;min-width:280px}
@keyframes tin{to{transform:translateY(0);opacity:1}}
.toast.out{animation:tout .3s forwards}
@keyframes tout{to{transform:translateY(20px);opacity:0}}
.toast .tico{width:22px;height:22px;border-radius:6px;background:var(--mint);display:grid;place-items:center;flex-shrink:0;color:#0D182E}
.toast .tico svg{width:14px;height:14px}
.toast.amber .tico{background:var(--amber);color:#fff}
.toast .tx b{font-weight:650}
.toast .tsub{font-size:11px;color:#9fb3c9;margin-top:1px}

/* empty */
.empty{padding:50px 20px;text-align:center;color:var(--mist)}
.empty svg{width:38px;height:38px;opacity:.4;margin-bottom:12px}
.empty .et{font-weight:600;color:var(--slate);font-size:14px}
.empty .ed{font-size:12.5px;margin-top:4px}

.hide{display:none!important}
.src-note{font-size:10.5px;color:var(--mist);display:flex;align-items:center;gap:6px;font-family:'Spline Sans Mono'}
.src-note svg{width:12px;height:12px}

@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.rail{display:none}.search input{width:160px}}
/* ===== STAGE PIPELINE BAR ===== */
.stagebar{display:flex;gap:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:20px}
.stage-seg{flex:1;padding:13px 12px 12px;position:relative;cursor:pointer;transition:.14s;border-right:1px solid var(--line2);text-align:center}
.stage-seg:last-child{border-right:none}
.stage-seg:hover{background:var(--paper)}
.stage-seg.on{background:var(--ink)}
.stage-seg.on .ss-n,.stage-seg.on .ss-l{color:#fff}
.stage-seg.on.lost{background:var(--red)}
.ss-n{font-family:'Archivo';font-weight:800;font-size:22px;letter-spacing:-.5px;line-height:1}
.ss-l{font-size:11px;font-weight:600;color:var(--slate);margin-top:4px;text-transform:uppercase;letter-spacing:.4px}
.ss-bar{position:absolute;left:0;right:0;bottom:0;height:3px}

/* qual slider in cell */
.qual{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;font-size:10px;font-weight:700}
.qual span{padding:3px 7px;cursor:pointer;color:var(--mist);transition:.12s;letter-spacing:.2px}
.qual span:hover{background:var(--paper)}
.qual span.on.q-qualified{background:var(--green);color:#fff}
.qual span.on.q-unqualified{background:var(--slate);color:#fff}
.qual span.on.q-disqualified{background:var(--red);color:#fff}

/* attribute check pills */
.attrs{display:flex;gap:5px}
.attr{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:650;padding:3px 8px;border-radius:6px;
  border:1px solid var(--line);color:var(--mist);cursor:pointer;transition:.12s;white-space:nowrap;background:var(--card)}
.attr:hover{border-color:var(--slate)}
.attr.on{border-color:transparent}
.attr.on.va{background:var(--violet-l);color:var(--violet)}
.attr.on.or{background:var(--mint-l);color:var(--teal-d)}
.attr.on.ip{background:var(--amber-l);color:var(--amber)}
.attr .ck{width:13px;height:13px;border-radius:3px;border:1.5px solid currentColor;display:grid;place-items:center;flex-shrink:0}
.attr.on .ck{background:currentColor}
.attr.on .ck svg{width:9px;height:9px;color:#fff;display:block}
.attr:not(.on) .ck svg{display:none}

/* rep avatar */
.rep-av{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700;font-family:'Archivo';flex-shrink:0}
.rep-cell{display:flex;align-items:center;gap:8px}
.rep-name{font-size:12px;font-weight:550;color:var(--ink2)}
.rep-none{font-size:11.5px;color:var(--red);font-weight:600;display:inline-flex;align-items:center;gap:5px;cursor:pointer;
  padding:4px 9px;border:1px dashed var(--red);border-radius:6px;background:var(--red-l)}
.rep-none:hover{background:#fbe0e0}

/* assign dropdown */
.assign-pop{position:absolute;background:var(--card);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow-lg);
  padding:6px;z-index:80;min-width:180px}
.assign-i{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:7px;cursor:pointer;font-size:12.5px;font-weight:500}
.assign-i:hover{background:var(--paper)}

/* ===== REPORTS ===== */
.rep-tabs{display:flex;gap:6px;margin-bottom:18px;border-bottom:1px solid var(--line);padding-bottom:0}
.rep-tab{padding:9px 15px;font-size:13px;font-weight:600;color:var(--slate);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:.13s}
.rep-tab:hover{color:var(--ink2)}
.rep-tab.on{color:var(--teal);border-bottom-color:var(--teal)}

.rcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:20px}

/* funnel */
.funnel{display:flex;flex-direction:column;gap:7px}
.fn-row{display:flex;align-items:center;gap:14px}
.fn-lbl{width:110px;font-size:12.5px;font-weight:600;color:var(--ink2);text-align:right;flex-shrink:0}
.fn-track{flex:1;height:34px;background:var(--paper);border-radius:7px;overflow:hidden;position:relative;border:1px solid var(--line2)}
.fn-fill{height:100%;display:flex;align-items:center;padding:0 12px;border-radius:6px;transition:width .6s cubic-bezier(.4,0,.2,1);min-width:42px}
.fn-fill .fnum{font-family:'Archivo';font-weight:700;font-size:14px;color:#fff}
.fn-meta{width:130px;font-size:11.5px;color:var(--mist);flex-shrink:0}
.fn-meta b{color:var(--ink2);font-weight:600}

/* rep scorecard table */
.score-tbl td{vertical-align:middle}
.mini-bar{height:7px;background:var(--line);border-radius:5px;overflow:hidden;width:90px;display:inline-block;vertical-align:middle}
.mini-fill{height:100%;border-radius:5px;background:var(--teal)}
.stat-num{font-family:'Spline Sans Mono';font-weight:600;font-size:13px}
.stat-sub{font-size:10.5px;color:var(--mist)}

/* coverage donut (css conic) */
.cov-wrap{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.donut{width:128px;height:128px;border-radius:50%;display:grid;place-items:center;position:relative;flex-shrink:0}
.donut::after{content:"";position:absolute;width:84px;height:84px;background:var(--card);border-radius:50%}
.donut-c{position:relative;z-index:1;text-align:center}
.donut-c .dn{font-family:'Archivo';font-weight:800;font-size:26px;line-height:1}
.donut-c .dl{font-size:10px;color:var(--slate);font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-top:2px}
.cov-legend{display:flex;flex-direction:column;gap:10px}
.cov-li{display:flex;align-items:center;gap:10px;font-size:13px}
.cov-sw{width:13px;height:13px;border-radius:4px;flex-shrink:0}
.cov-li .cv{font-family:'Spline Sans Mono';font-weight:600;margin-left:auto;padding-left:24px}

/* alert strip */
.alert-strip{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--red-l);border:1px solid #f3c0c0;
  border-radius:10px;margin-bottom:18px}
.alert-strip.amber{background:var(--amber-l);border-color:#f0d9a8}
.alert-strip .as-ico{width:32px;height:32px;border-radius:8px;background:var(--red);color:#fff;display:grid;place-items:center;flex-shrink:0}
.alert-strip.amber .as-ico{background:var(--amber)}
.alert-strip .as-t{font-weight:650;font-size:13px;color:var(--ink)}
.alert-strip .as-d{font-size:11.5px;color:var(--slate);margin-top:1px}
.alert-strip .as-btn{margin-left:auto;border:1px solid var(--red);color:var(--red);background:var(--card);border-radius:7px;
  padding:7px 13px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}
.alert-strip.amber .as-btn{border-color:var(--amber);color:var(--amber)}
.alert-strip .as-btn:hover{background:#fff}

/* drawer stage stepper */
.stepper{display:flex;gap:0;margin:4px 0 8px}
.step{flex:1;text-align:center;position:relative;cursor:pointer}
.step-dot{width:24px;height:24px;border-radius:50%;background:var(--card);border:2px solid var(--line);margin:0 auto;
  display:grid;place-items:center;font-size:10px;font-weight:700;color:var(--mist);position:relative;z-index:1;transition:.14s}
.step::before{content:"";position:absolute;top:11px;left:-50%;width:100%;height:2px;background:var(--line);z-index:0}
.step:first-child::before{display:none}
.step.done .step-dot{background:var(--teal);border-color:var(--teal);color:#fff}
.step.done::before{background:var(--teal)}
.step.cur .step-dot{border-color:var(--teal);color:var(--teal);box-shadow:0 0 0 4px var(--mint-l)}
.step-l{font-size:9.5px;color:var(--slate);margin-top:5px;font-weight:600}
.step.cur .step-l{color:var(--teal)}
.step:hover .step-dot{border-color:var(--teal)}

/* toggle row in drawer */
.tog-row{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;margin-bottom:8px;cursor:pointer;transition:.13s}
.tog-row:hover{border-color:var(--slate)}
.tog-row.on{border-color:var(--mint);background:var(--mint-l)}
.tog-row .tog-ico{width:32px;height:32px;border-radius:8px;background:var(--paper);display:grid;place-items:center;color:var(--slate);flex-shrink:0}
.tog-row.on .tog-ico{background:var(--teal);color:#fff}
.tog-t{font-weight:600;font-size:13px}.tog-d{font-size:11px;color:var(--mist);margin-top:1px}
.toggle{width:38px;height:22px;border-radius:20px;background:var(--line);margin-left:auto;position:relative;transition:.16s;flex-shrink:0}
.toggle::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.16s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.tog-row.on .toggle{background:var(--teal)}
.tog-row.on .toggle::after{left:18px}

/* qual segmented in drawer */
.qual-seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.qual-seg button{flex:1;padding:9px;font-size:12px;font-weight:600;border:none;background:var(--card);color:var(--slate);cursor:pointer;font-family:inherit;transition:.12s;border-right:1px solid var(--line)}
.qual-seg button:last-child{border-right:none}
.qual-seg button.on.q-qualified{background:var(--green);color:#fff}
.qual-seg button.on.q-unqualified{background:var(--slate);color:#fff}
.qual-seg button.on.q-disqualified{background:var(--red);color:#fff}

.last-touch{font-size:11.5px;font-weight:550}
.lt-fresh{color:var(--green)} .lt-warm{color:var(--amber)} .lt-cold{color:var(--red)}
/* ===== Blink brand mark ===== */
.brand-icon{width:34px;height:34px;object-fit:contain;flex-shrink:0;
  filter:drop-shadow(0 2px 6px rgba(var(--accent-rgb),.25))}
.brand-name{font-family:'Archivo';font-weight:800;font-size:18px;color:#fff;letter-spacing:-.4px;line-height:1}
.brand-sub{font-size:8.5px;color:var(--mint);margin-top:3px;font-weight:700;letter-spacing:1.1px}

/* ===== Guest Experience / Reviews ===== */
.rv-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.rv-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:550;
  padding:5px 10px;border-radius:20px;border:1px solid var(--line);color:var(--slate);background:var(--card)}
.rv-chip svg{width:13px;height:13px}
.rv-chip.ok{color:var(--green);border-color:var(--green-l);background:var(--green-l)}
.rv-chip.warn{color:var(--amber);border-color:var(--amber-l);background:var(--amber-l)}
.rv-sec-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 10px}
.rv-sec-h h3{font-size:14px;font-weight:700;color:var(--ink)}
.rv-sec-h .sub{font-size:12px;color:var(--mist);flex:1;min-width:200px}
.rv-stars{display:inline-flex;gap:1px;vertical-align:middle}
.rv-star svg{width:14px;height:14px;color:var(--line)}
.rv-star.on svg{color:var(--amber);fill:var(--amber)}
.rv-rate{display:inline-flex;gap:4px}
.rv-rbtn{width:30px;height:30px;border-radius:7px;border:1px solid var(--line);background:var(--card);
  font-weight:700;font-size:12px;color:var(--slate);cursor:pointer;transition:.12s}
.rv-rbtn:hover{border-color:var(--amber);color:var(--amber);background:var(--amber-l)}
.rv-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media(max-width:820px){.rv-grid2{grid-template-columns:1fr}}
.rv-distrow{display:flex;align-items:center;gap:10px;margin:7px 0}
.rv-distk{display:inline-flex;align-items:center;gap:3px;width:34px;font-size:12px;font-weight:600;color:var(--slate)}
.rv-distk svg{width:12px;height:12px;color:var(--amber);fill:var(--amber)}
.rv-distbar{flex:1;height:10px;border-radius:6px;background:var(--line2);overflow:hidden}
.rv-distbar span{display:block;height:100%;border-radius:6px;transition:width .3s}
.rv-distn{width:26px;text-align:right;font-size:12px;font-weight:700;color:var(--ink)}
.rv-dept{padding:8px 0;border-bottom:1px solid var(--line2)}
.rv-dept:last-child{border-bottom:0}
.rv-dept-h{display:flex;align-items:center;gap:8px;font-weight:600}
.rv-dept-avg{font-size:13px;font-weight:700;color:var(--ink)}
.rv-fb{border:1px solid var(--line);border-left:3px solid var(--line);border-radius:8px;padding:9px 12px;margin:8px 0}
.rv-fb.promoter{border-left-color:var(--green)}
.rv-fb.detractor{border-left-color:var(--red)}
.rv-fb-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}
.rv-fb-n{font-weight:650;color:var(--ink)}
.rv-fb-body{font-size:12.5px;color:var(--ink2);margin-top:5px;line-height:1.45;white-space:pre-line}

/* ===== Reviews / reputation hub ===== */
.mode-btn.rev.on{color:var(--ink)} .rev-mode .nav-i.on::before{background:var(--green)}
.rv-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}
@media(max-width:900px){.rv-kpis{grid-template-columns:repeat(2,1fr)}}
.rv-kpi{border:1px solid var(--line);border-radius:var(--r);padding:13px 15px;position:relative;background:var(--card)}
.rv-kpi.hit{border-color:var(--green);background:var(--green-l)}
.rv-kpi-l{font-size:11.5px;color:var(--mist);font-weight:600}
.rv-kpi-v{font-family:'Archivo';font-weight:800;font-size:30px;color:var(--ink);line-height:1.1;margin:3px 0 7px}
.rv-of5{font-size:15px;color:var(--mist);font-weight:600}
.rv-kpi-bar{height:5px;border-radius:4px;background:var(--line2);overflow:hidden}
.rv-kpi-bar span{display:block;height:100%;border-radius:4px;background:var(--slate);transition:width .3s}
.rv-kpi.hit .rv-kpi-bar span{background:var(--green)}
.rv-kpi-t{font-size:10.5px;color:var(--mist);margin-top:6px}
.rv-kpi.hit .rv-kpi-t b{color:var(--green)}
.rv-mood{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin-top:4px;background:linear-gradient(180deg,var(--paper),var(--card))}
.rv-mood-l{font-family:'Archivo';font-weight:800;font-size:20px;color:var(--ink)}
.rv-mood-track{height:8px;border-radius:6px;background:linear-gradient(90deg,var(--red-l),var(--amber-l),var(--green-l));position:relative;margin:9px 0;overflow:visible}
.rv-mood-track span{position:absolute;top:-3px;width:3px;height:14px;border-radius:2px;background:var(--ink);transform:translateX(-50%)}
.rv-mood-s{font-size:12.5px;color:var(--ink2)}
.rv-theme{border-left:3px solid var(--line);padding:8px 12px;margin:8px 0;background:var(--paper);border-radius:0 8px 8px 0}
.rv-theme.positive{border-left-color:var(--green)} .rv-theme.negative{border-left-color:var(--red)} .rv-theme.mixed{border-left-color:var(--amber)}
.rv-theme-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rv-theme-n{font-weight:650;color:var(--ink);font-size:13px}
.rv-sent{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 7px;border-radius:10px}
.rv-sent.positive{background:var(--green-l);color:var(--green)} .rv-sent.negative{background:var(--red-l);color:var(--red)} .rv-sent.mixed{background:var(--amber-l);color:var(--amber)}
.rv-theme-i{font-size:12px;color:var(--slate);margin-top:3px}
.rv-theme-q{font-size:12.5px;color:var(--ink2);font-style:italic;margin-top:5px;padding-left:10px;border-left:2px solid var(--line)}
.rv-opp{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line2)}
.rv-opp:last-child{border-bottom:0}
.rv-opp-t{font-weight:600;color:var(--ink);font-size:12.5px}
.rv-imp,.rv-eff{flex-shrink:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:3px 8px;border-radius:10px;margin-top:1px}
.rv-imp.high{background:var(--red-l);color:var(--red)} .rv-imp.medium{background:var(--amber-l);color:var(--amber)} .rv-imp.low{background:var(--line2);color:var(--slate)}
.rv-eff{background:var(--violet-l);color:var(--violet)}

/* sign-in recovery note (stale-link / cancelled / wrong-account) */
.login-note{background:var(--amber-l);color:#9a5b06;border:1px solid rgba(217,119,6,.3);border-radius:10px;
  padding:10px 14px;font-size:12.5px;line-height:1.4;margin-bottom:16px;max-width:340px;text-align:left}
