/* ===========================================================
   SheBliss Command Center — bright light design system
   Glassmorphism · SVG icons · SHEBLISS wordmark
   Reused across all current & future dashboards in this project.
=========================================================== */
:root{
  --bg:#e7eaf1;
  --surface:#ffffff; --surface-2:#f4f5f9; --surface-3:#eef0f7;
  --text:#1d2333; --text-2:#5b6276; --muted:#9aa0b2;
  --line:#edeff4; --line-2:#e2e5ee;
  --primary:#5a5cf0; --primary-2:#8b8cf7; --primary-3:#c3c4fb; --primary-soft:#ecedfe;
  --teal:#22d3bf; --teal-soft:#d7f7f2;
  --coral:#fb6f8d; --orange:#fbb13c; --blue:#3b82f6;
  --good:#19c37d; --bad:#f0556d; --warn:#f5a623;
  --glass:rgba(255,255,255,.62);
  --glass-brd:rgba(255,255,255,.7);
  --shadow-sm:0 4px 14px rgba(29,35,51,.05);
  --shadow:0 12px 34px rgba(29,35,51,.07);
  --shadow-lg:0 20px 50px rgba(29,35,51,.12);
  --r-lg:22px; --r-md:16px; --r-sm:11px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text-2);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}
/* decorative colour blobs revealed through glass */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(620px 440px at 10% 8%, rgba(139,140,247,.20), transparent 60%),
  radial-gradient(520px 380px at 92% 16%, rgba(34,211,191,.17), transparent 60%),
  radial-gradient(640px 520px at 72% 96%, rgba(251,111,141,.13), transparent 62%),
  radial-gradient(420px 420px at 36% 70%, rgba(59,130,246,.10), transparent 60%);}
a{color:var(--primary);text-decoration:none}
.hidden{display:none!important}
h1,h2,h3{color:var(--text);margin:0}
.wordmark{height:24px;width:auto;color:#11131a;display:block}

/* glass utility */
.glass{background:var(--glass);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);
  border:1px solid var(--glass-brd)}

/* icons */
.ic{width:18px;height:18px;flex:none;stroke-width:1.8}
.ic.sm{width:14px;height:14px}

/* buttons / inputs */
.btn{background:var(--primary);color:#fff;border:0;border-radius:12px;padding:10px 17px;font-weight:600;font-size:13px;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:7px}
.btn:hover{filter:brightness(1.06);box-shadow:0 8px 20px rgba(90,92,240,.30)}
.btn.ghost{background:var(--surface);color:var(--text);border:1px solid var(--line-2);box-shadow:var(--shadow-sm)}
.btn.ghost:hover{box-shadow:var(--shadow);filter:none}
.btn.fb{background:#1877f2}
.btn.sm{padding:7px 12px;font-size:12px}
.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.linkbtn{background:none;border:0;color:var(--primary);cursor:pointer;font-size:12px;font-weight:600}
.linkbtn:hover{text-decoration:underline}
select,input[type=number],input[type=date],input[type=text],input[type=password]{
  background:var(--surface);color:var(--text);border:1px solid var(--line-2);border-radius:10px;
  padding:8px 11px;font-size:13px;outline:none;transition:.15s;font-family:inherit}
input:focus,select:focus{border-color:var(--primary-2);box-shadow:0 0 0 3px var(--primary-soft)}
input[type=number]{width:74px}

/* ===================== ONBOARDING ===================== */
#onboarding{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px}
.screen{width:100%;max-width:720px}
.brand-onb{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:24px}
.onb-tag{color:var(--muted);font-size:12px;font-weight:500}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}
.card .hd{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.card .hd h2{font-size:15px}.card .hd .hint{color:var(--muted);font-size:11.5px}
.card .bd,.panel>.bd{padding:20px 22px}
.steps{counter-reset:step;list-style:none;padding:0;margin:0 0 20px}
.steps li{position:relative;padding:11px 0 11px 40px;border-bottom:1px solid var(--line);color:var(--text-2);font-size:13px}
.steps li:last-child{border-bottom:0}
.steps li::before{counter-increment:step;content:counter(step);position:absolute;left:0;top:9px;width:26px;height:26px;border-radius:50%;
  background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.steps b{color:var(--text)}
code{background:var(--surface-2);color:var(--primary);padding:2px 6px;border-radius:6px;font-size:12px}
.field{margin-bottom:14px}.field label{display:block;color:var(--text-2);font-size:12px;margin-bottom:6px;font-weight:500}
.field input{width:100%}
.copybox{display:flex;gap:8px;align-items:center;background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;padding:9px 11px;margin-top:6px}
.copybox code{background:none;word-break:break-all}
.msg{font-size:12.5px;margin-top:10px;display:inline-block}.msg.err{color:var(--bad)}.msg.ok{color:var(--good)}
.note{color:var(--muted);font-size:11.5px;margin:0 0 16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dot{width:7px;height:7px;border-radius:50%;background:var(--warn);display:inline-block;flex:none}

/* account picker */
.acct-list{display:grid;grid-template-columns:1fr 1fr;gap:11px}
@media(max-width:720px){.acct-list{grid-template-columns:1fr}}
.acct{display:flex;gap:11px;align-items:flex-start;background:var(--surface-2);border:1px solid var(--line-2);border-radius:13px;padding:13px 15px;cursor:pointer;transition:.15s}
.acct:hover{border-color:var(--primary-2);background:#fff;box-shadow:var(--shadow-sm)}
.acct input{margin-top:3px;accent-color:var(--primary)}
.acct .a-name{font-weight:650;color:var(--text)}.acct .a-meta{color:var(--muted);font-size:11px;margin-top:3px}
.cur-tag{font-size:9.5px;padding:2px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);margin-left:7px;font-weight:600}
.st-tag{font-size:9.5px;padding:2px 8px;border-radius:999px;font-weight:600}
.st-tag.ok{background:var(--teal-soft);color:#0c9d8c}.st-tag.no{background:#fde3e7;color:var(--bad)}

/* ===================== APP SHELL ===================== */
#dashShell{display:flex;min-height:100vh}
.sidebar{width:236px;flex:none;border-right:1px solid var(--line-2);
  padding:22px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.sidebar .brand{padding:0 6px 4px}.sidebar .wordmark{height:22px}
.brand-sub{font-size:13px;color:var(--text-2,#5a6172);padding:2px 6px 18px;font-weight:700;letter-spacing:.2px}
.nav-sec{color:var(--muted);font-size:10.5px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;padding:14px 10px 7px}
.nav-sec-toggle{cursor:pointer;display:flex;align-items:center;justify-content:space-between;user-select:none;border-radius:8px;transition:background .12s}
.nav-sec-toggle:hover{background:var(--surface-3,#eceef3)}
.nav-sec-toggle::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s;opacity:.55;margin:0 4px 3px 0}
.nav-sec-toggle.collapsed::after{transform:rotate(-45deg);margin-bottom:0}
.nav-item.sec-collapsed{display:none!important}
.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;color:var(--text-2);font-size:13px;font-weight:550;cursor:pointer;transition:.15s;margin-bottom:2px}
.nav-item:hover{background:rgba(255,255,255,.7);color:var(--text)}
.nav-item.active{background:var(--primary);color:#fff;box-shadow:0 8px 18px rgba(90,92,240,.30)}
.nav-item.soon{opacity:.55;cursor:default}.nav-item.soon:hover{background:none;color:var(--text-2)}
.nav-item .tag-soon{margin-left:auto;font-size:8px;background:var(--surface-3);color:var(--muted);padding:2px 6px;border-radius:999px;font-weight:700;letter-spacing:.3px}
.sidebar .user{margin-top:auto;background:rgba(255,255,255,.65);border:1px solid var(--line-2);border-radius:15px;padding:12px;display:flex;flex-direction:column;gap:10px}
.sidebar .user .row{display:flex;align-items:center;gap:10px}
.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--coral),var(--orange));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.user .nm{font-weight:700;color:var(--text);font-size:12.5px}.user .rl{font-size:10.5px;color:var(--muted)}
.user .acts{display:flex;gap:6px 8px;border-top:1px solid var(--line-2);padding-top:9px;flex-wrap:wrap}
.user .acts button{flex:1 1 calc(50% - 4px);background:none;border:0;color:var(--text-2);font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;font-weight:550;white-space:nowrap;padding:4px 0;border-radius:8px}
.user .acts button:hover{color:var(--primary);background:var(--surface-2)}
.user .acts #signOut{flex-basis:100%}

.main{flex:1;min-width:0;padding:20px 26px 50px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.topbar h2{font-size:21px;letter-spacing:-.3px}.topbar .crumb{color:var(--muted);font-size:12px;margin-top:2px}
.util-icons{display:flex;gap:10px;align-items:center;position:relative}
.icon-btn{width:40px;height:40px;border-radius:13px;background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--shadow-sm);
  color:var(--text-2);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:.15s}
.icon-btn:hover{color:var(--primary);box-shadow:var(--shadow);transform:translateY(-1px)}
.icon-btn .badge{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;border-radius:999px;background:var(--bad);color:#fff;font-size:9.5px;font-weight:700;display:none;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 2px 6px rgba(240,85,109,.5)}
.icon-btn .badge.on{display:flex}
.notif-panel{position:absolute;top:48px;right:0;width:330px;border-radius:16px;box-shadow:var(--shadow-lg);padding:10px;z-index:60;max-height:60vh;overflow:auto}
.notif-panel .nt{display:flex;gap:9px;padding:9px 10px;border-radius:11px}
.notif-panel .nt:hover{background:rgba(255,255,255,.6)}
.notif-panel .nt-t{font-weight:700;font-size:12px;color:var(--text)}.notif-panel .nt-d{font-size:11px;color:var(--text-2);margin-top:1px}
.notif-empty{padding:18px;text-align:center;color:var(--muted);font-size:12px}

.controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap;border-radius:16px;padding:9px 11px;margin-bottom:16px;box-shadow:var(--shadow-sm)}
.ctl{background:var(--surface);border:1px solid var(--line-2);border-radius:11px;padding:5px 11px;display:flex;gap:8px;align-items:center}
.ctl label{color:var(--muted);font-size:11px;font-weight:600}
.ctl input,.ctl select{border:0;box-shadow:none;background:none;padding:3px 2px}
.ctl input:focus,.ctl select:focus{box-shadow:none}
.ctl .mini{font-size:10px;color:var(--primary);cursor:pointer;font-weight:700}
.seg{display:flex;background:var(--surface);border:1px solid var(--line-2);border-radius:11px;overflow:hidden}
.seg button{background:transparent;border:0;color:var(--text-2);padding:7px 13px;cursor:pointer;font-size:12px;font-weight:600}
.seg button.active{background:var(--primary);color:#fff}
.seg.sm button{padding:6px 11px;font-size:11px}
.controls .spacer{flex:1}
.upd{color:var(--muted);font-size:11px;display:flex;align-items:center;gap:6px}
.upd .pulse{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 0 rgba(25,195,125,.5);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(25,195,125,.5)}70%{box-shadow:0 0 0 6px rgba(25,195,125,0)}100%{box-shadow:0 0 0 0 rgba(25,195,125,0)}}

/* hero */
.hero{position:relative;border-radius:var(--r-lg);padding:24px 26px;margin-bottom:16px;overflow:hidden;
  background:
    radial-gradient(900px 400px at 100% -40%, rgba(139,140,247,.45), transparent 60%),
    radial-gradient(600px 300px at 80% 120%, rgba(34,211,191,.30), transparent 60%),
    linear-gradient(120deg,#eef0ff 0%, #f3f0ff 45%, #eaf6ff 100%);
  border:1px solid #e7e7ff}
.hero::after{content:"";position:absolute;right:-40px;top:-60px;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.9), rgba(167,168,246,.25) 55%, transparent 70%);filter:blur(2px)}
.hero-head{position:relative;z-index:2}.hero-head h2{font-size:19px}.hero-head .sub{color:var(--text-2);font-size:12.5px;margin-top:3px}
.hero-tiles{position:relative;z-index:2;display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}
.tile{background:rgba(255,255,255,.55);backdrop-filter:blur(10px) saturate(150%);-webkit-backdrop-filter:blur(10px) saturate(150%);
  border:1px solid rgba(255,255,255,.85);border-radius:var(--r-md);padding:15px 18px;min-width:150px;box-shadow:var(--shadow-sm)}
.tile.big{min-width:210px;background:rgba(255,255,255,.78)}
.t-lab{color:var(--muted);font-size:11px;font-weight:600}.t-val{color:var(--text);font-weight:800;letter-spacing:-.5px;margin-top:6px;font-size:21px}
.tile.big .t-val{font-size:30px}.t-sub{font-size:11px;margin-top:3px}
.up{color:var(--good)}.down{color:var(--bad)}.flat{color:var(--muted)}

/* secondary stat chips */
.statchips{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}
@media(max-width:900px){.statchips{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.statchips{grid-template-columns:repeat(2,1fr)}}
.chip{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:14px 17px;box-shadow:var(--shadow-sm)}
.chip .c-lab{color:var(--muted);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.chip .c-val{color:var(--text);font-size:17px;font-weight:750;margin-top:5px}

/* charts */
.charts3{display:grid;grid-template-columns:1.05fr 1.1fr 1.25fr;gap:16px;margin-bottom:18px}
@media(max-width:1080px){.charts3{grid-template-columns:1fr 1fr}.charts3 .c-area{grid-column:1/-1}}
@media(max-width:680px){.charts3{grid-template-columns:1fr}}
.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow)}
.chart-card h3{font-size:14px}.chart-card .csub{color:var(--muted);font-size:11px;margin-bottom:12px}
.chart-wrap{position:relative;height:180px}
.legend{display:flex;flex-direction:column;gap:9px}.legend .lg{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.35}
.legend .lg .sw{width:9px;height:9px;border-radius:3px;flex:none;margin-top:4px}
.legend .lg .nm{color:var(--text-2);flex:1;min-width:0;word-break:break-word}
.legend .lg .vl{margin-left:auto;padding-left:10px;font-weight:700;color:var(--text);white-space:nowrap;flex:none}
.donut-flex{display:flex;gap:16px;align-items:center}.donut-flex .chart-wrap{width:150px;height:150px;flex:none}.donut-flex .legend{flex:1}

/* panels & tables */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;margin-bottom:18px}
.panel .hd{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.panel .hd h2{font-size:15px}.panel .hd .hint{color:var(--muted);font-size:11.5px}
.grid-tools{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.search-box{display:flex;align-items:center;gap:7px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:11px;padding:6px 11px;color:var(--muted)}
.search-box input{border:0;background:none;padding:1px 0;width:150px}.search-box input:focus{box-shadow:none}
.tabs{display:flex;gap:4px;background:var(--surface-2);border-radius:11px;padding:4px}
.tabs button{background:transparent;border:0;color:var(--text-2);padding:7px 13px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600}
.tabs button.active{background:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}
.tblwrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:12.5px;min-width:940px}
/* Calling-CRM report tables (Daily report, Performance, Agent monitor) are small — don't force the 940px analytics width, so the numbers are readable on every device without endless sideways scrolling. */
#view-recovery .tblwrap table{min-width:0}
#view-recovery .tblwrap::before{display:none!important}
th,td{padding:11px 14px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line-2);border-right:1px solid var(--line)}
th:last-child,td:last-child{border-right:0;padding-right:22px}
th:first-child,td:first-child{text-align:left;position:sticky;left:0;background:var(--surface);border-right:1px solid var(--line-2);box-shadow:1px 0 0 var(--line-2);padding-left:22px}
thead th{color:var(--muted);font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;user-select:none;background:var(--surface-2)}
thead th:first-child{background:var(--surface-2)}
thead th:hover{color:var(--text)}
table.sortable thead th:hover{color:var(--primary)}
table.sortable thead th.sorted{color:var(--primary)}
thead th .sort-ind{margin-left:5px;font-size:9px;vertical-align:middle;color:var(--primary)}
tbody tr:nth-child(even) td{background:var(--surface-2)}
tbody tr:hover td{background:var(--primary-soft)}
.del-range{display:inline-block;margin-left:8px;padding:3px 11px;border-radius:999px;font-size:11.5px;font-weight:700;background:rgba(240,85,109,.12);color:#f0556d;vertical-align:middle;white-space:nowrap}
body:not(.founder) [data-founder]{display:none!important}   /* Inventory is founder-only — hidden from every non-founder (incl. other admins) */
/* ---- Feedback CRM: the review caller is locked to /feedback only — no calling board, no business data ---- */
body.role-feedback .sidebar .nav-item:not(.fb-nav),
body.role-feedback .sidebar .nav-sec,
body.role-feedback #manageAccts,
body.role-feedback .tabbar,
body.role-feedback #topControls,
body.role-feedback #compareBar,
body.role-feedback #btnSettings,
body.role-feedback #btnBell,
body.role-feedback [data-admin],
body.role-feedback [data-mgr]{display:none!important}
body.role-feedback .fb-nav{display:flex!important}
body.role-feedback .topbar .crumb{display:none}
body:not(.role-feedback):not(.founder) .fb-nav{display:none!important}   /* only the founder + the feedback agent get this nav */
.chip.fb-tag{cursor:pointer;border:1px solid var(--line);background:transparent;border-radius:14px;padding:4px 10px;font-size:11.5px;color:var(--text-2)}
.chip.fb-tag.on{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}
#fbmStars button.active{background:var(--primary);color:#fff;font-weight:700}
.inv-th{display:flex;gap:6px;align-items:center;margin-top:8px;font-size:11px;color:var(--muted)}
.inv-th input{width:78px}
.del-agent-tbl{width:100%;min-width:0}
@media(max-width:720px){.del-agent-tbl{min-width:600px}}   /* below tablet: horizontal scroll instead of squishing 8 columns */
.lt-type{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}
#ltTable td,#ltTable th{white-space:nowrap}
#ltTable td.lt-addr{max-width:240px;overflow:hidden;text-overflow:ellipsis}
#ltTable .btn.sm{padding:4px 9px;font-size:11px}
#ltTable thead th[data-sort]{cursor:pointer}#ltTable thead th[data-sort]:hover{color:var(--primary)}
.dow-table thead th{cursor:default}
.dow-table tfoot tr.dow-total td{background:var(--surface-2);border-top:2px solid var(--line);font-size:13px}
.dow-table tfoot tr.dow-total td:first-child{background:var(--surface-2)}
.cname{font-weight:650;color:var(--text);display:flex;align-items:center;gap:7px}
.flame{color:var(--bad);width:15px;height:15px;flex:none}
.pill{font-size:9.5px;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-weight:600}
.st{font-size:9.5px;padding:3px 9px;border-radius:999px;font-weight:700}.st.on{background:var(--teal-soft);color:#0c9d8c}.st.pause{background:#fde3e7;color:var(--bad)}
.sub-d{font-size:10px;margin-left:4px;font-weight:600}
.cell-a{font-size:9.5px;color:var(--muted);font-weight:500;margin-top:2px}
.bar{height:7px;border-radius:5px;background:var(--surface-3);overflow:hidden;min-width:70px}.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--teal))}
.grid-foot{padding:11px 20px;color:var(--muted);font-size:11.5px;border-top:1px solid var(--line)}

/* alerts */
.alerts{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:16px 20px}
@media(max-width:760px){.alerts{grid-template-columns:1fr}}
.alert{display:flex;gap:11px;background:var(--surface-2);border:1px solid var(--line-2);border-left-width:4px;border-radius:12px;padding:12px 14px;align-items:flex-start}
.alert.red{border-left-color:var(--bad)}.alert.amber{border-left-color:var(--warn)}.alert.green{border-left-color:var(--good)}
.alert .a-ico{flex:none;margin-top:1px}.alert.red .a-ico{color:var(--bad)}.alert.amber .a-ico{color:var(--warn)}.alert.green .a-ico{color:var(--good)}
.alert .a-t{font-weight:700;font-size:12.5px;color:var(--text)}.alert .a-d{color:var(--text-2);font-size:11.5px;margin-top:2px}
.alert .a-x{position:absolute;top:7px;right:7px;width:28px;height:28px;border:0;background:none;color:var(--muted);font-size:17px;line-height:1;cursor:pointer;border-radius:9px;display:flex;align-items:center;justify-content:center}
.alert .a-x:hover{background:rgba(29,35,51,.07);color:var(--text)}

/* loaders */
.loader{display:flex;align-items:center;justify-content:center;gap:11px;padding:48px;color:var(--muted)}
.spin{width:16px;height:16px;border:2px solid var(--line-2);border-top-color:var(--primary);border-radius:50%;animation:sp .8s linear infinite;display:inline-block;vertical-align:-2px}
@keyframes sp{to{transform:rotate(360deg)}}
#globalLoad{position:fixed;top:16px;right:20px;border-radius:13px;padding:10px 16px;box-shadow:var(--shadow-lg);z-index:80;color:var(--text-2);font-weight:600;font-size:12px;display:flex;align-items:center;gap:8px}
#globalLoad #loadPct{color:var(--primary);font-weight:800;font-variant-numeric:tabular-nums;min-width:34px;text-align:right}
/* thin global progress bar pinned to the very top */
#loadBar{position:fixed;top:0;left:0;right:0;height:3px;z-index:95;opacity:0;transition:opacity .25s;pointer-events:none}
#loadBar.on{opacity:1}
#loadBar i{display:block;height:100%;width:0;border-radius:0 3px 3px 0;background:linear-gradient(90deg,var(--primary),var(--teal));box-shadow:0 0 10px rgba(90,92,240,.55);transition:width .3s ease}
/* in-content loading card */
#viewSkeleton{display:flex;align-items:flex-start;justify-content:center;padding:60px 16px 0}
#viewSkeleton .vs-card{display:flex;flex-direction:column;align-items:center;gap:14px;border-radius:var(--r-md);padding:30px 40px;box-shadow:var(--shadow);min-width:280px}
#viewSkeleton .spin.lg{width:32px;height:32px;border-width:3px}
#viewSkeleton .vs-txt{text-align:center}
#viewSkeleton .vs-t{font-weight:750;color:var(--text);font-size:14px}
#viewSkeleton .vs-sub{color:var(--muted);font-size:11.5px;margin-top:2px}
#viewSkeleton .vs-bar{width:200px;height:5px;border-radius:99px;background:var(--surface-3);overflow:hidden}
#viewSkeleton .vs-bar i{display:block;height:100%;width:40%;border-radius:99px;background:linear-gradient(90deg,var(--primary),var(--teal));animation:vsslide 1.1s ease-in-out infinite}
@keyframes vsslide{0%{margin-left:-40%}100%{margin-left:100%}}
/* selectable tag chips (Orders by tag) */
.tagchips{display:flex;flex-wrap:wrap;gap:8px}
.tagchip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line-2);background:var(--surface);color:var(--text-2);
  border-radius:999px;padding:7px 13px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;box-shadow:var(--shadow-sm)}
.tagchip:hover{border-color:var(--primary-3);color:var(--text);transform:translateY(-1px)}
.tagchip .tc-n{background:var(--surface-3);color:var(--text-2);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:750;font-variant-numeric:tabular-nums}
.tagchip.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 16px rgba(90,92,240,.28)}
.tagchip.active .tc-n{background:rgba(255,255,255,.22);color:#fff}
/* Meta Billing cards */
.bal-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:980px){.bal-cards{grid-template-columns:1fr}}
.bal-card{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);padding:18px 20px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.bal-card.low{border-color:#f6b9c4;box-shadow:0 0 0 1px #f6b9c4,0 10px 26px rgba(240,85,109,.12)}
.bal-card .bc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.bal-card .bc-name{font-weight:750;color:var(--text);font-size:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.badge{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;border-radius:999px;padding:3px 9px;white-space:nowrap}
.badge.t-prepaid{background:#d7f7f2;color:#0d9488}
.badge.t-postpaid{background:#fde8cf;color:#b45309}
.badge.t-prepaid_postpaid{background:#e6e6fe;color:#5a5cf0}
.badge.t-credit_line{background:#e0ecff;color:#2563eb}
.badge.cur{background:var(--surface-3);color:var(--text-2)}
.badge.st{background:var(--surface-3);color:var(--text-2);text-transform:none;font-weight:600}
.bal-card .bc-hero{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}
.bal-card .bc-big{font-size:30px;font-weight:800;letter-spacing:-.5px;color:var(--text);font-variant-numeric:tabular-nums}
.bal-card.low .bc-big{color:var(--bad)}
.bal-card .bc-lab{color:var(--muted);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.bal-card .bc-low{display:inline-flex;align-items:center;gap:5px;background:#fde3e7;color:#f0556d;font-weight:700;font-size:11px;border-radius:999px;padding:3px 10px;margin-bottom:10px}
.bc-bar{height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden;margin:10px 0 4px}
.bc-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--good),var(--teal))}
.bc-bar.warn i{background:linear-gradient(90deg,var(--orange),var(--bad))}
.bc-barlab{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:10px}
.bc-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:14px 0;padding-top:12px;border-top:1px solid var(--line)}
.bc-stats .s-lab{color:var(--muted);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.bc-stats .s-val{color:var(--text);font-size:14px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums}
.bc-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}
.bc-foot .fld{display:flex;align-items:center;gap:6px}
.bc-foot label{font-size:11px;color:var(--muted);white-space:nowrap}
.bc-foot select,.bc-foot input{border:1px solid var(--line-2);border-radius:9px;padding:6px 9px;font-size:12px;font-family:inherit;background:var(--surface);color:var(--text)}
.bc-foot input{width:90px}
.tgl{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--text-2);cursor:pointer}
.tgl input{width:16px;height:16px;accent-color:var(--primary)}
.tgl .sw{width:14px;height:4px;border-radius:2px;display:inline-block;flex:none}
.rc-verify{margin:8px 0 2px;display:flex;flex-direction:column;gap:5px}
.rc-verify-row{font-size:12.5px;font-weight:600;padding:7px 11px;border-radius:9px;border:1px solid var(--line,#e6e6ef)}
.rc-verify-row.ok{background:rgba(34,197,94,.10);border-color:rgba(34,197,94,.32);color:#15803d}
.rc-verify-row.warn{background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.34);color:#92600a}
.rc-verify-row.pending{background:rgba(107,114,128,.08);color:var(--text-2)}
.del-chip{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:rgba(107,114,128,.12);color:var(--text-2)}
.del-chip.ok{background:rgba(34,197,94,.14);color:#15803d}
.del-chip.warn{background:rgba(245,158,11,.16);color:#92600a}
.del-chip.bad{background:rgba(240,85,109,.14);color:#c0334c}
.del-loading{display:flex;gap:13px;align-items:center;background:rgba(56,189,248,.09);border:1px solid rgba(56,189,248,.30);border-radius:14px;padding:16px 18px;margin-bottom:14px}
.del-loading b{font-size:14.5px;color:var(--text-1)}
.del-spin{width:20px;height:20px;border:2.6px solid rgba(56,189,248,.3);border-top-color:#2f7ff0;border-radius:50%;animation:delspin .8s linear infinite;flex:none}
@keyframes delspin{to{transform:rotate(360deg)}}
.insight-box{background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.28);border-radius:12px;padding:11px 14px;font-size:13px;line-height:1.55;color:var(--text-1)}
@media(max-width:760px){.cols2{grid-template-columns:1fr !important}}
/* Settings page */
.set-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.set-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px}
.set-row .k{color:var(--muted);flex:none}
.set-row .v{color:var(--text);font-weight:650;text-align:right;word-break:break-all;min-width:0}
.set-form{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px;padding-top:12px;border-top:1px solid var(--line)}
.set-form input{flex:1;min-width:150px}
.btn.danger{background:var(--surface);border:1px solid #f6b9c4;color:var(--bad);box-shadow:none}
.btn.danger:hover{background:#fde3e7;box-shadow:none;filter:none}
.acct-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.acct-chips .pill{font-size:10px;padding:3px 9px}
/* members see dashboards; admin-only controls disappear for them */
body.role-member [data-admin]{display:none!important}
/* founder-only hide: My claims & Follow-ups are agent concepts, not for the founder */
body.role-admin [data-noadmin]{display:none!important}
/* agents are locked to the Recovery board only */
body.role-agent .sidebar .nav-item:not(.reco-nav),
body.role-agent .sidebar .nav-sec,
body.role-agent #manageAccts,
body.role-agent #logout2,
body.role-agent .tabbar,
body.role-agent [data-admin]{display:none!important}
body.role-agent .reco-nav{display:flex!important}
/* agent top bar: keep only date presets + Refresh + Search; hide account, fx, compare, Y-vs-T, auto, gear, bell */
body.role-agent #topControls .ctl,
body.role-agent #compareBtn,
body.role-agent #ydayBtn,
body.role-agent #topControls .upd,
body.role-agent #btnSettings,
body.role-agent #btnBell{display:none!important}
body.role-agent .topbar .crumb{display:none}
/* agents don't see team-management tabs (Performance / Agents / Downloads) — only the Live board */
body.role-agent [data-mgr]{display:none!important}
/* founder-only reco-nav items (e.g. Agent monitor) — higher specificity beats .reco-nav{display:flex} for agents & agency-admins */
body.role-agent .reco-nav[data-admin],
body.role-agencyadmin .reco-nav[data-admin],
body.role-member .reco-nav[data-admin]{display:none!important}
/* GST toggle is only about Meta ad spend — irrelevant on the recovery/calling board */
body[data-view="recovery"] #gstCtl{display:none!important}
/* recovery board: hide the global Meta/Shopify date-range + compare controls (they don't apply here) */
body[data-view="recovery"] #topControls,
body[data-view="recovery"] #compareBar{display:none!important}
/* Tasks & Planner: the analytics control bar (account/FX/GST/date-range/compare) is irrelevant here */
body[data-view="tasks"] #topControls,
body[data-view="tasks"] #compareBar,
body[data-view="tasks"] #gstCtl{display:none!important}

/* agency admins: locked to the Calling section like agents, BUT they manage the team (data-mgr stays visible). Founder-only controls (data-admin) hidden. */
body.role-agencyadmin .sidebar .nav-item:not(.reco-nav),
body.role-agencyadmin .sidebar .nav-sec,
body.role-agencyadmin #manageAccts,
body.role-agencyadmin #logout2,
body.role-agencyadmin .tabbar,
body.role-agencyadmin [data-admin]{display:none!important}
body.role-agencyadmin .reco-nav{display:flex!important}
body.role-agencyadmin #topControls .ctl,
body.role-agencyadmin #compareBtn,
body.role-agencyadmin #ydayBtn,
body.role-agencyadmin #topControls .upd,
body.role-agencyadmin #btnSettings,
body.role-agencyadmin #btnBell{display:none!important}
body.role-agencyadmin .topbar .crumb{display:none}

/* Recovery board */
.reco-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:11px;align-items:start}
.reco-card{background:var(--surface);border:1px solid var(--line-2);border-radius:13px;padding:11px 13px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:6px}
.reco-card.hot{border-color:var(--line-2);border-left:3px solid #f0556d;box-shadow:var(--shadow-sm)}
.rc-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rc-name{font-weight:750;color:var(--text);font-size:14px;display:flex;align-items:center;gap:4px}
.rc-fire{width:15px;height:15px;color:#f0556d;flex:none}
.reco-card.done{opacity:.72;border-color:var(--line)}
.reco-card.done .rc-stage{background:var(--teal-soft);color:#0c9d8c}
.rc-badges{display:flex;flex-wrap:wrap;gap:5px}
.rc-badge{font-size:8.5px;font-weight:800;letter-spacing:.3px;padding:2px 6px;border-radius:999px;text-transform:uppercase}
.rc-badge.rto{background:#fde3e7;color:#dc2626}
.rc-badge.rtomed{background:#fef3c7;color:#b45309}
/* in-app toast + confirm (replaces native alert/confirm) */
#sbToasts{position:fixed;right:16px;bottom:16px;z-index:2147483600;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}
.sb-toast{background:#1f2430;color:#fff;font:600 13px system-ui,Arial;padding:10px 15px;border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.24);opacity:0;transform:translateY(10px);transition:.22s;max-width:360px;pointer-events:auto}
.sb-toast.in{opacity:1;transform:none}
.sb-toast.ok{background:#0c7a52}.sb-toast.err{background:#c62828}
.sb-confirm-ov{position:fixed;inset:0;z-index:2147483601;background:rgba(15,18,28,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;opacity:0;transition:.18s;padding:16px}
.sb-confirm-ov.in{opacity:1}
.sb-confirm{background:var(--surface,#fff);border:1px solid var(--line-2,#e5e7eb);border-radius:14px;padding:20px;max-width:400px;width:100%;box-shadow:0 24px 64px rgba(0,0,0,.3);transform:scale(.96);transition:.18s}
.sb-confirm-ov.in .sb-confirm{transform:none}
.sb-confirm-msg{font-size:14px;line-height:1.55;color:var(--text);white-space:pre-line;margin-bottom:18px}
.sb-confirm-acts{display:flex;gap:8px;justify-content:flex-end}
.btn.danger,.btn.sm.danger{background:#dc2626}
/* ---- recovery card polish (teardown C5/H1/H3/IX13/IX14) ---- */
.reco-card{transition:box-shadow .15s,transform .15s,border-color .15s}
.reco-card:hover{box-shadow:0 6px 20px rgba(20,24,40,.10);border-color:var(--line-2,#d8dbe6)}
.reco-card .rc-call{background:var(--primary,#5b5bd6)}
.reco-card .rc-place{background:var(--good,#0c9d61)}
.rc-claim-cta{margin-top:10px}
.rc-claim-btn{width:100%;justify-content:center;background:var(--primary,#5b5bd6);font-weight:700;padding:11px 12px;font-size:13.5px}
.rc-claim-btn[disabled]{opacity:.5;cursor:not-allowed}
.rc-busy-note{margin-top:6px;text-align:center}
.rc-mgr-row{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line,#eceef4);display:flex;justify-content:flex-end}
.rc-mgr-row .rc-assign{font-size:12px;color:var(--muted)}
.rc-det .rl-d{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.reco-empty-hint{font-size:12.5px;color:var(--muted);background:var(--surface-2,#f7f8fb);border:1px dashed var(--line,#e6e8f0);border-radius:10px;padding:10px 12px;line-height:1.5}
.statchips.reco-counts .chip{background:transparent;border:0;padding:0 18px 0 0}
.statchips.reco-counts .chip .c-val{font-size:18px}
.pulse.busy{background:#d97706;animation:sbpulse 1s infinite}
@keyframes sbpulse{0%,100%{opacity:1}50%{opacity:.35}}
.field-err{border-color:#dc2626 !important;box-shadow:0 0 0 2px rgba(220,38,38,.15)}
.filt-n{display:inline-flex;min-width:16px;height:16px;padding:0 4px;align-items:center;justify-content:center;border-radius:8px;background:var(--primary,#5b5bd6);color:#fff;font-size:10px;font-weight:700;margin-left:2px}
#recoMoreFilters.active{background:var(--primary,#5b5bd6);color:#fff}
#recoMoreFilters.has-filters{border-color:var(--primary,#5b5bd6)}
/* ---- recovery mobile pass (teardown C7) ---- */
@media (max-width:640px){
  #view-recovery .reco-board{grid-template-columns:1fr}
  #view-recovery .controls{gap:8px}
  #view-recovery .controls .search-box{flex:1 1 100%;order:5}
  #view-recovery .rc-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  #view-recovery .rc-actions .btn{width:100%}
  #view-recovery .rc-disp{flex-wrap:wrap}
  #view-recovery .rc-disp select,#view-recovery .rc-disp input{flex:1 1 100%}
  .rc-claim-btn{padding:13px}
  #sbToasts{left:12px;right:12px;bottom:76px;align-items:stretch}
  .sb-toast{max-width:none}
  .statchips.reco-counts{flex-wrap:wrap}
  .perf-grid2{grid-template-columns:1fr}
  .perf-kpis{grid-template-columns:repeat(2,1fr)}
  .perf-head{flex-direction:column;align-items:flex-start;gap:10px}
}
/* stack the two report panels (Dispositions + Agent-wise / leaderboard) earlier so each gets full readable width on laptops & tablets */
@media (max-width:1024px){.perf-grid2{grid-template-columns:1fr}}
/* ---- Performance command center ---- */
.perf-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.perf-head h2{margin:0;font-size:20px}
.seg.perf-range{display:inline-flex;background:var(--surface-2,#f1f2f7);border-radius:10px;padding:3px;gap:2px}
.seg.perf-range button{border:0;background:transparent;padding:7px 14px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}
.seg.perf-range button.active{background:var(--surface,#fff);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.perf-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:16px}
.perf-kpi{background:var(--surface,#fff);border:1px solid var(--line,#edeff4);border-radius:14px;padding:14px 16px;position:relative;overflow:hidden}
.perf-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--line-2,#d8dbe6)}
.perf-kpi.good::before{background:#0c9d61}.perf-kpi.brand::before{background:var(--primary,#5b5bd6)}.perf-kpi.bad::before{background:#dc2626}
.perf-kpi .k-lab{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-weight:600}
.perf-kpi .k-val{font-size:26px;font-weight:800;line-height:1.15;margin-top:4px}
.perf-kpi .k-sub{font-size:11px;color:var(--muted);margin-top:1px}
.kdelta{display:inline-block;margin-top:6px;font-size:11px;font-weight:700}
.kdelta.up{color:#0c9d61}.kdelta.down{color:#dc2626}.kdelta.flat{color:var(--muted)}
.perf-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.perf-funnel{display:flex;flex-direction:column;gap:14px;padding:6px 0}
.fnl-row{display:grid;grid-template-columns:90px 1fr 52px;align-items:center;gap:10px}
.fnl-lab{font-size:12.5px;font-weight:600;color:var(--text)}
.fnl-track{background:var(--surface-2,#f1f2f7);border-radius:8px;height:30px;overflow:hidden}
.fnl-bar{height:100%;border-radius:8px;display:flex;align-items:center;justify-content:flex-end;padding-right:10px;color:#fff;font-weight:700;font-size:12.5px;min-width:34px;transition:width .5s}
.fnl-pct{font-size:12px;font-weight:700;color:var(--muted);text-align:right}
.perf-bars{display:flex;flex-direction:column;gap:9px;margin-bottom:16px}
.pbar-row{display:grid;grid-template-columns:130px 1fr 200px;align-items:center;gap:12px}
.pbar-name{text-align:left;font-weight:600}
.pbar-track{position:relative;background:var(--surface-2,#f1f2f7);border-radius:7px;height:20px;overflow:hidden}
.pbar-fill{position:absolute;left:0;top:0;bottom:0;background:var(--primary-soft,#c3c4fb);border-radius:7px;transition:width .5s}
.pbar-cod{position:absolute;left:0;top:0;bottom:0;background:#0c9d61;border-radius:7px;transition:width .5s}
.pbar-num{font-size:12px;color:var(--muted);text-align:right}
@media (max-width:720px){.pbar-row{grid-template-columns:1fr;gap:3px}.pbar-num{text-align:left}}
/* reference-style KPI cards */
.perf-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:16px}
.perf-card{background:var(--surface,#fff);border:1px solid var(--line,#edeff4);border-radius:16px;padding:16px;box-shadow:0 6px 18px rgba(20,24,40,.05)}
.perf-card.hot{background:linear-gradient(135deg,#fff 40%,#ffe9ee);border-color:#ffd9e1}
.perf-card[data-perflink]{cursor:pointer;transition:transform .12s,box-shadow .12s}
.perf-card[data-perflink]:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(20,24,40,.10)}
.pc-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:#fff}
.pc-ic svg{width:21px;height:21px}
.pc-ic.blue{background:#3aa0f5}.pc-ic.brand{background:var(--primary,#5b5bd6)}.pc-ic.teal{background:#16b8a6}.pc-ic.red{background:#f0556d}.pc-ic.green{background:#21b573}.pc-ic.orange{background:#f5933a}
.pc-lab{font-size:12.5px;color:var(--text);font-weight:600}
.pc-val{font-size:30px;font-weight:800;line-height:1.1;margin:2px 0 8px}
.pc-foot{font-size:11.5px;display:flex;align-items:center;gap:5px}
.pc-sub{color:var(--muted);font-weight:600}
.kmsg{color:var(--muted)}
.kdelta{font-weight:700}.kdelta.up{color:#21b573}.kdelta.down{color:#f0556d}.kdelta.flat{color:var(--muted)}
/* hero: orders graph + follow-up timeline */
.perf-hero{display:grid;grid-template-columns:1.9fr 1fr;gap:16px;margin-bottom:16px}
.perf-graph-card{padding:20px}
.pg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.pg-title{font-size:16px;font-weight:700}
.pg-sub{font-size:12px;color:var(--muted);margin-top:1px}
.pg-mid{text-align:center;flex:1}
.pg-amt{font-size:22px;font-weight:800}
.pg-delta{font-size:11.5px;margin-top:1px}
.perf-followups{padding:18px;display:flex;flex-direction:column}
.pf-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.pf-link{font-size:12.5px;color:var(--primary,#5b5bd6);font-weight:600;text-decoration:none}
.pf-timeline{position:relative;flex:1;overflow:auto;max-height:330px}
.pf-timeline::before{content:"";position:absolute;left:46px;top:6px;bottom:6px;width:2px;background:var(--line,#edeff4)}
.pf-item{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:8px;padding:7px 0;position:relative}
.pf-time{font-size:11.5px;font-weight:700;color:var(--muted);position:relative;padding-right:10px}
.pf-dot{position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:9px;height:9px;border-radius:50%;background:var(--primary,#5b5bd6);border:2px solid var(--surface,#fff);box-shadow:0 0 0 2px var(--line,#edeff4)}
.pf-item.due .pf-dot{background:#f0556d}
.pf-name{font-size:13px;font-weight:600}
.pf-row{display:flex;align-items:center;gap:8px}
.pf-tag{font-size:10px;font-weight:700;padding:2px 7px;border-radius:20px;background:var(--surface-2,#eef0f6);color:var(--muted)}
.pf-tag.due{background:#ffe1e7;color:#d63a55}
.pf-meta{font-size:11px;color:var(--muted);margin-top:1px}
.pf-call{width:34px;height:34px;border:0;border-radius:10px;background:var(--primary,#5b5bd6);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.pf-call svg{width:16px;height:16px}
.pf-empty{text-align:center;color:var(--text);font-weight:600;padding:30px 10px;font-size:13px}
/* ---- locked active-lead modal (working lead can't be lost on refresh) ---- */
body.work-locked{overflow:hidden}
.work-modal{position:fixed;inset:0;z-index:2147483500;background:rgba(15,18,28,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:24px 16px}
.work-modal.hidden{display:none}
.work-modal-inner{width:100%;max-width:560px;background:var(--surface,#fff);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.35);padding:18px;margin:auto}
.wm-head{margin-bottom:12px}
.wm-title{font-size:17px;font-weight:800}
.wm-sub{font-size:12.5px;color:var(--muted);margin-top:2px}
.wm-foot{margin-top:12px;font-size:11.5px}
.work-modal #workLeadCard .reco-card{box-shadow:none;border-color:var(--line-2,#e3e6ef)}
.work-modal #workLeadCard .reco-card:hover{box-shadow:none}
@media (max-width:640px){.work-modal{padding:10px}.work-modal-inner{padding:14px;border-radius:14px}}
/* ---- review & place order (qty / price editor) ---- */
.po-grid-head{display:grid;grid-template-columns:1fr 64px 92px 30px;gap:8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:700;padding:0 2px 4px}
.po-row{display:grid;grid-template-columns:1fr 64px 92px 30px;gap:8px;align-items:center;margin-bottom:7px}
.po-row input{padding:8px 10px;border:1px solid var(--line-2,#e3e6ef);border-radius:9px;font-size:13px;width:100%}
.po-row .po-del{width:30px;height:30px;color:var(--muted);font-size:14px;line-height:1}
.po-total{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--line,#eee);font-size:13px;color:var(--muted)}
.po-total b{font-size:19px;color:var(--text)}
/* inline escalate-from-order form */
.ord-esc{margin-top:8px}
.esc-inline{background:var(--surface-2,#f7f8fb);border:1px solid var(--line,#eceef4);border-radius:10px;padding:10px}
.esc-row{display:flex;gap:8px;margin-bottom:8px}
.esc-row select{flex:1;padding:7px 9px;border:1px solid var(--line-2,#e3e6ef);border-radius:8px;font-size:12.5px}
.esc-inline textarea{width:100%;padding:8px 10px;border:1px solid var(--line-2,#e3e6ef);border-radius:8px;font-size:13px;resize:vertical}
.esc-foot{display:flex;gap:8px;align-items:center;margin-top:8px}
.esc-done{color:var(--good,#0c9d61);font-weight:600;font-size:13px;padding:6px 2px}
.ea-items-sec{margin-top:14px;padding-top:12px;border-top:1px solid var(--line,#eee)}
.ea-items-hd{font-size:12.5px;font-weight:700;margin-bottom:8px}
.ea-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:-4px}
.oesc-lbl{display:block;font-size:12.5px;font-weight:600;margin-top:12px}
.oesc-lbl textarea{display:block;width:100%;margin-top:5px;padding:9px 11px;border:1px solid var(--line-2,#e3e6ef);border-radius:9px;font-size:13px;resize:vertical}
.esc-attach{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
#oescModal .mo-grid{gap:10px}
/* placed-orders rows */
.placed-row{cursor:pointer}
.placed-row:hover{background:var(--surface-2,#f7f8fb)}
.placed-detail>td{background:var(--surface-2,#f7f8fb)}
.pd-box{padding:8px 4px;font-size:12.5px;line-height:1.7;color:var(--text)}
.pd-k{font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:700;margin-right:4px}
/* daily report */
.dr-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.dr-head h2{margin:0;font-size:20px}
.dr-head .seg{margin-left:auto}
.dr-disp-row{cursor:pointer}
.dr-disp-row:hover{background:var(--surface-2,#f7f8fb)}
#drFunnel{margin-bottom:16px}
.dr-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line,#f0f1f5);font-size:13px}
.dr-line:last-child{border-bottom:0}
.dr-line span{color:var(--muted)}
.dr-rec{margin-top:10px;padding:9px 11px;border-radius:9px;font-size:12.5px;font-weight:600}
.dr-rec.warn{background:#fff4e5;color:#b45309}
.dr-rec.ok{background:#e8f7ef;color:#0c7a52}
.empty-jump{color:var(--primary,#5b5bd6);font-weight:600;text-decoration:none;white-space:nowrap}
.empty-jump:hover{text-decoration:underline}
/* ---- Tasks & Planner ---- */
.tk-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.tk-group{margin-bottom:16px}
.tk-gh{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 2px 8px;display:flex;align-items:center;gap:7px}
.tk-gh span{background:var(--surface-2);border-radius:10px;padding:0 7px;font-size:10px}
.tk-gh.od{color:#dc2626}.tk-gh.od span{background:#fde3e7;color:#d63a55}
.tk-task{display:flex;align-items:flex-start;gap:11px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 13px;margin-bottom:7px;transition:.12s}
.tk-task:hover{box-shadow:0 4px 14px rgba(20,24,40,.06)}
.tk-task.done{opacity:.6}
.tk-task.done .tk-title{text-decoration:line-through}
.tk-check{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line-2);background:var(--surface);cursor:pointer;color:#fff;font-size:12px;line-height:1;margin-top:1px}
.tk-check.on{background:var(--good);border-color:var(--good)}
.tk-check svg{width:13px;height:13px}
.tk-main{flex:1;min-width:0;cursor:pointer}
.tk-title{font-weight:600;font-size:14px}
.tk-sub{font-size:11.5px;color:var(--muted);margin-top:3px;display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.tk-prio{width:8px;height:8px;border-radius:50%;display:inline-block}
.tk-as{color:var(--text);font-weight:600}
.tk-od{color:#dc2626;font-weight:700}
.tk-lbl{background:var(--surface-2);border:1px solid var(--line-2);border-radius:20px;padding:1px 8px;font-size:10px;font-weight:600;color:var(--text-2,#5a6172)}
.tk-wait{color:#b45309}
.tk-row-acts{display:flex;align-items:center;gap:6px;flex:none}
.tk-st{padding:5px 8px;border:1px solid var(--line-2);border-radius:8px;font-size:11.5px}
.tk-exp{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:-2px 0 10px 33px}
.tk-notes{font-size:13px;margin-bottom:10px;white-space:pre-wrap;color:var(--text-2)}
.tk-lbls{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.tk-lblpick{border:1px solid var(--line-2);border-radius:20px;padding:4px 11px;font-size:12px;font-weight:600;cursor:pointer;color:var(--muted)}
.tk-lblpick.on{background:var(--primary);color:#fff;border-color:var(--primary)}
.tk-logform{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tk-logform input,.tk-logform select{padding:8px 10px;border:1px solid var(--line-2);border-radius:9px;font-size:13px}
.tk-logday{margin-bottom:14px}
.tk-logdate{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:6px}
.tk-logitem{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin-bottom:6px;font-size:13px}
.tk-logitem .tk-lbl{flex:none}
.tk-logx{margin-left:auto;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:13px}
/* ---- Asana-style board (kanban) ---- */
.tk-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.tk-col{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:10px;min-width:0}
.tk-col-h{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;color:var(--text);padding:4px 4px 10px}
.tk-col-dot{width:9px;height:9px;border-radius:50%}
.tk-col-n{margin-left:auto;background:var(--surface);border:1px solid var(--line-2);border-radius:20px;padding:0 8px;font-size:11px;color:var(--muted)}
.tk-col-body{min-height:42px;display:flex;flex-direction:column;gap:9px;border-radius:10px;transition:.12s}
.tk-col-body.over{background:var(--primary-soft);outline:2px dashed var(--primary);outline-offset:2px}
.tk-add{width:100%;margin-top:9px;border:1px dashed var(--line-2);background:transparent;border-radius:10px;padding:8px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;transition:.12s}
.tk-add:hover{border-color:var(--primary);color:var(--primary);background:var(--surface)}
.tk-bcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 12px;cursor:pointer;box-shadow:0 1px 3px rgba(20,24,40,.04);transition:.12s}
.tk-bcard:hover{box-shadow:0 6px 18px rgba(20,24,40,.1);transform:translateY(-1px)}
.tk-bcard.dragging{opacity:.45;box-shadow:0 12px 28px rgba(20,24,40,.18)}
.tk-bprow{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px}
.tk-bp{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.02em;border-radius:6px;padding:2px 7px}
.tk-bt{font-weight:650;font-size:13.5px;line-height:1.35;word-break:break-word}
.tk-bn{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4}
.tk-bl{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.tk-prog{margin-top:9px}
.tk-prog-h{display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted);margin-bottom:3px;font-weight:600}
.tk-prog-b{height:6px;border-radius:6px;background:var(--surface-2);overflow:hidden}
.tk-prog-b i{display:block;height:100%;background:var(--good);border-radius:6px;transition:width .25s}
.tk-bf{display:flex;align-items:center;gap:7px;margin-top:10px}
.tk-bf .spacer{flex:1}
.tk-av{width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex:none}
.tk-due{font-size:11px;font-weight:700;color:var(--muted);background:var(--surface-2);border-radius:7px;padding:2px 7px}
.tk-due.od{background:#fde3e7;color:#d63a55}
.tk-mini{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--muted);font-weight:650}
.tk-mini svg{width:13px;height:13px}
/* clean status/visibility flags (no emoji) */
.tk-flag{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:800;letter-spacing:.02em;border-radius:6px;padding:2px 7px}
.tk-flag svg{width:11px;height:11px}
.tk-flag.blocked{color:#dc2626;background:#fde3e7}
.tk-flag.priv{color:#7c3aed;background:#efe9ff}
/* square attachment thumbnails (tasks + decision log + comments) */
.tk-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.tk-file{position:relative;width:54px;height:54px;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--surface-2);text-decoration:none;flex:none;transition:.12s}
.tk-file:hover{border-color:var(--primary);box-shadow:0 3px 10px rgba(20,24,40,.1)}
.tk-file img{width:100%;height:100%;object-fit:cover}
.tk-file-ext{font-size:10px;font-weight:800;color:var(--text-2);letter-spacing:.03em}
.tk-file-x{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border:0;border-radius:50%;background:#1d2333;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:.12s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.tk-file-x svg{width:10px;height:10px}
.tk-file:hover .tk-file-x{opacity:1}
/* small "Attach" button in the modal */
.tk-attbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}
.tk-attadd{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:650;color:var(--text-2);border:1px solid var(--line-2);background:var(--surface);border-radius:9px;padding:7px 12px;cursor:pointer;transition:.12s}
.tk-attadd:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}
.tk-attadd svg{width:15px;height:15px}
/* header alerts button */
#tkPushBtn{display:inline-flex;align-items:center;gap:6px}
#tkPushBtn svg{width:15px;height:15px}
#tkPushBtn.on{color:var(--good);border-color:var(--good)}
/* checklist editor in modal */
.tk-subs{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.tk-subhead{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:11.5px;font-weight:700;color:var(--muted)}
.tk-subhead .tk-subbar{flex:1;height:5px;border-radius:5px;background:var(--surface-2);overflow:hidden}
.tk-subhead .tk-subbar i{display:block;height:100%;background:var(--good);border-radius:5px;transition:width .2s}
.tk-subrow{display:flex;align-items:center;gap:9px;font-size:13.5px;padding:5px 6px;border-radius:8px}
.tk-subrow:hover{background:var(--surface-2)}
.tk-subrow span{flex:1;word-break:break-word}
.tk-subrow span.done{text-decoration:line-through;color:var(--muted)}
.tk-subck{flex:none;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-2);background:var(--surface);cursor:pointer;color:#fff;font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;transition:.12s}
.tk-subck:hover{border-color:var(--good)}
.tk-subck.on{background:var(--good);border-color:var(--good)}
.tk-subx{border:0;background:transparent;color:var(--line-2);cursor:pointer;font-size:13px;flex:none;opacity:0;transition:.12s}
.tk-subrow:hover .tk-subx{opacity:1}
.tk-subx:hover{color:var(--bad)}
.tk-subck svg{width:11px;height:11px}
.tk-subx svg{width:11px;height:11px}
/* calendar */
.tk-cal-head{font-size:15px;font-weight:800;margin-bottom:10px}
.tk-cal-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}
.tk-cal-dow span{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);text-align:center}
.tk-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.tk-cal-cell{background:var(--surface);border:1px solid var(--line);border-radius:10px;min-height:78px;padding:6px}
.tk-cal-cell.empty{background:transparent;border:0}
.tk-cal-cell.today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}
.tk-cal-d{font-size:11px;font-weight:800;color:var(--muted);margin-bottom:4px}
.tk-cal-t{font-size:11px;background:var(--surface-2);border-radius:6px;padding:3px 6px;margin-bottom:4px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.tk-board{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.tk-board{grid-template-columns:1fr}.tk-cal-cell{min-height:58px}}
.nav-badge.due{background:#fde3e7;color:#d63a55;border-color:#f7c9d2}
/* ---- task modal inputs: consistent, styled selects + datetime + textarea ---- */
.mo-grid select,.mo-grid textarea,.mo-grid input[type="datetime-local"],.mo-grid input[type="date"],.mo-grid input[type="number"]{padding:9px 11px;border:1px solid var(--line-2);border-radius:10px;font-size:13px;font-weight:500;color:var(--text);background:#fff;font-family:inherit;width:100%}
.mo-grid textarea{resize:vertical;min-height:46px}
.mo-grid select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239aa0b2' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:30px;cursor:pointer}
.mo-grid input:focus,.mo-grid select:focus,.mo-grid textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
.mo-grid label{gap:5px}
/* ---- time-wise quick filter chips ---- */
.tk-timechips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.tk-timechips button{border:1px solid var(--line-2);background:var(--surface);color:var(--text-2);border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:650;cursor:pointer;transition:.12s}
.tk-timechips button:hover{border-color:var(--primary-3);color:var(--text)}
.tk-timechips button.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px rgba(90,92,240,.25)}
/* ---- decision-log: clean padded card (fixes clipped heading) ---- */
.tk-logcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:18px 20px;margin-bottom:16px}
.tk-logcard-h{font-size:15px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:9px}
.tk-logcard-h span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);border:1px solid var(--line-2);border-radius:999px;padding:2px 9px}
/* ---- decision-log entries: rich cards, expandable ---- */
.tk-logitem{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 14px;margin-bottom:8px;font-size:13.5px;transition:.12s;cursor:pointer}
.tk-logitem:hover{box-shadow:0 4px 16px rgba(20,24,40,.08);border-color:var(--line-2)}
.tk-logitem .tk-lbl{flex:none}
.tk-logitem-note{flex:1;min-width:0;color:var(--text);font-weight:550}
.tk-logitem-by{color:var(--muted);font-size:12px;white-space:nowrap}
.tk-logitem-meta{display:flex;align-items:center;gap:8px;flex:none;color:var(--muted)}
.tk-logitem-meta .tk-mini{font-size:11.5px;font-weight:650}
.tk-logx{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:6px;flex:none}
.tk-logx:hover{background:#fde3e7;color:#d63a55}
.tk-logexp{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:-3px 2px 12px}
.tk-sech{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:14px 0 8px}
.tk-sech:first-child{margin-top:2px}
/* comments: Asana-style avatar + tight layout */
.tk-cms{display:flex;flex-direction:column;gap:2px}
.tk-cm{display:flex;gap:10px;padding:8px 0}
.tk-cm-av{flex:none;width:28px;height:28px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:10.5px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:1px}
.tk-cm-body{flex:1;min-width:0}
.tk-cm-head{display:flex;align-items:baseline;gap:8px}
.tk-cm-head b{font-size:13px;font-weight:700;color:var(--text)}
.tk-cm-head span{font-size:11px;color:var(--muted)}
.tk-cm-text{font-size:13.5px;color:var(--text-2);margin-top:2px;line-height:1.45;white-space:pre-wrap;word-break:break-word}
.tk-cm-empty{font-size:13px;color:var(--muted);padding:4px 0 8px}
.tk-cm .tk-files{margin-top:7px}
/* ---- comments thread (tasks + log) ---- */
.tk-cm{font-size:13px;padding:8px 0;border-bottom:1px solid var(--line)}
.tk-cm:last-child{border-bottom:0}
.tk-cm b{color:var(--text)}
.tk-cmadd{display:flex;align-items:center;gap:8px;margin-top:12px}
.tk-cmadd input[type="text"]{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--line-2);border-radius:9px;font-size:13px;background:#fff}
.tk-cmadd input[type="text"]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
.tk-clip{flex:none;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:9px;background:var(--surface);cursor:pointer;font-size:15px}
.tk-clip:hover{border-color:var(--primary);background:var(--primary-soft)}
.tk-priv{display:inline-flex;align-items:center;gap:3px;color:#7c3aed;font-weight:700}
.tk-priv svg{width:12px;height:12px}
.tk-clip svg{width:16px;height:16px}
/* task modal footer: Delete left · Cancel/Save right */
.tk-foot{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.tk-foot .spacer{flex:1}
.tk-del{background:#fff;border:1px solid #f3c0c9;color:#dc2626;box-shadow:none;font-weight:650}
.tk-del:hover{background:#dc2626;color:#fff;border-color:#dc2626;box-shadow:none;filter:none}
@media(max-width:760px){.tk-foot{flex-wrap:wrap}.tk-foot #tkmDelete{order:5;flex-basis:100%;margin-top:4px}}
/* ============ Task Manager — mobile (compact, de-cluttered) ============ */
@media(max-width:760px){
  #view-tasks .tk-head{flex-wrap:wrap;gap:8px;margin-bottom:12px}
  #tkTabs{flex-wrap:wrap}
  #tkTabs button{padding:7px 12px;font-size:12.5px}
  #view-tasks .tk-head .spacer{display:none}
  #tkPushBtn{order:3;padding:8px 11px}
  #tkPushBtn .tk-pushtxt{display:none}                        /* icon-only on mobile, still tappable */
  #tkNew{order:4;margin-left:auto;padding:9px 14px}
  body[data-view="tasks"] #tkKpis{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}
  body[data-view="tasks"] #tkKpis .perf-card{padding:12px 13px;border-radius:14px}
  body[data-view="tasks"] #tkKpis .pc-val{font-size:22px}
  body[data-view="tasks"] #tkKpis .pc-ic{width:32px;height:32px;border-radius:9px}
  body[data-view="tasks"] #tkKpis .pc-ic svg{width:16px;height:16px}
  #tkFilters{padding:10px;gap:8px}
  #tkFilters .ctl{flex:1 1 44%}
  #tkFilters .search-box{flex:1 1 100%}
  .tk-timechips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:5px;margin-bottom:12px;scrollbar-width:none}
  .tk-timechips::-webkit-scrollbar{display:none}
  .tk-timechips button{flex:none;padding:6px 12px;font-size:12px}
  .tk-board{grid-template-columns:1fr;gap:12px}
  .tk-col{padding:9px}
  .tk-bcard{padding:10px 11px}
  .tk-task{flex-wrap:wrap;padding:10px 12px}
  .tk-row-acts{width:100%;margin-top:8px;justify-content:flex-end}
  .tk-logitem{flex-wrap:wrap;gap:7px;padding:10px 12px}
  .tk-logitem-note{flex-basis:100%;order:3;font-size:13.5px}
  .tk-logcard{padding:14px}
  .tk-logform{gap:7px}
  .tk-logform input,.tk-logform select,.tk-logform .btn{flex:1 1 100%}
  .tk-exp,.tk-logexp{margin-left:0;padding:12px}
  /* modal becomes a full-height sheet so it isn't a giant floating block */
  #tkModal.reco-modal{padding:0;align-items:stretch}
  #tkModal .reco-modal-card{max-width:100%;border-radius:0;min-height:100vh;padding:16px 14px}
  .mo-grid{grid-template-columns:1fr;gap:11px}
  .tk-cm-text,.tk-bt{font-size:13.5px}
}
/* attachments: reuse .esc-preview / .esc-thumb; add a clickable look */
.tk-att-row{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
/* sub-modals opened from the locked active-lead card must stack ABOVE the lock overlay */
#poModal,#eaModal,#waModal,#cbModal,#dispModal,#oescModal,#ordOkModal{z-index:2147483520}
.rc-badge.pp{background:#d7f7f2;color:#0d9488}
@media (max-width:980px){.perf-cards{grid-template-columns:repeat(2,1fr)}.perf-hero{grid-template-columns:1fr}}
.rc-badge.pp{background:#d7f7f2;color:#0d9488}
.rc-badge.gk{background:#e8e6fb;color:#5a4fd8}
.rc-badge.sh{background:#e3f4e3;color:#2e7d32}
.rc-badge.att{background:var(--surface-3);color:var(--text-2)}
.rc-claim.done{font-size:11px;color:#0c9d8c;background:var(--teal-soft);border-radius:8px;padding:4px 9px;font-weight:600}
/* agent drill modal */
.reco-modal{position:fixed;inset:0;z-index:120;background:rgba(20,24,35,.5);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto}
.reco-modal-card{width:100%;max-width:1000px;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:20px 22px;background:rgba(255,255,255,.96)}
.rm-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.rm-head h2{font-size:17px}
@media(max-width:560px){.reco-modal{padding:12px 8px}.reco-modal-card{padding:14px}}
/* manual order modal */
#moModal .reco-modal-card,#eaModal .reco-modal-card{max-width:640px}
.mo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mo-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:650;color:var(--muted)}
.mo-grid label.mo-wide{grid-column:1/-1}
.mo-grid input{padding:9px 11px;border:1px solid var(--line-2);border-radius:10px;font-size:13px;font-weight:500;color:var(--text);background:#fff}
.mo-prod{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.mo-prod-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.mo-pick{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.mo-pick select,.mo-pick input{padding:8px 10px;border:1px solid var(--line-2);border-radius:10px;font-size:13px;background:#fff}
.mo-pick select#moProduct{flex:1;min-width:160px}
.mo-lines{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.mo-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.mo-total{margin-top:10px;text-align:right;font-size:14px;color:var(--text)}
@media(max-width:560px){.mo-grid{grid-template-columns:1fr}.mo-pick select#moProduct{min-width:0;width:100%}}
.reco-tabs{flex-wrap:wrap}
.reco-tabs button{padding:9px 16px}
@media(max-width:560px){.reco-tabs{width:100%;overflow-x:auto}}
.rc-stage{font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:2px 7px;border-radius:999px;background:var(--surface-3);color:var(--text-2);white-space:nowrap}
.reco-card.hot .rc-stage{background:#fde3e7;color:#f0556d}
.rc-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rc-phone{font-weight:750;font-size:15px;color:var(--primary)}
.rc-amt{font-weight:700;color:var(--text)}
.rc-prod{font-size:12px;color:var(--text-2)}
.rc-det{display:flex;flex-direction:column;gap:3px;background:var(--surface-2);border-radius:10px;padding:7px 10px}
.rc-det .rl-d{font-size:11.5px;color:var(--text)}
.rc-det .rl-d span{color:var(--muted);display:inline-block;min-width:62px;font-size:10px;text-transform:uppercase;letter-spacing:.3px}
.rc-claim.other{font-size:11px;color:#b45309;background:#fde8cf;border-radius:8px;padding:4px 9px;font-weight:600}
.rc-claim.mine{font-size:11px;color:var(--primary);background:var(--primary-soft);border-radius:8px;padding:4px 9px;font-weight:700}
.rc-claim.working{font-size:11px;color:#0c7a52;background:#e9f7ef;border-left:3px solid #16a34a;border-radius:8px;padding:4px 9px;font-weight:700}
.rc-claim.assigned{font-size:11px;color:var(--primary);background:var(--primary-soft);border:1px dashed #c3c3ef;border-radius:8px;padding:4px 9px;font-weight:600}
.reco-card:has(.rc-claim.working){border-color:#bfe6cf;box-shadow:0 0 0 1px #cdeedd,0 6px 18px rgba(22,163,74,.08)}
.rc-actions{display:flex;gap:6px;flex-wrap:wrap}
/* compact recovery board: thinner buttons, slim stat header, hide the redundant single "Live board" tab bar */
.rc-actions .btn.sm{padding:5px 10px;font-size:11.5px;border-radius:8px}
.rc-actions .btn.sm svg{width:13px;height:13px}
.rc-disp{gap:6px;margin-top:2px}
.rc-disp select,.rc-disp input{padding:5px 8px;font-size:11.5px}
#recoTabs{display:none!important}
.chip.mc-chip{cursor:pointer;transition:.15s;border:1px solid transparent}
.chip.mc-chip:hover{background:var(--surface-2)}
.chip.mc-chip.active{border-color:var(--primary);background:var(--primary-soft)}
.chip.mc-chip.active .c-val{color:var(--primary)}
body[data-view="recovery"] .hero{padding:14px 20px}
#recoCounts{margin-top:10px!important;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
#recoCounts .chip{padding:7px 13px;background:rgba(255,255,255,.62);border-radius:10px;box-shadow:none}
#recoCounts .c-lab{font-size:9.5px;letter-spacing:.4px}
#recoCounts .c-val{font-size:17px;margin-top:1px}
.rc-cb{font-size:11px;font-weight:700;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:8px;padding:4px 9px}
.esc-st{font-size:10px;font-weight:800;letter-spacing:.3px;padding:2px 8px;border-radius:999px}
.esc-st.open{background:#fdecef;color:#c01933}
.esc-st.progress{background:#fef3e2;color:#b45309}
.esc-st.resolved{background:#e8f7ef;color:#0c8a5a}
.nav-badge{margin-left:auto;font-size:11px;font-weight:800;background:var(--surface-3,#eceef3);color:var(--text-2,#5a6172);border-radius:999px;padding:1px 8px}
.nav-badge:empty{display:none}
.nav-badge.due{background:#fde3e7;color:#f0556d}
#fuModal{align-items:center}
#fuModal .reco-modal-card{box-shadow:0 24px 70px rgba(240,85,109,.28),0 8px 24px rgba(0,0,0,.18)}
.fu-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.fu-item:last-child{border-bottom:0}
.fu-info{min-width:0}
.fu-info b{font-size:15px}
.fu-rem{margin-top:5px;font-size:12.5px;color:var(--text-2,#5a6172);background:var(--surface,#f7f8fb);border-radius:8px;padding:5px 9px;font-style:italic}
.fu-acts{display:flex;gap:6px;flex-wrap:wrap;flex:none;justify-content:flex-end}
.fu-foot{padding-top:12px;margin-top:4px;border-top:1px solid var(--line);text-align:center}
/* escalation attachments */
.esc-preview,.esc-att{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.esc-thumb{position:relative;width:64px;height:64px;border:1px solid var(--line-2);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--surface);text-decoration:none}
.esc-thumb img{width:100%;height:100%;object-fit:cover}
.esc-file{font-size:10px;color:var(--text-2,#5a6172);padding:4px;text-align:center;word-break:break-word;line-height:1.2}
.esc-rm{position:absolute;top:2px;right:2px;width:18px;height:18px;border:0;border-radius:50%;background:rgba(15,23,42,.78);color:#fff;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
/* order tracking */
.ord-track{margin-top:8px}
.ord-status{font-weight:750;font-size:13px}
.rc-assign{font-size:12px;padding:6px 8px;border:1px solid var(--line-2);border-radius:8px;background:#fff;color:var(--text);max-width:130px}
.mon-feed{display:flex;flex-direction:column;max-height:560px;overflow:auto;border:1px solid var(--line);border-radius:12px}
.mon-row{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}
.mon-row:last-child{border-bottom:0}
.mon-ic{width:9px;height:9px;border-radius:50%;margin-top:5px;flex:none}
.mon-main{flex:1;min-width:0;font-size:13px}
.mon-when{flex:none;white-space:nowrap}
.mon-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle;background:#9aa0b2}
.mon-dot.online{background:#19c37d;box-shadow:0 0 0 3px rgba(25,195,125,.18)}
.mon-dot.idle{background:#f59e0b}
.mon-dot.offline{background:#c7ccd6}
.ord-loading{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px;padding:30px;color:var(--text-2,#5a6172);font-weight:600}
.spin{width:18px;height:18px;border:2.5px solid var(--line-2,#d8dbe4);border-top-color:var(--primary,#5a5cf0);border-radius:50%;display:inline-block;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.rc-cb.due{background:#fff1f2;color:#be123c;border-color:#fecdd3}
.cb-quick{display:flex;gap:8px;flex-wrap:wrap}
.wa-row input{padding:7px 9px;border:1px solid var(--line-2);border-radius:8px;font-size:12px;background:#fff;color:var(--text)}
.reco-toast{position:fixed;left:50%;bottom:86px;transform:translateX(-50%) translateY(16px);background:#0f172a;color:#fff;padding:10px 18px;border-radius:999px;font-size:13px;font-weight:650;box-shadow:0 12px 30px rgba(0,0,0,.28);opacity:0;transition:all .3s;z-index:200;pointer-events:none}
.reco-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.reco-card.flash{animation:rcflash 1.1s ease}
@keyframes rcflash{0%{box-shadow:0 0 0 2px var(--primary)}100%{box-shadow:var(--shadow-sm)}}
.rc-disp{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.rc-disp select{flex:1;min-width:120px}.rc-disp input{flex:1;min-width:110px}
/* ---- End-of-day report ---- */
.eod-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.eod-title{font-weight:800;font-size:16px}.eod-date{font-weight:700;color:var(--primary)}
.eod-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px;margin-bottom:14px}
.eod-kpi{background:var(--surface-2,#f7f8fb);border:1px solid var(--line,#eceef4);border-radius:10px;padding:9px 11px}
.eod-kpi .ek-lab{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.eod-kpi .ek-val{font-size:19px;font-weight:800;margin-top:2px}
.eod-sec-t{font-weight:700;font-size:13px;margin:16px 0 8px}
table.eod-matrix,table.eod-lb{min-width:0;border-collapse:collapse;width:100%;font-size:12px}
table.eod-matrix th,table.eod-matrix td,table.eod-lb th,table.eod-lb td{border:1px solid #d8dbe6;padding:6px 9px;text-align:center;white-space:nowrap}
table.eod-matrix th,table.eod-lb th{background:#fde047;color:#1f2430;font-weight:700;text-transform:none;letter-spacing:0;font-size:12px;cursor:default}
table.eod-matrix .eod-d,table.eod-lb .eod-d{text-align:left;font-weight:600}
table.eod-matrix td.eod-gt,table.eod-matrix th.eod-gt{background:#fef9c3;font-weight:700}
table.eod-matrix tr.eod-tot td,table.eod-lb tr.eod-tot td{background:#fde047;font-weight:800}
/* converted-lead controls (Call again + change disposition + Update) — keep the select inside the card */
.rc-conv{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px}
.rc-conv .rc-redisp{flex:1 1 100%;width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:6px 8px;font-size:11.5px;border-radius:8px}
.rc-conv .btn.sm{flex:0 0 auto}
.rc-log{border-top:1px solid var(--line);padding-top:7px;display:flex;flex-direction:column;gap:3px}
.rc-log div{font-size:11px;color:var(--text-2)}
@media(max-width:560px){.reco-board{grid-template-columns:1fr}}
/* Home spend→profit flow */
.flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}
.flow .step{flex:1;min-width:150px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:14px;padding:14px 16px}
.flow .step .s-lab{color:var(--muted);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.flow .step .s-val{color:var(--text);font-size:20px;font-weight:800;letter-spacing:-.4px;margin-top:5px}
.flow .step .s-sub{color:var(--text-2);font-size:11px;margin-top:3px}
.flow .arrow{display:flex;align-items:center;color:var(--muted);font-size:20px;flex:none}
@media(max-width:760px){.flow .arrow{display:none}.flow .step{min-width:calc(50% - 5px)}}
.kpi-delta{font-size:11px;font-weight:700;margin-top:3px}
footer{color:var(--muted);font-size:11px;margin-top:22px;text-align:center}

/* ===================== INSIGHTS / COMPARE / DRILL / STATUS ===================== */
.ins-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}
@media(max-width:760px){.ins-grid{grid-template-columns:1fr}}
.ins{display:flex;gap:11px;background:var(--surface-2);border:1px solid var(--line-2);border-left-width:4px;border-radius:12px;padding:12px 14px;align-items:flex-start}
.ins.good{border-left-color:var(--good)}.ins.bad{border-left-color:var(--bad)}.ins.warn{border-left-color:var(--warn)}.ins.info{border-left-color:var(--primary)}
.ins .i-ic{flex:none;margin-top:1px}
.ins.good .i-ic{color:var(--good)}.ins.bad .i-ic{color:var(--bad)}.ins.warn .i-ic{color:var(--warn)}.ins.info .i-ic{color:var(--primary)}
.ins .i-t{font-weight:700;font-size:12.5px;color:var(--text)}.ins .i-d{color:var(--text-2);font-size:11.5px;margin-top:2px}

.cmp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 16px}
@media(max-width:900px){.cmp-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.cmp-grid{grid-template-columns:repeat(2,1fr)}}
.cmp-item{background:var(--surface-2);border:1px solid var(--line-2);border-radius:14px;padding:12px 12px 10px}
.cmp-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.cmp-lab{font-weight:700;color:var(--text);font-size:12px}
.cmp-chg{font-size:11px;font-weight:700}
.cmp-leg{display:flex;gap:10px;font-size:9.5px;color:var(--muted);margin-bottom:4px}
.cmp-leg b{font-weight:700}
.vbars{display:flex;gap:16px;align-items:flex-end;justify-content:center;height:96px}
.vbar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;flex:1;max-width:64px}
.vbar .v{font-size:11px;font-weight:700;color:var(--text);margin-bottom:5px;white-space:nowrap}
.vbar .col{width:100%;border-radius:8px 8px 0 0;min-height:4px;transition:height .3s}
.vbar .tg{font-size:10px;color:var(--muted);margin-top:6px;font-weight:600}

/* RTO heat-map tiles */
.heatmap{display:flex;flex-wrap:wrap;gap:9px}
.heat-tile{border-radius:11px;padding:10px 13px;min-width:104px;color:#fff;display:flex;flex-direction:column;gap:1px;box-shadow:var(--shadow-sm)}
.heat-tile .ht-s{font-size:11px;font-weight:700;opacity:.97}
.heat-tile .ht-r{font-size:17px;font-weight:800;letter-spacing:-.3px}
.heat-tile .ht-o{font-size:10px;opacity:.9}

/* A/B detailed report */
.verdict{display:flex;gap:12px;align-items:flex-start;border-radius:14px;padding:14px 16px;margin-bottom:16px;border:1px solid var(--line-2);border-left-width:5px}
.verdict.bad{background:#fef2f4;border-left-color:var(--bad)}
.verdict.good{background:#eafaf3;border-left-color:var(--good)}
.verdict .v-ic{flex:none;margin-top:1px}.verdict.bad .v-ic{color:var(--bad)}.verdict.good .v-ic{color:var(--good)}
.verdict .v-h{font-weight:800;font-size:15px;color:var(--text)}
.verdict .v-d{font-size:12.5px;color:var(--text-2);margin-top:4px}
.rep-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
@media(max-width:760px){.rep-tiles{grid-template-columns:repeat(2,1fr)}}
.rep-charts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:8px}
@media(max-width:860px){.rep-charts{grid-template-columns:1fr}}
.rep-factors{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
@media(max-width:760px){.rep-factors{grid-template-columns:1fr}}
.rep-fac{background:var(--surface-2);border:1px solid var(--line-2);border-left-width:4px;border-radius:12px;padding:14px 18px}
.rep-fac.bad{border-left-color:var(--bad)}.rep-fac.good{border-left-color:var(--good)}.rep-fac.warn{border-left-color:var(--warn)}
.rep-fac .fl{font-size:11px;color:var(--muted);font-weight:600}
.rep-fac .fv{font-size:16px;font-weight:800;color:var(--text);margin-top:4px}
.rep-fac .fd{font-size:11px;margin-top:3px;color:var(--text-2)}
.rep-narr{font-size:13px;line-height:1.65;color:var(--text-2)}
.rep-narr h4{color:var(--text);font-size:13px;margin:14px 0 5px}
.rep-narr p{margin:0 0 9px}.rep-narr b{color:var(--text)}

/* drill-down rows */
.exp{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;border-radius:5px;cursor:pointer;color:var(--muted);font-size:10px;transition:.15s;user-select:none}
.exp:hover{background:var(--surface-3);color:var(--primary)}
.exp.open{transform:rotate(90deg);color:var(--primary)}
tr.drill > td{background:var(--surface-2);padding:0}
tr.drill .subwrap{padding:6px 6px 6px 30px}
tr.drill table{min-width:0;width:100%}
tr.drill thead th{font-size:9.5px}
tr.drill .lvl{font-size:9px;padding:1px 6px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-weight:700;margin-right:6px}
.subloading{padding:12px 16px;color:var(--muted);font-size:12px}

/* status badges */
.stb{font-size:9.5px;padding:3px 9px;border-radius:999px;font-weight:700}
.stb.active{background:var(--teal-soft);color:#0c9d8c}
.stb.paused{background:#eef0f7;color:#7a8196}
.stb.deleted,.stb.archived{background:#fde3e7;color:var(--bad)}
.stb.other{background:#fff3df;color:#a76f12}

/* ===== audit polish: a11y, frozen-column, adaptive chips ===== */
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,
.nav-item:focus-visible,.seg button:focus-visible,.tabs button:focus-visible,
.tagchip:focus-visible,.icon-btn:focus-visible,.linkbtn:focus-visible{
  outline:2px solid var(--primary);outline-offset:2px;border-radius:8px}
/* keep the frozen first column in step with row striping + hover */
tbody tr:nth-child(even) td:first-child{background:var(--surface-2)}
tbody tr:hover td:first-child{background:var(--primary-soft)}
/* chips adapt to any count (was a rigid 5-col grid) */
.statchips{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

/* Home — orders by source cards */
.src-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.src-card{position:relative;background:var(--surface-2);border:1px solid var(--line-2);border-radius:14px;padding:13px 15px 13px 18px;overflow:hidden}
.src-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c,#9aa0b2)}
.src-card .sc-lab{color:var(--muted);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.src-card .sc-val{color:var(--text);font-size:22px;font-weight:800;letter-spacing:-.4px;margin-top:4px;font-variant-numeric:tabular-nums}
.src-card .sc-sub{color:var(--text-2);font-size:11px;margin-top:2px}
.src-card .sc-bar{height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden;margin-top:9px}
.src-card .sc-bar i{display:block;height:100%;border-radius:99px;background:var(--c,#9aa0b2)}
@media(max-width:900px){.src-cards{grid-template-columns:repeat(2,1fr)}}

/* ===================== RESPONSIVE / MOBILE — app shell ===================== */
/* Desktop UI is untouched: every rule below only activates on small screens.   */
.tb-left{display:flex;align-items:center;gap:12px;min-width:0}
.hamburger{display:none}
.sb-overlay{display:none}
.m-brand{display:none;align-items:center;min-width:0}
.m-brand .wordmark{height:22px}
#btnRefreshM{display:none}
.tabbar{display:none}
.spin-ic svg{animation:sp .6s linear 2}

@media(max-width:860px){
  /* --- drawer sidebar (More menu) --- */
  .sidebar{position:fixed;z-index:100;left:0;top:0;height:100dvh;width:256px;transform:translateX(-100%);
    transition:transform .26s ease;box-shadow:var(--shadow-lg);background:rgba(255,255,255,.95);
    padding-top:calc(18px + env(safe-area-inset-top))}
  .sidebar.open{transform:none}
  .sb-overlay{display:block;position:fixed;inset:0;z-index:90;background:rgba(20,24,35,.42);
    backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .26s}
  .sb-overlay.show{opacity:1;pointer-events:auto}
  .hamburger{display:flex}

  /* --- app header: SHEBLISS logo + quick actions, sticky on top --- */
  .main{padding:0 12px calc(92px + env(safe-area-inset-bottom));width:100%}
  .topbar{position:sticky;top:0;z-index:70;margin:0 -12px 12px;flex-wrap:nowrap;
    padding:calc(8px + env(safe-area-inset-top)) 12px 8px;
    background:rgba(255,255,255,.85);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);
    border-bottom:1px solid var(--line-2)}
  .tb-title{display:none}
  .m-brand{display:flex}
  #btnRefreshM{display:flex}
  .util-icons{gap:8px;flex:none}
  .icon-btn{width:37px;height:37px;border-radius:11px}

  /* --- fixed bottom tab bar: Home · Meta · Shopify · Shipping · More --- */
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:85;justify-content:space-around;align-items:stretch;
    padding:6px 6px calc(6px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.92);backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);
    border-top:1px solid var(--line-2);box-shadow:0 -10px 30px rgba(29,35,51,.10)}
  .tabbar .tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:0;
    color:var(--muted);font-size:9.5px;font-weight:650;font-family:inherit;cursor:pointer;padding:4px 2px;border-radius:12px;min-height:46px;
    -webkit-tap-highlight-color:transparent;transition:color .15s,transform .1s}
  .tabbar .tab .ic{width:21px;height:21px}
  .tabbar .tab.active{color:var(--primary)}
  .tabbar .tab:active{transform:scale(.93)}

  /* --- loaders positioned for mobile (above the tab bar, never under it) --- */
  #globalLoad{top:auto;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));padding:8px 13px;border-radius:11px}
  #viewSkeleton{padding:30px 8px 0}
  #viewSkeleton .vs-card{min-width:0;width:100%}

  /* --- layout density: every section fits any phone --- */
  /* controls: ONE compact swipeable line — date presets first, baaki right me scroll */
  .controls{flex-wrap:nowrap;overflow-x:auto;gap:7px;padding:8px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .controls::-webkit-scrollbar{display:none}
  .controls > *{flex:none}
  .controls .spacer,.controls .upd{display:none}
  .controls .seg{order:-1}
  .controls .seg button{padding:8px 11px}
  .ctl-fx{display:none}                          /* USD rate desktop-only; default Settings se set hota hai */
  #customWrap input[type=date]{width:124px}
  .statchips{grid-template-columns:repeat(2,1fr);gap:10px}
  .chip{padding:12px 14px;border-radius:13px}
  .hero{padding:18px 16px;border-radius:18px}
  .hero-tiles{gap:10px;margin-top:16px}
  .hero-tiles .tile,.hero-tiles .tile.big{flex:1 1 calc(50% - 5px);min-width:calc(50% - 5px);padding:12px 14px}
  .t-val{font-size:18px}.tile.big .t-val{font-size:24px}
  .panel{border-radius:18px;margin-bottom:14px}
  .panel .hd{padding:13px 14px}
  .card .bd,.panel>.bd{padding:14px}
  .grid-tools{width:100%}
  .grid-tools .search-box{flex:1}
  .src-cards{grid-template-columns:repeat(2,1fr);gap:10px}
  .flow .arrow{display:none}
  .flow .step{min-width:calc(50% - 5px)}
  .bal-cards{grid-template-columns:1fr}
  .charts3{gap:12px}
  th,td{padding:10px 11px}
  /* tables on phones: cap the sticky name column so data columns actually show;
     names wrap to 2-3 lines instead of pushing everything off-screen */
  th:first-child,td:first-child{padding-left:12px;max-width:45vw;min-width:96px;
    white-space:normal;word-break:break-word;line-height:1.35}
  td[colspan]{max-width:none}                    /* drill-down rows span full width */
  td:first-child .cname{font-size:12px;flex-wrap:wrap}
  .tblwrap{position:relative}
  .tblwrap::before{content:"\2190 swipe for more columns \2192";display:block;text-align:right;
    color:var(--muted);font-size:9.5px;padding:6px 14px 0;font-weight:600;letter-spacing:.3px}
  .tblwrap:has(table[style*="min-width:0"])::before{display:none}   /* chhoti tables jo fit hoti hai */
}
@media(max-width:560px){
  .util-icons{gap:6px}
  .util-icons .icon-btn{width:36px;height:36px}
  .notif-panel{position:fixed;top:calc(54px + env(safe-area-inset-top));left:8px;right:8px;width:auto}
  .seg button{padding:7px 10px}
  .search-box input{width:100%}
  .donut-flex{flex-direction:column;align-items:stretch}
  .donut-flex .chart-wrap{width:100%}
  table{min-width:680px;font-size:11.5px}
  th,td{padding:9px 9px}
  thead th{font-size:9.5px}
  .hero-tiles .tile.big{flex-basis:100%;min-width:100%}
  .cmp-grid{gap:12px 10px}
  .heat-tile{min-width:88px}
  .chart-wrap{height:170px}
  .m-brand .wordmark{height:19px}
  /* comfortable tap targets on phones */
  .seg button,.tabs button,.tagchip,.btn.sm,.icon-btn{min-height:40px}
}

/* ---- board loading skeleton (shown on login / hard refresh so the board is never blank) ---- */
.sk-card{pointer-events:none}
.sk-line{height:12px;border-radius:6px;margin:9px 0;background:linear-gradient(90deg,var(--line,#e6e7f0) 25%,rgba(0,0,0,.05) 37%,var(--line,#e6e7f0) 63%);background-size:400% 100%;animation:skShimmer 1.4s ease infinite}
.sk-line.sk-btn{height:30px;margin-top:14px;width:40%}
@keyframes skShimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.sk-line{animation:none}}

/* ---- Simple agent board nav (To call / Follow-ups / Feedback) ---- */
.agent-nav{display:none;gap:8px}
.agent-nav button{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line,#e6e8f0);background:#fff;border-radius:999px;padding:9px 18px;font-size:14px;font-weight:700;color:var(--muted,#5a6172);cursor:pointer;transition:.14s}
.agent-nav button:hover{border-color:var(--primary,#6366f1)}
.agent-nav button.active{background:var(--primary,#6366f1);color:#fff;border-color:var(--primary,#6366f1)}
.agent-nav .an-n{background:rgba(0,0,0,.10);border-radius:999px;padding:1px 9px;font-size:12px;font-weight:800}
.agent-nav button.active .an-n{background:rgba(255,255,255,.25)}
body.role-agent #recoFilter{display:none}
body.role-agent .agent-nav{display:inline-flex}
body.role-agent #recoSort,body.role-agent #recoMoreFilters,body.role-agent #recoCsv{display:none}   /* declutter: agents don't need analyst sort/filters/export */

/* ---- Anti-excuse reminders banner + queue-only ---- */
.reco-reminders{border-radius:12px;padding:11px 16px;margin:0 0 12px;font-size:13px}
.reco-reminders.agent{background:linear-gradient(90deg,rgba(99,102,241,.10),rgba(13,148,136,.08));border:1px solid rgba(99,102,241,.25)}
.reco-reminders.info{background:#f1f5fb;border:1px solid var(--line,#e6e8f0);color:var(--muted,#5a6172)}
.reco-reminders .rr-lead{font-weight:600;color:var(--ink,#1a1f36)}
.reco-reminders .rr-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.rr-chip{background:#fff;border:1px solid var(--line,#e6e8f0);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;color:var(--muted,#5a6172)}
.rr-chip.strong{background:var(--primary,#6366f1);color:#fff;border-color:var(--primary,#6366f1)}
.rr-chip.warn{background:#fff4e5;color:#b45309;border-color:#f5d9a8}
.rr-jump{cursor:pointer;font:inherit}
.rr-jump:hover{filter:brightness(.96)}
body.queue-only #recoBoard .rc-claim-btn{display:none!important}
body.queue-only #recoFilter .tagchip[data-f="cb"]{display:none}

/* ---- Assigned-by-admin badge (reason on the lead) ---- */
.rc-badge.admin{background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe}

/* ---- Team scorecard ---- */
.sc-table th,.sc-table td{text-align:center;white-space:nowrap}
.sc-focus{border-radius:12px;padding:11px 16px;margin:0 0 14px;font-size:13px;background:#fff4e5;border:1px solid #f5d9a8;color:#7a4a06;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sc-focus.ok{background:#e8f7ef;border-color:#bfe6cf;color:#0c6b43}
.sc-issue{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:4px 12px;font-size:12px}

/* ---- Leads assigner ---- */
.asg-pool{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.asg-kpi{border:1px solid var(--line,#e6e8f0);border-radius:14px;padding:14px 16px;background:#fff;border-left:4px solid var(--primary,#6366f1)}
.asg-kpi .ak-val{font-size:26px;font-weight:800;line-height:1.1;color:var(--ink,#1a1f36)}
.asg-kpi .ak-lab{font-size:13px;font-weight:700;margin-top:2px}
.asg-kpi .ak-sub{font-size:11px;color:var(--muted,#8a90a2);margin-top:2px}
.asg-kpi.brand{border-left-color:#6366f1}.asg-kpi.blue{border-left-color:#2563eb}.asg-kpi.slate{border-left-color:#64748b}
.asg-kpi.teal{border-left-color:#0d9488}.asg-kpi.red{border-left-color:#dc2626}.asg-kpi.amber{border-left-color:#d97706}
.asg-kpi.violet{border-left-color:#7c3aed}.asg-kpi.green{border-left-color:#16a34a}
.asg-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}
.asg-card{border:1px solid var(--line,#e6e8f0);border-radius:14px;padding:16px;background:#fff}
.asg-card h3{margin:0 0 2px;font-size:15px}
.asg-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.asg-form .ctl{display:flex;flex-direction:column;gap:4px}
.asg-form .ctl label{font-size:11px;color:var(--muted,#8a90a2);font-weight:600}
.asg-quick{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chip-btn{border:1px solid var(--line,#e6e8f0);background:#f6f7fb;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:.12s}
.chip-btn:hover{background:var(--primary,#6366f1);color:#fff;border-color:var(--primary,#6366f1)}
.asg-switch{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}
.asg-table th,.asg-table td{text-align:center;white-space:nowrap}
.btn.xs{padding:4px 10px;font-size:12px}
@media(max-width:900px){.asg-pool{grid-template-columns:repeat(2,1fr)}.asg-grid{grid-template-columns:1fr}}

/* ---- Placed orders: per-agent breakdown ---- */
#placedAgents{margin-bottom:16px}
.pa-head{font-size:13px;font-weight:700;color:var(--ink,#1a1f36);margin:2px 2px 8px}
.pa-head .note{font-weight:400}
.pa-table th,.pa-table td{text-align:center;white-space:nowrap}
.pa-row{cursor:pointer;transition:background .12s}
.pa-row:hover{background:rgba(99,102,241,.06)}
.pa-row.sel{background:rgba(99,102,241,.14)}
.pa-row.sel td{font-weight:700}
.pa-total td{border-top:2px solid var(--line,#e6e8f0);font-weight:700;color:var(--muted,#6b7280)}
#paClear{color:var(--primary,#6366f1);text-decoration:underline}

/* ---- Order-placed confirmation modal (copy Shopify Order ID) ---- */
.ord-ok-tick{width:54px;height:54px;border-radius:50%;background:var(--good,#2e7d32);color:#fff;font-size:30px;line-height:54px;margin:4px auto 4px;font-weight:700}
.ord-ok-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#8a90a2);margin-bottom:6px}
.ord-ok-id{display:inline-flex;flex-direction:column;align-items:center;gap:3px;min-width:200px;padding:14px 22px;border:2px dashed var(--good,#2e7d32);border-radius:12px;background:rgba(46,125,50,.07);cursor:pointer;transition:.15s}
.ord-ok-id:hover{background:rgba(46,125,50,.14)}
.ord-ok-id #ordOkId{font-size:24px;font-weight:800;letter-spacing:.02em;color:#16331c}
.ord-ok-copyhint{font-size:11px;color:var(--good,#2e7d32);font-weight:600}
.ord-ok-id.copied{background:var(--good,#2e7d32)}
.ord-ok-id.copied #ordOkId,.ord-ok-id.copied .ord-ok-copyhint{color:#fff}

/* ---- Wave 1: disposition hint + Save&Next ---- */
.rc-disp-hint{margin-top:6px;font-size:12px;color:var(--primary,#5a5cf0);background:rgba(90,92,240,.08);border-radius:8px;padding:6px 10px;line-height:1.35}
.btn.sm.primary{background:var(--primary,#5a5cf0);color:#fff;border-color:transparent}
.btn.sm.primary:hover{filter:brightness(1.05)}

/* ---- Creative Tracker: post ID chip (click to copy) ---- */
.ct-post{
  display:inline-block;margin-top:3px;padding:1px 6px;border:1px solid var(--border);border-radius:5px;
  background:var(--gray,#f6f7f9);color:var(--muted,#6b7280);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;line-height:1.5;
  cursor:pointer;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;
  transition:background .12s ease,color .12s ease,border-color .12s ease;
}
.ct-post:hover{background:#eef2ff;color:var(--primary);border-color:#c7d2fe}
.ct-post.copied{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}
.ct-prev{font-size:11px;line-height:1;opacity:.55;transition:opacity .12s ease}
.ct-prev:hover{opacity:1}
tr.ct-row:hover .ct-prev{opacity:1}

/* ---- high-RTO state excluder ---- */
.sx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 12px}
.sx-grid label{display:flex;align-items:center;gap:7px;font-size:13px;padding:4px 6px;border-radius:6px;cursor:pointer}
.sx-grid label:hover{background:var(--gray,#f6f7f9)}
.sx-grid label.on{background:#fef2f2;color:#991b1b;font-weight:600}
.sx-grid .sx-n{margin-left:auto;font-size:11px;color:var(--muted,#6b7280);font-variant-numeric:tabular-nums}
.sx-off{color:#991b1b;font-weight:600}

/* purchases badge shown next to ROAS/CPP in every creative-tracker window cell */
.ct-buys{display:inline-block;margin-left:5px;min-width:16px;padding:0 4px;border-radius:8px;background:var(--gray,#eef0f3);
  color:var(--muted,#6b7280);font-size:10px;font-weight:600;line-height:15px;vertical-align:middle;font-variant-numeric:tabular-nums}
.ct-buys.thin{background:#fff4e5;color:#9a5b00}   /* 1-2 sales: too thin to judge on */
.ct-buys.zero{background:#f4f5f7;color:#b6bbc2}

/* creative tracker V2 detail drawer */
.c2m-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:10px 0}
.c2m-cell{border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:var(--surface-2)}
.c2m-cell .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted,#6b7280)}
.c2m-cell .v{font-size:15px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums}
.c2m-h{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted,#6b7280);margin:14px 0 2px}
#c2Rows tr{cursor:pointer}
