/* Pulse / premium. Presentation overrides only. Existing business tokens and thresholds retained. */
:root{
 --bg:#f3f5f8;--bg-2:#edf1f7;--panel:#f4f6fa;--card:#fff;--card-solid:#fff;
 --ink:#17253a;--ink-2:#17253a;--body:#536176;--muted:#536176;--subtle:#66758b;
 --line:rgba(38,60,95,.11);--line-2:#dde4ee;--glass-border:rgba(38,60,95,.12);
 --blue:#3066d7;--good:#087d66;--teal:#087f91;--bad:#c23e5c;--amber:#9d690d;
 --radius:18px;--glass-blur:0px;--shadow:0 2px 4px rgba(25,40,65,.025),0 8px 24px rgba(25,40,65,.025);
 --shadow-hover:0 12px 30px rgba(25,40,65,.08);--overlay:rgba(243,245,248,.95);
 --premium-accent:#729efa;--premium-sheen:rgba(55,125,255,.07);
 --fs-num:36px;--fs-h3:19px;--fs-h4:14px;
}
:root[data-theme="dark"]{
 --bg:#0b1017;--bg-2:#0f1620;--panel:#151e2a;--card:#121a25;--card-solid:#121a25;
 --ink:#edf2fa;--ink-2:#f7f9fc;--body:#a4b1c4;--muted:#a4b1c4;--subtle:#8999ae;
 --line:rgba(162,183,215,.12);--line-2:#293547;--glass-border:rgba(162,183,215,.13);
 --blue:#85adff;--blue-deep:#a5c2ff;--good:#58d8b3;--bad:#f0839c;--amber:#e7bc69;--teal:#67cbdb;
 --soft-blue:rgba(107,152,243,.12);--soft-green:rgba(64,190,151,.1);--soft-teal:rgba(77,181,201,.1);
 --soft-red:rgba(225,94,128,.12);--soft-amber:rgba(219,169,78,.12);
 --cta:#dce8ff;--cta-ink:#152844;--cta-hover:#fff;--overlay:rgba(11,16,23,.94);
 --th:#161f2c;--row-hover:rgba(127,163,220,.07);--premium-sheen:rgba(107,152,243,.1);
 --shadow:0 1px 1px rgba(0,0,0,.15),0 8px 24px rgba(0,0,0,.08);
 --shadow-hover:0 12px 28px rgba(0,0,0,.18);
}
html{scroll-padding-top:calc(var(--top-h,130px) + var(--tab-h,0px) + 20px)}
body{background:var(--bg);letter-spacing:-.012em}
body::before{display:none}
button,a{touch-action:manipulation}
main{max-width:1680px;margin:0 auto;padding:28px 32px 56px;overflow-x:clip}
.skip-link{position:fixed;left:16px;top:-70px;z-index:100;padding:12px 20px;background:var(--cta);color:var(--cta-ink);border-radius:10px}
.skip-link:focus{top:12px}
.top{padding:17px 32px 13px;display:grid;grid-template-columns:1fr;gap:15px;background:var(--overlay);border-bottom:1px solid var(--line)}
.brand{gap:25px}.logo{gap:11px;padding-right:26px;align-self:stretch}.logo svg{filter:none;width:38px;height:38px}
.wordmark{display:flex;flex-direction:column;gap:3px}.wordmark b{color:var(--ink);font-size:23px;font-weight:650;letter-spacing:-.05em}
.wordmark small{font-size:8px;color:var(--subtle);font-weight:650;letter-spacing:.14em}
.eyebrow{display:block;font-size:9px;letter-spacing:.15em;font-weight:650;color:var(--subtle);margin-bottom:3px}
.store-name{font-size:22px;letter-spacing:-.035em;font-weight:600}.store-sub{font-size:11px;max-width:100ch;margin-top:3px}
.actions{width:100%}.dock{width:100%;padding:0;gap:8px;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;align-items:center;flex-wrap:wrap}
.dock .range-seg{margin-right:auto;border-radius:10px;padding:4px;background:var(--panel);border:1px solid var(--line)}
.dock .range-seg button{border-radius:7px;padding:7px 15px!important;font-size:12px!important;font-weight:550}
.dock .range-seg button.on{background:var(--card-solid);color:var(--ink);box-shadow:0 1px 5px rgba(0,0,0,.13),inset 0 0 0 1px var(--line-2)}
.dock .btn,.dock .range-seg,.dock .week-pill{transform:none!important;will-change:auto}
.dock .btn{font-size:12px;padding:9px 12px;border-radius:9px}.dock .btn-icon{padding:9px}
#exportBtn{background:var(--cta);color:var(--cta-ink);border-color:transparent;box-shadow:0 3px 10px rgba(35,70,135,.1)}
#lockBtn{margin-left:2px}.dock .lbl{display:inline}.dock .btn:hover{box-shadow:none}
.picker{top:90px;left:210px;width:440px;max-width:calc(100vw - 32px);padding:12px;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.3)}
.picker-list [role="option"]{padding:11px 10px;min-height:42px}.picker-list [role="option"]:focus{outline:2px solid var(--blue);outline-offset:-2px;background:var(--soft-blue)}
.card{padding:22px;background:var(--card);backdrop-filter:none;-webkit-backdrop-filter:none;transition:border-color .22s,box-shadow .22s,transform .22s}
.card::before,.tbl-wrap::after{display:none}.card:hover,.card:focus-within{transform:none;border-color:var(--line-2);box-shadow:var(--shadow)}
.kpi-row{grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:0}
.id-card{display:grid;grid-template-columns:255px minmax(0,1fr);gap:24px;align-items:center;min-height:112px;background:linear-gradient(110deg,var(--premium-sheen),transparent 65%),var(--card);border-color:var(--line-2)}
.id-card .id-top{margin:0;gap:14px}.id-card .id-title{font-size:20px;font-weight:600;letter-spacing:-.025em;line-height:1.35}.id-card .id-sub{margin-top:6px;font-size:11px}
.id-card .state-badge.lg{width:58px;height:58px;border-radius:16px;box-shadow:none;background:var(--soft-blue)}
.id-card .id-rows{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;border-left:1px solid var(--line);padding-left:24px}
.id-row{font-size:11px;line-height:1.6}.id-row:first-child{grid-column:1/-1}.id-row .ic{width:14px;height:14px;opacity:.75}
.kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:stretch}
.kpi{padding:21px 18px 16px;gap:10px;min-height:236px;position:relative;overflow:hidden;background:linear-gradient(160deg,var(--premium-sheen),transparent 55%),var(--card)}
.kpi:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:var(--premium-accent)}
.kpi-top{align-items:flex-start;gap:0}.kpi-top>div:last-child{width:100%}.kpi .ico{position:absolute;right:16px;top:18px;width:27px;height:27px;border-radius:8px}.kpi .ico .ic{width:15px;height:15px}
.kpi .lbl{font-size:10px;letter-spacing:.065em;line-height:1.45;min-height:28px;align-items:flex-start;padding-right:26px;color:var(--muted)}
.kpi .val{font-size:34px;line-height:1.15;font-weight:550;letter-spacing:-.055em;gap:8px;margin-top:7px}
.kpi .count{min-width:100%;font-feature-settings:"tnum";white-space:nowrap}
.kpi .delta{border-radius:5px;font-size:10px;padding:4px 6px;letter-spacing:0;line-height:1.45;gap:2px;font-weight:600}
.kpi .delta i{font-size:9px;font-weight:400;margin-left:0}.kpi .who{font-size:10px;margin-top:6px;font-weight:450;white-space:normal;line-height:1.5;overflow:visible}
.kpi .ref{font-size:10px;line-height:1.6;margin-top:auto;color:var(--subtle)}
.kpi-gauge .gauge{max-width:125px;margin:0 auto}.gauge path{stroke-width:6}.gauge .needle{stroke-width:1.6}.gauge .hub{r:3px}
.gauge .g-red{opacity:.65}.gauge .g-amber{opacity:.9}.gauge text{fill:var(--muted)}
.meter{height:4px;margin-top:8px}.meter-lbl{font-size:9px;margin-top:5px}
.kpi .rank-chip{font-size:10px;color:var(--blue)}
.strip{margin:17px 0 32px;padding:17px 0;border-bottom:1px solid var(--line);gap:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.strip .chip{background:none;border:0;border-right:1px solid var(--line);border-radius:0;padding:0 16px;box-shadow:none;backdrop-filter:none;display:grid;grid-template-columns:18px 1fr;gap:3px 9px}
.strip .chip:first-child{padding-left:4px}.strip .chip:last-child{border:0}.strip .chip b{font-size:20px;font-weight:550;letter-spacing:-.04em}.strip .chip .ic{grid-row:1/3;align-self:center;width:16px;height:16px;color:var(--subtle)}
.strip .chip span{grid-column:2;font-size:10px;line-height:1.45}
.sec-head{margin:0 0 17px;gap:12px}.sh-l{gap:11px}.sh-ico{background:var(--soft-blue);box-shadow:none;border:1px solid var(--line);width:34px;height:34px;border-radius:10px}.sh-ico .ic{width:16px;height:16px}
.sec-head h3{font-weight:550;letter-spacing:-.035em}.meta-pill{font-size:10px;font-weight:450;padding:5px 9px;background:transparent;border-color:var(--line)}
.rank-row{gap:16px;margin-bottom:34px}.rank-row .tcard{padding:20px 18px 16px;overflow:hidden}
.card-head{min-height:36px;align-items:flex-start;margin-bottom:12px}.card-head h4{font-size:13px;line-height:1.5;letter-spacing:-.015em;font-weight:550}.card-head h4 .ic{margin-right:2px}
.rank-row th:first-child{width:44px}.rank-row th.num{width:108px!important}.rank-row td,.rank-row th{padding:10px 7px}
.rank-row td{font-size:11px}.rank-row th{font-size:9px;letter-spacing:.035em}.rank-row .rk{width:21px;height:21px;font-size:10px;font-weight:500}
.rank-row td .second{display:block;font-size:9px;margin:2px 0 0}.rank-row .r1{box-shadow:0 0 0 4px var(--soft-amber)}
.rank-row tbody tr:last-child td{border-bottom:0}.you-line{padding-top:11px;border-top:1px solid var(--line);font-size:10px;flex-wrap:wrap;margin-top:10px;gap:4px}
.cb .pbar{height:24px;border-radius:5px}.cb .pbar i{opacity:.7;border-radius:5px}.cb b{font-weight:550}
.card.wide{margin-bottom:14px;padding:22px;scroll-margin-top:calc(var(--top-h,130px) + var(--tab-h,0px) + 16px)}
.card.wide>.sec-head.inner{gap:14px}.card.wide:not(.collapsed)>.sec-head.inner{margin:-22px -22px 22px;padding:18px 22px;background:var(--card-solid);border-bottom:1px solid var(--line)}
.card.wide.collapsed:hover{border-color:var(--premium-accent);background:linear-gradient(90deg,var(--premium-sheen),transparent),var(--card)}
.card.wide .sh-l{flex-basis:300px}.card.wide .sh-r{flex:1;gap:6px}.card.wide h3{font-size:16px;white-space:normal}.card.wide .sh-toggle{margin-left:0;border-radius:50%;width:32px;height:32px;flex:none}
.cols,.cols.two{gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.tblock{padding:17px;background:var(--bg-2);border:1px solid var(--line);border-radius:13px}
.cols h4{font-size:13px;padding-right:25px;line-height:1.5}.cols .sub{font-size:11px;line-height:1.6}.tbl-wrap{border:1px solid var(--line);border-radius:9px;overflow-x:auto}
.tblock table{min-width:450px}.tblock th{font-size:9px;letter-spacing:.025em}.tblock td{font-size:11px;padding:10px 8px}.tblock th:first-child{width:43px}
.pb{display:block;margin:3px 0 0;font-size:10px}.pc,.pn{display:block}.pn{white-space:normal;line-height:1.5}.stk{font-size:10px;min-width:30px;padding:3px 7px}.cat{font-size:10px}
.tb-tools{right:16px;top:14px}.viewbar{gap:5px;flex-wrap:wrap}.viewbar .seg button,.tab-seg button{font-size:10px;padding:7px 9px}.vb-count{font-size:10px}.vb-btn{border-radius:8px}
.fs{background:var(--overlay);padding:65px 24px 30px}.fs-box{max-width:1500px}.fs .tblock{padding:24px}.fs .tblock table{min-width:720px}.fs-close{top:18px;right:24px}
.empty{max-width:620px;margin:7vh auto;background:var(--card);padding:48px 36px;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.empty h2{font-size:26px;letter-spacing:-.04em}.empty p{line-height:1.8;font-size:13px}.empty svg{filter:none}
.loader-box{border-radius:20px;border-color:var(--line-2);box-shadow:0 25px 80px rgba(0,0,0,.2)}
@keyframes premium-enter{from{opacity:.35;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:no-preference){
 .kpi.inview{animation:premium-enter .55s cubic-bezier(.2,.7,.2,1) both}.kpi:nth-child(2){animation-delay:45ms}.kpi:nth-child(3){animation-delay:90ms}.kpi:nth-child(4){animation-delay:135ms}.kpi:nth-child(5){animation-delay:180ms}
 .rank-row .inview{animation:premium-enter .5s ease both}.card.wide:not(.collapsed)>.cols{animation:premium-enter .25s ease both}
 .picker:not([hidden]){animation:premium-enter .18s ease both}.sh-toggle:hover{background:var(--soft-blue)}
}
@media (max-width:1150px){
 main{padding:24px}.top{padding:15px 24px}.kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.kpi{grid-column:span 2;min-height:236px}.kpi:nth-child(n+4){grid-column:span 3}.kpi .val{font-size:38px}.kpi-gauge .gauge{max-width:125px}
 .rank-row{grid-template-columns:repeat(2,minmax(0,1fr))}.rank-row>*,.rank-row>:nth-child(n+4){grid-column:auto}.rank-row>:last-child{grid-column:1/-1}.cols,.cols.two{grid-template-columns:1fr}
 .id-card{grid-template-columns:210px minmax(0,1fr);gap:18px}.id-card .id-rows{padding-left:18px;gap:8px 16px}.dock .lbl{display:none}
}
@media (max-width:760px){
 .top{position:relative;padding:16px;gap:15px}.brand{gap:15px}.logo{padding-right:15px}.wordmark small{font-size:7px}.wordmark b{font-size:20px}.logo svg{width:32px;height:32px}.store-name{font-size:18px}.store-sub{max-width:47vw;font-size:10px}
 .dock{gap:7px}.dock .range-seg{width:100%;display:flex;margin:0}.dock .range-seg button{flex:1;padding:9px 6px!important;font-size:11px!important}.dock .btn{padding:8px 10px}.dock .week-pill{order:1;width:100%;justify-content:space-between}.dock .btn-icon{margin-left:0}
 main{padding:20px 16px 40px}.kpi-row{display:grid;overflow:visible}.id-card{display:flex;flex-direction:column;align-items:stretch;padding:20px;gap:18px}.id-card .id-rows{border-left:0;border-top:1px solid var(--line);padding:16px 0 0;gap:9px;grid-template-columns:1fr}.id-card .id-title{font-size:21px}
 .kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:10px}.kpi,.kpi:nth-child(n+4){grid-column:auto;min-height:232px;padding:14px 14px}.kpi:last-child{grid-column:1/-1}.kpi .val{font-size:34px}.kpi .ico{top:15px;right:12px;width:24px;height:24px}.kpi .lbl{font-size:9px;padding-right:20px}.kpi .who{font-size:10px}.kpi .ref{font-size:10px}.kpi:last-child{min-height:214px}.kpi:last-child .gauge{max-width:150px}
 .strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0;padding:20px 0;margin:5px 0 26px}.strip .chip{padding:0 10px!important}.strip .chip:nth-child(even){border:0}.strip .chip:last-child{grid-column:1/-1}.strip .chip b{font-size:21px}.strip .chip span{font-size:10px}
 .rank-row{display:grid;grid-template-columns:1fr;overflow:visible;gap:14px}.rank-row>*,.rank-row>:nth-child(n+4){grid-column:1;min-width:0}.rank-row .tcard{padding:18px 14px}.rank-row td{font-size:12px}.rank-row th.num{width:105px!important}.rank-row th:first-child{width:40px}
 .sec-head{gap:10px}.sh-l{flex-basis:100%}.sh-r{justify-content:flex-start}.sec-head h3{font-size:18px}.card.wide{padding:18px 14px}.card.wide .sh-l{flex-basis:calc(100% - 50px)}.card.wide .sh-r{order:3;flex-basis:100%}.card.wide .sh-toggle{position:absolute;right:14px;top:18px}.card.wide .sec-head{position:relative}.card.wide .sh-toggle{top:0;right:0}.card.wide h3{font-size:14px;padding-right:40px}.card.wide .meta-pill{font-size:9px;white-space:normal;line-height:1.5}.card.wide:not(.collapsed)>.sec-head.inner{top:0;margin:-18px -14px 18px;padding:18px 14px}.card.wide:not(.collapsed) .sh-toggle{top:18px;right:14px}
 .tblock{padding:14px 10px}.viewbar{max-width:100%}.tab-seg{max-width:100%}.tab-seg button{white-space:normal}.snap-dots{display:none}.picker{left:16px;top:100px}.picker-list{max-height:55vh}.picker-list [role="option"]{font-size:12px}.picker-list .c{font-size:10px}.empty{margin:24px auto;padding:36px 20px}.fs{padding:65px 10px 20px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.card{transform:none!important}}
/* Keep inherited narrow-screen column rules from turning flex-basis into header height. */
.sec-head,.sec-head.inner{flex-direction:row;align-items:center}
.logo{display:inline-flex}.store-sub{display:block}
@media (max-width:760px){.top{align-items:stretch}.picker{width:calc(100% - 32px)}}
