:root{--bg:#f5f7fb;--card:#fff;--ink:#0f172a;--mut:#64748b;--line:#e6eaf2;--pri:#e3232a;--pri2:#c81c22;--prib:#fdeced;--prit:#f6b8ba;--ok:#059669;--okb:#ecfdf5;--warn:#b45309;--warnb:#fffbeb;--bad:#dc2626;--badb:#fef2f2;--info:#0369a1;--infob:#f0f9ff;--vio:#7c3aed;--viob:#f5f3ff;--gray:#475569;--grayb:#f1f5f9;--r:14px;--sh:0 1px 2px rgba(15,23,42,.04),0 4px 16px rgba(15,23,42,.06)}
[hidden]{display:none!important}
*{box-sizing:border-box}html,body{margin:0}body{font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,"Noto Sans Telugu",sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--pri)}h2{font-size:20px;margin:0}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;padding:10px 22px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px}.brand b{display:block;font-size:16px}.brand small{color:var(--mut);font-size:12px}
.logo{height:36px;width:auto;display:block;flex:none}.brand b{letter-spacing:.01em}.login-logo{display:block;width:min(300px,80%);height:auto;margin:4px auto 6px}.login-card .sub{text-align:center;margin:0;color:var(--mut);font-weight:600}
.brand.big .logo{width:44px;height:44px;font-size:20px}
nav{display:flex;gap:4px;margin-left:10px}nav button{border:0;background:none;padding:8px 12px;border-radius:10px;color:var(--mut);font-weight:600;cursor:pointer;font-size:14px}
nav button.on{background:var(--prib);color:var(--pri)}nav button:hover{color:var(--ink)}
.top-r{margin-left:auto;display:flex;gap:8px;align-items:center}
.chip{font-size:12px;padding:4px 10px;border-radius:99px;background:var(--grayb);color:var(--gray);font-weight:600;white-space:nowrap}
.chip.dry{background:var(--warnb);color:var(--warn)}.chip.live{background:var(--badb);color:var(--bad)}.chip.open{background:var(--okb);color:var(--ok)}
.pill{display:inline-block;min-width:18px;padding:0 6px;border-radius:99px;background:var(--bad);color:#fff;font-size:11px;line-height:18px}
.pill:empty{display:none}
.banner{margin:12px 22px 0;padding:10px 14px;border-radius:12px;background:var(--warnb);color:var(--warn);border:1px solid #fde68a;font-weight:600}
main{padding:18px 22px 40px;max-width:1500px;margin:0 auto}
.kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-bottom:16px}
.kpi{background:var(--card);border-radius:var(--r);padding:14px 16px;box-shadow:var(--sh);border:1px solid var(--line);cursor:pointer;transition:.15s}
.kpi:hover{transform:translateY(-1px)}.kpi small{color:var(--mut);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.kpi b{display:block;font-size:26px;margin-top:4px;letter-spacing:-.02em}.kpi i{font-style:normal;font-size:12px;color:var(--mut)}
.kpi.k-ok b{color:var(--ok)}.kpi.k-bad b{color:var(--bad)}.kpi.k-warn b{color:var(--warn)}.kpi.k-pri b{color:#1e3a8a}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 12px}.grow{flex:1}
input,select,textarea{font:inherit;color:inherit;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--prit);box-shadow:0 0 0 3px var(--prib)}
.search{min-width:260px;flex:1;max-width:380px}
.tog{display:flex;gap:6px;align-items:center;color:var(--mut);font-weight:600;font-size:13px}
.btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 14px;font-weight:600;cursor:pointer;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:6px;font-size:14px}
.btn:hover{background:#f8fafc}.btn.primary{background:var(--pri);border-color:var(--pri);color:#fff}.btn.primary:hover{background:var(--pri2)}
.btn.danger{color:var(--bad);border-color:#fecaca}.btn.ghost{border-color:transparent;background:none}.btn.sm{padding:5px 10px;font-size:13px}
.btn.block{width:100%;justify-content:center;padding:11px}.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.call{background:var(--okb);border-color:#a7f3d0;color:var(--ok)}
.bulk{position:sticky;top:calc(var(--toph) + 4px);z-index:5;display:flex;gap:10px;align-items:center;background:#1f2937;color:#fff;padding:8px 12px;border-radius:12px;margin-bottom:10px;box-shadow:var(--sh)}
.bulk .btn{border-color:transparent}.bulk .btn.ghost{color:#e5e7eb}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}.pad{padding:20px}
.tbl-wrap{overflow:auto}.tbl{width:100%;border-collapse:collapse}
.tbl th{position:sticky;top:0;background:#f8fafc;text-align:left;font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.03em;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tbody tr{cursor:pointer}.tbl tbody tr:hover{background:#fffafa}.tbl tr.sel{background:var(--prib)}
.tbl .r{text-align:right}.tbl .ck{width:34px}
.nm b{display:block}.nm small{color:var(--mut)}.mono{font-variant-numeric:tabular-nums}
.badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px;white-space:nowrap;background:var(--grayb);color:var(--gray)}
.b-ok{background:var(--okb);color:var(--ok)}.b-bad{background:var(--badb);color:var(--bad)}.b-warn{background:var(--warnb);color:var(--warn)}
.b-info{background:var(--infob);color:var(--info)}.b-vio{background:var(--viob);color:var(--vio)}.b-pri{background:#eef2ff;color:#4338ca}
.empty{padding:40px;text-align:center;color:var(--mut)}.muted{color:var(--mut)}.tiny{font-size:12px}
.acts{display:flex;gap:6px;justify-content:flex-end}
.drawer{position:fixed;inset:0;z-index:40;background:rgba(15,23,42,.35);display:flex;justify-content:flex-end}
.drawer-in{width:min(640px,100%);height:100%;background:#fff;overflow:auto;padding:22px 24px 40px;position:relative;box-shadow:-10px 0 30px rgba(0,0,0,.12)}
.x{position:absolute;right:14px;top:10px;border:0;background:none;font-size:32px;cursor:pointer;color:var(--mut)}
.dh{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.dh h3{margin:0;font-size:20px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.kv small{display:block;color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.kv span{word-break:break-word}
.sec{margin-top:18px}.sec h4{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut)}
.box{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.tx{white-space:pre-wrap;font-size:13px;max-height:380px;overflow:auto}.tx .a{color:var(--pri);font-weight:700}.tx .u{color:var(--ok);font-weight:700}
.esc-box{background:var(--warnb);border:1px solid #fde68a;color:#78350f}
pre.json{background:#0f172a;color:#e2e8f0;border-radius:12px;padding:12px;font-size:12px;overflow:auto;max-height:420px}
.hist{display:flex;flex-direction:column;gap:8px}.hist .h{border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.modal{position:fixed;inset:0;z-index:50;background:rgba(15,23,42,.45);display:grid;place-items:center;padding:16px}
.modal-in{background:#fff;border-radius:18px;width:min(760px,100%);max-height:92vh;overflow:auto;padding:22px 24px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.modal-in h3{margin:0 0 6px;font-size:20px}.mfoot{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}
.form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 14px}.form label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--mut)}
.form .full{grid-column:1/-1}.form h5{grid-column:1/-1;margin:10px 0 0;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--pri2)}
.req::after{content:" *";color:var(--bad)}
.err{color:var(--bad);font-weight:600}
.drop{display:block;border:2px dashed var(--prit);border-radius:14px;padding:34px;text-align:center;cursor:pointer;background:#fffafa;color:var(--pri);margin:14px 0}
.drop.over{background:var(--prib)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.rowerr td{background:#fff7f7}.rowwarn td{background:#fffdf5}
.esc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.esc-card{background:#fff;border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:12px;padding:14px;box-shadow:var(--sh);cursor:pointer}
.esc-card.res{border-left-color:var(--ok);opacity:.75}.esc-card p{margin:6px 0}
#toasts{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;flex-direction:column;gap:8px}
.toast{background:#0f172a;color:#fff;padding:10px 14px;border-radius:12px;box-shadow:var(--sh);max-width:380px;font-weight:600}.toast.bad{background:var(--bad)}.toast.ok{background:var(--ok)}
.list-mini{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:12px;margin-top:10px}.list-mini div{display:flex;justify-content:space-between;gap:10px;padding:7px 12px;border-bottom:1px solid var(--line);font-size:13px}
.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(1200px 600px at 10% -10%,#fde2e3,transparent),radial-gradient(900px 500px at 110% 110%,#cffafe,transparent),var(--bg)}
.login-card{width:min(400px,92vw);background:#fff;border-radius:20px;padding:30px;box-shadow:0 20px 60px rgba(15,23,42,.12);border:1px solid var(--line)}
.login-card form{display:flex;flex-direction:column;gap:14px;margin-top:22px}.login-card label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px;color:var(--mut)}
.login-card input{padding:11px 12px}
.ptp-head{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;margin-bottom:6px}.kpis.k4{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}
.auto-card{padding:14px 16px;display:flex;flex-direction:column;gap:8px}.auto-card .row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.auto-card b{font-size:14px}.auto-card input[type=time]{padding:5px 8px}
.switch{position:relative;width:44px;height:24px;flex:none}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;background:#cbd5e1;border-radius:99px;cursor:pointer;transition:.2s}
.switch span::before{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:var(--ok)}.switch input:checked+span::before{transform:translateX(20px)}
.seg{display:flex;background:#fff;border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px;flex-wrap:wrap}.seg button{border:0;background:none;padding:6px 12px;border-radius:9px;font-weight:600;color:var(--mut);cursor:pointer;font-size:13px}
.seg button.on{background:var(--prib);color:var(--pri)}.seg i{font-style:normal;font-size:11px;background:var(--grayb);border-radius:99px;padding:0 6px;margin-left:4px}.seg i:empty{display:none}
.kpi.k-sel{outline:2px solid var(--prit)}
.kpis.k5{grid-template-columns:repeat(5,minmax(0,1fr))}.pay-grid{margin-bottom:12px}
.btn.paid{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.btn.xs{padding:4px 8px;font-size:12px;border-radius:8px}
.btn .ic{width:14px;height:14px;flex:none}.tr-undone td{opacity:.5;text-decoration:line-through}.tr-undone td:last-child{text-decoration:none}
.paysum{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
@media (max-width:1200px){.kpis{grid-template-columns:repeat(4,1fr)}}
@media (max-width:760px){
 .top{flex-wrap:wrap;padding:10px 12px;gap:8px}nav{order:3;width:100%;margin:0;overflow:auto}.top-r .chip#winChip{display:none}
 main{padding:12px}.kpis{grid-template-columns:repeat(2,1fr)}.kpi b{font-size:20px}.search{min-width:100%}
 .tbl thead{display:none}.tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
 .tbl tr{border-bottom:1px solid var(--line);padding:8px 4px;position:relative}.tbl td{border:0;padding:3px 10px;display:flex;justify-content:space-between;gap:10px}
 .tbl td::before{content:attr(data-l);color:var(--mut);font-size:12px;font-weight:600}.tbl td.ck{position:absolute;right:6px;top:8px;width:auto}.tbl td.ck::before{content:none}
 .tbl td.nm{display:block}.tbl td.nm::before{content:none}.acts{justify-content:flex-start}
 .ptp-head{grid-template-columns:1fr}.kpis.k5{grid-template-columns:repeat(2,1fr)}.kpis.k4{grid-template-columns:repeat(2,1fr)}
 .form{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}.bulk{flex-wrap:wrap}
}
#fuTbl td.mono{white-space:nowrap}#fuTbl .acts .btn{white-space:nowrap}#fuTbl td.nm small{white-space:nowrap}
#fuTbl td,#fuTbl th{padding:8px 8px}
.btn.danger{background:#fff}.btn.danger:hover{background:var(--badb)}
#fuTbl .acts{gap:4px}#fuTbl .acts .btn{padding:4px 8px;font-size:12px;border-radius:8px}#fuTbl td:nth-child(9){max-width:150px}#fuTbl td:nth-child(9) small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#fuTbl td:nth-child(7) .badge{font-size:11px;padding:2px 7px}
@media (max-width:1366px){#fuTbl td,#fuTbl th{padding:8px 6px}#fuTbl .acts .btn[data-a=prev] .lbl{display:none}}
#payPrev td.mono,#payTbl td.mono{white-space:nowrap}

/* WhatsApp */
.btn.wa{background:#dcfce7;border-color:#86efac;color:#15803d}.btn.wa.solid{background:#25d366;border-color:#25d366;color:#fff}
.wa-phone{background:#efeae2;border-radius:14px;padding:14px;max-height:62vh;overflow:auto}.wa-bub{background:#fff;border-radius:10px;padding:6px;max-width:400px;box-shadow:0 1px 1px rgba(0,0,0,.1)}
.wa-bub img{width:100%;border-radius:8px;display:block}.wa-bub .t{white-space:pre-wrap;font-size:14px;line-height:1.45;padding:6px 6px 2px;font-family:system-ui,'Noto Sans Telugu',sans-serif;word-break:break-word}
.wa-bub .t b{background:#fef9c3;font-weight:600;border-radius:3px}.wa-bub .tm{text-align:right;font-size:11px;color:#8696a0;padding:0 6px 4px}
.wa-btns{max-width:400px}.wa-btns div{background:#fff;border-radius:10px;margin-top:4px;text-align:center;color:#027eb5;font-size:14px;padding:9px;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.wa-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.wa-vals td{padding:4px 8px;border-bottom:1px solid #f1f5f9;font-size:13px;vertical-align:top}.wa-vals td:first-child{color:#64748b;white-space:nowrap}
.b-wa{background:#dcfce7;color:#15803d}
@media (max-width:900px){.wa-grid{grid-template-columns:1fr}}

/* ===== Layout: top bar + collapsible / resizable left sidebar ===== */
:root{--sidew:208px;--sidec:62px;--toph:57px;--btn:#fff;--hov:#f8fafc;--soft:#f8fafc}
.icbtn{border:1px solid var(--line);background:var(--btn);color:var(--ink);border-radius:10px;width:34px;height:34px;display:inline-grid;place-items:center;cursor:pointer;flex:none;padding:0}
.icbtn:hover{background:var(--hov)}.icbtn svg{width:18px;height:18px}
.menu-btn{display:none}
#themeBtn .ic-moon{display:none}[data-theme=dark] #themeBtn .ic-moon{display:block}[data-theme=dark] #themeBtn .ic-sun{display:none}
#themeBtn span{display:grid;place-items:center}
.shell{display:flex;align-items:flex-start;min-height:calc(100vh - var(--toph))}
.content{flex:1;min-width:0}
.side{position:sticky;top:var(--toph);height:calc(100vh - var(--toph));width:var(--sidew);flex:none;background:var(--card);border-right:1px solid var(--line);padding:8px 8px 16px;display:flex;flex-direction:column;gap:2px;overflow:hidden auto;z-index:15}
body:not(.resizing) .side{transition:width .16s ease}
body.resizing{cursor:col-resize;user-select:none}
.side button[data-v],.side button[data-go]{display:flex;align-items:center;gap:11px;border:0;background:none;padding:9px 11px;border-radius:10px;color:var(--mut);font-weight:600;cursor:pointer;font-size:14px;text-align:left;white-space:nowrap;position:relative;width:100%;font-family:inherit}
.side button[data-v]:hover,.side button[data-go]:hover{color:var(--ink);background:var(--hov)}
.side button.on{background:var(--prib);color:var(--pri)}
.side button svg{width:19px;height:19px;flex:none}
.side .lbl{flex:1;overflow:hidden;text-overflow:ellipsis}
.side-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--mut);padding:14px 11px 5px;white-space:nowrap;overflow:hidden}
.side-tog{align-self:flex-end;border:1px solid var(--line);background:var(--btn);color:var(--mut);border-radius:8px;width:28px;height:28px;display:grid;place-items:center;cursor:pointer;padding:0;margin:2px 2px 0}
.side-tog:hover{color:var(--ink);background:var(--hov)}.side-tog svg{width:16px;height:16px;transition:transform .16s}
.side-rz{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;z-index:3}
.side-rz:hover,.side-rz.drag{background:linear-gradient(90deg,transparent 2px,var(--pri) 2px,var(--pri) 4px,transparent 4px)}
html.side-c .side{width:var(--sidec)}
html.side-c .side .lbl{display:none}
html.side-c .side-h{font-size:0;padding:0;margin:10px 8px;border-top:1px solid var(--line)}
html.side-c .side-tog{align-self:center}html.side-c .side-tog svg{transform:rotate(180deg)}
html.side-c .side button[data-v],html.side-c .side button[data-go]{justify-content:center;padding:10px 0}
html.side-c .side .pill{position:absolute;top:2px;right:6px;min-width:16px;line-height:16px;font-size:11px;padding:0 4px}
.side-ov{position:fixed;inset:0;z-index:44;background:rgba(15,23,42,.45)}
.flash{animation:flash 1.6s ease}
@keyframes flash{0%,60%{box-shadow:0 0 0 3px var(--pri)}100%{box-shadow:var(--sh)}}
.banner.live{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
@media (max-width:760px){
 .menu-btn{display:inline-grid}
 .brand small{display:none}.brand b{font-size:14px}
 .side{position:fixed;left:0;top:0;height:100vh;height:100dvh;width:min(280px,84vw)!important;z-index:45;transform:translateX(-105%);transition:transform .2s ease!important;box-shadow:10px 0 30px rgba(0,0,0,.2);padding-top:14px}
 body.side-open .side{transform:none}
 html.side-c .side .lbl{display:inline}html.side-c .side-h{font-size:11px;padding:14px 11px 5px;margin:0;border:0}
 html.side-c .side button[data-v],html.side-c .side button[data-go]{justify-content:flex-start;padding:9px 11px}
 html.side-c .side .pill{position:static;min-width:18px;line-height:18px;font-size:11px;padding:0 6px}
 .side-rz,.side-tog{display:none}
}
@media (min-width:761px){.side-ov{display:none!important}}

/* ===== Dark theme ===== */
[data-theme=dark]{color-scheme:dark;--bg:#0b1120;--card:#121a2b;--ink:#e6e9f0;--mut:#9aa7bb;--line:#26324a;--prib:rgba(227,35,42,.18);--prit:#8f2a2e;
 --ok:#34d399;--okb:rgba(52,211,153,.14);--warn:#fbbf24;--warnb:rgba(251,191,36,.12);--bad:#f87171;--badb:rgba(248,113,113,.15);--info:#38bdf8;--infob:rgba(56,189,248,.14);
 --vio:#c4b5fd;--viob:rgba(167,139,250,.16);--gray:#cbd5e1;--grayb:#1e293b;--sh:0 1px 2px rgba(0,0,0,.35),0 4px 16px rgba(0,0,0,.25);--btn:#17213a;--hov:#1d2944;--soft:#0f1729}
[data-theme=dark] a:not(.btn){color:#ff6b70}
[data-theme=dark] nav button.on,[data-theme=dark] .seg button.on,[data-theme=dark] .side button.on{color:#ff6b70}
[data-theme=dark] .top{background:rgba(13,19,33,.92)}
[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#0e1626}
[data-theme=dark] .btn{background:var(--btn)}[data-theme=dark] .btn:hover{background:var(--hov)}
[data-theme=dark] .btn.ghost{background:none}[data-theme=dark] .btn.ghost:hover{background:var(--hov)}
[data-theme=dark] .btn.primary{background:var(--pri);border-color:var(--pri);color:#fff}[data-theme=dark] .btn.primary:hover{background:var(--pri2)}
[data-theme=dark] .btn.danger{background:var(--btn);border-color:#7f1d1d}[data-theme=dark] .btn.danger:hover{background:var(--badb)}
[data-theme=dark] .btn.call{background:var(--okb);border-color:#065f46}
[data-theme=dark] .btn.paid{background:rgba(251,146,60,.14);border-color:#9a3412;color:#fdba74}
[data-theme=dark] .btn.wa{background:rgba(34,197,94,.14);border-color:#166534;color:#4ade80}[data-theme=dark] .btn.wa.solid{background:#1faa52;border-color:#1faa52;color:#fff}
[data-theme=dark] .bulk{background:#1e293b;border:1px solid var(--line)}
[data-theme=dark] .tbl th{background:#0f1729}
[data-theme=dark] .tbl tbody tr:hover{background:#18223a}[data-theme=dark] .tbl tr.sel{background:var(--prib)}
[data-theme=dark] .drawer,[data-theme=dark] .modal{background:rgba(0,0,0,.6)}
[data-theme=dark] .drawer-in,[data-theme=dark] .modal-in,[data-theme=dark] .esc-card,[data-theme=dark] .seg{background:var(--card)}
[data-theme=dark] .drawer-in{box-shadow:-10px 0 30px rgba(0,0,0,.5)}
[data-theme=dark] .box{background:var(--soft)}
[data-theme=dark] .esc-box{background:var(--warnb);border-color:#78350f;color:#fde68a}
[data-theme=dark] .banner{border-color:#78350f}
[data-theme=dark] .banner.live{background:rgba(248,113,113,.14);color:#fca5a5;border-color:#7f1d1d}
[data-theme=dark] pre.json{background:#060b16;border:1px solid var(--line)}
[data-theme=dark] .drop{background:var(--soft);color:#ff6b70}
[data-theme=dark] .rowerr td{background:rgba(248,113,113,.08)}[data-theme=dark] .rowwarn td{background:rgba(251,191,36,.07)}
[data-theme=dark] .b-pri{background:rgba(129,140,248,.16);color:#a5b4fc}
[data-theme=dark] .kpi.k-pri b{color:#93c5fd}
[data-theme=dark] .b-wa{background:rgba(34,197,94,.15);color:#4ade80}
[data-theme=dark] .switch span{background:#334155}
[data-theme=dark] .toast{background:#1e293b;border:1px solid var(--line)}[data-theme=dark] .toast.bad{background:#b91c1c}[data-theme=dark] .toast.ok{background:#047857}
[data-theme=dark] .form h5{color:#ff6b70}
[data-theme=dark] .tx .a{color:#ff6b70}
[data-theme=dark] .wa-phone{background:#0b141a}
[data-theme=dark] .wa-bub{background:#1f2c34;color:#e9edef}[data-theme=dark] .wa-bub .t b{background:rgba(250,204,21,.22);color:#fef08a}
[data-theme=dark] .wa-btns div{background:#1f2c34;color:#53bdeb}
[data-theme=dark] .wa-vals td{border-bottom-color:var(--line)}[data-theme=dark] .wa-vals td:first-child{color:var(--mut)}
[data-theme=dark] .logo{background:#fff;border-radius:8px;padding:2px 4px;box-sizing:content-box}
[data-theme=dark] .login-body{background:radial-gradient(1200px 600px at 10% -10%,rgba(227,35,42,.22),transparent),radial-gradient(900px 500px at 110% 110%,rgba(14,165,233,.14),transparent),var(--bg)}
[data-theme=dark] .login-card{background:var(--card);box-shadow:0 20px 60px rgba(0,0,0,.45)}
[data-theme=dark] .login-logo{background:#fff;border-radius:14px;padding:8px 12px;box-sizing:border-box}
.login-theme{position:fixed;top:14px;right:14px}

/* ===== Main customers table: compact, single-line ===== */
.main-tbl{max-height:calc(100vh - var(--toph) - 20px);overflow:auto;overscroll-behavior:contain}
#tbl{font-size:13px}
#tbl th{z-index:2;padding:9px 10px;font-size:11px}
#tbl td{padding:6px 7px;white-space:nowrap;height:42px}#tbl th{padding:9px 7px}#tbl td:nth-child(2),#tbl th:nth-child(2){padding-left:4px}
#tbl td.ck,#tbl th.ck{width:36px;padding-right:2px}
#tbl .nmc{display:flex;align-items:baseline;gap:7px;max-width:208px;min-width:0}
#tbl .nm b{display:inline;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 0 auto;max-width:135px}
#tbl .cx{color:var(--mut);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0;font-variant-numeric:tabular-nums}
.ell{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.esc-t{color:var(--bad);font-weight:600}
.has-tip{cursor:help;border-bottom:1px dotted var(--mut)}
#tbl .badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;line-height:16px;padding:2px 8px;font-weight:700;vertical-align:middle}
.escdot{width:7px;height:7px;border-radius:50%;background:#e3232a;display:inline-block;flex:none;box-shadow:0 0 0 2px rgba(227,35,42,.22)}
#tbl .acts{gap:4px;flex-wrap:nowrap}
#tbl .acts .btn.xs{padding:3px 7px;font-size:12px;line-height:18px}
#tbl th.act{position:sticky;right:0;z-index:3}
#tbl td.act{position:sticky;right:0;z-index:1;background:var(--card);box-shadow:-10px 0 10px -10px rgba(15,23,42,.25)}
#tbl tbody tr:hover td.act{background:linear-gradient(#fffafa,#fffafa),var(--card)}
#tbl tr.sel td.act{background:linear-gradient(var(--prib),var(--prib)),var(--card)}
[data-theme=dark] #tbl tbody tr:hover td.act{background:#18223a}
[data-theme=dark] #tbl td.act{box-shadow:-10px 0 10px -10px rgba(0,0,0,.7)}
/* column picker */
.colwrap{position:relative}
.colpick{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:min(440px,92vw);padding:12px;box-shadow:0 14px 40px rgba(15,23,42,.2)}
[data-theme=dark] .colpick{box-shadow:0 14px 40px rgba(0,0,0,.6)}
.cp-h{display:flex;align-items:center;gap:4px;margin-bottom:8px;padding:0 4px}
.cp-list{display:grid;grid-template-columns:1fr 1fr;gap:1px 10px;max-height:60vh;overflow:auto}
.cp-list label{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500}
.cp-list label:hover{background:var(--hov)}
@media (max-width:760px){
 .main-tbl{max-height:none;overflow:visible}
 #tbl td{height:auto;padding:3px 10px}#tbl .nmc{max-width:calc(100% - 40px)}
 #tbl td.act{position:static;box-shadow:none;background:none}
 #tbl tbody tr:hover td.act,#tbl tr.sel td.act{background:none}
 .colpick{position:fixed;left:12px;right:12px;top:calc(var(--toph) + 10px);width:auto}
}
#v-dash .toolbar select{max-width:150px}#v-dash .toolbar .search{min-width:200px;max-width:300px}
@media (max-width:760px){#v-dash .toolbar select{max-width:none}#v-dash .toolbar .search{min-width:100%}}
#tbl td .badge.b-vio{font-size:11px;padding:0 5px;line-height:15px;margin-left:2px}
.th-tag{font-size:11px;letter-spacing:.04em;background:var(--grayb);color:var(--gray);border-radius:99px;padding:1px 6px;margin-left:4px;vertical-align:1px}
.cp-mask{display:flex;align-items:center;gap:10px;padding:6px 8px 12px;margin-bottom:8px;border-bottom:1px solid var(--line);cursor:pointer;font-size:13px}
@media (max-width:760px){#tbl td.nil{display:none}}

/* ===== Customer Log ===== */
.loanlink{color:inherit;text-decoration:none;border-bottom:1px dashed var(--prit);cursor:pointer}
.loanlink:hover{color:var(--pri);border-bottom-color:var(--pri)}
a.btn.loanlink{border-bottom:1px solid var(--line)}
.log-head{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.log-search{position:relative;max-width:640px}
.log-search>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--mut);pointer-events:none}
.log-search input{width:100%;padding:11px 44px 11px 40px;font-size:16px;border-radius:12px}
.log-search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
.log-clr{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:99px;background:var(--soft);color:var(--mut);font-size:13px;line-height:28px;padding:0;cursor:pointer}
.log-clr:hover,.log-clr:focus-visible{background:var(--line);color:var(--ink)}
.log-close{margin-left:2px}
.rchip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:99px;background:var(--btn);overflow:hidden}
.rchip .chipbtn{border:0;border-radius:0;padding-right:6px;background:transparent}
.rchip-x{border:0;background:transparent;color:var(--mut);font-size:11px;padding:4px 9px 4px 4px;cursor:pointer;line-height:1}
.rchip-x:hover,.rchip-x:focus-visible{color:var(--bad)}
.log-res{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:25;max-height:60vh;overflow:auto;padding:6px;box-shadow:0 14px 40px rgba(15,23,42,.18)}
[data-theme=dark] .log-res{box-shadow:0 14px 40px rgba(0,0,0,.6)}
.lr{display:grid;grid-template-columns:auto 1fr auto auto;gap:4px 12px;align-items:center;width:100%;text-align:left;border:0;background:none;padding:9px 10px;border-radius:10px;cursor:pointer;color:var(--ink);font:inherit;font-size:13px}
.lr:hover,.lr.act{background:var(--hov)}.lr b{font-size:14px}
.log-recent{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chipbtn{border:1px solid var(--line);background:var(--btn);color:var(--ink);border-radius:99px;padding:4px 11px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.chipbtn:hover{background:var(--hov)}.chipbtn.on{background:var(--prib);border-color:var(--prit);color:var(--pri)}
[data-theme=dark] .chipbtn.on{color:#ff6b70}
.chipbtn i{font-style:normal;font-size:11px;color:var(--mut);margin-left:3px}
.chipset{display:flex;flex-wrap:wrap;gap:6px}
.log-empty{line-height:1.6}
.log-sum{padding:18px 20px;margin-bottom:12px}
.ls-top{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.ls-id{flex:1;min-width:240px}.ls-id small{color:var(--mut);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.ls-id h2{font-size:20px;margin:2px 0 4px;letter-spacing:.01em}
.ls-meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:6px;font-size:13px}.ls-meta b{color:var(--mut);font-weight:600}
.ls-act{display:flex;gap:8px;flex-wrap:wrap}
.ls-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:14px}
.ls-k{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--soft);min-width:0}
.ls-k small{display:block;color:var(--mut);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.ls-k b{display:block;font-size:20px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ls-k i{display:block;font-style:normal;font-size:12px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ls-k.k-pri b{color:#1e3a8a}.ls-k.k-ok b{color:var(--ok)}.ls-k.k-bad b{color:var(--bad)}
[data-theme=dark] .ls-k.k-pri b{color:#93c5fd}
.ls-rows{margin-top:12px}.ls-rows summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--mut);padding:4px 0}
.ls-rlist{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.ls-r{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:7px 10px;font:inherit;font-size:13px;color:var(--ink);cursor:pointer;text-align:left}
.ls-r:hover{background:var(--hov)}.ls-r.on{border-color:var(--pri);box-shadow:0 0 0 2px var(--prib)}
.ls-r b{min-width:130px}.ls-r .badge{font-size:11px;padding:2px 7px}
.rdot{width:9px;height:9px;border-radius:50%;flex:none;display:inline-block;background:hsl(var(--h,0) 65% 50%)}
.log-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:4px 0 12px;position:sticky;top:var(--toph);z-index:6;background:var(--bg);padding:8px 0}
.tl{position:relative;padding-left:4px}
.tl-day{position:relative;margin:16px 0 8px 46px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--mut)}
.tl-day:first-child{margin-top:0}
.tl-item{display:flex;gap:12px;position:relative;padding-bottom:10px}
.tl-item::before{content:"";position:absolute;left:17px;top:36px;bottom:0;width:2px;background:var(--line)}
.tl-ic{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--grayb);color:var(--gray);border:2px solid var(--card);box-shadow:0 0 0 1px var(--line);z-index:1}
.tl-ic svg{width:17px;height:17px}
.k-call .tl-ic{background:var(--okb);color:var(--ok)}.k-wa .tl-ic{background:rgba(37,211,102,.14);color:#16a34a}
.k-payment .tl-ic{background:rgba(251,146,60,.15);color:#ea580c}.k-followup .tl-ic{background:var(--infob);color:var(--info)}
.k-escalation .tl-ic{background:var(--badb);color:var(--bad)}.k-record .tl-ic{background:var(--viob);color:var(--vio)}
.tl-card{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px 14px;box-shadow:var(--sh)}
.tl-h{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tl-h b{font-size:14px;margin-right:4px}
.tl-h .badge{font-size:11px;padding:2px 8px}
.tl-time{font-size:13px;font-weight:700;color:var(--mut);white-space:nowrap;font-variant-numeric:tabular-nums}
.tl-who{display:inline-flex;align-items:center;gap:6px;font-size:13px;margin-top:3px;color:var(--ink)}
.tl-f{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 16px;margin:8px 0 0}
.tl-f div{min-width:0}.tl-f dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);font-weight:700}
.tl-f dd{margin:0;font-size:13px;word-break:break-word}
.tl-sum{margin:8px 0 0;font-size:13px;color:var(--ink);background:var(--soft);border-radius:10px;padding:8px 10px;border:1px solid var(--line)}
.tl-tr{margin-top:8px}.tl-tr summary{cursor:pointer;font-weight:700;font-size:13px;color:var(--pri);padding:3px 0;user-select:none}
[data-theme=dark] .tl-tr summary{color:#ff6b70}
.tl-tr .seg.sm{display:inline-flex;margin:6px 0}.tl-tr .seg.sm button{padding:3px 10px;font-size:12px}
.chat{display:flex;flex-direction:column;gap:6px;margin-top:6px;padding:10px;border-radius:12px;background:var(--soft);border:1px solid var(--line);max-height:520px;overflow:auto}
.cb{max-width:78%;padding:7px 11px;border-radius:14px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word;font-family:system-ui,'Noto Sans Telugu',sans-serif}
.cb small{display:block;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.75;margin-bottom:1px}
.cb.agent{align-self:flex-start;background:var(--card);border:1px solid var(--line);border-bottom-left-radius:4px}
.cb.agent small{color:var(--pri)}
.cb.customer{align-self:flex-end;background:#dcfce7;color:#14532d;border-bottom-right-radius:4px}
.cb.note{align-self:center;background:none;color:var(--mut);font-size:12px}
[data-theme=dark] .cb.customer{background:#14532d;color:#dcfce7}[data-theme=dark] .cb.agent small{color:#ff6b70}
.tl-rec{margin-top:8px}
.tl-wa{margin-top:8px;background:#efeae2;border-radius:12px;padding:10px}
.tl-wa-b{background:#fff;border-radius:10px;padding:8px 10px;white-space:pre-wrap;font-size:14px;line-height:1.5;max-width:520px;box-shadow:0 1px 1px rgba(0,0,0,.1);font-family:system-ui,'Noto Sans Telugu',sans-serif;color:#111b21}
[data-theme=dark] .tl-wa{background:#0b141a}[data-theme=dark] .tl-wa-b{background:#1f2c34;color:#e9edef}
.tl-ticks{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:12px;color:var(--mut)}
.tl-ticks b{color:var(--ink);font-weight:600}.tl-ticks .read{color:#0284c7}.tl-ticks .read b{color:#0284c7}.tl-ticks .fail,.tl-ticks .fail b{color:var(--bad)}
[data-theme=dark] .tl-ticks .read,[data-theme=dark] .tl-ticks .read b{color:#53bdeb}
.tl-visits{margin-top:4px;font-size:12px;color:var(--info)}
.print-only{display:none}
@media (max-width:1200px){.ls-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:760px){
 .log-sum{padding:14px}.ls-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ls-id h2{font-size:20px}
 .ls-r b{min-width:0}.tl-day{margin-left:0}.tl-item{gap:8px}.tl-ic{width:30px;height:30px}.tl-ic svg{width:15px;height:15px}.tl-item::before{left:14px;top:30px}
 .tl-card{padding:10px 11px}.tl-f{grid-template-columns:1fr 1fr}.cb{max-width:90%}
 .log-tools{top:var(--toph)}.lr{grid-template-columns:1fr auto}.lr .mono.muted{grid-column:1/-1}
}
@media print{
 :root,[data-theme=dark]{--bg:#fff;--card:#fff;--ink:#111;--mut:#555;--line:#d4d4d8;--soft:#f6f6f7;--hov:#fff;--btn:#fff;--sh:none;--okb:#ecfdf5;--ok:#047857;--badb:#fef2f2;--bad:#b91c1c;--warnb:#fffbeb;--warn:#92400e;--infob:#f0f9ff;--info:#0369a1;--viob:#f5f3ff;--vio:#6d28d9;--grayb:#f1f5f9;--gray:#334155;--prib:#fdeced;--pri:#e3232a}
 body{background:#fff!important;color:#111}
 .top,.side,.side-ov,#banner,#toasts,.no-print,.log-head,#drawer,.modal{display:none!important}
 .shell{display:block}.content main{padding:0;max-width:none}
 .print-only{display:block}.print-h{font-size:12px;color:#555;margin:0 0 8px}
 .tl-card,.log-sum,.ls-k{box-shadow:none!important;break-inside:avoid}
 .tl-item{break-inside:avoid}.chat{max-height:none;overflow:visible}
 .cb.customer{background:#ecfdf5!important;color:#111!important}.tl-wa{background:#f4f4f5!important}.tl-wa-b{background:#fff!important;color:#111!important}
 .ls-kpis{grid-template-columns:repeat(4,1fr)}
 a.loanlink{border:0}
}
@media (max-width:760px){.log-tools{position:static;padding:4px 0}.log-tools .chipset{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px;scrollbar-width:none}.log-tools .chipset::-webkit-scrollbar{display:none}}

/* Manual Calling */
.mc-h{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.mc-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mc-form label{display:flex;flex-direction:column;gap:3px;font-size:13px}
.mc-form .full{grid-column:1/-1}.mc-disp{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}.mc-disp label{flex-direction:row;align-items:center}

/* RBAC */
.perm-tbl td,.perm-tbl th{padding:3px 6px;text-align:center;font-size:12px}.perm-tbl td:first-child{text-align:left;white-space:nowrap}
body.np-ai-call #tbl [data-a=call],body.np-ptp-call #fuTbl [data-a=call],body.np-ptp-edit #fuTbl [data-a=cancel],body.np-ptp-edit #fuTbl [data-a=edit],
body.np-ptp-edit #fuTbl [data-a=paid],body.np-ptp-edit #fuTbl [data-a=reopen],body.np-wa-send-whatsapp [data-a=wa],body.np-wa-send-whatsapp [data-a=wcancel],
body.np-dash-edit #tbl [data-a=edit],body.np-pay-edit [data-a=undo],body.np-manual-call #mcTbl [data-mc]{display:none!important}
#meChip{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


/* Manual Calling (compact) */
.mc-top{gap:10px;flex-wrap:wrap}.mc-lbl{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--mut)}.mc-lbl select{max-width:240px}
.mc-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.mc-grid.has-side{grid-template-columns:minmax(0,1fr) 340px}
.mc-side{display:flex;flex-direction:column;gap:12px;position:sticky;top:calc(var(--toph) + 10px);min-width:0}.mc-side:not(:has(> :not([hidden]))){display:none}
.mc-list{padding:0;overflow:hidden}.mc-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--line)}
.mc-filters input[type=search]{min-width:220px;flex:0 1 300px}.mc-list .tbl-wrap{border:0;border-radius:0;box-shadow:none}
.mc-tbl td,.mc-tbl th{vertical-align:middle}.mc-tbl .r{text-align:right}.mc-tbl td.r .btn{margin-left:4px}.mc-locked{opacity:.6}.nowrap{white-space:nowrap}
.mc-cur{padding:12px 14px;border:1px solid var(--pri);box-shadow:var(--sh);display:flex;flex-direction:column;gap:8px}
.mc-ch{display:flex;flex-direction:column;gap:2px}.mc-ch b{font-size:16px}.mc-seg{flex-wrap:wrap}.mc-seg button{font-size:12px;padding:5px 9px}
.mc-r2{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}.mc-r2 label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--mut)}
.mc-r2 input{width:100%;min-width:0}.mc-paid .mc-chk{flex-direction:row;align-items:center;gap:6px;color:var(--ink);font-size:13px;padding-bottom:6px}
.mc-in{width:100%;box-sizing:border-box;font:inherit;font-size:13px}textarea.mc-in{resize:vertical;min-height:44px}
.mc-act{display:flex;justify-content:flex-end;gap:8px}
.mc-dial{padding:10px}.vonage-dialer-container{position:relative;height:440px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.vonage-dialer-container iframe.vgip-dialer,.vonage-dialer-container iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0;box-shadow:none;border-radius:0}
@media(max-width:1000px){.mc-grid.has-side{grid-template-columns:1fr}.mc-side{position:static}}
.mc-list{overflow:visible}.mc-list .tbl-wrap{overflow-x:auto}
.mc-r2 input[type=checkbox]{width:auto;margin:0}.mc-seg{flex-wrap:nowrap}.mc-seg button{flex:1;white-space:nowrap;padding:5px 4px;font-size:12px}
.mc-tbl td.r{white-space:nowrap}
/* Manual call popup */
.mc-ov{position:fixed;inset:0;z-index:900;background:rgba(15,23,42,.55);display:flex;align-items:flex-start;justify-content:center;padding:6vh 12px;overflow:auto}
.mc-ov[hidden]{display:none}
.mc-dlg{width:min(560px,100%);max-height:88vh;overflow:auto;padding:16px 18px;display:flex;flex-direction:column;gap:10px;box-shadow:0 20px 50px rgba(0,0,0,.35);border:1px solid var(--line)}
.mc-cht{display:flex;justify-content:space-between;align-items:center;gap:8px}.mc-cht b{font-size:16px}.mc-minbtn{font-size:20px;line-height:1;padding:2px 10px}
.mc-pills{display:flex;gap:8px;flex-wrap:wrap}
.mc-pill{--c:#475569;--f:#475569;border:1.5px solid var(--c);color:var(--c);background:transparent;border-radius:99px;padding:6px 14px;font-weight:700;font-size:13px;cursor:pointer}
.mc-pill:hover{background:color-mix(in srgb,var(--f) 12%,transparent)}.mc-pill.on{background:var(--f);border-color:var(--f);color:#fff}
.mc-pill.d-ok{--c:#047857;--f:#059669}.mc-pill.d-warn{--c:#b45309;--f:#d97706}.mc-pill.d-gray{--c:#475569;--f:#64748b}.mc-pill.d-bad{--c:#b91c1c;--f:#dc2626}
[data-theme=dark] .mc-pill.d-ok{--c:#34d399}[data-theme=dark] .mc-pill.d-warn{--c:#fbbf24}[data-theme=dark] .mc-pill.d-gray{--c:#cbd5e1}[data-theme=dark] .mc-pill.d-bad{--c:#f87171}
#mcConn{display:flex;flex-direction:column;gap:10px}#mcConn[hidden]{display:none}
.mc-r3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.mc-r3 label,.mc-lab{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--mut);font-weight:600}
.mc-r2 label{font-weight:600}.mc-r3 input,.mc-r3 select,.mc-r2 select{width:100%;min-width:0}
.mc-dlg input:not([type=checkbox]),.mc-dlg select,.mc-dlg textarea{border:1px solid #94a3b8;border-radius:8px;padding:7px 9px;font-size:13px;background:var(--card);color:var(--ink)}
.mc-dlg input:focus,.mc-dlg select:focus,.mc-dlg textarea:focus{outline:2px solid var(--pri);outline-offset:0;border-color:var(--pri)}
[data-theme=dark] .mc-dlg input:not([type=checkbox]),[data-theme=dark] .mc-dlg select,[data-theme=dark] .mc-dlg textarea{border-color:#475569;background:#0e1626}
.mc-act{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mc-act .grow{flex:1}.mc-dlg .btn.primary{padding:8px 18px;font-size:14px}
.mc-chip{position:fixed;right:18px;bottom:18px;z-index:901;background:var(--pri);color:#fff;border:0;border-radius:99px;padding:10px 16px;font-size:13px;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.mc-chip[hidden]{display:none}
@media(max-width:560px){.mc-r3{grid-template-columns:1fr 1fr}}
/* keep the Vonage dialer clickable (and undimmed) above the result-popup backdrop */
.mc-side{z-index:950}.mc-chip{z-index:960}
.mc-iqhint{max-width:230px;line-height:1.25}
/* Data Upload */
.up-sec{margin-bottom:14px;padding:14px}.up-h h3{margin:0}.up-h p{margin:2px 0 8px}
.up-drop{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px;border:2px dashed var(--line);border-radius:12px;margin-bottom:8px}.up-drop.over{border-color:var(--pri);background:var(--prib)}
.up-dem{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.up-res{display:flex;flex-direction:column;gap:3px;margin:6px 0;font-size:13px}
.up-tbl td{vertical-align:top}.up-tbl .r{text-align:right}.up-hd{max-width:420px}.up-col{display:inline-block;font-size:11px;background:var(--grayb);color:var(--gray);border-radius:6px;padding:1px 6px;margin:0 3px 3px 0}
.up-prev{max-height:340px;overflow:auto;margin-bottom:12px}.up-prev td,.up-prev th{white-space:nowrap;font-size:12px}.modal-in.wide{max-width:min(1100px,96vw);width:min(1100px,96vw)}
.bru{display:inline-block;padding:0 6px;border-radius:99px;font-size:11px;line-height:17px;border:1px solid currentColor;white-space:nowrap}.bru.ok{color:#15803d}.bru.warn{color:#b45309}
/* ---- Collection Brain ---- */
#v-brain .br-head{margin-bottom:10px}#v-brain .br-kpis{margin-bottom:12px}#v-brain .br-kpis .kpi{cursor:default;padding:12px 14px}#v-brain .br-kpis .kpi b{font-size:20px}
.br-card{padding:12px 14px;margin-bottom:12px}.br-card-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px}.br-card-h h3{margin:0;font-size:16px}
.br-mx-t th,.br-mx-t td{padding:6px 10px}.br-mx-t th{position:static}.br-mx-t .c{text-align:center}.br-mx-t tbody tr{cursor:default}.br-mx-t a{text-decoration:none;font-weight:600}
.br-mx-t tr.br-tot td{border-bottom:0;border-top:2px solid var(--line);font-weight:700}
.br-bar{display:flex;flex-wrap:nowrap;gap:8px;align-items:center;padding:10px 12px;margin-bottom:8px;overflow-x:auto}.br-bar select{max-width:190px}.br-bar input{min-width:220px;flex:0 1 300px}
.br-bulk{display:flex;gap:8px;align-items:center;margin:0 2px 8px}
.br-tw{max-height:calc(100vh - 220px)}.br-tbl td{padding:8px 12px}.br-tbl td small{font-size:12px}.br-sub{display:block;color:var(--mut);font-size:12px;margin-top:1px;max-width:360px}
.brch{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:99px;white-space:nowrap;border:1px solid transparent}
.brch-wa{background:#dcfce7;color:#15803d}.brch-ai{background:var(--viob);color:var(--vio)}.brch-tc{background:var(--infob);color:var(--info)}.brch-fd{background:#ffedd5;color:#c2410c}
.brch-st{background:var(--grayb);color:var(--gray)}.brch-wt{background:transparent;color:var(--mut);border-color:var(--line)}.brch-dc{background:var(--badb);color:var(--bad)}
.brg{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;font-weight:800;font-size:13px;cursor:help}
.brg-A{background:var(--okb);color:var(--ok)}.brg-B{background:#ecfeff;color:#0e7490}.brg-C{background:var(--warnb);color:var(--warn)}.brg-D{background:var(--badb);color:var(--bad)}.brg-N{background:#eef2ff;color:#4338ca}.brg-X{background:var(--grayb);color:var(--gray)}
.brb{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:6px;white-space:nowrap}.brb-1{background:var(--grayb);color:var(--gray)}.brb-2{background:var(--warnb);color:var(--warn)}.brb-3{background:var(--badb);color:var(--bad)}
.br-drawer h4{margin:18px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut)}.br-drawer h2{margin-top:4px}.br-x{position:absolute;top:16px;right:18px}
.br-dh{display:flex;gap:8px;align-items:center;margin:6px 0 4px}.br-kv{display:grid;grid-template-columns:150px 1fr;gap:5px 12px;margin:0}.br-kv dt{color:var(--mut)}.br-kv dd{margin:0}
[data-theme=dark] .brch-wa{background:rgba(34,197,94,.14);color:#4ade80}[data-theme=dark] .brch-fd{background:rgba(251,146,60,.14);color:#fdba74}
[data-theme=dark] .brg-B{background:rgba(6,182,212,.14);color:#67e8f9}[data-theme=dark] .brg-N{background:rgba(99,102,241,.18);color:#a5b4fc}
@media (max-width:1100px){.br-bar{flex-wrap:wrap}}
/* ---- Header v2: icon nav, status dots, avatar menu ---- */
.top{flex-wrap:nowrap;gap:14px;padding:8px 18px;min-height:56px}
.brand{flex:none;min-width:0}.brand-t{line-height:1.2;white-space:nowrap}.brand-t b{font-size:14px}.brand-t small{font-size:12px}
#tabs{display:flex;flex-wrap:nowrap;gap:2px;margin-left:6px;min-width:0;width:auto;order:0;overflow:visible}
#tabs button{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:10px;font-size:14px;white-space:nowrap;position:relative;color:var(--mut)}
#tabs button:hover{color:var(--ink);background:var(--grayb)}#tabs button.on{background:var(--prib);color:var(--pri)}
.nic{position:relative;display:inline-grid;place-items:center;width:18px;height:18px;flex:none}.nic svg{width:18px;height:18px}
.nbadge{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--bad);color:#fff;font-size:11px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--card)}
.nbadge:empty{display:none}
/* Collection Brain in top nav: subtle gold accent */
#tabs button.nav-brain{color:var(--gold-ink)}
#tabs button.nav-brain .nic{color:var(--gold)}
#tabs button.nav-brain:hover{color:var(--gold-ink);background:var(--goldb)}
#tabs button.nav-brain.on{background:var(--goldb);color:var(--gold-ink);box-shadow:inset 0 -2px 0 var(--gold)}
#tabs button.nav-brain.on .nic{color:var(--gold)}
html[data-theme=dark] #tabs button.nav-brain{color:var(--gold-ink)}
html[data-theme=dark] #tabs button.nav-brain .nic{color:var(--gold)}
html[data-theme=dark] #tabs button.nav-brain:hover{background:var(--goldb);color:var(--gold-ink)}
html[data-theme=dark] #tabs button.nav-brain.on{background:var(--goldb);color:var(--gold-ink);box-shadow:inset 0 -2px 0 var(--gold)}
.side button.nav-brain .lbl{color:inherit}
.side button.nav-brain svg{color:var(--gold)}

.top-r{display:flex;gap:6px;align-items:center;margin-left:auto;flex:none}
.st{position:relative;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--mut);cursor:default;outline:none}
.st:hover,.st:focus-visible{background:var(--grayb);color:var(--ink)}.st svg{width:18px;height:18px}
.st .dot{position:absolute;right:5px;bottom:6px;width:9px;height:9px;border-radius:50%;background:var(--gray);box-shadow:0 0 0 2px var(--card)}
.st-live .dot{background:#ef4444;animation:stpulse 2s ease-in-out infinite}.st-test .dot{background:#f59e0b}.st-open .dot{background:#10b981}.st-closed .dot{background:#94a3b8}
@keyframes stpulse{0%,100%{box-shadow:0 0 0 2px var(--card),0 0 0 2px rgba(239,68,68,.0)}50%{box-shadow:0 0 0 2px var(--card),0 0 0 5px rgba(239,68,68,.25)}}
.um{position:relative;margin-left:4px}
.avatar{width:34px;height:34px;border-radius:50%;border:0;background:var(--pri);color:#fff;font-weight:700;font-size:13px;letter-spacing:.02em;display:inline-grid;place-items:center;cursor:pointer;padding:0;flex:none}
.avatar:hover,.avatar.on{box-shadow:0 0 0 3px var(--prit)}.avatar.lg{width:40px;height:40px;font-size:16px;cursor:default}.avatar.lg:hover{box-shadow:none}
.um-menu{position:absolute;right:0;top:calc(100% + 8px);width:250px;padding:6px;z-index:60;box-shadow:0 10px 30px rgba(15,23,42,.18)}
.um-h{display:flex;gap:10px;align-items:center;padding:8px 8px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.um-h b{display:block;font-size:14px}.um-h small{display:block;font-size:12px;color:var(--mut)}
.um-i{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;background:none;border-radius:8px;color:var(--ink);font:inherit;font-size:14px;cursor:pointer;text-decoration:none}
.um-i:hover{background:var(--grayb)}.um-i svg{width:17px;height:17px;flex:none}.um-out,[data-theme=dark] a.um-out:not(.btn){color:var(--bad)}
#themeBtn.um-i .ic-sun,#themeBtn.um-i .ic-moon{display:inline-grid}#themeBtn.um-i .ic-moon{display:none}[data-theme=dark] #themeBtn.um-i .ic-moon{display:inline-grid}[data-theme=dark] #themeBtn.um-i .ic-sun{display:none}
/* tooltips (header only) */
.top [data-tip]{position:relative}
.top [data-tip]:not([data-tip=""]):hover::after,.top [data-tip]:not([data-tip=""]):focus-visible::after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);z-index:70;
  background:#0f172a;color:#f8fafc;font-size:12px;font-weight:500;line-height:1.35;padding:6px 9px;border-radius:7px;white-space:nowrap;pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.top .top-r [data-tip]:not([data-tip=""]):hover::after,.top .top-r [data-tip]:not([data-tip=""]):focus-visible::after{left:auto;right:0;transform:none}
.top .avatar.on::after{display:none!important}
[data-theme=dark] .top [data-tip]:hover::after{background:#e2e8f0;color:#0f172a}
[data-theme=dark] #tabs button:hover,[data-theme=dark] .st:hover,[data-theme=dark] .um-i:hover{background:#1b2640}[data-theme=dark] #tabs button.on{color:#ff6b70;background:var(--prib)}
[data-theme=dark] .um-menu{background:var(--card);box-shadow:0 10px 30px rgba(0,0,0,.5)}
/* narrower screens: icons only */
@media (max-width:1180px){#tabs .nl{display:none}#tabs button{padding:8px 10px}}
@media (max-width:900px){.brand-t{display:none}}
@media (max-width:760px){.top{flex-wrap:nowrap;padding:8px 10px;gap:6px}#tabs{order:0;width:auto;margin:0;overflow:visible}.top-r .st#winChip{display:inline-grid}.st{width:30px}}
@media (max-width:420px){.st#winChip{display:none!important}.logo{height:30px}}
.top .avatar:not(:hover)::after{display:none!important}
/* Brain history strip */
.hdots{display:inline-flex;gap:3px;align-items:center;vertical-align:middle}.hd{display:inline-block;width:9px;height:9px;border-radius:50%;cursor:help}
.hd-g{background:#10b981}.hd-a{background:#f59e0b}.hd-r{background:#ef4444}.hd-u{background:transparent;box-shadow:inset 0 0 0 1.5px #94a3b8}.hd-k{background:#94a3b8;opacity:.55}
.br-hist-l{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.br-hist-l .hd{width:12px;height:12px}
.br-mini{max-height:280px;border:1px solid var(--line);border-radius:10px}.br-mini .tbl th,.br-mini .tbl td{padding:6px 9px;font-size:13px}.br-mini .tbl tbody tr{cursor:default}
.hl{font-weight:600}.hl-g{color:var(--ok)}.hl-a{color:var(--warn)}.hl-r{color:var(--bad)}
.br-drawer{width:min(720px,100%)}
/* Knowledge */
.kn-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}
.kn-toc{position:sticky;top:calc(var(--toph,56px) + 12px);padding:12px;display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 120px);overflow:auto}
.kn-toc-h{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);padding:2px 8px 6px}
.kn-toc a{display:block;padding:6px 8px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:14px;line-height:1.35}.kn-toc a:hover{background:var(--grayb)}
[data-theme=dark] .kn-toc a:not(.btn){color:var(--ink)}[data-theme=dark] .kn-toc a:hover{background:#1b2640}
.kn-body{display:flex;flex-direction:column;gap:12px;min-width:0}.kn-sec{padding:0;overflow:hidden}
.kn-sec summary{cursor:pointer;list-style:none;padding:14px 18px;display:flex;align-items:center;gap:10px}.kn-sec summary::-webkit-details-marker{display:none}
.kn-sec summary::before{content:'▸';color:var(--mut);transition:transform .15s}.kn-sec[open] summary::before{transform:rotate(90deg)}
.kn-sec summary h3{margin:0;font-size:16px}.kn-c{padding:0 20px 16px;font-size:14px;line-height:1.7}.kn-c h4{margin:16px 0 6px;font-size:14px}
.kn-c p,.kn-c ul,.kn-c ol{margin:6px 0 10px}.kn-c li{margin:3px 0}.kn-c code{background:var(--grayb);padding:1px 5px;border-radius:5px;font-size:13px}
.kn-tw{margin:8px 0 12px;border:1px solid var(--line);border-radius:10px}.kn-t th{position:static;text-transform:none;font-size:13px;letter-spacing:0}.kn-t td{vertical-align:top;font-size:14px}.kn-t tbody tr{cursor:default}
.kn-note{border-left:3px solid var(--pri);background:var(--prib);padding:8px 12px;border-radius:8px;margin:10px 0}
@media (max-width:900px){.kn-grid{grid-template-columns:1fr}.kn-toc{position:static;max-height:none}}
/* ---------- Campaigns ---------- */
.cp-head{flex-wrap:wrap}.cp-safe{max-width:420px;text-align:right}
.cp-tbl tbody tr,#cpMonth tbody tr[data-cpm2]{cursor:pointer}.cp-tbl tbody tr:hover,#cpMonth tbody tr[data-cpm2]:hover{background:var(--grayb)}
.cp-bar{display:inline-block;width:80px;height:7px;border-radius:99px;background:var(--grayb);overflow:hidden;vertical-align:middle;margin-right:6px}.cp-bar.wide{width:100%}
.cp-bar i{display:block;height:100%;background:var(--ok);border-radius:99px}
.cp-form{display:flex;flex-direction:column;gap:12px}.cp-fh{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cp-fh h3{margin:0}
.cp-src{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.cp-srcbox .drop{margin:6px 0;padding:18px}.cp-srcbox .drop small{display:block;margin-top:4px}
.cp-grid{margin:8px 0}.cp-users{display:flex;flex-wrap:wrap;gap:4px 14px;max-height:150px;overflow:auto;padding:6px 0}
.cp-act{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cp-dh{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.cp-dh h2{margin:0;font-size:20px}
.cp-acts{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 12px}
.kpis.k6{grid-template-columns:repeat(6,minmax(0,1fr))}
.cp-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.cp-2 .card{margin:0}
#cpDetail>.card,#cpMonth>.card{margin-bottom:12px}#cpDetail h3,#cpMonth h3{margin:0 0 8px;font-size:16px}
.cp-oc{display:flex;flex-wrap:wrap;gap:8px}.cp-oc>div{min-width:92px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--grayb)}
.cp-oc b{display:block;font-size:20px}.cp-oc small{color:var(--mut);font-size:12px}.cp-oc .cp-oc-o{opacity:.8}
.cp-tt{max-height:440px;overflow:auto}
.perm-sub th{font-size:11px;color:var(--mut);font-weight:600;padding-top:10px}
[data-theme=dark] .cp-oc>div{background:var(--soft);border-color:var(--line)}[data-theme=dark] .cp-bar{background:var(--soft)}
[data-theme=dark] .cp-tbl tbody tr:hover,[data-theme=dark] #cpMonth tbody tr[data-cpm2]:hover{background:var(--soft)}
@media (max-width:1200px){.kpis.k6{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.cp-2{grid-template-columns:1fr}.kpis.k6{grid-template-columns:repeat(2,1fr)}.cp-safe{display:none}}
.cp-users label,.mc-form .cp-users label{flex-direction:row;align-items:center;gap:6px;font-size:13px}.cp-users small{margin-left:2px}

button.linkish{background:none;border:0;color:var(--accent,#2563eb);cursor:pointer;padding:0;font:inherit;text-decoration:underline dotted;}
button.linkish:hover{color:var(--accent-2,#1d4ed8);}


/* ===================== UI Phase 1 (06 Oct 2026): official deep-red brand ===================== */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fonts/inter-latin.woff2?v=p1) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fonts/inter-latin-ext.woff2?v=p1) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Noto Sans Telugu';font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fonts/noto-sans-telugu.woff2?v=p1) format('woff2');unicode-range:U+0951-0952,U+0964-0965,U+0C00-0C7F,U+1CDA,U+1CF2,U+200C-200D,U+25CC}
:root{
 /* brand: refined deep red / maroon + subtle gold */
 --brand-900:#3F0A10;--brand-800:#560E16;--brand-700:#7A121C;--brand-600:#9B1620;--brand-500:#B91C26;--brand-50:#FBEFF0;--brand-100:#F3D3D6;
 --gold:#C9A227;--gold-ink:#7A5E06;--goldb:#FBF6E6;--gold-line:#EFE2B3;
 --pri:var(--brand-600);--pri2:var(--brand-700);--prib:var(--brand-50);--prit:var(--brand-100);
 /* danger is its own, brighter red and is always drawn as an outline */
 --bad:#D92D20;--badb:#FEF3F2;--bad-line:#FDA29B;
 --ink:#14171F;--mut:#5A6272;--line:#E5E7EB;--bg:#F6F5F3;--card:#fff;--hov:#F7F7F8;--soft:#FAFAF9;
 --ok:#067647;--okb:#ECFDF3;--warn:#B54708;--warnb:#FFFAEB;--info:#175CD3;--infob:#EFF8FF;
 /* type scale */
 --fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:26px;--fs-3xl:32px;
 /* spacing / shape / elevation */
 --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;
 --r-sm:6px;--r:10px;--r-lg:14px;
 --sh-sm:0 1px 2px rgba(20,23,31,.05);--sh:0 1px 2px rgba(20,23,31,.04),0 6px 18px rgba(20,23,31,.06);
 --side-bg:linear-gradient(180deg,var(--brand-800) 0%,var(--brand-900) 100%);
 --font:'Inter','Noto Sans Telugu',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
body{font-family:var(--font);font-size:var(--fs-md);line-height:1.5;font-feature-settings:"cv11" 1,"ss01" 1}
button,input,select,textarea{font-family:inherit}
h2{font-size:var(--fs-xl);font-weight:650;letter-spacing:-.01em}h3{font-size:var(--fs-lg);font-weight:650}
.tbl td,.tbl th,.kpi b,.mono,.r,.num,.cp-bar+small{font-variant-numeric:tabular-nums}
.wa-bub .t,.cb,.tl-wa-b,.kn-body,#knBody{font-family:'Noto Sans Telugu','Inter',system-ui,sans-serif}
/* focus rings (keyboard) */
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.btn:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px;box-shadow:0 0 0 4px rgba(201,162,39,.18)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-500)!important;box-shadow:0 0 0 3px rgba(185,28,38,.14)}
/* buttons: primary = solid deep red; danger = outline brighter red (never the same look) */
.btn{border-radius:var(--r);transition:background .12s,border-color .12s,color .12s}
.btn.primary{background:var(--brand-600);border-color:var(--brand-600);color:#fff;box-shadow:var(--sh-sm)}
.btn.primary:hover{background:var(--brand-700);border-color:var(--brand-700)}
.btn.danger{background:#fff;color:var(--bad);border:1px solid var(--bad-line)}
.btn.danger:hover{background:var(--badb);border-color:var(--bad)}
/* calling outside 08:00-19:00 IST: Call buttons look disabled (visual only - server rules unchanged) */
body.calls-closed:not(.ovr-on) .btn.call{opacity:.5;filter:grayscale(1);border-style:dashed;cursor:not-allowed}
body.calls-closed:not(.ovr-on) .btn.call:hover{background:var(--okb)}
/* badges / pills: one shape, one weight */
.badge{border-radius:var(--r-sm);font-weight:600;padding:3px 8px;font-size:var(--fs-xs);letter-spacing:.01em}
.b-pri{background:#EEF2F6;color:#344054}
.chip{border-radius:var(--r-sm)}
/* KPI cards */
.kpi{border-radius:var(--r);box-shadow:var(--sh)}
.kpi small{text-transform:none;letter-spacing:0;font-size:var(--fs-xs);font-weight:600}
.kpi b{font-size:var(--fs-2xl);font-weight:650}
.kpi.k-pri b{color:var(--ink)}
.card{border-radius:var(--r)}
/* top bar */
nav button.on{background:var(--brand-50);color:var(--brand-700)}
/* sidebar: deep maroon, full height, gold active marker */
.side{background:var(--side-bg);border-right:0;color:rgba(255,255,255,.8)}
@media (min-width:761px){
 .shell{background:linear-gradient(90deg,var(--brand-900) 0,var(--brand-900) var(--sidew),transparent var(--sidew))}
 html.side-c .shell{background:linear-gradient(90deg,var(--brand-900) 0,var(--brand-900) var(--sidec),transparent var(--sidec))}
 .shell>.content{background:var(--bg);align-self:stretch;min-height:calc(100vh - var(--toph))}
}
.side button[data-v],.side button[data-go]{color:rgba(255,255,255,.78);font-weight:500}
.side button[data-v]:hover,.side button[data-go]:hover{color:#fff;background:rgba(255,255,255,.08)}
.side button.on{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 3px 0 0 var(--gold)}
.side-h{color:rgba(255,255,255,.5);font-size:var(--fs-xs);letter-spacing:.1em}
.side-tog{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:rgba(255,255,255,.85)}
.side-tog:hover{background:rgba(255,255,255,.16);color:#fff}
.side .pill{background:var(--gold);color:var(--brand-900)}
.side-rz:hover,.side-rz.drag{background:linear-gradient(90deg,transparent 2px,var(--gold) 2px,var(--gold) 4px,transparent 4px)}
.side-ft{margin-top:auto;padding:14px 11px 4px;border-top:1px solid rgba(255,255,255,.1);font-size:var(--fs-xs);color:rgba(255,255,255,.55);line-height:1.45;white-space:normal}
.side-ft b{display:block;color:#fff;font-weight:600}
.side button.m-only{display:none}
/* collapsed sidebar: no clipped labels / badges */
html.side-c .side{overflow:hidden auto;padding-left:6px;padding-right:6px}
html.side-c .side-h{font-size:0;height:0;overflow:hidden;margin:10px 8px;border-top:1px solid rgba(255,255,255,.14)}
html.side-c .side .pill{top:3px;right:3px;z-index:1}
html.side-c .side-ft{display:none}
/* Collection Brain grade x channel matrix: neutral numbers, not all red */
.br-mx-t a{color:var(--ink)}.br-mx-t a:hover{color:var(--brand-600);text-decoration:underline}
.br-mx-t tr.br-tot td a,.br-mx-t td.r a b{color:var(--ink)}
/* links */
a{color:var(--brand-600)}
/* System Audit page */
.au-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.au-filters input,.au-filters select{height:36px}
.au-det{font-family:ui-monospace,'IBM Plex Mono',Menlo,monospace;font-size:var(--fs-xs);color:var(--mut);max-width:560px;white-space:pre-wrap;word-break:break-word}
.au-act{font-family:ui-monospace,Menlo,monospace;font-size:var(--fs-xs)}
.au-pg{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:10px 12px}
/* mobile bottom tab bar */
.btab{display:none}
@media (max-width:760px){
 #tabs{display:none!important}
 .top{gap:10px;padding:8px 12px}
 .top-r{gap:6px}
 .brand-t b{font-size:var(--fs-sm);max-width:44vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .side button.m-only{display:flex}
 body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
 .btab{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);
   padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 18px rgba(20,23,31,.06)}
 .btab button{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;font:600 11px/1.2 var(--font);color:var(--mut);padding:4px 2px;border-radius:10px;cursor:pointer;position:relative}
 .btab button svg{width:22px;height:22px}
 .btab button.on{color:var(--brand-600)}
 .btab button.on::before{content:"";position:absolute;top:-6px;left:28%;right:28%;height:3px;border-radius:0 0 3px 3px;background:var(--brand-600)}
 .btab .nbadge{position:absolute;top:0;right:22%}
 .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kpis>.kpi:last-child:nth-child(odd){grid-column:1/-1}
 #toasts{bottom:calc(76px + env(safe-area-inset-bottom))}
}
/* dark theme tweaks for the new palette */
[data-theme=dark]{--side-bg:linear-gradient(180deg,#2B0A0E 0%,#1A0609 100%);--prib:rgba(185,28,38,.2);--bad:#F97066;--badb:rgba(240,68,56,.12);--bad-line:#912018}
[data-theme=dark] .btab{background:#121a2b;border-color:var(--line)}
[data-theme=dark] .btab button.on{color:#ff8a8f}[data-theme=dark] .btab button.on::before{background:#ff8a8f}
@media (min-width:761px){[data-theme=dark] .shell{background:linear-gradient(90deg,#1A0609 0,#1A0609 var(--sidew),transparent var(--sidew))}[data-theme=dark] html.side-c .shell,html.side-c[data-theme=dark] .shell{background:linear-gradient(90deg,#1A0609 0,#1A0609 var(--sidec),transparent var(--sidec))}}
[data-theme=dark] .br-mx-t a,[data-theme=dark] .kpi.k-pri b{color:var(--ink)}
[data-theme=dark] nav button.on{background:rgba(185,28,38,.2)}
.login-card .brand-name{text-align:center;margin:2px 0 0;font-size:var(--fs-lg);font-weight:700;letter-spacing:.01em;color:var(--brand-700)}
[data-theme=dark] .login-card .brand-name{color:#ff8a8f}
/* ===================== Ask PPAF (Phase B, 06 Oct 2026) ===================== */
.ask{display:grid;grid-template-columns:248px minmax(0,1fr);gap:14px;height:calc(100vh - 118px);height:calc(100dvh - 118px);min-height:520px}
.ask-hist{display:flex;flex-direction:column;padding:12px;gap:8px;overflow:hidden;min-height:0}
.ask-new{justify-content:center;width:100%}
.ask-hh{font-size:11px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;margin:8px 4px 0}
.ask-hl{overflow:auto;display:flex;flex-direction:column;gap:2px;margin:0 -4px;min-height:0}
.ask-hi{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;border:0;background:none;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--ink);font-size:var(--fs-sm);width:100%}
.ask-hi span{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ask-hi small{color:var(--mut);font-size:11px}
.ask-hi:hover{background:var(--hov)}.ask-hi.on{background:var(--prib);color:var(--pri2)}.ask-hi.on small{color:var(--pri2);opacity:.75}
.ask-main{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.ask-top{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.ask-ttl{min-width:0}.ask-ttl b{display:block;font-size:var(--fs-lg);line-height:1.2}.ask-ttl small{color:var(--mut);font-size:var(--fs-xs)}
.ask-logo,.ask-av{display:grid;place-items:center;flex:none;color:#fff;background:linear-gradient(135deg,var(--brand-600),var(--brand-800));box-shadow:inset 0 0 0 1px rgba(201,162,39,.5)}
.ask-logo{width:36px;height:36px;border-radius:11px}.ask-av{width:30px;height:30px;border-radius:9px}
.ask-logo svg,.ask-av svg{width:18px;height:18px}
.ask-use{font-size:var(--fs-xs);font-weight:600;color:var(--mut);background:var(--soft);border:1px solid var(--line);padding:3px 10px;border-radius:99px;white-space:nowrap;font-variant-numeric:tabular-nums}
.ask-histbtn{display:none}
.ask-log{flex:1;overflow:auto;padding:18px 18px 10px;display:flex;flex-direction:column;gap:14px;min-height:0;background:linear-gradient(180deg,var(--soft),var(--card) 140px)}
.ask-msg{display:flex;gap:10px;max-width:940px;width:100%}
.ask-msg.me{align-self:flex-end;justify-content:flex-end}
.ask-bub{background:var(--brand-700);color:#fff;border-radius:14px 14px 4px 14px;padding:9px 14px;max-width:min(560px,85%);white-space:pre-wrap;word-break:break-word;box-shadow:var(--sh-sm)}
.ask-body{min-width:0;flex:1;background:var(--card);border:1px solid var(--line);border-radius:4px 14px 14px 14px;padding:12px 14px;box-shadow:var(--sh-sm)}
.ask-text{line-height:1.6}.ask-text p{margin:0 0 6px}.ask-text p:last-child{margin-bottom:0}.ask-text ul,.ask-text ol{margin:4px 0 6px;padding-left:22px}.ask-text li{margin:2px 0}
.ask-text code{background:var(--soft);border:1px solid var(--line);border-radius:4px;padding:0 4px;font-size:12px}
.ask-text .ask-note{color:var(--mut);font-size:var(--fs-sm);border-left:3px solid var(--gold);padding-left:8px;margin-top:6px}
.ask-tw{margin-top:10px;max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:8px}
.ask-tbl{width:100%;font-size:var(--fs-sm);border-collapse:collapse}.ask-tbl th{position:sticky;top:0;z-index:1;background:var(--soft);text-transform:capitalize;white-space:nowrap;font-size:var(--fs-xs)}
.ask-tbl td,.ask-tbl th{padding:6px 10px}.ask-tbl .n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ask-rc{font-size:11px;color:var(--mut);margin-top:4px}
.ask-cust{font-weight:600;text-decoration:none}.ask-cust:hover{text-decoration:underline}
.ask-chart{margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}
.ask-ch-t{font-size:11px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.ask-bar{display:grid;grid-template-columns:minmax(60px,150px) 1fr minmax(48px,auto);gap:10px;align-items:center;font-size:var(--fs-sm);margin:4px 0}
.ask-bl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ask-bt{height:10px;background:var(--line);border-radius:99px;overflow:hidden}
.ask-bt i{display:block;height:100%;background:linear-gradient(90deg,var(--brand-700),var(--brand-500));border-radius:99px}
.ask-bar b{font-variant-numeric:tabular-nums;font-weight:600;text-align:right}
.ask-acts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}
.ask-act{border:1px solid var(--line);background:var(--card);color:var(--mut);border-radius:8px;padding:3px 9px;font-size:var(--fs-xs);font-weight:600;cursor:pointer;display:inline-flex;gap:5px;align-items:center}
.ask-act:hover{color:var(--ink);background:var(--hov)}
.ask-meta{margin-left:auto;font-size:11px;color:var(--mut);font-variant-numeric:tabular-nums}
.ask-how{flex-basis:100%;margin-top:2px}.ask-how summary{cursor:pointer;font-size:var(--fs-xs);font-weight:600;color:var(--pri);width:max-content}
.ask-how pre{white-space:pre-wrap;word-break:break-word;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12px;margin:6px 0 4px;max-height:220px;overflow:auto}
.ask-k{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--goldb);color:var(--gold-ink);border:1px solid var(--gold-line)}
.ask-k.bad{background:var(--badb);color:var(--bad);border-color:var(--bad-line)}
.ask-typing{display:inline-flex;align-items:center;gap:10px;color:var(--mut);font-size:var(--fs-sm)}
.ask-dots{display:inline-flex;gap:4px}.ask-dots i{width:7px;height:7px;border-radius:50%;background:var(--brand-600);opacity:.3;animation:askb 1.2s infinite}
.ask-dots i:nth-child(2){animation-delay:.2s}.ask-dots i:nth-child(3){animation-delay:.4s}
@keyframes askb{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.ask-dots i{animation:none;opacity:.7}}
.ask-hello{margin:auto;text-align:center;max-width:640px;padding:20px 8px}
.ask-hello .ask-logo{width:54px;height:54px;border-radius:16px;margin:0 auto 12px}.ask-hello .ask-logo svg{width:27px;height:27px}
.ask-hello h3{margin:0 0 6px;font-size:var(--fs-xl)}.ask-hello p{color:var(--mut);margin:0 0 16px;line-height:1.6}
.ask-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.ask-chip{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:99px;padding:7px 14px;font-size:var(--fs-sm);cursor:pointer;transition:background .15s,border-color .15s,color .15s;box-shadow:var(--sh-sm)}
.ask-chip:hover{border-color:var(--brand-100);background:var(--prib);color:var(--pri2)}
.ask-in{display:flex;gap:8px;align-items:flex-end;padding:10px 14px 4px;border-top:1px solid var(--line);background:var(--card)}
.ask-in textarea{flex:1;resize:none;max-height:140px;min-height:44px;border-radius:12px;padding:11px 12px;line-height:1.4}
.ask-send{height:44px;width:48px;justify-content:center;padding:0;border-radius:12px;flex:none}.ask-send svg{width:18px;height:18px}
.ask-foot{margin:0;padding:3px 16px 10px;font-size:11px;color:var(--mut);background:var(--card)}
.ask-off{margin:10px 16px 0;padding:9px 12px;border-radius:10px;background:var(--warnb);color:var(--warn);font-weight:600;font-size:var(--fs-sm)}
.ask-err{padding:9px 12px;border-radius:10px;background:var(--badb);color:var(--bad);border:1px solid var(--bad-line);font-weight:600;font-size:var(--fs-sm);align-self:flex-start;max-width:640px}
.ask-set{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--goldb);font-size:var(--fs-sm)}
.ask-set label{display:inline-flex;align-items:center;gap:6px}.ask-set input[type=number]{width:96px;padding:5px 8px}
.side .side-ai{margin-left:auto;font-size:10px;font-weight:800;padding:1px 6px;border-radius:6px;background:var(--gold);color:var(--brand-900);letter-spacing:.04em;line-height:16px}
.side-c .side .side-ai{display:none}
.toolbar .btn{white-space:nowrap}
[data-theme=dark] .ask-bub{background:#8f1a24}
[data-theme=dark] .ask-hi.on,[data-theme=dark] .ask-hi.on small{color:#ff8a8f}
[data-theme=dark] .ask-chip:hover{color:#ff8a8f;border-color:#5a2a2e}
[data-theme=dark] .ask-set{background:rgba(201,162,39,.08)}
[data-theme=dark] .ask-k{background:rgba(201,162,39,.12);color:#e6c65c;border-color:rgba(201,162,39,.35)}
[data-theme=dark] .ask-log{background:linear-gradient(180deg,var(--soft),var(--card) 140px)}
@media (max-width:760px){
 .ask{grid-template-columns:1fr;height:calc(100vh - 150px);height:calc(100dvh - 150px);min-height:420px;position:relative;gap:0}
 .ask-hist{position:absolute;inset:0 22% 0 0;z-index:6;display:none;box-shadow:0 10px 40px rgba(0,0,0,.25)}
 .ask.hist-open .ask-hist{display:flex}
 .ask-histbtn{display:inline-grid}
 .ask-log{padding:12px 10px 6px}.ask-av{display:none}.ask-body{border-radius:12px;padding:10px 12px}
 .ask-top{padding:8px 10px;gap:8px}.ask-top .ask-logo{display:none}.ask-use{font-size:11px;padding:2px 8px}
 .ask-bar{grid-template-columns:minmax(50px,96px) 1fr auto}.ask-foot{padding:2px 12px 8px}
 .ask-in{padding:8px 10px 4px}.ask-in textarea{font-size:16px}
}
/* ===================== Dark theme v2 (07 Oct 2026) =====================
   The Phase-1 :root token block above re-declared light values AFTER the old dark block (same specificity),
   so dark mode mixed white cards with dark parts. html[data-theme=dark] (higher specificity) is now the single source of truth. */
html[data-theme=dark]{color-scheme:dark;
 /* warm-neutral surfaces, layered: bg < card < raised (drawers, modals, menus) */
 --bg:#141112;--card:#1C1819;--raise:#241F20;--soft:#191516;--hov:#2A2425;--btn:#231E1F;--inp:#161213;
 --ink:#ECE7E5;--mut:#A9A09D;--line:#383031;--line-soft:#2C2526;
 --brand-50:rgba(229,72,77,.16);--brand-100:#5C1E24;--brand-500:#E5484D;--brand-600:#C42B35;--brand-700:#A3222B;
 --pri:#C42B35;--pri2:#A3222B;--prib:rgba(229,72,77,.16);--prit:#6B232A;--acc:#FF8A8F;
 --gold:#D9B54A;--gold-ink:#E9CB6E;--goldb:rgba(217,181,74,.12);--gold-line:#5E4C1C;
 --ok:#4ACB89;--okb:rgba(74,203,137,.13);--warn:#F2B84B;--warnb:rgba(242,184,75,.12);--bad:#F97066;--badb:rgba(249,112,102,.13);--bad-line:#7A2C26;
 --info:#7DB8FF;--infob:rgba(125,184,255,.12);--vio:#C4B5FD;--viob:rgba(167,139,250,.14);--gray:#C9C0BD;--grayb:#2A2425;
 --sh-sm:0 1px 2px rgba(0,0,0,.4);--sh:0 1px 2px rgba(0,0,0,.35),0 6px 18px rgba(0,0,0,.28);
 --side-bg:linear-gradient(180deg,#2B0A0E 0%,#1A0609 100%)}
html[data-theme=dark] body{background:var(--bg);color:var(--ink)}
/* links / accents */
html[data-theme=dark] a:not(.btn){color:var(--acc)}
html[data-theme=dark] nav button.on,html[data-theme=dark] #tabs button.on,html[data-theme=dark] .seg button.on{color:var(--acc);background:var(--prib)}
html[data-theme=dark] .side button.on{color:#fff}
html[data-theme=dark] #tabs button:hover,html[data-theme=dark] .st:hover,html[data-theme=dark] .um-i:hover{background:var(--hov)}
html[data-theme=dark] .top{background:rgba(28,24,25,.94);border-color:var(--line)}
html[data-theme=dark] .logo{background:none;padding:0}
html[data-theme=dark] .login-logo{background:none;padding:0;content:url(/static/logo-dark.png)}
html[data-theme=dark] .login-body{background:radial-gradient(1200px 600px at 10% -10%,rgba(196,43,53,.22),transparent),radial-gradient(900px 500px at 110% 110%,rgba(217,181,74,.08),transparent),var(--bg)}
html[data-theme=dark] .login-card{background:var(--card);border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.5)}
html[data-theme=dark] .login-card .brand-name{color:var(--acc)}
/* form controls */
html[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=range]),html[data-theme=dark] select,html[data-theme=dark] textarea,
html[data-theme=dark] .mc-dlg input:not([type=checkbox]),html[data-theme=dark] .mc-dlg select,html[data-theme=dark] .mc-dlg textarea{background:var(--inp);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#857C79}
html[data-theme=dark] select option{background:var(--raise);color:var(--ink)}
html[data-theme=dark] input:focus,html[data-theme=dark] select:focus,html[data-theme=dark] textarea:focus{border-color:var(--brand-500)!important;box-shadow:0 0 0 3px rgba(229,72,77,.22)}
html[data-theme=dark] input[type=checkbox],html[data-theme=dark] input[type=radio]{accent-color:var(--brand-500)}
html[data-theme=dark] :focus-visible{outline-color:var(--gold)}
html[data-theme=dark] .switch span{background:#4A4142}html[data-theme=dark] .switch span::before{background:#ECE7E5}
/* buttons */
html[data-theme=dark] .btn{background:var(--btn);color:var(--ink);border-color:var(--line)}html[data-theme=dark] .btn:hover{background:var(--hov)}
html[data-theme=dark] .btn.ghost{background:none}html[data-theme=dark] .btn.ghost:hover{background:var(--hov)}
html[data-theme=dark] .btn.primary{background:var(--brand-600);border-color:var(--brand-600);color:#fff}html[data-theme=dark] .btn.primary:hover{background:var(--brand-700);border-color:var(--brand-700)}
html[data-theme=dark] .btn.danger{background:transparent;color:var(--bad);border-color:var(--bad-line)}html[data-theme=dark] .btn.danger:hover{background:var(--badb);border-color:var(--bad)}
html[data-theme=dark] .btn.call{background:var(--okb);border-color:#1F5C3E;color:var(--ok)}
html[data-theme=dark] .btn.paid{background:rgba(251,146,60,.13);border-color:#7A3A17;color:#FDBA74}
html[data-theme=dark] .btn.wa{background:rgba(74,203,137,.13);border-color:#1F5C3E;color:#5EE0A0}html[data-theme=dark] .btn.wa.solid{background:#1F9D55;border-color:#1F9D55;color:#fff}
html[data-theme=dark] .bulk{background:var(--raise);border:1px solid var(--line)}html[data-theme=dark] .bulk .btn.ghost{color:var(--ink)}
/* surfaces */
html[data-theme=dark] .card,html[data-theme=dark] .kpi,html[data-theme=dark] .seg,html[data-theme=dark] .esc-card,html[data-theme=dark] .tl-card,html[data-theme=dark] .ls-r{background:var(--card);border-color:var(--line)}
html[data-theme=dark] .drawer-in,html[data-theme=dark] .modal-in,html[data-theme=dark] .um-menu,html[data-theme=dark] .mc-dlg,html[data-theme=dark] .mc-side{background:var(--raise);border-color:var(--line);color:var(--ink)}
html[data-theme=dark] .drawer,html[data-theme=dark] .modal,html[data-theme=dark] .mc-ov,html[data-theme=dark] .side-ov{background:rgba(8,6,6,.62)}
html[data-theme=dark] .drawer-in{box-shadow:-12px 0 32px rgba(0,0,0,.55)}html[data-theme=dark] .um-menu{box-shadow:0 12px 32px rgba(0,0,0,.55)}
html[data-theme=dark] .box,html[data-theme=dark] .drop{background:var(--soft);border-color:var(--line)}html[data-theme=dark] .drop{color:var(--acc)}
html[data-theme=dark] pre,html[data-theme=dark] pre.json,html[data-theme=dark] code{background:#110E0F;color:#E6DFDC;border-color:var(--line)}
html[data-theme=dark] .log-tools{background:var(--bg)}
/* tables: header, zebra, hover, selection, sticky action column */
html[data-theme=dark] .tbl th{background:var(--raise);color:var(--mut);border-color:var(--line)}
html[data-theme=dark] .tbl td{border-color:var(--line-soft)}
html[data-theme=dark] .tbl tbody tr:nth-child(even){background:rgba(255,255,255,.018)}
html[data-theme=dark] .tbl tbody tr:hover{background:var(--hov)}html[data-theme=dark] .tbl tr.sel{background:var(--prib)}
html[data-theme=dark] #tbl td.act{background:var(--card);box-shadow:-10px 0 10px -10px rgba(0,0,0,.6)}
html[data-theme=dark] #tbl tbody tr:hover td.act{background:linear-gradient(var(--hov),var(--hov)),var(--card)}
html[data-theme=dark] #tbl tr.sel td.act{background:linear-gradient(var(--prib),var(--prib)),var(--card)}
html[data-theme=dark] .rowerr td{background:rgba(249,112,102,.08)}html[data-theme=dark] .rowwarn td{background:rgba(242,184,75,.07)}
/* badges / pills / banners */
html[data-theme=dark] .b-pri{background:#2E2829;color:#D8D0CD}
html[data-theme=dark] .b-wa{background:rgba(74,203,137,.14);color:#5EE0A0}
html[data-theme=dark] .banner{border-color:var(--gold-line)}html[data-theme=dark] .banner.live{background:var(--badb);color:#FCA5A5;border-color:var(--bad-line)}
html[data-theme=dark] .esc-box{background:var(--warnb);border-color:#6B4A12;color:#F7D488}
html[data-theme=dark] .kpi.k-pri b,html[data-theme=dark] .br-mx-t a,html[data-theme=dark] .br-mx-t tr.br-tot td a{color:var(--ink)}
html[data-theme=dark] .br-mx-t a:hover{color:var(--acc)}
/* Collection Brain: channels, grades, history dots */
html[data-theme=dark] .brch-wa{background:rgba(74,203,137,.14);color:#5EE0A0}html[data-theme=dark] .brch-fd{background:rgba(251,146,60,.14);color:#FDBA74}
html[data-theme=dark] .brg-B{background:rgba(34,211,238,.13);color:#67E8F9}html[data-theme=dark] .brg-N{background:rgba(129,140,248,.15);color:#A5B4FC}
html[data-theme=dark] .hd-u{box-shadow:inset 0 0 0 1.5px #7A716E}html[data-theme=dark] .hd-k{background:#7A716E}
/* WhatsApp previews + chat bubbles in customer log */
html[data-theme=dark] .wa-phone,html[data-theme=dark] .tl-wa{background:#0E1A1F}
html[data-theme=dark] .wa-bub,html[data-theme=dark] .tl-wa-b,html[data-theme=dark] .wa-btns div{background:#1F2C34;color:#E9EDEF}
html[data-theme=dark] .wa-btns div{color:#53BDEB}html[data-theme=dark] .wa-bub .t b{background:rgba(250,204,21,.2);color:#FEF08A}
html[data-theme=dark] .wa-vals td{border-bottom-color:var(--line)}
html[data-theme=dark] .cb.customer{background:rgba(74,203,137,.12);color:var(--ink)}html[data-theme=dark] .cb.agent{background:var(--raise);border-color:var(--line)}
/* tooltips, toasts, header dots */
html[data-theme=dark] .top [data-tip]:hover::after,html[data-theme=dark] .top [data-tip]:focus-visible::after{background:#3A3233;color:#F3EEEC;box-shadow:0 4px 14px rgba(0,0,0,.5)}
html[data-theme=dark] .toast{background:var(--raise);color:var(--ink);border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.5)}
html[data-theme=dark] .toast.ok{background:#14532D;border-color:#1F6B3D;color:#E7F8EE}html[data-theme=dark] .toast.bad{background:#7F1D1D;border-color:#9B2C2C;color:#FDECEC}
html[data-theme=dark] .nbadge,html[data-theme=dark] .st .dot{box-shadow:0 0 0 2px var(--card)}
/* mobile tab bar */
html[data-theme=dark] .btab{background:var(--card);border-color:var(--line);box-shadow:0 -6px 18px rgba(0,0,0,.4)}
html[data-theme=dark] .btab button.on{color:var(--acc)}html[data-theme=dark] .btab button.on::before{background:var(--acc)}
/* Knowledge markdown */
html[data-theme=dark] .kn-body table th,html[data-theme=dark] #knBody table th{background:var(--raise)}
html[data-theme=dark] .kn-body blockquote,html[data-theme=dark] #knBody blockquote{background:var(--soft);border-color:var(--gold-line);color:var(--ink)}
/* Ask PPAF */
html[data-theme=dark] .ask-log{background:linear-gradient(180deg,var(--soft),var(--card) 140px)}
html[data-theme=dark] .ask-bub{background:#8F1A24;color:#fff}
html[data-theme=dark] .ask-tbl th{background:var(--raise)}
html[data-theme=dark] .ask-how pre{background:#110E0F;border-color:var(--line)}
html[data-theme=dark] .ask-chip{background:var(--raise);border-color:var(--line);color:var(--ink)}html[data-theme=dark] .ask-chip:hover{color:var(--acc);border-color:#6B2A30}
html[data-theme=dark] .ask-bt{background:#2E2728}

/* ===================== Ask PPAF: top-bar sparkle button + dropdown panel (08 Oct 2026; replaces the floating button) ===================== */
.top-r .ask-tb{cursor:pointer;border:1px solid rgba(201,162,39,.38);color:var(--brand-600);isolation:isolate;
 background:linear-gradient(135deg,rgba(185,28,38,.08),rgba(201,162,39,.16));transition:background .15s,box-shadow .15s,transform .15s}
.top-r .ask-tb svg{width:17px;height:17px;stroke-width:1.8}
.top-r .ask-tb:hover,.top-r .ask-tb:focus-visible{color:var(--brand-700);background:linear-gradient(135deg,rgba(185,28,38,.13),rgba(201,162,39,.24));box-shadow:0 0 0 3px rgba(201,162,39,.14)}
.top-r .ask-tb[aria-expanded=true],.top-r .ask-tb.on{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--brand-500),var(--brand-700));box-shadow:0 2px 8px rgba(122,18,28,.28)}
.top-r .ask-tb[aria-expanded=true]::after{display:none!important}   /* no tooltip over the open panel */
/* gentle pulse ring: one soft ripple, then a long rest */
.top-r .ask-tb::before{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;z-index:-1;box-shadow:0 0 0 0 rgba(201,162,39,.45);animation:askRing 6s ease-out 1.5s infinite}
.top-r .ask-tb[aria-expanded=true]::before,.top-r .ask-tb.on::before{animation:none}
@keyframes askRing{0%{box-shadow:0 0 0 0 rgba(201,162,39,.45)}22%{box-shadow:0 0 0 7px rgba(201,162,39,0)}100%{box-shadow:0 0 0 7px rgba(201,162,39,0)}}
@media (prefers-reduced-motion:reduce){.top-r .ask-tb::before{animation:none}.ask-pop{animation:none!important}}
html[data-theme=dark] .top-r .ask-tb{color:var(--gold-ink);border-color:rgba(217,181,74,.32);background:linear-gradient(135deg,rgba(229,72,77,.14),rgba(217,181,74,.14))}
html[data-theme=dark] .top-r .ask-tb:hover{color:#F5DC8C;background:linear-gradient(135deg,rgba(229,72,77,.2),rgba(217,181,74,.22));box-shadow:0 0 0 3px rgba(217,181,74,.12)}
html[data-theme=dark] .top-r .ask-tb[aria-expanded=true],html[data-theme=dark] .top-r .ask-tb.on{color:#fff;background:linear-gradient(135deg,var(--brand-500),var(--brand-700))}
/* panel: anchored under the icon */
.ask-ov{display:none}
.ask-pop{position:fixed;top:calc(var(--toph) + 8px);right:18px;z-index:46;width:384px;max-height:min(600px,calc(100vh - var(--toph) - 24px));max-height:min(600px,calc(100dvh - var(--toph) - 24px));
 display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 44px rgba(20,23,31,.18),0 2px 6px rgba(20,23,31,.06);
 transform-origin:top right;animation:askPopIn .16s ease-out}
.ask-pop::before{content:"";position:absolute;top:-6px;right:var(--caret,14px);width:11px;height:11px;background:inherit;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg);border-top-left-radius:2px}
.ask-pop[hidden]{display:none}
@keyframes askPopIn{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
.ask-pop-h{display:flex;align-items:center;gap:8px;padding:9px 8px 9px 12px;border-bottom:1px solid var(--line);position:relative;border-radius:14px 14px 0 0;background:inherit}
.ask-pop-ic{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--brand-500),var(--brand-700));box-shadow:inset 0 0 0 1px rgba(201,162,39,.45)}
.ask-pop-ic svg{width:14px;height:14px;stroke-width:2}
.ask-pop-t{flex:1;min-width:0;display:flex;align-items:center;gap:6px;white-space:nowrap}
.ask-pop-t b{font-size:var(--fs-md);font-weight:650}
.ask-pop-t small{font-size:var(--fs-xs);color:var(--mut);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}
.ask-lock{display:inline-grid;place-items:center;color:var(--mut);opacity:.75;cursor:help;border-radius:4px}.ask-lock svg{width:13px;height:13px}.ask-lock:hover{opacity:1;color:var(--ink)}
.ask-pop-b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:7px;border:0;background:none;color:var(--mut);cursor:pointer;text-decoration:none;flex:none}
.ask-pop-b:hover{background:var(--hov);color:var(--ink)}.ask-pop-b svg{width:16px;height:16px;stroke-width:1.8}
.ask-pop .ask-log{flex:1 1 auto;min-height:0;padding:12px 12px 6px;gap:12px;background:none}
.ask-pop .ask-av{display:none}.ask-pop .ask-bub{max-width:88%}.ask-pop .ask-body{max-width:100%}
.ask-pop .ask-tw{max-height:240px}
/* compact empty state */
.ask-hello-c{margin:0;padding:14px 4px 6px;text-align:center}
.ask-hi-ic{display:grid;place-items:center;width:40px;height:40px;margin:0 auto 8px;border-radius:12px;color:var(--brand-600);background:linear-gradient(135deg,rgba(185,28,38,.09),rgba(201,162,39,.18));border:1px solid rgba(201,162,39,.3)}
.ask-hi-ic svg{width:20px;height:20px;stroke-width:1.8}
.ask-hello-c p{margin:0 0 14px;color:var(--mut);font-size:var(--fs-sm)}
.ask-chips2{display:grid;grid-template-columns:1fr 1fr;gap:6px;text-align:left}
.ask-chips2 .ask-chip{border-radius:10px;padding:8px 10px;font-size:12.5px;font-weight:500;line-height:1.3;width:100%;text-align:left;white-space:normal}
/* slim input with the send button inside */
.ask-pop-f{padding:8px 10px 10px;border-top:1px solid var(--line);border-radius:0 0 14px 14px;background:inherit}
.ask-box{position:relative;display:flex;align-items:flex-end;border:1px solid var(--line);border-radius:12px;background:var(--card);transition:border-color .15s,box-shadow .15s}
.ask-box:focus-within{border-color:var(--brand-500);box-shadow:0 0 0 3px rgba(185,28,38,.12)}
.ask-pop-f textarea{flex:1;resize:none;min-height:38px;max-height:110px;border:0!important;box-shadow:none!important;outline:none;background:transparent!important;padding:9px 4px 9px 12px;font:inherit;font-size:var(--fs-sm);line-height:1.4;color:var(--ink)}
.ask-send2{flex:none;display:grid;place-items:center;width:28px;height:28px;margin:5px;border:0;border-radius:8px;cursor:pointer;color:#fff;background:var(--brand-600);transition:background .15s,opacity .15s}
.ask-send2:hover{background:var(--brand-700)}.ask-send2:disabled{opacity:.45;cursor:default}.ask-send2 svg{width:15px;height:15px;stroke-width:2.2}
html[data-theme=dark] .ask-pop{background:var(--raise);box-shadow:0 18px 48px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.4)}
html[data-theme=dark] .ask-box{background:var(--inp)}
html[data-theme=dark] .ask-box:focus-within{box-shadow:0 0 0 3px rgba(229,72,77,.18)}
html[data-theme=dark] .ask-hi-ic{color:var(--gold-ink);background:linear-gradient(135deg,rgba(229,72,77,.14),rgba(217,181,74,.14));border-color:rgba(217,181,74,.3)}
html[data-theme=dark] .ask-chips2 .ask-chip{background:var(--card)}
/* phone: full-width bottom sheet over the tab bar, with a dim backdrop */
@media (max-width:760px){
 .ask-ov{display:block;position:fixed;inset:0;z-index:45;background:rgba(15,10,10,.45);animation:askFade .16s ease-out}
 .ask-ov[hidden]{display:none}
 .ask-pop{left:0;right:0!important;bottom:0;top:auto;width:auto;max-height:85vh;max-height:85dvh;border-radius:18px 18px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom);transform-origin:bottom center;animation:askSheet .2s ease-out}
 .ask-pop::before{display:none}
 .ask-pop-h{padding-top:14px}
 .ask-pop-h::before{content:"";position:absolute;top:5px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:var(--line)}
 .ask-pop-f{border-radius:0}
 .ask-pop-f textarea{font-size:16px}
 .ask-pop .ask-log{min-height:220px}
}
@keyframes askSheet{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
@keyframes askFade{from{opacity:0}to{opacity:1}}
@media print{.ask-tb,.ask-pop,.ask-ov{display:none!important}}
@media print{html[data-theme=dark]{--bg:#fff;--card:#fff;--ink:#111;--mut:#555;--line:#d4d4d8;--soft:#f6f6f7;--hov:#fff;--btn:#fff;--sh:none;--okb:#ecfdf5;--ok:#047857;--badb:#fef2f2;--bad:#b91c1c;--warnb:#fffbeb;--warn:#92400e;--infob:#f0f9ff;--info:#0369a1;--viob:#f5f3ff;--vio:#6d28d9;--grayb:#f1f5f9;--gray:#334155;--prib:#fdeced;--pri:#e3232a}
 html[data-theme=dark]{--raise:#fff;--inp:#fff;--acc:#b91c26} html[data-theme=dark] body{background:#fff!important;color:#111}}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* ===================== Payments: day-wise collection + compact upload (07 Oct 2026) ===================== */
.pd-card{padding:16px 18px 12px;margin-bottom:16px}
.pd-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.pd-t h2{margin:0;font-size:var(--fs-xl)}.pd-t small{display:block;font-size:var(--fs-sm);margin-top:2px}.pd-t small b{color:var(--ink);font-weight:650}
.pd-warn{color:var(--bad);font-weight:600}
.pd-mon{display:flex;align-items:center;gap:4px}
.pd-mon input{height:32px;padding:4px 8px;border:1px solid var(--line);border-radius:var(--r);font:inherit;font-size:var(--fs-sm);background:var(--card);color:var(--ink);width:150px}
.pd-arrow{width:32px;height:32px;padding:0;justify-content:center;font-size:18px;line-height:1}
.pd-arrow:disabled{opacity:.4;cursor:default}
/* bar chart */
.pd-chart{border:1px solid var(--line);border-radius:var(--r);background:var(--soft);padding:12px 10px 4px;margin-bottom:12px}
.pd-bars{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:3px;align-items:end;height:132px}
.pd-bar{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;border:0;background:none;padding:0;cursor:pointer;min-width:0;border-radius:4px}
.pd-bar i{display:block;width:100%;max-width:26px;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,var(--brand-500),var(--brand-700));transition:filter .12s,transform .12s}
.pd-bar.zero i{height:2px!important;background:var(--line);border-radius:2px}
.pd-bar span{font-size:10px;line-height:14px;color:var(--mut);font-variant-numeric:tabular-nums}
.pd-bar:hover i{filter:brightness(1.12)}.pd-bar:hover span{color:var(--ink)}
.pd-bar.today i{background:linear-gradient(180deg,var(--gold),#A8841A);box-shadow:0 0 0 2px rgba(201,162,39,.25)}
.pd-bar.today span{color:var(--gold-ink);font-weight:700}
.pd-bar.on i{outline:2px solid var(--ink);outline-offset:1px}.pd-bar.on span{color:var(--ink);font-weight:700}
.pd-bar:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
/* table */
.pd-tw{max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:var(--r)}
.pd-tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}
.pd-tbl th{position:sticky;top:0;z-index:1;background:var(--soft);color:var(--mut);font-size:var(--fs-xs);font-weight:650;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:8px 12px;border-bottom:1px solid var(--line)}
.pd-tbl td{padding:7px 12px;border-bottom:1px solid var(--line)}
.pd-tbl .r{text-align:right}
.pd-tbl tbody tr{cursor:pointer}.pd-tbl tbody tr:hover{background:var(--hov)}
.pd-tbl tbody tr:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.pd-tbl td small{display:inline-block;margin-left:8px;color:var(--mut);font-size:var(--fs-xs)}
.pd-d{font-weight:600}
.pd-tbl td.muted{color:var(--mut)}
.pd-cum{color:var(--mut)}
.pd-tbl tr.today td{background:var(--goldb)}.pd-tbl tr.today td:first-child{box-shadow:inset 3px 0 0 var(--gold)}
.pd-today{color:var(--gold-ink);font-weight:700}
.pd-tbl tr.on td{background:var(--prib)}.pd-tbl tr.on td:first-child{box-shadow:inset 3px 0 0 var(--brand-600)}
.pd-tbl tfoot td{position:sticky;bottom:0;background:var(--card);border-top:2px solid var(--line);border-bottom:0;font-weight:700;padding:9px 12px}
.pd-note{margin:8px 2px 0}
/* compact upload card (moved below Payment history) */
.pay-up{padding:12px 16px;margin-top:16px}
.pay-up-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pay-up-t h3{margin:0;font-size:var(--fs-md)}.pay-up-t small{display:block;font-size:var(--fs-xs)}
.pay-up-h label.btn{cursor:pointer}
.pay-how{margin:8px 0 0}.pay-how summary{cursor:pointer;font-size:var(--fs-sm);font-weight:600;color:var(--brand-600);width:max-content}
.pay-how p{margin:6px 0 0}
.drop.pay-drop{margin:10px 0 0;padding:12px;font-size:var(--fs-sm);border-width:1px}
@media (max-width:760px){
 .pd-card{padding:12px}
 .pd-h{gap:8px}.pd-t{flex:1 1 100%}.pd-mon{flex:1}.pd-mon input{flex:1;width:auto}
 .pd-bars{height:104px;gap:2px}
 .pd-bar span.pd-mlbl{visibility:hidden}
 .pd-tw{max-height:300px}
 .pd-tbl th,.pd-tbl td{padding:7px 8px}
 .pd-tbl td small{display:block;margin:0}
 .pd-tbl th:nth-child(3),.pd-tbl td:nth-child(3){width:1%;white-space:nowrap}
 .pay-up-h .btn{flex:1 1 100%;justify-content:center;white-space:nowrap}
}
html[data-theme=dark] .pd-chart,html[data-theme=dark] .pd-tbl th{background:var(--soft)}
html[data-theme=dark] .pd-tbl tfoot td{background:var(--raise)}
html[data-theme=dark] .pd-bar.today i{background:linear-gradient(180deg,#E9CB6E,#B8962E)}
html[data-theme=dark] .pd-bar i{background:linear-gradient(180deg,#E5484D,#A3222B)}
html[data-theme=dark] .pay-how summary{color:var(--acc)}
html[data-theme=dark] .pd-mon input{background:var(--inp)}
.pd-bar.today.zero i{background:var(--gold);box-shadow:none;height:3px!important}
html[data-theme=dark] .pd-bar.today.zero i{background:#E9CB6E}
.pd-tbl small.pd-n{display:none}
@media (max-width:760px){
 .pd-tbl th:nth-child(3),.pd-tbl td:nth-child(3){display:none}
 .pd-tbl small.pd-n{display:block;margin:1px 0 0;font-size:11px;color:var(--mut);font-weight:500}
 .pd-tbl th{letter-spacing:.02em}
 .pd-tbl th,.pd-tbl td{padding:7px 10px}
 .pd-tbl td:first-child{white-space:nowrap}
}
/* ===================== Day-wise comparison table (v2, 07 Oct 2026) ===================== */
.pd-h2s{font-weight:500;color:var(--mut);font-size:var(--fs-md)}
.pd-cmp{min-width:520px}
.pd-cmp th,.pd-cmp td{padding:7px 14px}
.pd-cmp th.r{text-align:right}
.pd-cmp td.r{white-space:nowrap}
.pd-cmp td small,.pd-cmp tfoot td small{display:block;margin:0;font-size:11px;line-height:1.2;color:var(--mut);font-weight:500}
.pd-cmp td.pd-zero{color:var(--mut)}
.pd-cmp td.r{font-variant-numeric:tabular-nums}
.pd-cmp .pd-a{cursor:help}
.pd-cmp .pd-n{display:inline-block;min-width:4.6ch;text-align:left;font-size:11px;font-weight:500;color:var(--mut)}
/* centred month columns: amount + count as one inline group; fixed amount width so the dots line up */
.pd-cmp th.r,.pd-cmp td.r{text-align:center}
.pd-cmp th.r .pd-now{white-space:nowrap}
.pd-cmp .pd-a{display:inline-block;min-width:8.2ch;text-align:right}
.pd-cmp tfoot tr.pd-sub .pd-n{min-width:4.6ch}
.pd-cmp td.pd-na{color:var(--mut);opacity:.6}
.pd-cmp .pd-dc{position:sticky;left:0;z-index:2;background:var(--card);text-align:left;white-space:nowrap;min-width:84px;box-shadow:1px 0 0 var(--line)}
.pd-cmp th.pd-dc{z-index:3;background:var(--soft)}
.pd-cmp td.pd-dc b{font-weight:650;display:inline-block;min-width:18px}
.pd-cmp td.pd-dc small{display:inline;margin-left:6px;font-size:var(--fs-xs)}
.pd-cmp th.pd-cur,.pd-cmp td.pd-cur{background:var(--prib)}
.pd-cmp td.pd-cur{font-weight:600}
.pd-now{display:inline-block;margin-left:4px;font-size:10px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--brand-600)}
.pd-cmp tbody tr:hover td{background:var(--hov)}
.pd-cmp tbody tr:hover td.pd-cur{background:var(--prib)}
.pd-cmp tr.today td.pd-dc{box-shadow:inset 3px 0 0 var(--gold),1px 0 0 var(--line)}
.pd-cmp tr.today td.pd-dc small{color:var(--gold-ink);font-weight:600}
.pd-cmp tr.today td{background:transparent}
.pd-cmp tr.today td.pd-dc{background:var(--card)}
.pd-cmp tr.on td.pd-dc{box-shadow:inset 3px 0 0 var(--brand-600),1px 0 0 var(--line)}
.pd-cmp tr.on td.pd-cur{outline:2px solid var(--brand-500);outline-offset:-2px}
.pd-cmp tfoot td{font-weight:700}
.pd-cmp tfoot td.pd-dc{background:var(--card)}
.pd-cmp tfoot td.pd-cur{background:var(--prib)}
.pd-trend{margin:12px 2px 0;font-size:var(--fs-md);line-height:1.5}
.pd-tr{font-weight:700;margin-right:4px}.pd-tr.up{color:var(--ok)}.pd-tr.down{color:var(--bad)}
.pd-avg{display:block;color:var(--mut);font-size:var(--fs-xs);margin-top:2px}
.pd-tw{max-height:none}
html[data-theme=dark] .pd-cmp .pd-dc,html[data-theme=dark] .pd-cmp tfoot td.pd-dc,html[data-theme=dark] .pd-cmp tr.today td.pd-dc{background:var(--card)}
html[data-theme=dark] .pd-cmp th.pd-dc{background:var(--soft)}
html[data-theme=dark] .pd-cmp tfoot td{background:var(--raise)}
html[data-theme=dark] .pd-cmp tfoot td.pd-cur,html[data-theme=dark] .pd-cmp td.pd-cur,html[data-theme=dark] .pd-cmp th.pd-cur{background:rgba(229,72,77,.10)}
html[data-theme=dark] .pd-now{color:var(--acc)}
@media (max-width:760px){
 .pd-h2s{display:block;font-size:var(--fs-sm)}
 .pd-cmp{min-width:0;width:max-content}
 .pd-cmp th,.pd-cmp td{padding:7px 10px}
 .pd-cmp .pd-dc{min-width:64px}
 .pd-cmp td.pd-dc small{display:block;margin:0}
 .pd-cmp th:not(.pd-dc),.pd-cmp td:not(.pd-dc){min-width:92px}
 .pd-h .btn{margin-left:auto}
}
.pd-cmp tr.on td{background:transparent}.pd-cmp tr.on td.pd-dc{background:var(--card)}.pd-cmp tr.on td.pd-cur{background:var(--prib)}
@media (max-width:760px){.pd-cmp th:nth-child(3),.pd-cmp td:nth-child(3){display:table-cell}}
/* Day-wise footer: total / 1..yesterday / % rows (07 Oct 2026) */
.pd-cmp tfoot td{position:static}
.pd-cmp tfoot tr.pd-sub td{font-weight:500;color:var(--mut);font-size:var(--fs-xs);padding-top:5px;padding-bottom:3px;border-top:1px dashed var(--line)}
.pd-cmp tfoot tr.pd-sub td small{display:inline;margin-left:4px;font-size:10px}
.pd-cmp tfoot tr.pd-vs td{font-size:var(--fs-sm);font-weight:600;padding-top:3px;padding-bottom:8px;border-top:0}
.pd-cmp tfoot tr.pd-vs td.pd-dc{color:var(--mut);font-weight:600}
.pd-pct{font-weight:700;white-space:nowrap}.pd-pct.up{color:var(--ok)}.pd-pct.down{color:var(--bad)}
.pd-trend:empty{display:none}
@media (max-width:760px){.pd-cmp tfoot tr.pd-sub td small{display:block;margin:0}}
/* ===================== Easy Wins (07 Oct 2026) ===================== */
.ez-head{margin-bottom:10px;align-items:flex-end}.ez-t h2{margin:0}.ez-t small{display:block;margin-top:2px;font-size:var(--fs-sm)}
.kpis.k3{grid-template-columns:repeat(3,minmax(0,1fr))}.ez-kpis .kpi{cursor:default}
.ez-of{font-size:13px;font-weight:600;color:var(--mut)}
.ez-bar{flex-wrap:wrap;gap:8px}.ez-bar .search{min-width:220px;flex:0 1 280px}
.ez-st{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--mut)}
.ez-card{padding:0;overflow:hidden}.ez-card .tbl-wrap{max-height:calc(100vh - 300px);border:0;border-radius:0}
.ez-tbl td{padding:9px 12px;vertical-align:top}.ez-tbl tbody tr{cursor:pointer}.ez-tbl tbody tr:hover td{background:var(--hov)}
.ez-tbl td .br-sub{max-width:240px}.ez-tbl td small.muted{font-size:11px;margin-left:1px}
.ez-late{color:var(--bad);font-weight:600}
.ez-tbl thead th#ezStH,.ez-tbl thead th:nth-child(5){white-space:normal;max-width:96px;line-height:1.25}
.ez-tbl td .br-sub{max-width:170px}
.ez-tbl th.ez-acth{text-align:left}.ez-tbl td.ez-act{white-space:nowrap;cursor:default}
.ez-btns{display:inline-flex;gap:4px}
.ezb{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--btn);color:var(--ink);font:inherit;font-size:12px;font-weight:600;cursor:pointer;line-height:1}
.ezb .ic{width:13px;height:13px;flex:none}
.ezb-wa .ic{color:#1DA851}.ezb-priya .ic{color:var(--brand-600)}.ezb-manual .ic{color:var(--gold-ink)}
.ezb:hover:not(:disabled){border-color:var(--brand-500);background:var(--hov)}
.ezb:focus-visible{outline:2px solid var(--brand-500);outline-offset:1px}
.ezb:disabled{opacity:.4;cursor:not-allowed}
.ezb.ezb-soft{opacity:.55;border-style:dashed}
.ez-ast{display:block;margin-top:4px;font-size:11px;font-weight:600;max-width:210px;overflow:hidden;text-overflow:ellipsis}
.ez-ast.ok{color:var(--ok)}.ez-ast.bad{color:var(--bad)}
.ezc-h{display:flex;align-items:center;gap:8px}.ezc-h h3{margin:0;flex:1}.ezc-x{padding:4px 9px}
.ezc-dl{display:grid;gap:6px;margin:12px 0 4px}.ezc-dl>div{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:baseline}
.ezc-dl dt{font-size:var(--fs-xs);color:var(--mut);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.ezc-dl dd{margin:0}
.ezc-block{margin:10px 0 2px;padding:9px 12px;border-radius:10px;background:var(--badb, rgba(217,45,32,.08));color:var(--bad);border:1px solid currentColor;font-size:var(--fs-sm)}
html[data-theme=dark] .ezb-wa .ic{color:#4ACB89}html[data-theme=dark] .ezb-priya .ic{color:var(--acc)}
@media (max-width:760px){ .ez-tbl td.ez-act{grid-column:1 / -1;padding-top:6px}.ez-tbl td.ez-act::before{display:none}.ezb{height:32px;padding:0 12px;font-size:13px}.ez-btns{gap:6px} }
.ez-pp{display:inline-block;margin-left:6px;font-size:11px;vertical-align:1px}
.ez-note{padding:10px 14px;margin:0;border-top:1px solid var(--line)}
.pd-ez{display:block;margin:10px 0 0;padding:10px 12px;font-size:var(--fs-sm);color:var(--gold-ink);text-decoration:none;background:var(--goldb);border:1px solid var(--gold-line);border-left:3px solid var(--gold);border-radius:10px;line-height:1.45}
.pd-ez:hover{color:var(--gold-ink);background:var(--goldb);border-color:var(--gold);filter:brightness(.98);text-decoration:none}.pd-ez b{font-weight:700;color:inherit}
html[data-theme=dark] a.pd-ez,html[data-theme=dark] a.pd-ez:visited{color:var(--gold-ink);background:var(--goldb);border-color:var(--gold-line);border-left-color:var(--gold)}
html[data-theme=dark] a.pd-ez:hover{color:var(--gold);border-color:var(--gold);filter:brightness(1.08)}
.ez-mo{display:none}
@media (max-width:760px){
 .kpis.k3.ez-kpis{grid-template-columns:1fr 1fr}.kpis.k3.ez-kpis .kpi{grid-column:auto}.kpis.k3.ez-kpis .kpi:first-child{grid-column:1 / -1}
 .ez-kpis .kpi b{font-size:20px}
 .ez-bar .search{flex:1 1 100%;min-width:0}
 .ez-card .tbl-wrap{max-height:none}
 .ez-tbl tr{display:grid !important;grid-template-columns:1fr 1fr;column-gap:14px;padding:10px 6px}
 .ez-tbl td{padding:2px 8px;align-items:baseline}
 .ez-tbl td.ez-nm{grid-column:1 / -1;padding-bottom:4px}.ez-tbl td.ez-nm b{font-size:15px}
 .ez-tbl td.ez-ch{grid-column:1 / -1;align-items:center}.ez-tbl td.ez-ch>span{text-align:right}.ez-tbl td.ez-ch .br-sub{max-width:none}
 .ez-mo{display:inline}
 .ez-head{flex-wrap:wrap}.ez-head #ezMeta{flex-basis:100%}
}
/* Easy Wins: source switch + pay-day / days-late filters (07 Oct 2026) */
.ez-src{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.ez-src .seg.sm{display:inline-flex;flex-wrap:nowrap}.ez-src .seg.sm button{padding:5px 12px;font-size:12.5px}
.ez-srcl{font-size:var(--fs-xs);color:var(--mut)}.ez-srcl b{color:var(--ink);font-weight:600}
.ez-bar select{max-width:170px}
.ez-empty{padding:22px 16px !important;line-height:1.7;color:var(--mut)}.ez-empty b{color:var(--ink)}.ez-empty a{color:var(--brand-600);font-weight:600}
html[data-theme=dark] .ez-empty a{color:var(--acc)}
@media (max-width:760px){
 .ez-src .seg.sm{width:100%}.ez-src .seg.sm button{flex:1;padding:6px 6px;font-size:12px}
 .ez-bar select{flex:1 1 calc(50% - 4px);max-width:none;min-width:0}
 .ez-bar .ez-st{flex:1 1 calc(50% - 4px)}.ez-bar .ez-st select{flex:1}
 .ez-tbl td.ez-empty{display:block}
}
@media (max-width:760px){.ez-lg{display:none}.ez-bar .ez-st{min-width:0}.ez-bar .ez-st select{min-width:0;width:100%}}
/* Easy Wins: data-source file dropdown (07 Oct 2026, replaces the segmented switch) */
.ez-src{margin:0 0 4px;gap:8px}.ez-srcsel{font-size:var(--fs-sm);font-weight:600;color:var(--mut)}
#ezSrc{min-width:340px;max-width:100%;font-weight:600}
p.ez-srcl{margin:0 0 12px;line-height:1.5}
@media (max-width:760px){#ezSrc{min-width:0;width:100%;font-size:13px}.ez-srcsel{flex-basis:100%}}
/* Easy Wins: Brain-stop override (07 Oct 2026) */
.ezc-ovr{margin:10px 0 2px;padding:10px 12px;border-radius:10px;background:var(--warnb);border:1px solid var(--warn);display:grid;gap:8px}
.ezc-ovr-r{margin:0;color:var(--warn);font-size:var(--fs-sm)}
.ezc-ovr-l{display:flex;gap:9px;align-items:flex-start;cursor:pointer;font-weight:600;font-size:var(--fs-sm);color:var(--ink);line-height:1.35}
.ezc-ovr-l input{width:17px;height:17px;margin:1px 0 0;flex:none;accent-color:var(--warn);cursor:pointer}
.ezc-ovr small{font-size:var(--fs-xs);line-height:1.35}
.k-easy .tl-ic{background:var(--warnb);color:var(--warn)}
/* stale-tab Reload bar (07 Oct 2026) */
#verBar{position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:9999;display:flex;align-items:center;gap:12px;padding:9px 10px 9px 16px;border-radius:12px;background:var(--goldb);color:var(--gold-ink);border:1px solid var(--gold-line);border-left:4px solid var(--gold);box-shadow:0 6px 24px rgba(0,0,0,.18);font-weight:600;font-size:var(--fs-sm);max-width:calc(100vw - 24px)}
html[data-theme=dark] #verBar{background:#2A2210;color:#F7D488;border-color:#6B4A12;border-left-color:var(--gold)}
/* Line Executive field app (dashboard side) */
.fa-btn{margin-left:4px;white-space:nowrap}.ez-btns+.fa-btn{margin-top:4px}
.le-lines{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 12px;max-height:260px;overflow:auto;margin-top:6px;padding:8px;border:1px solid var(--line);border-radius:10px}
.le-lines label,.mc-form .le-lines label{flex-direction:row;align-items:center;gap:6px;font-size:13px}
#fdCash h3{margin:14px 0 8px}
.le-form>*{min-width:0}.le-form input,.le-form select{max-width:100%;min-width:0}
@media (max-width:640px){.le-form{grid-template-columns:minmax(0,1fr)!important}.le-lines{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}#leLq{max-width:100%!important;margin:6px 0 0!important;display:block}}

/* ---- WhatsApp OTP login (07 Oct 2026) ---- */
.lg-tabs{display:flex;gap:4px;margin-top:18px;padding:4px;border-radius:12px;background:var(--bg);border:1px solid var(--line)}
.lg-tabs button{flex:1;border:0;background:none;padding:9px 6px;border-radius:9px;font:inherit;font-size:13px;font-weight:600;color:var(--mut);cursor:pointer}
.lg-tabs button.on{background:var(--card,#fff);color:var(--brand-700,#7A121C);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.lg-tabs[hidden]{display:none}
.login-card form[hidden]{display:none}
.login-card .otp-sent{margin:0;padding:10px 12px;border-radius:10px;background:rgba(22,163,74,.1);color:var(--txt,inherit);font-size:14px}
.login-card input.otp-in{font-size:24px;letter-spacing:.45em;text-align:center;font-variant-numeric:tabular-nums}
.login-card label.chk{flex-direction:row;align-items:center;gap:8px;font-weight:500}
.login-card label.chk input{width:auto;padding:0}
.otp-row{display:flex;justify-content:space-between;align-items:center}.otp-row a{font-size:13px;color:var(--mut)}
.lm-box{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.lm-box .row{gap:8px;flex-wrap:wrap}

/* Field Executive Assigning */
.fa-top select{max-width:420px}
.fa-fl{display:inline-flex;flex-direction:column;gap:2px;font-size:11px;font-weight:600;color:var(--mut)}.fa-fl select{font-size:13px;min-width:150px;max-width:260px}
.fa-top #faFile{max-width:420px;min-width:300px}.fa-tbl th,.fa-tbl td{padding:6px 7px}
.fa-fl select:disabled{opacity:.55;cursor:not-allowed}.fa-chips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 6px}
.fa-tbl td .fa-yes{margin:1px 0}.fa-warn{border:1px solid var(--line);border-left:4px solid #d4a017;border-radius:8px;padding:10px 12px;margin-top:10px;font-size:13px}
.fa-opt{display:flex;gap:8px;align-items:center;margin-top:8px;cursor:pointer}.fa-opt.muted{cursor:not-allowed}
.fa-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 8px}.fa-bar .search{flex:1 1 220px;min-width:180px}.fa-bar .chipset{display:flex;gap:6px;flex-wrap:wrap}
.fa-sum{font-size:13px;margin:4px 2px 8px}
.fa-act{position:sticky;top:calc(var(--toph, 56px) + 2px);z-index:6;display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--bg, #f6f7f9);padding:6px 0}
.fa-tbl th,.fa-tbl td{padding:6px 8px;font-size:13px;white-space:nowrap}.fa-tbl th.c,.fa-tbl td.c{text-align:center}
.fa-tbl td.ck input,.fa-tbl th.ck input{width:16px;height:16px;cursor:pointer}
.fa-yes{display:inline-block;font-weight:700;font-size:12px;padding:1px 8px;border-radius:99px;background:var(--okb);color:var(--ok)}
.fa-paid{display:inline-block;font-weight:700;font-size:12px;padding:1px 8px;border-radius:99px;background:var(--okb);color:var(--ok)}
.fa-wrap{max-height:calc(100vh - 260px)}
@media (max-width:760px){.fa-top select{max-width:none;width:100%}.fa-wrap{max-height:none}
 .fa-tbl tr{display:flex!important;flex-wrap:wrap;align-items:center;gap:1px 10px;padding:7px 40px 7px 10px!important}
 .fa-tbl td{display:inline-flex!important;width:auto!important;padding:0!important;font-size:12px;color:var(--mut);gap:4px;white-space:nowrap;justify-content:flex-start!important}
 .fa-tbl td::before{font-size:11px;font-weight:600}
 .fa-tbl td.nm{order:-2;flex:1 0 100%;font-size:14px;font-weight:700;color:var(--ink)}
 .fa-tbl td[data-l=Pending]{order:-1;color:var(--ink);font-weight:700}
 .fa-tbl td[data-l=Loan]::before,.fa-tbl td[data-l=Area]::before,.fa-tbl td[data-l=Shown]::before{content:none}
 .fa-tbl td[data-l=Bucket]::before{content:'EMI'}.fa-tbl td[data-l=Grade]::before{content:'Gr'}
 .fa-tbl td[data-l=EMI],.fa-tbl td[data-l=Cluster],.fa-tbl td[data-l=Manager],.fa-tbl td[data-l="Last payment"]{display:none!important}
 .fa-tbl td[data-l=Line]::before{content:none}.fa-fl{flex:1 1 45%}.fa-fl select{width:100%;max-width:none}.fa-act .fa-fl{flex:1 1 100%}
 .fa-tbl td.ck{position:absolute!important;right:8px;top:10px}.fa-top #faFile{min-width:0}
 .fa-tbl td.ck input{width:20px;height:20px}
 .fa-act .btn.primary,.fa-act .btn.danger{flex:1}
 .fa-bar .chipset{flex-wrap:nowrap;overflow-x:auto;width:100%}}

/* Payments: 'Data till' freshness line under the KPI cards */
.pay-fresh{display:flex;align-items:center;gap:6px;margin:-2px 2px 10px;font-size:12px;line-height:1.4;color:var(--mut);cursor:help}
.pay-fresh svg{flex:none;opacity:.8}.pay-fresh b{color:var(--ink);font-weight:600}.pay-fresh i{font-style:normal;opacity:.6;margin:0 1px}
.pay-fresh .pf-f{opacity:.85}.pay-fresh .pf-old{color:var(--warn);font-weight:600}.pay-fresh.stale svg{color:var(--warn);opacity:1}
@media (max-width:700px){.pay-fresh{align-items:flex-start;font-size:11.5px}.pay-fresh .pf-f{word-break:break-all}}

/* customer link amount check line (Demand - In-Flow) */
.pl-line{margin-top:8px;padding:7px 10px;border-radius:8px;background:#f4f6fb;border:1px solid #e3e7f0;font-size:12.5px;line-height:1.45}
.pl-line b{font-weight:600;font-variant-numeric:tabular-nums}.pl-line.pl-ok{background:#f0fdf4;border-color:#bbf7d0}.pl-line.pl-no{background:#fff7ed;border-color:#fed7aa}
/* ===================== Top bar v3 (08 Oct 2026): no brand text, company tag, refined nav ===================== */
:root{--nav-track:rgba(20,23,31,.035);--nav-track-line:var(--line);--nav-hov:rgba(20,23,31,.05);--nav-on:#fff;--nav-on-sh:0 1px 2px rgba(20,23,31,.10),0 0 0 1px rgba(20,23,31,.06);--nav-on-ink:var(--brand-700);--nav-on-ic:var(--brand-600)}
html[data-theme=dark]{--nav-track:rgba(255,255,255,.025);--nav-track-line:var(--line-soft);--nav-hov:rgba(255,255,255,.05);--nav-on:#2E2728;--nav-on-sh:0 1px 2px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.07);--nav-on-ink:#fff;--nav-on-ic:var(--acc)}
.top{gap:12px;padding:0 18px;height:56px;min-height:56px}
.top .brand{display:flex;align-items:center;gap:10px;flex:none}
.top .brand .logo{height:26px;width:auto}
.top-sep{flex:none;width:1px;height:22px;background:var(--line)}
/* company tag: small, always visible - Guntur GNT = gold, Visakhapatnam VSKP = teal (never confuse the two companies) */
.co-tag{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px 0 7px;border-radius:6px;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;line-height:1;cursor:default;
  color:var(--gold-ink);background:var(--goldb);border:1px solid var(--gold-line)}
.co-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none}
.co-tag[data-co=vizag]{color:#0E7490;background:#ECFEFF;border-color:#A5F3FC}.co-tag[data-co=vizag]::before{background:#06B6D4}
html[data-theme=dark] .co-tag[data-co=vizag]{color:#67E8F9;background:rgba(34,211,238,.10);border-color:#155E75}
.top .co-tag[data-tip]:not([data-tip=""]):hover::after{left:0;transform:none}
/* nav: one segmented track, same icon size + stroke everywhere */
#tabs{display:flex;align-items:center;gap:2px;padding:3px;margin-left:0;border-radius:12px;background:var(--nav-track);border:1px solid var(--nav-track-line)}
#tabs button{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border:0;border-radius:9px;background:none;color:var(--mut);font-size:13.5px;font-weight:500;letter-spacing:.005em;white-space:nowrap;cursor:pointer;box-shadow:none;transition:background .15s,color .15s,box-shadow .15s}
#tabs button .nic,#tabs button .nic svg{width:17px;height:17px}
#tabs button svg{stroke-width:1.8}
#tabs button:hover,html[data-theme=dark] #tabs button:hover{color:var(--ink);background:var(--nav-hov)}
#tabs button.on,html[data-theme=dark] #tabs button.on{background:var(--nav-on);color:var(--nav-on-ink);font-weight:600;box-shadow:var(--nav-on-sh)}
#tabs button.on .nic{color:var(--nav-on-ic)}
/* Brain keeps its gold accent (icon), text stays calm */
#tabs button.nav-brain,html[data-theme=dark] #tabs button.nav-brain{color:var(--mut)}
#tabs button.nav-brain .nic,html[data-theme=dark] #tabs button.nav-brain .nic{color:var(--gold)}
#tabs button.nav-brain:hover,html[data-theme=dark] #tabs button.nav-brain:hover{color:var(--ink);background:var(--nav-hov)}
#tabs button.nav-brain.on,html[data-theme=dark] #tabs button.nav-brain.on{background:var(--nav-on);color:var(--nav-on-ink);box-shadow:var(--nav-on-sh)}
#tabs button.nav-brain.on .nic,html[data-theme=dark] #tabs button.nav-brain.on .nic{color:var(--gold)}
/* count badge: small inline pill after the label */
#tabs .nbadge{position:static;display:inline-block;min-width:18px;height:18px;padding:0 5px;margin-left:1px;border-radius:99px;font-size:11px;font-weight:700;line-height:18px;text-align:center;font-variant-numeric:tabular-nums;background:var(--bad);color:#fff;box-shadow:none}
#tabs .nbadge:empty{display:none}
html[data-theme=dark] #tabs .nbadge{box-shadow:none}
/* sidebar footer: company + version */
.side-ft .co-ft{font-weight:600;color:rgba(255,255,255,.75)}
.side-ft #appVer{font-variant-numeric:tabular-nums}
/* medium screens: icons only (badge sits on the icon corner) */
@media (max-width:1080px){
 #tabs .nl{display:none}
 #tabs button{padding:0 10px;position:relative}
 #tabs .nbadge{position:absolute;top:1px;right:1px;min-width:16px;height:16px;line-height:16px;padding:0 4px;font-size:10px;box-shadow:0 0 0 2px var(--card)}
}
@media (max-width:760px){
 .top{gap:10px;padding:0 12px}
 .top-sep{display:none}
 .top .brand{gap:8px}
 .top .brand .logo{height:24px}
}
/* sidebar: never squash section headers when the list is taller than the screen (it scrolls instead) */
.side>*{flex-shrink:0}
@media (min-width:761px){.side button[data-v],.side button[data-go]{padding-top:8px;padding-bottom:8px}}
html[data-theme=dark] a.ask-pop-b{color:var(--mut)}html[data-theme=dark] a.ask-pop-b:hover{color:var(--ink)}
/* ===== 08 Oct 2026: 'activated' company tag (GNT gold / VSKP teal) - same soft glow + ring cadence as the Ask PPAF button ===== */
.co-tag{--ring:rgba(201,162,39,.42);--glow:rgba(201,162,39,.22);color:#6B5205;border-color:rgba(201,162,39,.55);
 background:linear-gradient(135deg,#FDF7E1 0%,#F5E3A6 100%);box-shadow:0 1px 6px var(--glow);animation:coRing 6s ease-out 1.5s infinite}
.co-tag::before{background:var(--gold);box-shadow:0 0 0 2px rgba(201,162,39,.18),0 0 6px rgba(201,162,39,.7)}
.co-tag[data-co=vizag]{--ring:rgba(6,182,212,.42);--glow:rgba(6,182,212,.22);color:#0B5F75;border-color:rgba(6,182,212,.5);background:linear-gradient(135deg,#E8FCFF 0%,#B9F0F8 100%)}
.co-tag[data-co=vizag]::before{background:#06B6D4;box-shadow:0 0 0 2px rgba(6,182,212,.18),0 0 6px rgba(6,182,212,.7)}
html[data-theme=dark] .co-tag{--ring:rgba(217,181,74,.4);--glow:rgba(217,181,74,.18);color:#F2D47E;border-color:rgba(217,181,74,.45);background:linear-gradient(135deg,rgba(217,181,74,.24) 0%,rgba(217,181,74,.07) 100%)}
html[data-theme=dark] .co-tag[data-co=vizag]{--ring:rgba(34,211,238,.4);--glow:rgba(34,211,238,.18);color:#7EEBFA;border-color:rgba(34,211,238,.45);background:linear-gradient(135deg,rgba(34,211,238,.24) 0%,rgba(34,211,238,.07) 100%)}
html[data-theme=dark] .co-tag[data-co=vizag]::before{background:#22D3EE}
@keyframes coRing{0%{box-shadow:0 1px 6px var(--glow),0 0 0 0 var(--ring)}22%{box-shadow:0 1px 6px var(--glow),0 0 0 6px transparent}100%{box-shadow:0 1px 6px var(--glow),0 0 0 6px transparent}}
@media (prefers-reduced-motion:reduce){.co-tag{animation:none}}
/* full Ask PPAF page: clear close button (top-right) */
.ask-top .ask-close{width:32px;height:32px;border-radius:9px;color:var(--mut);margin-left:2px}
.ask-top .ask-close:hover{color:var(--ink);background:var(--hov);border-color:var(--mut)}
.ask-top .ask-close svg{width:17px;height:17px;stroke-width:2}
html[data-theme=dark] .ask-top .ask-close{background:var(--btn);border-color:var(--line);color:var(--ink)}
@media (max-width:760px){.ask-top .ask-close{width:34px;height:34px}}
/* ===================== Top-bar clock (08 Oct 2026): IST time, border line = calling-window progress ===================== */
.tclock{--tc:#059669;--tc-ink:#065F46;--tc-glow:rgba(5,150,105,.55);--tc-track:rgba(20,23,31,.10);
 position:relative;display:inline-flex;align-items:center;justify-content:center;height:30px;min-width:90px;padding:0 13px;margin:0 2px;border-radius:15px;flex:none;cursor:default;outline:none;
 background:linear-gradient(180deg,rgba(20,23,31,.025),rgba(20,23,31,.045))}
.tclock[hidden]{display:none}
.tc-t{position:relative;z-index:1;font-family:ui-monospace,'SF Mono','JetBrains Mono','Cascadia Mono',Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:600;letter-spacing:.03em;color:var(--tc-ink);white-space:nowrap}
.tc-svg{position:absolute;inset:0;overflow:visible;pointer-events:none}
.tc-track{fill:none;stroke:var(--tc-track);stroke-width:1.5}
.tc-prog{fill:none;stroke:var(--tc);stroke-width:1.6;stroke-linecap:round;transition:stroke-dasharray .6s ease,stroke .3s}
.tc-dot{fill:var(--tc);filter:drop-shadow(0 0 2.5px var(--tc-glow)) drop-shadow(0 0 5px var(--tc-glow));animation:tcDot 2.8s ease-in-out infinite}
@keyframes tcDot{0%,100%{opacity:1}50%{opacity:.55}}
.tclock[data-st=late]{--tc:#D97706;--tc-ink:#92400E;--tc-glow:rgba(217,119,6,.55)}
.tclock[data-st=closed]{--tc:#94A3B8;--tc-ink:var(--mut);--tc-glow:transparent}
.tclock:hover,.tclock:focus-visible{background:linear-gradient(180deg,rgba(20,23,31,.04),rgba(20,23,31,.07))}
html[data-theme=dark] .tclock{--tc:#34D399;--tc-ink:#A7F3D0;--tc-glow:rgba(52,211,153,.65);--tc-track:rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015))}
html[data-theme=dark] .tclock[data-st=late]{--tc:#FBBF24;--tc-ink:#FDE68A;--tc-glow:rgba(251,191,36,.6)}
html[data-theme=dark] .tclock[data-st=closed]{--tc:#6B6360;--tc-ink:var(--mut);--tc-glow:transparent}
html[data-theme=dark] .tclock:hover{background:rgba(255,255,255,.05)}
@media (prefers-reduced-motion:reduce){.tc-dot{animation:none}.tc-prog{transition:none}}
/* the clock already shows the calling window, so the small window icon hides while the clock is visible */
@media (min-width:1081px){body.has-clock .top-r #winChip{display:none}}
@media (max-width:1080px){.tclock{display:none!important}}

/* Monthly Demand summary (Data Upload) - Status / EMI Bucket filters */
.dsum{margin:10px 0 12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.ds-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ds-h h4{margin:0 6px 0 0;font-size:15px}.ds-h select,.ds-h input{height:32px;font-size:13px}.ds-h input{max-width:200px}
.ds-bks{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0 4px}
.ds-bk{font-size:12px;border-radius:99px;padding:3px 10px;font-weight:600;white-space:nowrap}.ds-bk small{font-weight:500;opacity:.85}
.ds-bk.on{background:var(--okb);color:var(--ok)}.ds-bk.off{background:var(--grayb);color:var(--gray)}
.ds-miss{margin:2px 0 6px}.ds-bn{margin:6px 0}
.ds-grid{margin:8px 0;max-width:760px}
.ds-tbl th,.ds-tbl td{text-align:center;padding:7px 10px}.ds-tbl th.ds-dt,.ds-tbl td.ds-dt{text-align:left}.ds-tbl th{position:static}
.ds-st-tbl tbody tr[data-dss]{cursor:pointer}.ds-st-tbl tbody tr[data-dss]:hover,.ds-st-tbl tbody tr.on{background:var(--grayb)}.ds-tot td{font-weight:700}
.ds-lw{max-height:460px;overflow:auto;margin-top:6px}
.ds-st{display:inline-block;font-size:12px;font-weight:600;border-radius:99px;padding:2px 10px}
.ds-ok{background:var(--okb);color:var(--ok)}.ds-warn.ds-st,.ds-st.ds-warn{background:var(--warnb);color:var(--warn)}.ds-bad{background:var(--badb);color:var(--bad)}.ds-gray{background:var(--grayb);color:var(--gray)}
.ds-yes{color:var(--ok);font-weight:600}.ds-no{color:var(--mut)}
