
:root{--bg:#f2f2f7;--card:#fff;--label:#000;--label2:rgba(60,60,67,.8);--label3:rgba(60,60,67,.5);--sep:rgba(60,60,67,.18);--fill:rgba(120,120,128,.12);
--thumb:#fff;--blue:#007aff;--cyan:#32ade6;--c1:#007aff;--c2:#30b0c7;--c3:#ff9500;--c4:#af52de;--c5:#ff2d55;--c6:#34c759;--other:#c7c7cc;--gbar:#d1d1d6;--avg:#34c759;--grid:rgba(60,60,67,.22);
--up:#248a3d;--up-bg:rgba(52,199,89,.14);--down:#d70015;--down-bg:rgba(255,59,48,.12);
--menu:rgba(250,250,252,.82);--shadow:0 10px 40px rgba(0,0,0,.18)}
:root[data-theme=dark]{--bg:#000;--card:#1c1c1e;--label:#fff;--label2:rgba(235,235,245,.78);--label3:rgba(235,235,245,.5);--sep:rgba(84,84,88,.55);--fill:rgba(118,118,128,.24);
--thumb:#636366;--blue:#0a84ff;--cyan:#64d2ff;--c1:#0a84ff;--c2:#40c8e0;--c3:#ff9f0a;--c4:#bf5af2;--c5:#ff375f;--c6:#30d158;--other:#636366;--gbar:#3a3a3c;--avg:#30d158;--grid:rgba(235,235,245,.22);
--up:#30d158;--up-bg:rgba(48,209,88,.16);--down:#ff453a;--down-bg:rgba(255,69,58,.16);
--menu:rgba(44,44,46,.8);--shadow:0 10px 40px rgba(0,0,0,.6)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--card:#1c1c1e;--label:#fff;--label2:rgba(235,235,245,.78);--label3:rgba(235,235,245,.5);--sep:rgba(84,84,88,.55);--fill:rgba(118,118,128,.24);
--thumb:#636366;--blue:#0a84ff;--cyan:#64d2ff;--c1:#0a84ff;--c2:#40c8e0;--c3:#ff9f0a;--c4:#bf5af2;--c5:#ff375f;--c6:#30d158;--other:#636366;--gbar:#3a3a3c;--avg:#30d158;--grid:rgba(235,235,245,.22);
--up:#30d158;--up-bg:rgba(48,209,88,.16);--down:#ff453a;--down-bg:rgba(255,69,58,.16);
--menu:rgba(44,44,46,.8);--shadow:0 10px 40px rgba(0,0,0,.6)}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--label);font:15px/1.3 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer}
a{color:inherit;text-decoration:none}
svg{display:block}
[hidden]{display:none!important}

header.top{position:fixed;top:0;left:0;right:0;z-index:20;background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);transition:box-shadow .2s}
header.top.scrolled{box-shadow:0 .5px 0 var(--sep)}
header.top{padding-top:env(safe-area-inset-top)}
.bar,.datenav{max-width:1120px;margin:0 auto;padding:0 max(16px,calc(env(safe-area-inset-right) + 8px)) 0 max(16px,calc(env(safe-area-inset-left) + 8px))}
.bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;height:56px}
.bar h1{margin:0;text-align:left;font-size:19px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.circ{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--fill)}
.app-badge{width:36px;height:36px;border-radius:10px;background:linear-gradient(145deg,#64d2ff,#0a84ff 55%,#5e5ce6);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 3px 8px rgba(10,132,255,.35)}
.circ svg,.arrow svg,.chev{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.circ svg{width:20px;height:20px}
.pill{height:36px;padding:0 14px 0 16px;border-radius:18px;background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue);font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.pill::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.8}
.pill[aria-expanded=true]{background:var(--blue);color:#fff}
.menu{position:relative}
.ctx{position:absolute;right:0;top:48px;min-width:230px;max-height:60vh;overflow:auto;padding:6px 0;border-radius:16px;background:var(--menu);-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);box-shadow:var(--shadow),0 0 0 .5px var(--sep);
transform-origin:top right;transform:scale(.6);opacity:0;visibility:hidden;transition:transform .35s cubic-bezier(.3,1.4,.5,1),opacity .2s,visibility 0s .35s}
.ctx.show{transform:none;opacity:1;visibility:visible;transition:transform .35s cubic-bezier(.3,1.4,.5,1),opacity .2s}
.share-pop button{display:grid;grid-template-columns:22px 1fr;align-items:center;width:100%;min-height:42px;padding:8px 16px 8px 12px;border-radius:10px;text-align:left;font-size:16px}
.share-pop button:hover{background:var(--fill)}
.datenav{display:flex;align-items:center;justify-content:center;gap:14px;height:40px}
.datenav span{min-width:200px;text-align:center;font-size:15px;font-weight:600}
.arrow{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;transition:transform .2s}
.arrow svg{width:16px;height:16px;stroke-width:3}
.arrow:active{transform:scale(.88)}
.arrow:disabled{background:var(--fill);color:var(--label3);cursor:default}

.wrap{max-width:1120px;margin:0 auto;padding:6px 16px calc(48px + env(safe-area-inset-bottom));transition:opacity .2s}
/* loading: the page stays as it is; a thin line under the top bar shows work in progress (only if it takes a moment) */
.wrap.loading::before{content:"";position:fixed;left:0;right:0;top:var(--hdr-h,96px);z-index:19;height:2px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--blue,#0a84ff),transparent) 0 0/35% 100% no-repeat;opacity:0;animation:loadIn .2s ease .35s forwards,loadSlide 1.1s ease-in-out .35s infinite}
@keyframes loadIn{to{opacity:1}}
@keyframes loadSlide{0%{background-position:-40% 0}100%{background-position:140% 0}}
@media (prefers-reduced-motion:reduce){.wrap.loading::before{animation:loadIn .2s ease .35s forwards}}
.seg{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);height:34px;padding:2px;margin:6px auto 4px;max-width:640px;border-radius:9px;background:var(--fill)}
.seg5{--n:5}.seg6{--n:6}.seg2{--n:2}
.seg button{position:relative;z-index:1;font-size:13px;font-weight:600}
.seg .thumb{position:absolute;top:2px;bottom:2px;left:2px;width:calc((100% - 4px) / var(--n));border-radius:7px;background:var(--thumb);box-shadow:0 3px 8px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04);
transform:translateX(calc(var(--i,0) * 100%));transition:transform .35s cubic-bezier(.3,1.2,.5,1)}
.seg.metric{max-width:220px;height:30px;margin-top:10px}
.seg.metric button{font-size:12px}

.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:24px 4px 8px}
.sec-head h2{margin:0;font-size:17px;font-weight:600}
.sub-note{font-size:12px;color:var(--label2);text-align:right}
.link{color:var(--blue);font-size:15px;font-weight:500}
.card{background:var(--card);border-radius:16px;padding:14px 16px}
.card-label{font-size:14px;color:var(--label2)}
.big{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;margin:2px 0 6px}
.big>span:first-child{font-size:32px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.chg{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--label2);white-space:nowrap}
.foot{margin:8px 4px 0;font-size:12px;color:var(--label2)}
.err{margin:16px 0 0;padding:12px 14px;border-radius:12px;background:var(--down-bg);font-size:14px}

.gc{display:inline-flex;align-items:center;justify-content:center;min-width:70px;gap:2px;height:20px;padding:0 7px;border-radius:10px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;background:var(--fill);color:var(--label2)}
.gc.up{background:var(--up-bg);color:var(--up)}
.gc.down{background:var(--down-bg);color:var(--down)}
.gc.new{background:color-mix(in srgb,var(--blue) 16%,transparent);color:var(--blue)}

.chart{position:relative;margin:12px 0 2px;padding-right:38px}
.plot{position:relative;height:var(--h,100px)}
.hl{position:absolute;left:0;right:0;border-top:1px solid var(--grid)}
.hl.avg{border-top:1.5px dashed var(--avg)}
.vl{position:absolute;top:0;bottom:0;border-left:1px dotted var(--grid)}
.yl{position:absolute;right:-38px;width:34px;transform:translateY(-50%);font-size:10px;color:var(--label2)}
.yl.avg{color:var(--avg)}
.cols{position:absolute;inset:0;display:flex;align-items:flex-end}
.colw{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center}
.stack{width:var(--bw,62%);display:flex;flex-direction:column-reverse;border-radius:3px 3px 0 0;overflow:hidden;transition:height .45s cubic-bezier(.3,1,.4,1)}
.stack i{display:block;width:100%}
.colw:hover .stack{filter:brightness(1.12)}
.xl{display:flex;margin-top:4px;font-size:10px;color:var(--label2)}
.xl span{flex:1;text-align:center;white-space:nowrap}
.xl.left span{text-align:left}

.legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px 12px;margin-top:12px}
.legend div{min-width:0}
.legend small{display:block;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.legend b{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}
.kv{margin-top:12px}
.kv div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:.5px solid var(--sep);font-size:15px}
.kv b{font-weight:500;color:var(--label2);text-align:right}

.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kpi{background:var(--card);border-radius:14px;padding:12px 14px;display:grid;gap:4px;min-width:0}
.kpi small{font-size:12px;color:var(--label2)}
.kpi b{font-size:20px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi .pv{font-size:11px;color:var(--label2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.chips{display:flex;gap:8px;overflow-x:auto;margin:0 0 10px;padding:0 2px 2px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips button{flex:none;height:30px;padding:0 14px;border-radius:15px;background:var(--fill);font-size:13px;font-weight:600}
.chips button.on{background:color-mix(in srgb,var(--blue,#0a84ff) 15%,transparent);color:var(--blue,#0a84ff);box-shadow:inset 0 0 0 .5px color-mix(in srgb,var(--blue,#0a84ff) 35%,transparent)}

.list{padding:4px 0}
.row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px 12px;width:100%;min-height:58px;padding:8px 14px 8px 16px;text-align:left;position:relative}
.row+.row::before{content:"";position:absolute;top:0;left:58px;right:0;border-top:.5px solid var(--sep)}
.row.tool{grid-template-columns:minmax(0,1fr) auto auto;min-height:48px}
.row.tool+.row.tool::before{left:16px}
.row:active{background:var(--fill)}
.aside{font-size:15px;color:var(--label2)}
.chev{width:14px;height:14px;color:var(--label3);stroke-width:3;transition:transform .2s}
.ico{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700;letter-spacing:-.02em}
.meta{min-width:0;display:grid;gap:5px}
.meta .name{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.track{display:flex;align-items:center;gap:6px}
.track i{height:4px;border-radius:2px;background:var(--label3);min-width:4px;transition:width .45s cubic-bezier(.3,1,.4,1)}
.track small{font-size:11px;color:var(--label2);white-space:nowrap;font-variant-numeric:tabular-nums}
.detail{grid-column:2/-1;display:none;gap:3px 14px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));font-size:12.5px;color:var(--label2);padding-bottom:2px}
.detail b{color:var(--label);font-weight:600}
.row.open .detail{display:grid}
.row.open .chev{transform:rotate(90deg)}
.more{display:block;padding:10px 16px 8px;color:var(--blue);font-size:15px}
.empty-row{padding:16px;color:var(--label2);font-size:14px}
.delta{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.delta.up{color:var(--up)}.delta.down{color:var(--down)}

.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tile{background:var(--card);border-radius:16px;padding:14px;text-align:left;display:grid;gap:4px;min-width:0;transition:transform .3s cubic-bezier(.3,1.3,.5,1)}
.tile:active{transform:scale(.97)}
.tile small{font-size:13px;color:var(--label2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile .tl{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile b{font-size:26px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tile .tm{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:var(--label2)}
.grid2{display:grid;gap:0 20px}

.table-card{padding:0;overflow:hidden}
.tscroll{overflow-x:auto}
.cmp{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.cmp th{position:sticky;top:0;padding:12px 12px 8px;text-align:right;font-size:12px;font-weight:600;color:var(--label2);white-space:nowrap}
.cmp th:first-child,.cmp td:first-child{text-align:left;position:sticky;left:0;background:var(--card);z-index:1}
.cmp td{padding:9px 12px;border-top:.5px solid var(--sep);text-align:right;vertical-align:top;font-variant-numeric:tabular-nums;white-space:nowrap}
.cmp td:first-child{max-width:170px;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.cmp td .gc{margin-top:3px}
.cmp td div{display:flex;flex-direction:column;align-items:flex-end}
.cmp tfoot td{padding:0}

.seg.base{max-width:300px;margin-top:8px}
.prog{position:relative;height:10px;border-radius:5px;background:var(--fill);margin:10px 0 4px;overflow:visible}
.prog i{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--blue);max-width:100%;transition:width .45s cubic-bezier(.3,1,.4,1)}
.prog i.done{background:var(--up)}
.prog b{position:absolute;top:-4px;bottom:-4px;width:2px;border-radius:1px;background:var(--label)}
.prog-legend{display:flex;justify-content:space-between;font-size:11.5px;color:var(--label2)}
.plan-big{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.plan-big b{font-size:26px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.plan-big span{font-size:13px;color:var(--label2)}
.plan-empty{font-size:14px;color:var(--label2);margin:10px 0 2px}
.plan-scope{font-size:12.5px;line-height:1.4;color:var(--label2);margin:6px 0 0}
.stack{position:relative}
.stack .bv{position:absolute;left:50%;bottom:100%;transform:translateX(-50%);margin-bottom:3px;font-size:10px;font-weight:700;color:var(--label2);white-space:nowrap;pointer-events:none}
.kv .beat b{display:flex!important;flex-direction:column;align-items:flex-end;gap:1px;text-align:right}
#compareTable td small.sub{display:block;font-size:11px;font-weight:500;color:var(--label2)}
.beat b small{display:block;font-size:11.5px;font-weight:500;color:var(--label2)}
.beat b.muted{color:var(--label2);font-weight:500}
.plan-more{display:block;margin:10px 2px 0;font-size:13px;font-weight:600;color:var(--blue,#0a84ff);text-decoration:none}
.plan-more:hover{text-decoration:underline}
.sec-acts{display:inline-flex;gap:14px;align-items:center}
.sec-acts .link.on{color:var(--label)}
.tgt-form{display:grid;gap:10px;margin-bottom:12px;padding-bottom:12px;border-bottom:.5px solid var(--sep)}
.tgt-title{margin:0;font-size:14px;font-weight:600}
.tgt-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tgt-grid label{display:grid;gap:4px;font-size:12px;color:var(--label2)}
.tgt-grid input{height:38px;padding:0 10px;border:0;border-radius:10px;background:var(--fill);color:var(--label);font:inherit;font-size:15px}
.tgt-grid input:focus{outline:2px solid var(--blue)}
.tgt-actions{display:flex;justify-content:flex-end;align-items:center;gap:18px}
.link.danger{color:var(--down)}
.pill-btn{height:34px;padding:0 18px;border-radius:17px;background:var(--blue);color:#fff;font-weight:600}
.pp{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:20px;padding:0 7px;border-radius:10px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;background:var(--fill);color:var(--label2);white-space:nowrap}
.pp.up{background:var(--up-bg);color:var(--up)}.pp.down{background:var(--down-bg);color:var(--down)}
.seg.single{--n:1}.seg.single button[data-base=ly]{display:none}
.grp-toggles{display:flex;justify-content:center;gap:8px;margin:10px 0 0}
.ptable td:first-child small{display:block;font-weight:400;font-size:11px;color:var(--label2);margin-top:2px}
.segtag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:7px;background:var(--fill);font-size:10.5px;font-weight:600;color:var(--label2);vertical-align:1px}
.cmp td .segtag{display:inline-block}
.chips.sub{margin-top:-4px}
.chips.sub button{height:26px;font-size:12px;padding:0 11px}
.ptable .pbar{height:4px;border-radius:2px;background:var(--fill);margin-top:6px;position:relative;min-width:110px}
.ptable .pbar i{position:absolute;left:0;top:0;bottom:0;border-radius:2px;background:var(--blue)}
.ptable td .bc{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.ptable td .bc small{font-size:10.5px;color:var(--label3)}
.ptable td .bc span.row2{display:flex;align-items:center;gap:6px}
.sub-note.left{margin:-4px 4px 10px;text-align:left}
.kpi .cl{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--label2);white-space:nowrap;overflow:hidden}
.kpi .cl em{font-style:normal;font-weight:600;color:var(--label)}
.kv div{align-items:center}
.kv span small{display:block;font-size:11px;color:var(--label2)}
.kv b{display:inline-flex;align-items:center;gap:8px}
.cmp th small{display:block;font-weight:400;font-size:10.5px;color:var(--label3)}
.cmp td.sh{color:var(--label2)}
.colw{cursor:pointer}
.colw.hot .stack{filter:brightness(1.18);outline:2px solid color-mix(in srgb,var(--label) 35%,transparent);outline-offset:1px}
.tip{position:fixed;z-index:50;min-width:170px;max-width:260px;padding:10px 12px;border-radius:12px;background:var(--menu);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);
box-shadow:var(--shadow),0 0 0 .5px var(--sep);font-size:12.5px;pointer-events:none}
.tip h4{margin:0 0 2px;font-size:12px;font-weight:600;color:var(--label2)}
.tip .tv{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.tip .tl{display:flex;justify-content:space-between;gap:10px;margin-top:3px;font-variant-numeric:tabular-nums}
.tip .tl i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px}
.tip .ly{margin-top:6px;padding-top:6px;border-top:.5px solid var(--sep);display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--label2)}
@media (min-width:760px){
  .kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tiles{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
  .grid2{grid-template-columns:1fr 1fr}
}
@media (min-width:1000px){
  .layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:0 24px;align-items:start}
  .layout.masonry{grid-auto-rows:4px;grid-auto-flow:row dense;row-gap:0}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .b-tools{max-width:calc((100% - 24px) / 2.35)}
}
@media (max-width:380px){.datenav span{min-width:160px}.big>span:first-child{font-size:28px}.seg button{font-size:12px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

.tgt-page .metric{margin-top:10px}
.segpick{justify-content:center;flex-wrap:wrap;margin:10px 0 0}
.tg-hint{margin:10px 0 0;font-size:12.5px;color:var(--label2)}
.tg-hint.warn{color:var(--down)}
.tgt-set{display:grid;gap:12px}
.tgt-eq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tgt-eq label{display:grid;gap:6px;min-width:0;font-size:12px;font-weight:600;color:var(--label2)}
.tgt-eq input{width:100%;min-width:0;height:46px;padding:0 14px;border:0;border-radius:12px;background:var(--fill);color:var(--label);font:inherit;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.tgt-eq input:focus{outline:2px solid var(--blue)}
.tgt-eq input:disabled{opacity:.6}
.tgt-opts{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px}
.tgt-opts .grow{flex:1}
.tgt-opts .tg span b{font-weight:700}
.tg-table input{width:100%;min-width:96px;height:34px;padding:0 10px;border:0;border-radius:9px;background:var(--fill);color:var(--label);font:inherit;font-size:14px;text-align:right}
.tg-table input:focus{outline:2px solid var(--blue)}
.tg-table td{vertical-align:middle}
.tg-table td small{display:block;font-size:11px;color:var(--label2);font-weight:400}
.savebar{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:10px 12px 10px 16px;border-radius:16px;
background:var(--menu);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);box-shadow:var(--shadow),0 0 0 .5px var(--sep);font-size:13.5px;color:var(--label2)}
.savebar span:last-child{display:flex;align-items:center;gap:14px}
.savebar.dirty>span:first-child{color:var(--label);font-weight:600}
.pill-btn:disabled{opacity:.4;cursor:default}
.ach-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ach-top b{font-size:34px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ach-top span{font-size:13px;color:var(--label2)}
.mini{height:4px;border-radius:2px;background:var(--fill);margin-top:5px;position:relative;min-width:80px}
.mini i{position:absolute;left:0;top:0;bottom:0;border-radius:2px;background:var(--blue);max-width:100%}
.mini i.done{background:var(--up)}
.cmp th[data-sort]{cursor:pointer}
.cmp th[data-sort].on{color:var(--blue)}
.ok90{color:var(--up);font-weight:600}
.swf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px}
.swf-col{border-radius:14px;padding:12px 14px;background:color-mix(in srgb,var(--c) 7%,var(--card));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 20%,transparent)}
.swf-col h3{margin:0 0 10px;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,var(--c) 80%,var(--label))}
.swf-col h3 i{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-style:normal;font-size:12px;color:#fff;background:var(--c)}
.swf-col h3 em{margin-left:auto;font-style:normal;font-size:11px;font-weight:700;color:var(--label2)}
.swf-col ol{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.swf-col li{font-size:13.5px;line-height:1.45;color:var(--label);padding-left:12px;position:relative}
.swf-col li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--c)}
.swf-col li small{display:block;margin-top:2px;font-size:12px;color:var(--label2)}
.swf-col .none{color:var(--label3);font-size:13px}
.swf-s{--c:#34c759}.swf-w{--c:#ff3b30}.swf-f{--c:#0a84ff}
.spc-swf{margin-bottom:12px}
.spc-swf .swf{padding:0 14px 14px}
.spc-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px 12px}
.spc-head b{font-size:17px;font-weight:700}
.spc-head .pp{font-size:12px}
.spc-head .meta{margin-left:auto;font-size:12.5px;color:var(--label2);font-variant-numeric:tabular-nums}
.verdict{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;color:#fff;background:var(--vc)}
#spcInsPick,#prodPick{margin-bottom:10px}
@media (max-width:900px){.swf{grid-template-columns:1fr}}
@media (max-width:420px){.tgt-eq input{font-size:17px;height:44px}}
html[data-view=phone] .swf{grid-template-columns:1fr}

/* admin passcode sheet (saving targets) */
.adm-shade{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.32);opacity:0;transition:opacity .2s}
.adm-shade.show{opacity:1}
.adm-sheet{width:min(360px,100%);display:grid;gap:10px;justify-items:center;padding:22px 20px 16px;border-radius:22px;text-align:center;
  background:var(--card,var(--surface-solid,#fff));color:var(--label);box-shadow:0 20px 60px rgba(0,0,0,.35),0 0 0 .5px var(--sep,rgba(0,0,0,.15));
  transform:scale(.92);transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
.adm-shade.show .adm-sheet{transform:none}
.adm-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--blue,#0a84ff) 14%,transparent);color:var(--blue,#0a84ff)}
.adm-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.adm-sheet h3{margin:0;font-size:18px}
.adm-sheet p{margin:0;font-size:13.5px;line-height:1.45;color:var(--label2,var(--label-3,#8e8e93))}
.adm-sheet input{width:100%;height:44px;padding:0 14px;border:0;border-radius:12px;background:var(--fill,rgba(120,120,128,.12));color:var(--label);font:inherit;font-size:16px}
.adm-sheet .adm-err{color:var(--neg,#d70015);font-weight:600}
.adm-btns{display:flex;gap:8px;width:100%;margin-top:4px}
.adm-btns button{flex:1;height:42px;border:0;border-radius:21px;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.adm-no{background:var(--fill,rgba(120,120,128,.12));color:var(--label)}
.adm-ok{background:var(--blue,#0a84ff);color:#fff}
.adm-ok:disabled{opacity:.5}
.sec-head h2{display:inline-flex;align-items:center;gap:8px}
/* one rhythm on every page: 24px above a section, 10px under its heading, 12px between boxes in a row, 24px between columns */
main .sec-head{display:flex!important;flex-wrap:wrap;align-items:center!important;justify-content:flex-start!important;column-gap:12px;row-gap:2px;margin:24px 2px 10px!important}
main .sec-head h2{white-space:nowrap;max-width:100%;line-height:26px}
main .sec-head > .link,main .sec-head > .sec-acts,main .sec-head > button:not(.xbtn){margin-left:auto}
main .sec-head > .sub-note{order:3;flex-basis:100%;text-align:left!important;margin:0;line-height:1.35}
main .kpis,main .tiles,main .rank,main .spc-models,main .ch-grid{gap:12px!important}
main .grid2{column-gap:24px!important}
main .card:not(.table-card):not(.list):not(.tiers){padding:14px 16px}
.xbtn{width:26px;height:26px;flex:none;border-radius:50%;display:inline-grid;place-items:center;background:var(--fill);color:var(--blue);transition:transform .2s,opacity .2s}
.xbtn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.xbtn:active{transform:scale(.88)}
.xbtn.busy{opacity:.4;pointer-events:none}
.x-wrap{position:fixed;left:-100000px;top:0;z-index:-1;display:inline-block;padding:18px;background:var(--x-canvas,#fff)}
.x-holder{padding:22px 22px 24px;box-sizing:content-box;border-radius:24px;overflow:hidden;background:var(--card);border:1px solid color-mix(in srgb,var(--label) 12%,transparent)}
.x-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:0 4px 16px;padding-bottom:14px;border-bottom:1px solid var(--sep)}
.x-title{margin:0;font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--label);line-height:1.1}
.x-sub{margin:6px 0 0;font-size:13px;color:var(--label2)}
.x-sub b{color:var(--label);font-weight:600}
.x-stamp{font-size:11.5px;color:var(--label3);white-space:nowrap;text-align:right}
.x-holder .sec-head{margin:0 4px 10px!important}
.x-holder .x-ctx{margin:6px 0 0;font-size:12.5px;font-weight:600;color:var(--blue,#0a84ff)}
.x-holder .x-foot{margin:16px 2px 0;padding-top:10px;border-top:.5px solid var(--sep,rgba(60,60,67,.18));font-size:11.5px;color:var(--label2)}
.x-holder .sec-head > .sub-note{flex-basis:auto!important}
.x-holder .card,.x-holder .kpi,.x-holder .tile,.x-holder .mcard,.x-holder .table-card{box-shadow:none!important;border:1px solid color-mix(in srgb,var(--label) 10%,transparent)}
.x-holder .cmp th:first-child,.x-holder .cmp td:first-child{box-shadow:none!important}
.x-holder .xbtn,.x-holder .more,.x-holder .link,.x-holder .tgt-form,.x-holder .savebar{display:none!important}
.x-holder .tscroll,.x-holder .table-scroll,.x-holder .ch-box{overflow:visible!important;max-height:none!important}
.x-holder .cmp th,.x-holder .cmp td:first-child{position:static!important}
.x-holder .cmp td:first-child{max-width:none!important}
.x-holder .sec-head:first-child{margin-top:0}
/* an image shows everything in full: no "…", no sideways-scrolling rows, no sticky columns */
.x-holder td,.x-holder th,.x-holder .tb-name,.x-holder .rk-name,.x-holder .name,.x-holder .meta,.x-holder .mcard li span,.x-holder .kpi small,.x-holder .kpi b{max-width:none!important;overflow:visible!important;text-overflow:clip!important}
.x-holder .chips{flex-wrap:wrap!important;overflow:visible!important;mask-image:none!important;-webkit-mask-image:none!important}
.x-holder .grp-lab{position:static!important}
.x-holder .popover,.x-holder .pop,.x-holder .ctx,.x-holder [role=menu]{display:none!important}   /* menus never go into a picture */
/* text that used to overlap or get cut in pictures */
.x-holder svg{overflow:visible!important}                                  /* chart axis labels sit outside the plot box */
.x-holder .ch-box{padding:2px 12px 2px 30px!important;box-sizing:border-box}
.x-holder .ch-box .hit,.x-holder svg .hit{display:none!important}           /* hover areas turned into solid black blocks */
.x-holder .x-head{flex-wrap:wrap;align-items:flex-end;row-gap:6px}
.x-holder .x-head > div:first-child{flex:1 1 320px;min-width:0}
.x-holder .x-title{overflow-wrap:anywhere;line-height:1.18}
.x-holder .x-sub,.x-holder .x-ctx{line-height:1.4;overflow-wrap:anywhere}
.x-holder .x-stamp{flex:none;margin-left:auto}
.x-holder td,.x-holder th{line-height:1.35;vertical-align:middle}
.x-holder .pill,.x-holder .chip,.x-holder .badge,.x-holder .tag,.x-holder [class*="-pill"],.x-holder [class*="pill-"]{flex:none;white-space:nowrap;line-height:1.3}
.x-holder .kpi,.x-holder .tile,.x-holder .mcard,.x-holder .card{min-width:0;line-height:1.3}
.x-holder .kpi b,.x-holder .kpi small,.x-holder .tile b,.x-holder .tile small{display:block;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
.x-holder .lg,.x-holder .legend{flex-wrap:wrap!important;row-gap:6px;column-gap:14px}
.x-holder [style*="position: sticky"],.x-holder .sticky{position:static!important}

.ch .chips{margin-top:8px}
.ch-range{display:flex;gap:10px;margin:0 2px 10px}
.ch-range label,.ch-grid label{display:grid;gap:4px;font-size:12px;color:var(--label2);flex:1}
.ch-range input,.ch-grid select{height:36px;padding:0 10px;border:0;border-radius:10px;background:var(--fill);color:var(--label);font:inherit;font-size:14px;width:100%}
.ch-controls{display:grid;gap:12px}
.ch-row{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:10px;font-size:13px;color:var(--label2)}
.ch-row .seg{margin:0;max-width:none}
.seg3{--n:3}
.ch-types{--n:7}
.ch-panel{display:grid;gap:0;margin-top:8px;padding:6px 16px;border-radius:22px;
background:linear-gradient(140deg,color-mix(in srgb,#0a84ff 9%,var(--card)) 0%,var(--card) 45%,color-mix(in srgb,#af52de 8%,var(--card)) 100%);
box-shadow:0 0 0 .5px var(--sep),0 10px 30px rgba(0,0,0,.07)}
.ch-group{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;padding:14px 0}
.ch-group+.ch-group{border-top:.5px solid var(--sep)}
.gi{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(160deg,color-mix(in srgb,var(--g) 80%,#fff),var(--g));box-shadow:0 4px 10px color-mix(in srgb,var(--g) 35%,transparent)}
.gi svg{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.gl{margin:1px 0 9px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--g)}
.ch-panel .chips{margin:0;flex-wrap:wrap;overflow:visible}
.ch-panel .chips button{background:color-mix(in srgb,var(--g) 11%,var(--fill));color:var(--label)}
.ch-panel .chips button.on{background:var(--g);color:#fff;box-shadow:0 3px 10px color-mix(in srgb,var(--g) 40%,transparent)}
.ch-panel .seg{margin:0;max-width:none;background:color-mix(in srgb,var(--g) 10%,var(--fill))}
.ch-panel .seg .thumb{background:var(--g);box-shadow:0 3px 10px color-mix(in srgb,var(--g) 40%,transparent)}
.ch-panel .seg button{transition:color .25s}
.ch-panel .seg button[aria-selected=true]{color:#fff}
.ch-panel select,.ch-panel input[type=date]{appearance:none;-webkit-appearance:none;background:color-mix(in srgb,var(--g) 9%,var(--fill));border:1px solid color-mix(in srgb,var(--g) 18%,transparent);
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23af52de' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E");
background-repeat:no-repeat;background-position:right 8px center;background-size:16px;padding-right:30px;font-weight:600}
.ch-panel input[type=date]{background-image:none;padding-right:10px}
.ch-panel select:focus,.ch-panel input:focus{outline:2px solid var(--g)}
.ch-panel .tg span{background:color-mix(in srgb,var(--g) 9%,var(--fill));color:var(--label2)}
.ch-panel .tg input:checked+span{background:var(--g);color:#fff;box-shadow:0 3px 10px color-mix(in srgb,var(--g) 35%,transparent)}
.ch-panel .tg input:checked+span::before{content:"✓ ";font-weight:700}
.ch-types button{display:grid;place-items:center}
.ch-types svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ch-toggles{display:flex;flex-wrap:wrap;gap:8px}
.tg{display:inline-flex;align-items:center;cursor:pointer}
.tg input{position:absolute;opacity:0;pointer-events:none}
.tg span{height:30px;padding:0 12px;display:inline-flex;align-items:center;border-radius:15px;background:var(--fill);font-size:13px;font-weight:600;color:var(--label2)}
.tg input:checked+span{background:color-mix(in srgb,var(--blue) 18%,transparent);color:var(--blue)}
.tg input:focus-visible+span{outline:2px solid var(--blue)}
.ch-card{padding:14px 12px 12px}
.ch-total{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:0 4px 6px}
.ch-total b{font-size:26px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ch-total span{font-size:13px;color:var(--label2)}
.ch-box{width:100%;overflow-x:auto}
.ch-box svg{display:block}
.ch-box text{font:11px -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif;fill:var(--label2)}
.ch-box .vl-t{fill:var(--label);font-weight:600;font-size:10.5px}
.ch-box .ct{fill:var(--label);font-size:20px;font-weight:700}
.ch-box .gl{stroke:var(--grid);stroke-width:1}
.ch-box .avg{stroke:var(--avg);stroke-width:1.5;stroke-dasharray:5 4}
.ch-box .cmpl{fill:none;stroke:var(--label);stroke-width:1.8;stroke-dasharray:5 4;opacity:.65}
.ch-box .hit{fill:transparent;cursor:pointer}
.ch-box .hit:hover,.ch-box .hit.hot{fill:color-mix(in srgb,var(--label) 7%,transparent)}
.ch-legend{display:flex;flex-wrap:wrap;gap:6px 14px;padding:10px 4px 0;font-size:12.5px}
.ch-legend span{display:inline-flex;align-items:center;gap:6px}
.ch-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.ch-legend i.dash{height:0;border-top:2px dashed var(--label);border-radius:0;opacity:.65}
@media (min-width:760px){.ch-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.eod-layout{display:grid;gap:0 24px}
.eod-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px}
.et{display:grid;gap:6px;padding:12px;border-radius:14px;background:var(--fill);min-width:0}
.et small{font-size:12px;color:var(--label2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.et small em{font-style:normal;color:var(--label3);font-size:10.5px}
.et input{width:100%;border:0;background:none;color:var(--label);font:inherit;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;padding:0}
.et input:focus{outline:none}
.et:focus-within{box-shadow:0 0 0 2px var(--blue)}
.et.auto{background:color-mix(in srgb,var(--blue) 12%,transparent)}
.et.auto b{font-size:22px;font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kv-in{width:150px;max-width:100%;height:32px;padding:0 10px;border:0;border-radius:9px;background:var(--fill);color:var(--label);font:inherit;font-size:15px;font-weight:600;text-align:right}
.kv-in:focus{outline:2px solid var(--blue)}
.eod-steps{display:flex;gap:6px}
.step{width:32px;height:28px;border-radius:14px;background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue);font-size:18px;font-weight:700;line-height:1}
.mrow{display:grid;grid-template-columns:30px minmax(0,1fr) auto 28px;align-items:center;gap:10px;padding:8px 12px 8px 16px;position:relative}
.mrow+.mrow::before{content:"";position:absolute;top:0;left:56px;right:0;border-top:.5px solid var(--sep)}
.mcombo{position:relative;display:block;min-width:0}
.mrow .mname{width:100%;height:38px;padding:0 12px;border:0;border-radius:10px;background:var(--fill);color:var(--label);font:inherit;font-size:16px}
.mrow .mname:focus{outline:2px solid var(--blue)}
.sugg{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;max-height:260px;overflow:auto;overscroll-behavior:contain;padding:6px;border-radius:14px;
  background:var(--card);-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);box-shadow:var(--shadow),0 0 0 .5px var(--sep)}
.sugg button{display:block;width:100%;min-height:40px;padding:8px 10px;border-radius:10px;text-align:left;font-size:15px;color:var(--label)}
.sugg button:hover,.sugg button.on{background:color-mix(in srgb,var(--blue) 14%,transparent)}
.sg-none{padding:10px;font-size:13px;color:var(--label2)}
#models{overflow:visible}
@media (max-width:560px){
  .mrow{grid-template-columns:30px minmax(0,1fr) 28px;grid-template-areas:"n m x" ". q q";row-gap:8px}
  .mrow .ico{grid-area:n}.mrow .mcombo{grid-area:m}.mrow .x{grid-area:x}.mrow .qty{grid-area:q;justify-self:start}
}
.qty{display:inline-flex;align-items:center;border-radius:10px;background:var(--fill);overflow:hidden}
.qty button{width:30px;height:34px;color:var(--blue);font-size:18px;font-weight:700}
.qty input{width:34px;height:34px;border:0;background:none;color:var(--label);font:inherit;font-weight:700;text-align:center;-moz-appearance:textfield}
.qty input::-webkit-inner-spin-button{display:none}
.mrow .x{width:28px;height:28px;border-radius:50%;background:var(--down-bg);color:var(--down);font-weight:700}
.eod-t input{width:100%;min-width:70px;height:34px;padding:0 10px;border:0;border-radius:9px;background:var(--fill);color:var(--label);font:inherit;font-size:14px;text-align:right}
.eod-t input:focus{outline:2px solid var(--blue)}
.eod-t td small{display:block;font-size:10.5px;color:var(--label2);font-weight:400}
.cmp.eod-t tbody tr.sum td{background:color-mix(in srgb,var(--blue) 10%,transparent);color:var(--blue)}
.cmp.eod-t tbody tr.care td{background:color-mix(in srgb,#34c759 8%,transparent)}
.eod-attach{margin:0;padding:0 16px 6px}
.wa-card{padding:0;overflow:hidden}
.eod-opts{margin:0 0 10px;padding:12px 14px}
.eo-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:13.5px}
.eo-presets{display:flex;gap:6px}
.eo-presets button{height:26px;padding:0 10px;border:0;border-radius:13px;background:var(--fill);color:var(--blue);font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.eo-chips{display:flex;flex-wrap:wrap;gap:6px}
.eo-chips label{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:15px;background:var(--fill);font-size:12.5px;font-weight:600;cursor:pointer;user-select:none}
.eo-chips input{margin:0;accent-color:var(--blue)}
.eo-chips label:has(input:checked){background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue)}
.wa-chat{padding:16px;background:color-mix(in srgb,#25d366 8%,var(--bg));background-image:radial-gradient(color-mix(in srgb,var(--label) 6%,transparent) 1px,transparent 1px);background-size:14px 14px;max-height:70vh;overflow:auto}
.wa-bubble{margin:0 0 0 auto;max-width:92%;width:fit-content;padding:10px 12px;border-radius:12px 4px 12px 12px;background:#d9fdd3;color:#111b21;font:13.5px/1.42 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif;white-space:pre-wrap;word-break:break-word;box-shadow:0 1px 1px rgba(0,0,0,.12)}
:root[data-theme=dark] .wa-bubble{background:#005c4b;color:#e9edef}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .wa-bubble{background:#005c4b;color:#e9edef}}
.share-menu{margin-left:auto}
.share-ic{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue)}
.share-ic svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.share-ic[aria-expanded=true]{background:var(--blue);color:#fff}
.share-pop{top:44px;min-width:210px}
.share-pop button{grid-template-columns:34px 1fr;gap:4px;font-size:15px}
.sp-ic{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:#fff}
.sp-ic svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.wa-btn{height:40px;border-radius:12px;background:var(--fill);font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.wa-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wa-btn.wa{background:#25d366;color:#fff}
@media (min-width:1000px){
  .eod-layout{grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr);align-items:start}
  .eod-right{position:sticky;top:142px}
}
@media (max-width:560px){.eod-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.et input,.et.auto b{font-size:19px}}
/* EOD entry grids: aligned columns on wide screens, two-line cards on phones */
.eod2 .sec-head{margin-top:24px}
.eod-tiles{gap:12px;padding:14px}
.et{padding:12px 14px;border-radius:14px;min-height:78px;align-content:space-between}
.et input{font-size:24px;line-height:1.1}
.et.auto b{font-size:24px;line-height:1.1}
.eg{padding:6px 0}
.eg-cat .eg-head,.eg-cat .eg-row{grid-template-columns:minmax(130px,1.4fr) repeat(4,minmax(0,1fr))}
.eg-ff .eg-head,.eg-ff .eg-row{grid-template-columns:minmax(130px,1.6fr) minmax(0,1fr) minmax(0,1fr)}
.eg-head,.eg-row{display:grid;align-items:center;gap:10px;padding:0 16px}
.eg-head{min-height:38px;margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--label);
  background:color-mix(in srgb,var(--blue) 12%,var(--card));border-bottom:1.5px solid color-mix(in srgb,var(--blue) 35%,transparent);margin-top:-6px;border-radius:16px 16px 0 0}
.eg-head span:not(:first-child){text-align:right}
.eg-row{min-height:58px;padding-top:7px;padding-bottom:7px;position:relative}
.eg-row+.eg-row::before{content:"";position:absolute;top:0;left:16px;right:16px;border-top:.5px solid var(--sep)}
.eg-name{font-size:15px;font-weight:600;color:var(--label);min-width:0}
.eg-name small{display:block;font-size:11px;font-weight:400;color:var(--label2);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eg-name small.eg-tag{color:var(--label3)}
.eg-in{display:block;min-width:0}
.eg-in span,.eg-out span{display:none}
.eg-in input{width:100%;height:40px;padding:0 12px;border:0;border-radius:11px;background:var(--fill);color:var(--label);font:inherit;font-size:15px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.eg-in input::-webkit-inner-spin-button,.eg-in input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.eg-in input:focus{outline:none;box-shadow:0 0 0 2px var(--blue);background:var(--card)}
.eg-in input::placeholder{color:var(--label3);font-weight:500}
.eg-out{text-align:right;min-width:0}
.eg-out b{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--label)}
.eg-row.sum{background:color-mix(in srgb,var(--blue) 10%,var(--card))}
.eg-row.sum .eg-name,.eg-row.sum .eg-out b{color:var(--blue)}
.eg-row.sum::before,.eg-row.sum+.eg-row::before{display:none}
.eg-row.care{background:color-mix(in srgb,#34c759 8%,var(--card))}
.eg-row.care::before,.eg-row.care+.eg-foot{border-top:0}
.eg-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 8px;border-top:.5px solid var(--sep);font-size:14px;color:var(--label2)}
.eg-foot .kv-in{width:140px}
.eg-foot span small{display:block;font-size:11.5px;color:var(--label3);margin-top:2px}
.eg-foot b{font-size:17px;font-weight:700;color:var(--label);font-variant-numeric:tabular-nums}
.wa-chat{max-height:calc(100vh - 220px)}
@media (min-width:1000px){.eod-layout{grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr);gap:0 28px}}
@media (max-width:640px){
.eg-head{display:none}
.eg-in{position:relative}
.eg-in span{display:block;position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:11.5px;font-weight:600;color:var(--label2);pointer-events:none;margin:0}
.eg-in input{height:42px;font-size:16px;padding-left:76px}
.eg-out{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;padding:0 12px;border-radius:11px;background:color-mix(in srgb,var(--blue) 8%,transparent)}
.eg-out span{display:block;font-size:11.5px;font-weight:600;color:var(--label2);margin:0;white-space:nowrap}
.eg-out b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.eg-cat .eg-row,.eg-ff .eg-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;padding:12px 14px}
.eg-name{grid-column:1/-1;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.eg-name small{display:inline;margin:0}
.eg-row+.eg-row::before{left:14px;right:14px}
.eg-foot .kv-in{width:120px}
}
html[data-view=phone] .eg-head{display:none}
html[data-view=phone] .eg-in{position:relative}
html[data-view=phone] .eg-in span{display:block;position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:11.5px;font-weight:600;color:var(--label2);pointer-events:none;margin:0}
html[data-view=phone] .eg-in input{height:42px;font-size:16px;padding-left:76px}
html[data-view=phone] .eg-out{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;padding:0 12px;border-radius:11px;background:color-mix(in srgb,var(--blue) 8%,transparent)}
html[data-view=phone] .eg-out span{display:block;font-size:11.5px;font-weight:600;color:var(--label2);margin:0;white-space:nowrap}
html[data-view=phone] .eg-out b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
html[data-view=phone] .eg-cat .eg-row,html[data-view=phone] .eg-ff .eg-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;padding:12px 14px}
html[data-view=phone] .eg-name{grid-column:1/-1;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
html[data-view=phone] .eg-name small{display:inline;margin:0}
html[data-view=phone] .eg-row+.eg-row::before{left:14px;right:14px}
html[data-view=phone] .eg-foot .kv-in{width:120px}


.spc-ctl{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.spc .ch-panel .seg{height:32px}
.ins{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.ins li{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;font-size:14px;line-height:1.4}
.ins li i{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-style:normal;font-size:14px;color:#fff}
.sbar{margin:4px 0 14px}
.sbar-h{display:flex;justify-content:space-between;font-size:12.5px;color:var(--label2);margin-bottom:6px}
.sbar-h b{color:var(--label);font-weight:600}
.sbar-t{display:flex;height:28px;border-radius:9px;overflow:hidden;background:var(--fill)}
.sbar-t span{display:flex;align-items:center;justify-content:center;min-width:0;font-size:11px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;border-right:1.5px solid var(--card)}
.sbar-t span:last-child{border-right:0}
.spc .cmp td .dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:7px;vertical-align:baseline}
.spc .cmp th[data-sort]{cursor:pointer}
.spc .cmp th[data-sort].on{color:var(--blue)}
.heat td{text-align:center!important}
.heat td:first-child{text-align:left!important}
.spc #spcTable{font-size:13px}
.spc #spcTable thead th{white-space:normal;min-width:62px;max-width:104px;line-height:1.25;vertical-align:bottom;padding:11px 10px 10px}
.spc #spcTable tbody td,.spc #spcTable tfoot td{padding:8px 10px}
.spc #spcTable th:first-child,.spc #spcTable td:first-child{min-width:150px;max-width:210px;padding-left:14px}
.spc #spcTable td .gc,.spc #spcTable td .pp{min-width:0}
#prodSpcTable td:first-child{min-width:140px}
#prodSegPick button small{opacity:.65;font-weight:600;margin-left:2px}
.cmp tr.grp td{position:static!important;max-width:none!important;overflow:visible!important}
.cmp tr.grp .grp-lab{position:sticky;left:12px;display:inline-flex;align-items:baseline;gap:6px;max-width:calc(100vw - 48px);white-space:nowrap}
.cmp tr.grp .grp-lab small{margin-left:4px}
#prodSpcTable td div{display:flex;flex-direction:column;align-items:flex-end;gap:1px}
#prodSpcTable td small{font-size:10.5px;color:var(--label2);font-weight:500}
#prodSpcTable td.best{background:color-mix(in srgb,var(--up) 12%,var(--card))}
.cmp tr.grp td{position:static;height:auto;padding:10px 14px 8px;background:color-mix(in srgb,var(--label) 5%,var(--card))!important;text-align:left;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--label)}
.cmp tr.grp td small{display:inline;margin-left:10px;font-size:11.5px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--label2)}
.cmp tr.grp td .dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:7px}
.heat td div{display:flex;flex-direction:column;align-items:center!important;gap:1px}
.heat td small{font-size:10.5px;color:var(--label2)}
.heat td.hc{color:var(--label);font-weight:600}
.spc-models{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.mcard{background:var(--card);border-radius:16px;padding:12px 14px}
.mcard h3{margin:0 0 8px;font-size:14px;display:flex;align-items:center;gap:8px}
.mcard h3 i{width:10px;height:10px;border-radius:3px;display:inline-block}
.mcard ol{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:13px}
.mcard li{display:flex;justify-content:space-between;gap:10px}
.mcard li span:last-child{color:var(--label2);white-space:nowrap;font-variant-numeric:tabular-nums}
.trend{position:relative;width:100%}
.trend svg{display:block;overflow:visible}
.trend text{font:10.5px -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif;fill:var(--label2)}
.trend .gl{stroke:var(--grid);stroke-width:1}
.trend .ln{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:opacity .2s}
.trend .ar{transition:opacity .2s}
.trend .guide{stroke:var(--label3);stroke-width:1;stroke-dasharray:3 3}
.trend .hit{fill:transparent;cursor:crosshair}
.trend.dim .ln:not(.hl),.trend.dim .ar:not(.hl){opacity:.18}
.ch-legend span[data-s]{cursor:pointer}
.spc-flt .ctl-row{grid-template-columns:76px minmax(0,1fr)}
.spc-flt .chips{margin:0;flex-wrap:nowrap;overflow-x:auto}
.spc-clear{margin-left:8px;font-size:12px;text-transform:none;letter-spacing:0}
.flt-note{margin:10px 4px 0;padding:9px 12px;border-radius:12px;background:color-mix(in srgb,#5e5ce6 10%,transparent);font-size:13px;color:var(--label)}
.flt-note b{font-weight:700}
.trend .band{pointer-events:none}
.cmp.hist tr.sub td{font-weight:700;background:color-mix(in srgb,var(--blue) 6%,var(--card))!important}
.cmp.hist td.cur{background:color-mix(in srgb,var(--blue) 5%,var(--card))}
.cmp.hist th small.part{color:#c76a00}
@media (max-width:560px){.spc-ctl{grid-template-columns:1fr}}

/* one table look everywhere: even rows, tinted header, sticky first column that stays opaque */
.table-card{padding:0;overflow:hidden;border-radius:16px}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cmp{width:100%;min-width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;line-height:1.3}
.cmp thead th{position:sticky;top:0;z-index:2;padding:11px 14px;background:color-mix(in srgb,var(--label) 4%,var(--card));
  border-bottom:.5px solid var(--sep);font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--label2);text-align:right;vertical-align:bottom;white-space:nowrap}
.cmp th small{display:block;margin-top:2px;font-weight:400;font-size:10.5px;color:var(--label3)}
.cmp tbody td,.cmp tfoot td{height:46px;padding:8px 14px;text-align:right;vertical-align:middle;white-space:nowrap;font-variant-numeric:tabular-nums;
  border-top:.5px solid var(--sep);background:var(--card)}
.cmp tbody tr:first-child td{border-top:0}
.cmp tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--label) 2%,var(--card))}
.cmp tbody tr:hover td{background:color-mix(in srgb,var(--blue) 7%,var(--card))}
.cmp th:first-child,.cmp td:first-child{position:sticky;left:0;z-index:1;text-align:left;min-width:150px;max-width:240px;overflow:hidden;text-overflow:ellipsis;
  box-shadow:inset -.5px 0 0 var(--sep)}
.cmp thead th:first-child{z-index:3}
.cmp td:first-child{font-weight:600;color:var(--label)}
.cmp tfoot td{height:48px;font-weight:700;background:color-mix(in srgb,var(--blue) 6%,var(--card));border-top:1px solid var(--sep)}
.cmp tfoot td .more{font-weight:500}
.cmp td .gc,.cmp td .pp{vertical-align:middle}
.cmp td div{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.heat td,.heat th{text-align:center}
.heat td{min-width:84px}
.eod-t td{height:52px}
.x-holder .cmp thead th{position:static}
/* options panels (Charts, SPC): calm neutral controls, colour only as a soft accent on what is selected */
.ch-panel{background:var(--card);box-shadow:0 0 0 .5px var(--sep),0 6px 22px rgba(0,0,0,.05)}
.ch-group{padding:13px 0}
.gi{width:30px;height:30px;border-radius:9px;background:var(--g);box-shadow:none}
.gi svg{width:17px;height:17px}
.ch-group{grid-template-columns:30px minmax(0,1fr)}
.gl{color:var(--label2);font-size:11px;letter-spacing:.05em;margin-bottom:8px}
.ch-panel .chips button{background:var(--fill);color:var(--label);font-weight:500;box-shadow:none}
.ch-panel .chips button:hover{background:color-mix(in srgb,var(--g) 9%,var(--fill))}
.ch-panel .chips button.on{background:color-mix(in srgb,var(--g) 16%,transparent);color:color-mix(in srgb,var(--g) 85%,var(--label));font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--g) 35%,transparent)}
.ch-panel .seg{background:var(--fill)}
.ch-panel .seg .thumb{background:var(--thumb);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04)}
.ch-panel .seg button[aria-selected=true]{color:color-mix(in srgb,var(--g) 85%,var(--label))}
.ch-panel select,.ch-panel input[type=date]{background-color:var(--fill);border:1px solid transparent;font-weight:500;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E")}
.ch-panel select:hover,.ch-panel input[type=date]:hover{border-color:color-mix(in srgb,var(--g) 30%,transparent)}
.ch-panel select:focus,.ch-panel input:focus{outline:none;border-color:var(--g);box-shadow:0 0 0 3px color-mix(in srgb,var(--g) 18%,transparent)}
.ch-panel .tg span{background:var(--fill);color:var(--label2);font-weight:500}
.ch-panel .tg input:checked+span{background:color-mix(in srgb,var(--g) 16%,transparent);color:color-mix(in srgb,var(--g) 85%,var(--label));font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--g) 35%,transparent)}

/* highlighted header and totals */
.cmp thead th{background:color-mix(in srgb,var(--blue) 12%,var(--card));color:var(--label);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  border-bottom:1.5px solid color-mix(in srgb,var(--blue) 35%,transparent);padding-top:12px;padding-bottom:11px}
.cmp thead th small{text-transform:none;letter-spacing:0;font-weight:500;color:var(--label2)}
.cmp thead th[data-sort].on,.cmp thead th.on{color:var(--blue)}
.cmp tfoot td{background:color-mix(in srgb,var(--blue) 16%,var(--card));color:var(--label);font-weight:800;
  border-top:1.5px solid color-mix(in srgb,var(--blue) 40%,transparent)}
.cmp tfoot td:first-child{text-transform:uppercase;letter-spacing:.04em;font-size:12px}
.cmp thead th:first-child{background:color-mix(in srgb,var(--blue) 12%,var(--card))}
.cmp tfoot td:first-child{background:color-mix(in srgb,var(--blue) 16%,var(--card))}
.cmp tfoot td:first-child:has(.more){background:var(--card)}
.cmp tfoot td:has(.more){background:var(--card);border-top:.5px solid var(--sep);font-weight:500;text-transform:none;letter-spacing:0}
#storeTable tfoot td,#spcAchTable tfoot td{padding:10px 14px;font-weight:800}
.spc #spcTable tfoot td{padding:10px 10px;font-weight:800}
.spc #spcTable tfoot td:first-child{padding-left:14px}

/* store comparison */
.rank{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.rk{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;background:var(--card);border-radius:16px;padding:12px 14px}
.rk-n{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:14px}
.rk-b{min-width:0;display:grid;gap:6px}
.rk-t{display:flex;justify-content:space-between;align-items:baseline;gap:8px;min-width:0}
.rk-name{font-size:14.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.rk-t span{font-size:20px;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.grid2>*{min-width:0}
.rk-bar{height:6px;border-radius:3px;background:var(--fill);overflow:hidden}
.rk-bar i{display:block;height:100%;border-radius:3px}
.rk small{font-size:12px;color:var(--label2)}
.cmpg .cmp td .dot,.actg .cmp td .dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:7px}
.cmpg #sideTable th{white-space:normal;min-width:70px;max-width:110px;line-height:1.25}
/* stores without an equal comparison period: amber tint and label, out of growth */
.gc.na{background:color-mix(in srgb,#ff9500 18%,transparent);color:#c76a00;min-width:0}
:root[data-theme=dark] .gc.na{color:#ffb340}
.cmpg #sideTable tr.na td{background:color-mix(in srgb,#ff9500 7%,var(--card,transparent))}
.cmpg #sideTable tr.na td:first-child{box-shadow:inset 3px 0 0 #ff9500}
.na-v{color:var(--label2);display:inline-flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.na-v small{font-size:10.5px;color:#c76a00}
.na-cnt{display:block;font-size:10.5px;font-weight:500;color:var(--label2);margin-top:2px}
.rk.na{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,#ff9500 55%,transparent)}
.na-note{margin:0 0 14px;padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.45;color:var(--label);
  background:color-mix(in srgb,#ff9500 12%,transparent);box-shadow:inset 0 0 0 .5px color-mix(in srgb,#ff9500 45%,transparent)}
.na-note small{color:var(--label2)}
#cmpSeg button:disabled{opacity:.35;cursor:not-allowed}
/* daily heatmap */
.hm-wrap{overflow-x:auto;margin:-2px 0 0;padding:0}
.hm{border-collapse:separate;border-spacing:2px;font-size:10.5px;width:100%;table-layout:fixed}
.hm col.c-name{width:86px}
.hm col.c-tot{width:50px}
.hm th{font-weight:600;color:var(--label2);padding:0 0 4px;text-align:center;overflow:hidden}
.hm th.we{color:var(--label)}
.hm td{height:20px;border-radius:4px;background:color-mix(in srgb,#0a84ff var(--p,0%),var(--fill))}
.hm td.zero{background:var(--fill);opacity:.55}
.hm td.we:not(.hm-tot){box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--label) 22%,transparent)}
.hm .hm-name{position:sticky;left:0;z-index:1;background:var(--card);padding:0 8px 0 2px;text-align:left;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:0}
.hm .hm-name i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}
.hm .hm-tot{background:none;padding:0 0 0 6px;text-align:right;font-size:11.5px;font-weight:700;white-space:nowrap}
.hm-key{display:flex;align-items:center;gap:8px;margin:10px 2px 0;font-size:11.5px;color:var(--label2);flex-wrap:wrap}
.hm-key i{width:90px;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--fill),#0a84ff)}
.hm-key em{font-style:normal;margin-left:auto}
.x-holder .hm-wrap{overflow:visible!important}
.x-holder .hm .hm-name{position:static!important;max-width:none!important;overflow:visible!important}
.x-holder .hm{table-layout:auto!important}
.cmpg #sideTable .beat-d{display:block;font-size:11px;font-weight:500;color:var(--label2)}
.cmpg #sideTable .vb{display:block;width:72px;height:4px;margin:0 0 4px auto;border-radius:2px;background:var(--fill);overflow:hidden}
.cmpg #sideTable .vb i{display:block;height:100%;border-radius:2px}
.act-months{margin:0 0 6px}
.act-months small{opacity:.7;font-weight:600;margin-left:2px}
/* Stores / SPCs toggle and SPC picks */
.spc-pick{margin-top:8px}
.spc-pick .pick-more{align-self:center;font-size:12.5px;color:var(--label2);margin-left:4px}
/* deep analysis */
.cmpg #scoreTable th{white-space:normal;min-width:70px;max-width:120px;line-height:1.25;cursor:pointer}
.cmpg #scoreTable td:first-child,.cmpg #wkTable td:first-child{white-space:nowrap}
.tiers{padding:14px 16px}
.tb-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 12px;font-size:12.5px;color:var(--label2)}
.tb-legend span{display:inline-flex;align-items:center;gap:6px}
.tb-legend i{width:10px;height:10px;border-radius:3px}
.tb-row{display:grid;grid-template-columns:minmax(90px,160px) 1fr auto;align-items:center;gap:10px;padding:5px 0}
.tb-name{display:flex;align-items:center;gap:6px;min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-name i{width:8px;height:8px;border-radius:50%;flex:none}
.tb-bar{display:flex;height:20px;border-radius:6px;overflow:hidden;background:var(--fill)}
.tb-bar i{display:grid;place-items:center;font-style:normal;font-size:10.5px;font-weight:700;color:#fff;min-width:0;overflow:hidden}
.tb-bar em{font-size:12px;color:var(--label2);padding:0 8px;align-self:center}
.tb-n{font-size:12px;color:var(--label2);white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:640px){.tb-row{grid-template-columns:1fr;gap:4px}.tb-n{justify-self:end}}
html[data-view=phone] .tb-row{grid-template-columns:1fr;gap:4px}
html[data-view=phone] .tb-n{justify-self:end}
#wkTable td.best span{font-weight:800}
#cmpSeg button.na:not([aria-selected=true])::after{display:none!important}
#cmpSeg button.na:not(:disabled)::after{content:"";display:inline-block;width:6px;height:6px;margin-left:5px;border-radius:50%;background:#ff9500;vertical-align:middle}
.ok90{color:var(--up);font-weight:600}
/* activation pending */
.actg .kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.age{display:grid;grid-template-columns:86px minmax(0,1fr) 46px 64px;align-items:center;gap:10px;padding:6px 0;font-size:13.5px}
.age span{color:var(--label2)}
.age b{text-align:right;font-variant-numeric:tabular-nums}
.age small{text-align:right;color:var(--label2);font-variant-numeric:tabular-nums}
.age-bar{height:10px;border-radius:5px;background:var(--fill);overflow:hidden}
.age-bar i{display:block;height:100%;border-radius:5px}
.act-tools{display:grid;gap:10px;margin-bottom:10px}
.act-tools input{width:100%;height:40px;padding:0 14px;border:0;border-radius:12px;background:var(--card);box-shadow:0 0 0 .5px var(--sep);color:var(--label);font:inherit;font-size:16px}
.act-tools input:focus{outline:2px solid var(--blue)}
.act-tools .chips{margin:0}
.dp{display:inline-block;padding:2px 8px;border-radius:9px;background:var(--fill);font-weight:700;font-size:12.5px}
.dp.warn{background:color-mix(in srgb,#ff9500 18%,transparent);color:#b25e00}
.dp.down{background:var(--down-bg);color:var(--down)}
.cmp td.lft{text-align:left;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.cmp td.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.cmp td small.sub{display:block;font-size:11px;font-weight:400;color:var(--label2)}
/* ask data */
.askg{display:flex;flex-direction:column;min-height:calc(100dvh - var(--hdr-h,96px));padding-bottom:0}
.chat{flex:1;display:flex;flex-direction:column;gap:12px;padding:8px 0 16px}
.hello{margin:20px auto 6px;max-width:520px;text-align:center;color:var(--label2);font-size:14px}
.hello b{display:block;font-size:20px;color:var(--label);margin-bottom:6px}
.msg{display:flex;gap:8px;align-items:flex-end;max-width:100%}
.msg.me{justify-content:flex-end}
.msg .bub{max-width:min(720px,88%);padding:10px 14px;border-radius:18px;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.msg.me .bub{background:var(--blue);color:#fff;border-bottom-right-radius:6px}
.msg.bot .bub{background:var(--card);color:var(--label);border-bottom-left-radius:6px;box-shadow:0 0 0 .5px var(--sep)}
.msg .av{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(160deg,#64d2ff,#30b0c7);color:#fff;font-size:11px;font-weight:800}
.bub b{font-weight:700}
.bub .muted,.bub small.muted{color:var(--label2);font-size:12.5px}
.bub small.muted{display:block;margin-top:6px}
.ans-t{margin:10px -6px 2px;border-radius:12px;box-shadow:0 0 0 .5px var(--sep)}
.ans-t .cmp{font-size:13px}
.ans-t .cmp td,.ans-t .cmp th{height:auto;padding:7px 10px}
.ans-t .cmp th:first-child,.ans-t .cmp td:first-child{min-width:110px}
.ans-link{display:inline-block;margin-top:8px;color:var(--blue);font-weight:600;font-size:14px}
.chips.in{margin:10px 0 0;flex-wrap:wrap}
.typing{display:flex;gap:5px;padding:14px 16px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--label3);animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.ask-chips{flex-wrap:wrap;justify-content:center;margin:0 0 10px}
.ask-bar{position:sticky;bottom:0;z-index:5;display:flex;align-items:flex-end;gap:8px;margin:0 -16px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.ask-bar textarea{flex:1;min-height:44px;max-height:140px;resize:none;padding:11px 14px;border:0;border-radius:22px;background:var(--card);box-shadow:0 0 0 .5px var(--sep);color:var(--label);font:inherit;font-size:16px;line-height:1.35}
.ask-bar textarea:focus{outline:2px solid var(--blue)}
.ask-bar button{flex:none;width:44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center}
.ask-bar button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.askg ~ .to-top{display:none}
/* a segment chooser under each units section heading */
.secseg{flex-wrap:wrap;margin:0 0 10px}
.secseg.busy{pointer-events:none;cursor:progress}
.secseg button{font-size:12.5px}
.ask-bar{flex-wrap:wrap}
.ask-note{flex-basis:100%;order:3;margin:2px 4px 0;font-size:11.5px;line-height:1.35;color:var(--label2);text-align:center}
.ac{position:absolute;left:16px;right:16px;bottom:calc(100% - 4px);z-index:6;max-height:min(46vh,320px);overflow:auto;padding:6px;border-radius:16px;
  background:color-mix(in srgb,var(--card) 97%,transparent);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 10px 32px rgba(0,0,0,.2),0 0 0 .5px var(--sep)}
.ac[hidden]{display:none}
.ac button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:40px;padding:8px 12px;border:0;border-radius:11px;background:none;color:var(--label);font:inherit;font-size:14.5px;text-align:left;cursor:pointer}
.ac button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac button i{flex:none;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--label2)}
.ac button:hover,.ac button.on{background:var(--fill)}
.ac button.on{box-shadow:inset 0 0 0 1.5px var(--blue)}
.ans-read{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;font-size:12px}
.ans-read .rl{font-weight:700;color:var(--label2);align-self:center;margin-right:2px}
.ans-read span:not(.rl){padding:3px 8px;border-radius:8px;background:var(--fill);color:var(--label)}
.ans-read i{font-style:normal;color:var(--label2);margin-right:5px}
.msg .src{display:block;margin-top:8px;font-size:11px;color:var(--label2)}
.msg.help .av{background:linear-gradient(160deg,#ffd60a,#ff9500)}
.ans-steps{margin:8px 0 0;padding-left:20px;display:grid;gap:5px;font-size:14px;line-height:1.45}
.ans-link{display:inline-block;margin-top:10px;padding:7px 12px;border-radius:10px;background:var(--fill);color:var(--blue);font-weight:600;font-size:13.5px;text-decoration:none}
.hello .caution{margin-top:10px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,#ff9500 12%,transparent);color:var(--label);font-size:13.5px;line-height:1.45}
.hello .caution b{display:inline;font-size:inherit;margin:0;color:#c76a00}

/* ---------- tables: header stays in view while scrolling inside the box; even columns; sortable headings ---------- */
.tscroll{max-height:min(72vh,640px);overflow:auto;overscroll-behavior-x:contain}
.rv-tab.tscroll,.hp-t{max-height:none}
.cmp thead th{position:sticky;top:0;z-index:3}
.cmp thead th:first-child{z-index:5}
.tscroll .cmp tfoot td{position:sticky;bottom:0;z-index:2}
.tscroll .cmp tfoot td:first-child{z-index:4}
.tscroll .cmp tfoot tr:nth-last-child(2) td{bottom:48px}
.tscroll .cmp tfoot tr:nth-last-child(3) td{bottom:96px}
.cmp.heat thead th:not(:first-child){text-align:center}
.cmp th:first-child,.cmp td:first-child{z-index:2}
.cmp.eqw thead th:not(:first-child){width:112px}
.cmp thead th{white-space:normal;line-height:1.25;min-width:84px}
.cmp thead th:first-child{min-width:150px}
.rs-t thead th,.heat thead th{min-width:62px}
.cmp thead th.srt{cursor:pointer;user-select:none;-webkit-user-select:none}
.cmp thead th.srt:hover{color:var(--blue)}
.cmp thead th.srt-asc::after,.cmp thead th.srt-desc::after{display:inline-block;margin-left:4px;font-size:10px;color:var(--blue)}
.cmp thead th.srt-asc::after{content:"▲"}
.cmp thead th.srt-desc::after{content:"▼"}
.x-holder .tscroll{max-height:none!important;overflow:visible!important}
.x-holder .cmp tfoot td{position:static!important}
.x-holder .cmp thead th.srt-asc::after,.x-holder .cmp thead th.srt-desc::after{content:none}
@media print{.tscroll{max-height:none!important;overflow:visible!important}}
/* section headings: title and share button on one line, centred */
.sec-head h2{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.sec-head h2 .xbtn{margin:0;position:relative;top:0}
/* day marks */
.dt{display:inline-block;margin-left:6px;padding:0 6px;border-radius:7px;font-style:normal;font-size:10px;font-weight:800;line-height:16px;vertical-align:1px;white-space:nowrap}
.dt.hol{background:color-mix(in srgb,#af52de 16%,transparent);color:#8944ab}
.dt.fest{background:color-mix(in srgb,#ff9f0a 20%,transparent);color:#b25d00}
.dt.eve{background:color-mix(in srgb,#ffcc00 22%,transparent);color:#8a6d00}
.dt.wk{background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue)}
:root[data-theme=dark] .dt.hol{color:#da8fff}:root[data-theme=dark] .dt.fest{color:#ffb340}:root[data-theme=dark] .dt.eve{color:#ffd60a}
.cmp tr.dt-we td:first-child,.cmp tr.dt-hol td:first-child,.cmp tr.dt-fest td:first-child{box-shadow:inset 3px 0 0 var(--dtc,transparent),inset -.5px 0 0 var(--sep)}
.cmp tr.dt-wk{--dtc:color-mix(in srgb,var(--blue) 45%,transparent)}
.cmp tr.dt-eve{--dtc:#ffcc00}
.cmp tr.dt-hol{--dtc:#af52de}
.cmp tr.dt-fest{--dtc:#ff9f0a}
.cmp tr.dt-wk td:first-child,.cmp tr.dt-eve td:first-child{box-shadow:inset 3px 0 0 var(--dtc),inset -.5px 0 0 var(--sep)}
.cmp tr.dt-fest td,.cmp tr.dt-hol td{background:color-mix(in srgb,var(--dtc) 7%,var(--card))!important}
.dt-legend{display:flex;flex-wrap:wrap;gap:6px 4px;margin:-2px 2px 10px;font-size:11.5px;color:var(--label2)}
.dt-legend .dt{margin-left:0}
.sx-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:99;max-width:calc(100% - 32px);padding:10px 16px;border-radius:14px;background:var(--label);color:var(--bg);
  font-size:13.5px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.25);transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.3,1.4,.5,1),opacity .2s}
.sx-toast.show{transform:translate(-50%,0);opacity:1}

/* ---------- share menu (every section) ---------- */
.sx-pop{position:fixed;z-index:95;min-width:228px;padding:6px;border-radius:16px;background:color-mix(in srgb,var(--card,#fff) 97%,transparent);
  -webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);box-shadow:0 14px 44px rgba(0,0,0,.24),0 0 0 .5px var(--sep,rgba(0,0,0,.15));
  transform-origin:var(--ax,24px) top;transform:scale(.7);opacity:0;visibility:hidden;pointer-events:none;transition:transform .3s cubic-bezier(.3,1.4,.5,1),opacity .18s,visibility 0s .3s}
.sx-pop.show{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:transform .3s cubic-bezier(.3,1.4,.5,1),opacity .18s}
.sx-title{padding:6px 10px 8px;font-size:12px;font-weight:700;color:var(--label2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.sx-pop button{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 10px;border:0;border-radius:11px;background:none;color:var(--label);font:inherit;font-size:15px;font-weight:500;text-align:left;cursor:pointer}
.sx-pop button:hover,.sx-pop button:focus-visible{background:var(--fill);outline:none}
.sx-pop button small{font-size:11.5px;color:var(--label2);font-weight:500}
.sx-ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--c);color:#fff}
.sx-ic svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.xbtn svg{width:15px;height:15px}
.xbtn[aria-expanded=true]{background:color-mix(in srgb,var(--blue) 18%,transparent)}
.gl-row .warn{color:#c76a00;font-weight:600}
:root[data-theme=dark] .gl-row .warn{color:#ffb340}
/* ---------- shared bits for the new pages ---------- */
.nx-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:10px}
.nx-kpis .kpi b{font-size:21px}
.nx-kpis .kpi.bad b{color:var(--down)}
.nx-kpis .kpi.warn b{color:#c76a00}
.nx-kpis .kpi.good b{color:var(--up)}
:root[data-theme=dark] .nx-kpis .kpi.warn b{color:#ffb340}
.nx-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:10px;font-size:11.5px;font-weight:700;white-space:nowrap;background:var(--fill);color:var(--label2)}
.nx-badge.bad{background:var(--down-bg);color:var(--down)}
.nx-badge.warn{background:color-mix(in srgb,#ff9f0a 18%,transparent);color:#b25d00}
:root[data-theme=dark] .nx-badge.warn{color:#ffb340}
.nx-badge.good{background:var(--up-bg);color:var(--up)}
.nx-badge.info{background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue)}
.nx-badge.mute{background:var(--fill);color:var(--label2)}
.nx-empty{padding:18px 4px;text-align:center;color:var(--label2);font-size:14px}
.cmp td.lft,.cmp th.lft{text-align:left}
.cmp td small.sub,.cmp td > small{display:block;font-size:11px;color:var(--label2);font-weight:500;margin-top:1px}
/* ---------- day-wise sales ---------- */
.dw-host{margin-top:6px}
.dw-host.dw-busy{opacity:.55;transition:opacity .2s}
.dw-empty{margin:4px 0;color:var(--label2);font-size:14px}
.cmp.dw td:first-child{min-width:92px;white-space:nowrap}
.cmp.dw td:first-child b{font-weight:600}
.cmp.dw td:first-child small{display:inline;margin-left:6px;font-size:11.5px;color:var(--label2)}
.dw-tag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:7px;font-style:normal;font-size:10px;font-weight:800;line-height:16px;vertical-align:1px}
.dw-tag.up{background:var(--up-bg);color:var(--up)}
.dw-tag.down{background:var(--down-bg);color:var(--down)}
.dw-v{display:grid;gap:3px;justify-items:end;min-width:74px}
.dw-v span{font-weight:600}
.dw-v i{display:block;height:3px;border-radius:2px;background:var(--blue);opacity:.55;justify-self:end}
.cmp.dw tr.dw-zero td{color:var(--label2)}
.cmp.dw tr.dw-we td:first-child small{color:var(--blue);font-weight:700}
.cmp.dw td.dw-c{background:linear-gradient(color-mix(in srgb,var(--blue) var(--p,0%),transparent),color-mix(in srgb,var(--blue) var(--p,0%),transparent))}
.cmp.dw .dw-avg td{font-weight:500;color:var(--label2)}
.cmp.dw .dw-b .gc{min-width:62px}
/* ---------- period history follows the top ---------- */
.p-follow{margin:-4px 4px 8px;font-size:12.5px;color:var(--label2)}
.p-follow b{color:var(--label);font-weight:600}
#pGran.p-gran{margin:0 0 8px}
.ptable th.on-base{color:var(--blue)}
.ptable td.on-base{background:color-mix(in srgb,var(--blue) 5%,transparent)}
/* ---------- review meeting ---------- */
.rv-months{margin-top:6px}
.rv-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin:4px 0 6px}
.rv-hero h3{margin:0;font-size:21px;font-weight:800;letter-spacing:-.02em}
.rv-hero p{margin:3px 0 0;font-size:13px;color:var(--label2)}
.rv-hero .rv-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.rv-btn{height:34px;padding:0 14px;border:0;border-radius:17px;background:var(--fill);color:var(--label);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.rv-btn.primary{background:var(--blue);color:#fff}
.rv-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rv-agenda{margin:0;padding:0;list-style:none;display:grid;gap:4px;counter-reset:a}
.rv-agenda li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:start;padding:8px 4px;border-radius:12px}
.rv-agenda li + li{border-top:.5px solid var(--sep)}
.rv-agenda li::before{counter-increment:a;content:counter(a);width:26px;height:26px;border-radius:13px;display:grid;place-items:center;font-size:12.5px;font-weight:800;color:#fff;background:var(--tc,#8e8e93)}
.rv-agenda a{color:var(--label);text-decoration:none;font-size:14px;line-height:1.45}
.rv-agenda a b.t{display:block;font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--label2)}
.rv-topic{display:grid;gap:12px;border-left:4px solid var(--tc,#8e8e93)}
.rv-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.rv-kpi{padding:9px 11px;border-radius:12px;background:var(--fill);display:grid;gap:2px;min-width:0}
.rv-kpi small{font-size:11.5px;color:var(--label2)}
.rv-kpi b{font-size:18px;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-kpi span{font-size:11.5px;color:var(--label2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-tk{margin:0;padding:0 0 0 18px;display:grid;gap:6px;font-size:14px;line-height:1.45}
.rv-links{display:flex;flex-wrap:wrap;gap:8px}
.rv-links a{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 12px;border-radius:15px;background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue);font-size:13px;font-weight:600;text-decoration:none}
.rv-links a:hover{background:color-mix(in srgb,var(--blue) 20%,transparent)}
.rv-tab{border-radius:12px;overflow:hidden;box-shadow:0 0 0 .5px var(--sep)}
.rv-tab .cmp{font-size:13px}
.rv-spark{display:flex;align-items:flex-end;gap:2px;height:46px}
.rv-spark i{flex:1;min-width:2px;border-radius:2px 2px 0 0;background:color-mix(in srgb,var(--blue) 60%,transparent)}
.rv-spark i.lo{background:color-mix(in srgb,var(--down) 55%,transparent)}
.tone-bad{--tc:#ff3b30}.tone-warn{--tc:#ff9f0a}.tone-good{--tc:#34c759}.tone-info{--tc:#0a84ff}
@media (max-width:640px){.rv-hero{grid-template-columns:1fr}.rv-hero .rv-btns{justify-content:flex-start}}
html[data-view=phone] .rv-hero{grid-template-columns:1fr}
html[data-view=phone] .rv-hero .rv-btns{justify-content:flex-start}
@media print{
  header.top,.top-spacer,.rv-months,.rv-btns,.xbtn,.rv-links,.to-top,.help-panel,.pg-head{display:none!important}
  body{background:#fff!important}.card{box-shadow:none!important;border:1px solid #ddd;break-inside:avoid}
  .sec-head{break-after:avoid}
}
/* ---------- zero sell-out ---------- */
.zr-spc{display:flex;gap:8px;max-width:440px}
.zr-spc input{flex:1;min-width:0;height:38px;padding:0 12px;border:0;border-radius:11px;background:var(--fill);color:var(--label);font:inherit;font-size:15px}
.zr-spc input:focus{outline:2px solid var(--blue)}
.zr-spc button{flex:none;height:38px;padding:0 16px;border:0;border-radius:11px;background:var(--blue);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.zr-spcs{margin:8px 0 0}
.zr-spcs button small{opacity:.65;margin-left:3px}
.zr-miss{display:flex;flex-wrap:wrap;gap:4px;min-width:240px;max-width:460px;justify-content:flex-start}
.cmp td.lft,.cmp th.lft{text-align:left!important}
.zr-bar{margin-left:auto;max-width:120px}
.zr-miss span{padding:1px 7px;border-radius:8px;background:var(--fill);font-size:11.5px;white-space:nowrap}
.zr-bar{display:grid;gap:3px;min-width:90px}
.zr-bar i{display:block;height:5px;border-radius:3px;background:var(--fill);overflow:hidden}
.zr-bar i b{display:block;height:100%;border-radius:3px;background:var(--up)}
.cmp button.zr-go{border:0;background:none;color:var(--blue);font:inherit;font-weight:600;cursor:pointer;padding:0}
/* ---------- stock ---------- */
.stk-file{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.stk.hide-val .vcol{display:none}
.hm-hello{margin:6px 4px 12px}.hm-hello h2{margin:0;font-size:28px;font-weight:800;letter-spacing:-.02em}.hm-hello p{margin:3px 0 0;font-size:15px;color:var(--label2)}
.hm-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.hm-num{display:grid;gap:4px;padding:16px;border-radius:20px;background:var(--card,var(--surface-solid));box-shadow:0 0 0 .5px var(--sep,rgba(128,128,128,.25))}
.hm-num small{font-size:12.5px;font-weight:600;color:var(--label2)}.hm-num b{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.1}.hm-num span{font-size:12.5px;color:var(--label2)}.hm-num a{color:var(--blue);font-weight:600;text-decoration:none}
.hm-todo{list-style:none;margin:0;padding:4px 0;display:grid}
.hm-todo li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 14px;font-size:14px;line-height:1.4;border-bottom:.5px solid var(--sep,rgba(128,128,128,.2))}.hm-todo li:last-child{border-bottom:0}
.hm-todo i{width:9px;height:9px;border-radius:50%;background:var(--label2)}.hm-todo .tone-bad i{background:var(--down,#d70015)}.hm-todo .tone-warn i{background:#ff9500}.hm-todo .tone-good i{background:#34c759}.hm-todo .tone-info i{background:var(--blue)}
.hm-todo a{height:32px;display:inline-flex;align-items:center;padding:0 13px;border-radius:16px;background:var(--fill);color:var(--blue);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}
.hm-acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hm-act{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:var(--card,var(--surface-solid));color:var(--label);text-decoration:none;box-shadow:0 0 0 .5px var(--sep,rgba(128,128,128,.25));transition:transform .2s}.hm-act:hover{transform:translateY(-2px)}
.hm-act i{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:14px;color:#fff;background:linear-gradient(150deg,color-mix(in srgb,var(--c) 72%,#fff),var(--c))}.hm-act svg,.rp-card i svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hm-act span{display:grid;min-width:0}.hm-act b{font-size:14.5px}.hm-act small{font-size:12.5px;color:var(--label2)}
.hm-tops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hm-rank{list-style:none;margin:0;padding:4px 0}.hm-rank li{display:grid;grid-template-columns:22px minmax(0,1fr) auto 54px;gap:8px;align-items:baseline;padding:9px 14px;font-size:14px}.hm-rank em{font-style:normal;color:var(--label2);font-size:12.5px}.hm-rank span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hm-rank small{text-align:right;color:var(--label2);font-size:12px}.hm-rank .none{display:block;color:var(--label2)}
.rp-all{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:6px 4px 14px}.rp-all h2{margin:0;font-size:24px;font-weight:800}.rp-all p{margin:3px 0 0;font-size:14px;color:var(--label2);max-width:60ch}
.rp-btns,.rp-card footer{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rp-wa{display:inline-flex;align-items:center;height:38px;padding:0 15px;border-radius:19px;background:#1fa855;color:#fff;font-size:14px;font-weight:600;text-decoration:none}
.rp-btns button,.rp-card footer button{height:38px;padding:0 15px;border:0;border-radius:19px;background:var(--fill);color:var(--label);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.rp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rp-card{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:20px;min-width:0;background:var(--card,var(--surface-solid));box-shadow:0 0 0 .5px var(--sep,rgba(128,128,128,.25))}
.rp-card header{display:flex;align-items:center;gap:12px}.rp-card i{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:14px;color:#fff;background:linear-gradient(150deg,color-mix(in srgb,var(--c) 72%,#fff),var(--c))}.rp-card h3{margin:0;font-size:16px}.rp-card p{margin:1px 0 0;font-size:12.5px;color:var(--label2)}
.rp-card pre{flex:1;margin:0;padding:12px;max-height:230px;overflow:auto;border-radius:12px;background:var(--fill-2,var(--fill));font:13px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}
.pr-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.pr-kpi{display:grid;gap:3px;padding:14px;border:0;border-radius:18px;text-align:left;font:inherit;color:var(--label);cursor:pointer;background:var(--card,var(--surface-solid));box-shadow:0 0 0 .5px var(--sep,rgba(128,128,128,.25))}.pr-kpi small{font-size:12.5px;font-weight:600;color:var(--label2)}.pr-kpi b{font-size:22px;font-weight:800}.pr-kpi span{font-size:12.5px;color:var(--label2)}
.pr-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.pr-bar input{flex:1;min-width:200px;max-width:320px;height:40px;padding:0 14px;border:0;border-radius:12px;background:var(--fill);color:var(--label);font:inherit}
.pr-tabs{display:flex;gap:4px;padding:4px;margin-bottom:12px;border-radius:14px;background:var(--fill);overflow-x:auto;scrollbar-width:none}.pr-tabs button{flex:1;min-width:max-content;height:38px;padding:0 14px;border:0;border-radius:11px;background:none;color:var(--label2);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.pr-tabs button.on{background:var(--card,var(--surface-solid));color:var(--label);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.pr-pane[hidden]{display:none}.pr-head-act{display:flex;justify-content:flex-end}
.pr-deals span{display:inline-block;margin:1px 3px 1px 0;padding:1px 7px;border-radius:9px;font-size:11.5px;font-weight:600;white-space:nowrap;background:var(--fill)}.pr-deals .live{background:#1fa855;color:#fff}
.pr-var{cursor:pointer}.pr-var:hover td{background:var(--fill-2,var(--fill))}
.pr-open{cursor:pointer}.pr-open:hover td{background:var(--fill-2,var(--fill))}
.pi-open{cursor:pointer}.pi-open:hover td{background:var(--fill-2,var(--fill))}
.pi-kpis .pr-kpi{cursor:default}.pi-kpis .pr-kpi.good b{color:var(--up,#30d158)}.pi-kpis .pr-kpi.bad b{color:var(--down,#ff453a)}.pi-kpis .pr-kpi.warn b{color:#ff9f0a}
.pi-how{padding:14px 16px;margin-bottom:14px}.pi-how p{margin:0;font-size:13px;line-height:1.5;color:var(--label2)}.pi-how b{color:var(--label)}
.cmp .pr-detrow>td{position:static;max-width:none;white-space:normal;text-align:left;overflow:visible}
.pi-chart{text-align:left}.pi-chart svg{display:block;width:100%;max-width:720px;height:130px;margin-bottom:8px;overflow:visible}
.pi-chart rect.b{fill:color-mix(in srgb,var(--label2) 40%,transparent)}.pi-chart rect.a{fill:var(--blue)}.pi-chart rect:hover{opacity:.75}
.pi-chart line{stroke:#ff9f0a;stroke-width:2;stroke-dasharray:4 3}.pi-chart text{font-size:11px;fill:var(--label2)}
.pr [data-chips][hidden]{display:none}
.pr-detrow>td{padding:12px 14px!important;background:var(--fill-2,var(--fill))}.pr-det-sum{margin:0 0 8px;font-size:13px;text-align:left}.pr-det{width:100%;border-collapse:collapse;font-size:13px}.pr-det th,.pr-det td{padding:6px 8px;text-align:right;border-bottom:.5px solid var(--sep,rgba(128,128,128,.2))}.pr-det th{font-size:12px;color:var(--label2)}.pr-det .lft{text-align:left}
.pr-add{display:grid;gap:10px;padding:16px}.pr-goto{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pr-goto .pill-btn{text-decoration:none}.pr-add h3{margin:0;font-size:16px}.pr-add-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.pr-add a{color:var(--blue)}
.pr-saved{display:grid;padding:4px 14px}.pr-list{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 0;border-bottom:.5px solid var(--sep,rgba(128,128,128,.2))}.pr-list:last-child{border-bottom:0}.pr-list span{display:grid;min-width:0}.pr-list b{overflow-wrap:anywhere;font-size:14px}.pr-list small{font-size:12.5px;color:var(--label2)}.pr-list em{font-style:normal;font-weight:700;color:#c76a00}.pr-list label{display:grid;gap:2px;font-size:11.5px;font-weight:600;color:var(--label2)}.pr-list input{height:36px;padding:0 10px;border:0;border-radius:10px;background:var(--fill);color:var(--label);font:inherit}
@media (max-width:760px){.hm-nums,.pr-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-acts,.rp-grid,.hm-tops{grid-template-columns:minmax(0,1fr)}.hm-num b{font-size:21px}.hm-todo li{grid-template-columns:auto minmax(0,1fr)}.hm-todo a{grid-column:2;justify-self:start}.pr-list{grid-template-columns:minmax(0,1fr) auto}.pr-list span{grid-column:1/-1}.pr-tabs button{flex:none}.pr-bar input{max-width:none;font-size:16px}}
html[data-view=phone] .hm-nums,html[data-view=phone] .pr-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-view=phone] .hm-acts,html[data-view=phone] .rp-grid,html[data-view=phone] .hm-tops{grid-template-columns:minmax(0,1fr)}html[data-view=phone] .hm-todo li{grid-template-columns:auto minmax(0,1fr)}html[data-view=phone] .hm-todo a{grid-column:2;justify-self:start}html[data-view=phone] .pr-tabs button{flex:none}
.stk-up{position:relative;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 20px;border-radius:21px;background:linear-gradient(135deg,#4aa8ff,#0a64e8);color:#fff;font-weight:600;font-size:14.5px;cursor:pointer;overflow:hidden;box-shadow:0 8px 18px rgba(10,100,232,.28);transition:transform .2s,box-shadow .2s}
.stk-up:hover{transform:translateY(-1px);box-shadow:0 11px 22px rgba(10,100,232,.34)}
.stk-up:active{transform:scale(.97)}
.stk-up:focus-within{outline:3px solid color-mix(in srgb,var(--blue) 50%,transparent);outline-offset:2px}
.stk-up input{position:absolute;inset:0;opacity:0;cursor:pointer}
.stk-up svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.stk-up.busy{opacity:.6;pointer-events:none}
.stk-info{font-size:12.5px;color:var(--label2);line-height:1.45;min-width:0}
.stk-info b{color:var(--label);font-weight:600}
.stk-info .ok{color:var(--up);font-weight:600}
.stk-info .warn{color:#c76a00;font-weight:600}
.stk-info button{border:0;background:none;color:var(--blue);font:inherit;font-weight:600;cursor:pointer;padding:0}
.stk-msg{margin:8px 0 0;font-size:13px;font-weight:600}
.stk-msg.bad{color:var(--down)}.stk-msg.good{color:var(--up)}
.stk-empty{text-align:center;padding:28px 18px}
.stk-basis{margin:8px 0 0;font-size:12.5px;color:var(--label2);line-height:1.45}
.stk-basis b{color:var(--label)}
.stk-norms{margin-top:10px;border-radius:12px;background:var(--fill);padding:8px 12px}
.stk-norms summary{cursor:pointer;font-size:13px;font-weight:700}
.stk-norms summary small{font-weight:500;color:var(--label2);margin-left:6px}
.norm-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:10px 0}
.norm-rows label{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--label2)}
.norm-rows input{height:34px;padding:0 10px;border:0;border-radius:9px;background:var(--card);color:var(--label);font:inherit;font-size:15px}
.norm-acts{display:flex;align-items:center;justify-content:flex-end;gap:10px;font-size:12.5px;color:var(--label2)}
.stk-pick{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.32)}
.stk-pick form{width:min(420px,100%);padding:18px;border-radius:18px;background:var(--card);box-shadow:0 20px 60px rgba(0,0,0,.3);display:grid;gap:10px}
.stk-pick h3{margin:0;font-size:17px}
.stk-pick p{margin:0;font-size:13.5px;color:var(--label2);line-height:1.45}
.stk-pick button{height:42px;border:0;border-radius:12px;background:var(--fill);color:var(--label);font:inherit;font-weight:600;cursor:pointer;text-align:left;padding:0 14px}
.stk-pick button.primary{background:var(--blue);color:#fff}
.cv-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;vertical-align:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.stk-empty h3{margin:6px 0 4px;font-size:18px}
.stk-empty p{margin:0 auto 4px;max-width:520px;font-size:13.5px;color:var(--label2);line-height:1.5}
.stk-act{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.stk-act li{display:grid;grid-template-columns:10px 1fr;gap:10px;align-items:start;font-size:14px;line-height:1.45}
.stk-act li::before{content:"";width:10px;height:10px;border-radius:50%;margin-top:5px;background:var(--tc,#8e8e93)}
.stk .ctl-row,.zr .ctl-row{grid-template-columns:76px minmax(0,1fr)}
.stk .ctl-row .chips,.zr .ctl-row .chips{flex-wrap:nowrap;overflow-x:auto}
.stk-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.stk-tools input{flex:1 1 220px;min-width:0;max-width:360px;height:36px;padding:0 12px;border:0;border-radius:11px;background:var(--fill);color:var(--label);font:inherit;font-size:15px}
.stk-tools input:focus{outline:2px solid var(--blue)}
.stk-tools .chips button small{opacity:.65;margin-left:3px}
.stk-t tbody tr.m{cursor:pointer}
.stk-t tbody tr.m td:first-child::before{content:"›";display:inline-block;width:12px;margin-right:4px;color:var(--label2);transition:transform .2s}
.stk-t tbody tr.m.open td:first-child::before{transform:rotate(90deg)}
.out-now{color:var(--down)}
.stk-t tr.sku td{font-size:12px;color:var(--label2);background:color-mix(in srgb,var(--label) 3%,var(--card))}
.stk-t tr.sku td:first-child{padding-left:30px}
.cov{display:grid;gap:3px;min-width:96px}
.cov i{display:block;height:5px;border-radius:3px;background:var(--fill);position:relative;overflow:hidden}
.cov i b{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:var(--tc,#34c759)}
.st-out{--tc:#ff3b30}.st-critical{--tc:#ff453a}.st-low{--tc:#ff9f0a}.st-ok{--tc:#34c759}.st-excess{--tc:#5e5ce6}.st-dead{--tc:#8e8e93}
.stk-tl{display:grid;gap:6px;position:relative}
.tl-row{display:grid;grid-template-columns:minmax(110px,170px) minmax(0,1fr) 86px;gap:10px;align-items:center;font-size:12.5px}
.tl-row span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-row .tl-b{position:relative;height:14px;border-radius:7px;background:var(--fill)}
.tl-row .tl-b i{position:absolute;left:0;top:0;bottom:0;border-radius:7px;background:var(--tc)}
.tl-row .tl-b em{position:absolute;top:-3px;bottom:-3px;width:0;border-left:1.5px dashed var(--label2)}
.tl-row b{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.tl-axis{display:grid;grid-template-columns:minmax(110px,170px) minmax(0,1fr) 86px;gap:10px;font-size:11px;color:var(--label2)}
.tl-axis div{display:flex;justify-content:space-between}
.tl-row b{white-space:nowrap}
@media (max-width:560px){.tl-row,.tl-axis{grid-template-columns:92px minmax(0,1fr) 78px}}
html[data-view=phone] .tl-row,html[data-view=phone] .tl-axis{grid-template-columns:92px minmax(0,1fr) 78px}
/* ---------- roster ---------- */
.rs-acts{display:flex;flex-wrap:wrap;gap:8px}
.rs-btn{height:36px;padding:0 14px;border:0;border-radius:18px;background:var(--fill);color:var(--label);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.rs-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.rs-btn.primary{background:var(--blue);color:#fff}
.rs-btn:disabled{opacity:.45;cursor:default}
.rs-state{margin:8px 0 0;font-size:12.5px;color:var(--label2)}
.rs-state.dirty{color:#c76a00;font-weight:600}
.rs-edit{margin-left:8px;font-size:12px;text-transform:none;letter-spacing:0}
.rs-legend{display:flex;flex-wrap:wrap;gap:6px}
.rs-legend span{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:14px;background:var(--fill);font-size:12.5px}
.rs-legend i{width:22px;height:18px;border-radius:5px;display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:800;color:#fff;background:var(--c);width:auto;min-width:22px;padding:0 4px;box-sizing:border-box}
.rs-shifts{display:grid;gap:8px;margin-top:10px;max-width:640px}
.sh-head,.sh-row{display:grid;grid-template-columns:38px 48px minmax(110px,1.6fr) minmax(86px,1fr) minmax(86px,1fr) 30px;gap:8px;align-items:center}
.sh-head{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--label2)}
.sh-row input[type=color]{width:38px;height:32px;padding:2px;border:0;border-radius:9px;background:var(--fill);cursor:pointer}
.sh-row input[type=text]{min-width:0}
.sh-code{display:grid;place-items:center;height:26px;border-radius:7px;font-size:11px;font-weight:800;color:#fff;background:var(--c,#8e8e93)}
.rs-shifts input.sh-code{width:100%;height:32px;padding:0 2px;text-align:center;text-transform:uppercase;font-size:11px;font-weight:800;color:#fff;background:var(--c,#8e8e93)}
.rs-shifts input.sh-code.bad{outline:2px solid var(--neg)}
.sh-lock{text-align:center;color:var(--label3)}
.sh-hint{margin:2px 2px 0;font-size:12px;line-height:1.45;color:var(--label2)}
.sh-all{display:flex;gap:8px;align-items:center;font-size:13.5px;font-weight:600;cursor:pointer}
.rs-shifts .sh-all input{width:18px;height:18px;padding:0;accent-color:var(--blue)}
.sh-btns{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:560px){.sh-head{display:none}.sh-row{grid-template-columns:38px 48px 1fr 1fr 30px;grid-template-areas:"c k n n x" "c k s e x";padding:8px 0;border-bottom:.5px solid var(--sep)}.sh-row > :nth-child(1){grid-area:c}.sh-row > :nth-child(2){grid-area:k}.sh-row > :nth-child(3){grid-area:n}.sh-row > :nth-child(4){grid-area:s}.sh-row > :nth-child(5){grid-area:e}.sh-row > :nth-child(6){grid-area:x}}
.rs-shifts input{height:32px;padding:0 8px;border:0;border-radius:9px;background:var(--fill);color:var(--label);font:inherit}
.rs-shifts .rs-sv{justify-self:start;margin-top:4px}
.rs-t th{min-width:62px;text-align:center!important}
.rs-t th.busy{color:#c76a00}
.rs-t th small{display:block;font-weight:500;font-size:11px;color:var(--label2)}
.rs-t th.today{color:var(--blue)}
.rs-t td{text-align:center!important}
.rs-t td:first-child{text-align:left!important;min-width:150px}
.rs-cell{width:52px;height:32px;border:0;border-radius:9px;background:color-mix(in srgb,var(--c,#8e8e93) 16%,transparent);color:var(--c,#8e8e93);font:inherit;font-size:12.5px;font-weight:800;cursor:pointer;transition:transform .15s}
.rs-cell:active{transform:scale(.9)}
.rs-cell.empty{background:var(--fill);color:var(--label2);font-weight:500}
.rs-name,.cmp td .rs-name{display:flex;flex-direction:row;align-items:center;gap:8px}
.cmp td .zr-miss{flex-direction:row;flex-wrap:wrap;align-items:flex-start}
.cmp td .rv-x{flex-direction:row}
.rs-name small{display:block;font-size:11px;color:var(--label2)}
.rs-x{flex:none;width:22px;height:22px;border:0;border-radius:50%;background:var(--fill);color:var(--label2);font-size:14px;line-height:1;cursor:pointer}
.rs-add{display:flex;gap:8px;margin:10px 0 4px;max-width:440px}
.rs-add input{flex:1;min-width:0;height:36px;padding:0 12px;border:0;border-radius:11px;background:var(--fill);color:var(--label);font:inherit;font-size:15px}
.rs-add button{height:36px;padding:0 16px;border:0;border-radius:11px;background:var(--fill);color:var(--blue);font:inherit;font-weight:700;cursor:pointer}
.cmp td.warn-cell{color:var(--down);font-weight:700}
.hol-add{max-width:620px;flex-wrap:wrap}
.hol-add input[type=date]{flex:0 0 160px}
.hol-add select{height:36px;padding:0 10px;border:0;border-radius:11px;background:var(--fill);color:var(--label);font:inherit}
.rs-t th.hday{color:#b25d00}
/* ---------- campaigns ---------- */
.cp-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:6px}
.cp-intro p{margin:4px 0 0;font-size:13.5px;line-height:1.5;color:var(--label2)}
.pill-btn{height:36px;padding:0 16px;border:0;border-radius:18px;background:var(--blue);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}
.cp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.cp-card{background:var(--card);border-radius:16px;padding:14px 16px;display:grid;gap:10px;min-width:0}
.cp-card.off{opacity:.62}
.cp-top{display:flex;align-items:center;gap:8px;justify-content:space-between}
.cp-top b{font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-models{display:flex;flex-wrap:wrap;gap:5px}
.cp-models span{padding:2px 9px;border-radius:9px;background:color-mix(in srgb,#ff9f0a 15%,transparent);color:#b25d00;font-size:12.5px;font-weight:600}
:root[data-theme=dark] .cp-models span{color:#ffb340}
.cp-meta{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:13px}
.cp-meta span{color:var(--label2)}
.cp-impact{display:flex;gap:8px;flex-wrap:wrap}
.cp-impact div{flex:1 1 90px;padding:8px 10px;border-radius:11px;background:var(--fill);display:grid;gap:1px}
.cp-impact small{font-size:11px;color:var(--label2)}
.cp-impact b{font-size:16px;font-variant-numeric:tabular-nums}
.cp-acts{display:flex;gap:8px;align-items:center}
.cp-acts button{height:30px;padding:0 12px;border:0;border-radius:15px;background:var(--fill);color:var(--label);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.cp-acts button.danger{color:var(--down)}
.cp-acts .qs-switch{margin-left:auto}
.cp-form{display:grid;gap:12px;margin:10px 0}
.cp-form h3{margin:0;font-size:17px}
.cp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.cp-form label{display:grid;gap:5px;font-size:12.5px;font-weight:600;color:var(--label2)}
.cp-form input,.cp-form textarea{height:38px;padding:0 12px;border:0;border-radius:11px;background:var(--fill);color:var(--label);font:inherit;font-size:15px;font-weight:400}
.cp-form textarea{height:60px;padding:8px 12px;resize:vertical}
.cp-form input:focus,.cp-form textarea:focus{outline:2px solid var(--blue)}
.cp-picked{display:flex;flex-wrap:wrap;gap:6px;min-height:8px}
.cp-picked button{height:28px;padding:0 10px;border:0;border-radius:14px;background:color-mix(in srgb,#ff9f0a 16%,transparent);color:#b25d00;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
:root[data-theme=dark] .cp-picked button{color:#ffb340}
.cp-stores{display:flex;flex-wrap:wrap;gap:6px}
.cp-stores button{height:30px;padding:0 12px;border:0;border-radius:15px;background:var(--fill);color:var(--label);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.cp-stores button.on{background:color-mix(in srgb,var(--blue) 15%,transparent);color:var(--blue)}
.cp-quick{display:flex;flex-wrap:wrap;gap:6px}
.cp-quick button{height:28px;padding:0 10px;border:0;border-radius:14px;background:var(--fill);color:var(--blue);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.cp-btns{display:flex;gap:8px;justify-content:flex-end}
.cp-btns button{height:36px;padding:0 16px;border:0;border-radius:18px;background:var(--fill);color:var(--label);font:inherit;font-weight:600;cursor:pointer}
.cp-btns button[type=submit]{background:var(--blue);color:#fff}
.cp-preview{font-size:13px;color:var(--label2);line-height:1.45}
@media (max-width:640px){.cp-intro{grid-template-columns:1fr}}
html[data-view=phone] .cp-intro{grid-template-columns:1fr}
html[data-view=phone] .cp-list{grid-template-columns:1fr}
/* deals, offers and variant details wrap onto more lines instead of being cut off with "…" */
.pr .cmp td.lft,.pr .pr-det td.lft{max-width:none;overflow:visible;text-overflow:clip;white-space:normal}
.pr .cmp td.pr-deals{min-width:260px;max-width:420px}
.pr .pr-deals span{white-space:normal}
.pr .pr-det td{vertical-align:top}
.cmp .pr-det th,.cmp .pr-det td{position:static!important;min-width:0}   /* a model's variant list scrolls with its row; only the main heading stays on top */
.pr .pr-det td.lft{min-width:200px;max-width:360px}
.pr .pr-det td:first-child{max-width:none;white-space:normal}
.pr-det small.pr-special{display:block;margin-top:2px;white-space:normal;max-width:340px}
.sc-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 12px}
.sc-month{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--label2)}
.sc-month select,.sc-set select,.sc-set input{height:38px;padding:0 10px;border:0;border-radius:11px;background:var(--fill);color:var(--label);font:inherit;font-size:15px;min-width:0}
.sc .pr-kpi{cursor:default}
.sc .pr-kpi b small{font-size:.6em;font-weight:600;color:var(--label2)}
.sc .pr-kpi.good b{color:var(--up,#30d158)}.sc .pr-kpi.bad b{color:var(--down,#ff453a)}.sc .pr-kpi.warn b{color:#ff9f0a}
.sc-dim{color:var(--label3)!important;font-weight:500}
.sc .cmp tr.tot td{border-top:1px solid var(--sep,rgba(128,128,128,.3))}
.sc .cmp td small{display:block;font-size:11.5px;color:var(--label3);white-space:normal}
.sc-open{cursor:pointer}
.sc-tips ul,.sc-notes{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px}
.sc-more{margin:8px 2px 14px}
.sc-more summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--blue)}
.sc-more .tscroll{margin-top:8px}
.sc-acc{margin:0;font-size:15px}
.sc-set form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end}
.sc-set label{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--label)}
.sc-set label small{font-weight:500;color:var(--label3);font-size:11.5px}
.sc-set .pill-btn{height:38px}
/* Prices: the picked tab and segment chip must stand out in light and dark */
.pr-tabs button.on{background:var(--blue,#0a84ff);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--blue,#0a84ff) 35%,transparent)}
.pr-tabs button:not(.on):hover{color:var(--label)}
.pr .secseg button.on{background:var(--blue,#0a84ff);color:#fff;box-shadow:none}
.pr .secseg button.on small{color:#fff;opacity:.85}
/* roster picture: the shift key under the table, and SPCs left without shifts */
.rs-key{margin:12px 2px 0}
.rs-name small.rs-none{color:var(--orange,#ff9500);font-weight:600}
/* Review · Daily call */
.rv #rvTabs{margin-top:4px}
.datenav.dc-nonav .arrow{visibility:hidden}
.dc-kpis{margin:0 0 6px}
.dc-kpis .rv-kpi span .gc{font-size:11px}
.dc-closed{display:block;margin:4px 2px 2px}
.dc-spark{height:90px}
.dc-axis{display:flex;justify-content:space-between;margin-top:6px;font-size:11.5px;color:var(--label2)}
.dc-in{width:64px;height:30px;padding:0 8px;border:0;border-radius:8px;background:color-mix(in srgb,var(--blue,#0a84ff) 12%,var(--fill));color:var(--label);font:inherit;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.dc-in:focus{outline:2px solid var(--blue,#0a84ff);outline-offset:1px}
.dc-print{display:none}
@media print{.dc-in{display:none}.dc-print{display:inline;font-weight:700}#rvTabs,.rv-btns{display:none}}
/* Daily call: every card and table runs the full width, so their edges line up */
main #daily .card.table-card,main #daily .card.table-card:has(> .tscroll > table.cmp){width:auto;min-width:0;max-width:none}
main #daily .card.table-card > .tscroll > table.cmp{width:100%}
#daily .cmp tbody td.lft:first-child,#daily .cmp thead th:first-child,#daily .cmp tfoot td:first-child{width:24%;min-width:170px}
#daily .rv-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
#daily .rv-kpi span{display:flex;align-items:center;gap:5px;overflow:hidden}
#daily .dc-closed{text-align:left;margin:8px 2px 0}
#daily .dc-empty{display:block;text-align:left;margin:0}
#daily .table-card + .table-card{margin-top:10px}
/* Monthly review: number tiles fill the row and topic tables run the card's width */
.rv .rv-topic .rv-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
main.rv .rv-topic > .rv-tab.tscroll > table.cmp{width:100%}
.rv .rv-tab .cmp td.lft:first-child,.rv .rv-tab .cmp th:first-child{width:28%}
/* tabs between pages that share one menu entry (Reports, Compare, Targets) */
.pg-tabs{display:flex;gap:4px;padding:4px;margin:6px 0 12px;border-radius:14px;background:var(--fill);overflow-x:auto;scrollbar-width:none}
.pg-tabs a{flex:1;min-width:max-content;display:grid;place-items:center;height:36px;padding:0 16px;border-radius:11px;color:var(--label2);font-size:14px;font-weight:600;text-decoration:none}
.pg-tabs a:hover{color:var(--label)}
.pg-tabs a.on{background:var(--blue,#0a84ff);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--blue,#0a84ff) 35%,transparent)}
@media print{.pg-tabs{display:none}}
.hm #daily{margin-top:22px}
/* long pages in tabs (Sales Overview, Store vs City, Salesperson Performance, Stock) */
.st-off,main .sec-head.st-off,html body main .st-off{display:none!important}
.pg-tabs.sec-tabs button{flex:1;min-width:max-content;height:36px;padding:0 16px;border:0;border-radius:11px;background:none;color:var(--label2);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.pg-tabs.sec-tabs button:hover{color:var(--label)}
.pg-tabs.sec-tabs button.on{background:var(--blue,#0a84ff);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--blue,#0a84ff) 35%,transparent)}
.pg-tabs + .pg-tabs.sec-tabs{background:none;padding:0 4px;margin-top:-4px}
.pg-tabs + .pg-tabs.sec-tabs button.on{background:color-mix(in srgb,var(--blue,#0a84ff) 14%,transparent);color:var(--blue,#0a84ff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue,#0a84ff) 35%,transparent)}
@media print{.sec-tabs{display:none}}

/* every strip under the page title spans the content width, like the cards below it; on a phone long tab names wrap
   onto two lines instead of being cut off */
main .pg-tabs,main .pg-tabs.sec-tabs{width:auto;max-width:none;box-sizing:border-box}
@media (max-width:640px){
  main .pg-tabs a,main .pg-tabs.sec-tabs button{min-width:0;height:auto;min-height:36px;padding:4px 8px;white-space:normal;line-height:1.15;font-size:13px;text-align:center}
}
/* Offers & EMI: long scheme text wraps instead of stretching the table */
.pr-det small.pr-combo{display:block;margin-top:3px;white-space:normal;max-width:340px;color:var(--muted)}
#emiTable td small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal;max-width:240px;line-height:1.3}
#emiTable td b{display:block}
#emiTable td:first-child{min-width:130px;max-width:190px;white-space:normal}
#emiTable tr.pr-emi{cursor:pointer}
/* offer end dates: ending within 3 days, or already over */
.pr-end{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}
.pr-end.soon{background:color-mix(in srgb,#ff9f0a 18%,transparent);color:#b25d00}
:root[data-theme=dark] .pr-end.soon{color:#ffb340}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pr-end.soon{color:#ffb340}}
.pr-end.gone{background:var(--fill);color:var(--muted)}
#emiTable td small.pr-end{display:inline-block;-webkit-line-clamp:unset;max-width:none}
/* Stock flow: period chips and the dates to pick */
.fl-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 12px}
.fl-dates{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}
.fl-dates label{display:grid;gap:3px;font-size:12px;font-weight:600;color:var(--label2)}
.fl-dates input{height:36px;padding:0 10px;border:0;border-radius:10px;background:var(--fill);color:var(--label);font:inherit}
#flMonths tr.on td{background:color-mix(in srgb,var(--accent,#0a84ff) 8%,transparent)}
.pr-sold{margin:0 0 10px;align-items:center}
.pr-sold-dates{margin:0 0 12px}
.pr-sold .ctl-lab{font-size:12.5px;font-weight:600;color:var(--label2);margin-right:2px}
#pbTable td small{display:block;color:var(--muted);font-size:11.5px;white-space:nowrap}
#pbTable td .pp{display:inline-block;margin-top:2px}
#flTable tr.fl-m{cursor:pointer}
#flTable tr.fl-v td{font-size:13px;color:var(--label2);background:color-mix(in srgb,var(--fill) 50%,transparent)}
#flTable tr.fl-v td:first-child{padding-left:26px}
#flTable .fl-car{display:inline-block;width:12px;color:var(--muted)}

.pr-date{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--label2)}
.pr-date input{height:36px;padding:0 10px;border:0;border-radius:10px;background:var(--fill);color:var(--label);font:inherit}
.pr-lists{margin:8px 0 0}
.pr-lists button small{opacity:.6;margin-left:4px}
.pr-lists button .x{margin-left:6px;opacity:.55}
.spark{display:block}
.spark path{fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.spark .pl{stroke:#ff9f0a;stroke-dasharray:3 3}
.spark circle{fill:var(--blue)}
.pr-scope{display:flex;gap:6px}
.pr-scope button{height:32px;padding:0 14px;border:0;border-radius:16px;background:var(--fill);color:var(--label);font:inherit;font-weight:600;cursor:pointer}
.pr-scope button.on{background:color-mix(in srgb,var(--blue) 15%,transparent);color:var(--blue)}
.cp-form select{height:38px;padding:0 10px;border:0;border-radius:11px;background:var(--fill);color:var(--label);font:inherit;font-size:15px}
.cmp td .pr-acts{display:flex;flex-direction:row;gap:6px;justify-content:flex-end}
.pr-acts button{height:26px;padding:0 10px;border:0;border-radius:13px;background:var(--fill);color:var(--label);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.pr-acts button.danger{color:var(--down)}
/* layout polish: one left edge for everything, tables that fit their cards, a calm top bar */
main .sec-head{margin-left:0!important;margin-right:0!important}
.pg-head{margin-left:0;margin-right:0}
html:not([data-view=phone]) .wrap,html:not([data-view=phone]) .bar,html:not([data-view=phone]) .datenav{max-width:1240px}
.nx-kpis{display:flex;flex-wrap:wrap}
.nx-kpis>*{flex:1 1 158px;min-width:0}
.hm-wrap{overflow-x:auto;max-width:100%}
.cmp{font-size:13px;min-width:0}
.cmp th,.cmp td{padding-left:8px;padding-right:8px}
.cmp th{white-space:normal;line-height:1.2;vertical-align:bottom;min-width:48px}
.cmp th small{white-space:normal}
.cmp th:first-child,.cmp td:first-child{padding-left:14px}
.cmp th:last-child,.cmp td:last-child{padding-right:14px}
.cmp .gc{font-size:11.5px;padding-left:6px;padding-right:6px}
html header.top{background:color-mix(in srgb,var(--bg) 90%,transparent);box-shadow:0 .5px 0 var(--sep)}
html header.top.compact{box-shadow:none}
html header.top .bar{height:50px;gap:10px}
html header.top .bar h1{font-size:17px;font-weight:650;letter-spacing:-.012em}
html header.top .bar-right{padding:0;gap:0}
html header.top .bar-right::before{display:none}
html header.top .bar-right .hbtn.icon{width:34px;min-width:34px;height:34px}
html header.top .bar-right #exploreBtn{height:34px;margin-left:6px;padding:0 10px 0 12px;background:var(--fill);font-size:13.5px}
html header.top .bar-right #exploreBtn:hover{background:color-mix(in srgb,var(--label) 14%,transparent)}
html header.top .bar-right .net{height:34px;padding:0 8px;font-size:12px;font-weight:500;color:var(--label2,var(--label-3))}
html header.top:not(.compact) .datenav{height:34px;margin:0 auto 8px;padding:0 4px}
html header.top:not(.compact) .datenav::before{box-shadow:0 0 0 .5px var(--chrome-line)}
html header.top:not(.compact) .datenav #navLabel{font-size:13.5px;min-width:112px}
html header.top:not(.compact) .datenav .arrow{width:24px;height:24px}
.zr-spcs{margin-top:10px}
.xp-pop .xp-item small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xp-pop .xp-item>*{min-width:0}
html body .cmp th,html body .cmp td{min-width:0;padding-left:6px;padding-right:6px}
html body .cmp th{min-width:50px}
html body .cmp th:first-child,html body .cmp td:first-child{min-width:112px;padding-left:12px}
html body .cmp th:last-child,html body .cmp td:last-child{padding-right:12px}
html body .cmp .gc{min-width:54px;padding:0 5px;font-size:11.5px}
html body .cmp.dw td:first-child{min-width:92px}
html body .heat td{min-width:0}
html body .wrap>.pg-head{margin-left:0;margin-right:0}
html body .zr .zr-spcs{margin-top:10px}

html body .layout.masonry>.b-compare{grid-column:1/-1;grid-row:auto}
html body .zr .chips{flex-wrap:wrap;overflow:visible}
html body .hm-hello,html body .rp-all{margin-left:0;margin-right:0}
.pg-toc{position:relative;margin:2px 0 14px;padding:0}
.pg-toc .toc-rail{display:flex;flex-wrap:wrap;gap:4px 6px}
.pg-toc[hidden]{display:none}
.pg-toc button{height:30px;padding:0 12px;border:0;border-radius:15px;background:var(--fill);color:var(--label2,var(--label-2));font:inherit;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s}
.pg-toc button:hover{color:var(--label)}
.pg-toc button.on{background:color-mix(in srgb,var(--blue) 16%,transparent);color:var(--blue)}
.pg-toc button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
html[data-view=phone] .pg-toc .toc-rail{margin:0 30px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
@media (max-width:640px){.pg-toc .toc-rail{margin:0 30px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}}
.toc-rail::-webkit-scrollbar{display:none}
@view-transition{navigation:auto}
@keyframes paneIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.pr-pane:not([hidden]),body.ux-hub .ux-sec.on{animation:paneIn .22s ease}
@media (prefers-reduced-motion:reduce){.pr-pane:not([hidden]),body.ux-hub .ux-sec.on{animation:none}@view-transition{navigation:none}}
.prod-group{margin-bottom:14px}
.prod-group h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 8px;font-size:14px;font-weight:700}
.prod-group h3 small{font-size:12px;font-weight:500;color:var(--label2,var(--label-2))}
.prod-t th:first-child,.prod-t td:first-child{width:240px}
.prod-all tbody td{font-weight:700}
@media (min-width:1000px){
  html:not([data-view=phone]) body .layout.masonry{grid-auto-rows:auto;align-items:stretch}
  html:not([data-view=phone]) body .layout.masonry>*{grid-row-end:auto!important}
  html:not([data-view=phone]) .layout.masonry>.b-sales,html:not([data-view=phone]) .layout.masonry>.b-kpi,html:not([data-view=phone]) .b-kpi>#planBlock{display:flex;flex-direction:column;min-width:0}
  html:not([data-view=phone]) .layout.masonry>.b-kpi>#planBlock,html:not([data-view=phone]) .b-kpi #planCard,html:not([data-view=phone]) .b-sales #salesCard{flex:1}
  html:not([data-view=phone]) .b-sales #salesRows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
  html:not([data-view=phone]) .b-sales .foot{margin-bottom:0}
  html:not([data-view=phone]) .layout.masonry>.b-kpi{padding-bottom:24px}
  html:not([data-view=phone]) .b-kpi #planCard{display:flex;flex-direction:column}
  html:not([data-view=phone]) .b-kpi #planBody{flex:1;display:flex;flex-direction:column}
  html:not([data-view=phone]) .b-kpi #planBody .kv{flex:1;display:flex;flex-direction:column;justify-content:space-between}
  html:not([data-view=phone]) .layout.masonry>.b-drivers,html:not([data-view=phone]) .layout.masonry>.b-compare{grid-column:1/-1;grid-row:auto}
}
html body .b-drivers .kpis{display:flex;flex-wrap:wrap;gap:10px}
html body .b-drivers .kpis>*{flex:1 1 270px;min-width:0}
.pg-toc-float{position:fixed;left:50%;z-index:19;width:max-content;max-width:min(calc(100vw - 84px),1000px);padding:3px;border-radius:17px;
  background:color-mix(in srgb,var(--card,var(--surface-solid)) 94%,transparent);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);box-shadow:0 4px 16px rgba(0,0,0,.12),0 0 0 .5px var(--sep);
  transform:translate(-50%,-6px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .25s,top .3s cubic-bezier(.3,.9,.3,1),visibility 0s .2s}
.pg-toc-float .toc-rail{display:flex;gap:2px;border-radius:14px;overflow-x:auto;scrollbar-width:none}
.pg-toc-float.show{transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s,transform .25s,top .3s cubic-bezier(.3,.9,.3,1)}
.pg-toc-float button{flex:none;height:28px;padding:0 11px;border:0;border-radius:14px;background:none;color:var(--label2,var(--label-2));font:inherit;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s}
.pg-toc-float button:hover{color:var(--label)}
.pg-toc-float button.on{background:color-mix(in srgb,var(--blue) 16%,transparent);color:var(--blue)}
.pg-toc-float button:focus-visible{outline:2px solid var(--blue);outline-offset:-1px}
html[data-view=phone] .pg-toc-float{max-width:min(calc(100vw - 84px),416px)}
@media print{.pg-toc-float{display:none}}
@media (prefers-reduced-motion:reduce){.pg-toc-float,.pg-toc-float.show{transition:none}}
html body .cmp th{min-width:72px}
html body .cmp th small{line-height:1.2}
.pg-toc .toc-more,.pg-toc-float .toc-more{position:absolute;top:50%;z-index:2;display:none;place-items:center;width:26px;height:26px;padding:0;border-radius:50%;color:var(--label2,var(--label-2));cursor:pointer;transform:translateY(-50%)}
.pg-toc .toc-more{border:0;background:var(--fill)}
.pg-toc-float .toc-more{border:inherit;background:inherit;box-shadow:inherit;-webkit-backdrop-filter:inherit;backdrop-filter:inherit}
.pg-toc .toc-more:hover,.pg-toc-float .toc-more:hover{color:var(--label)}
.toc-more svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.pg-toc .toc-more.l{left:0}
.pg-toc .toc-more.r{right:0}
.pg-toc-float .toc-more.l{left:-30px}
.pg-toc-float .toc-more.r{right:-30px}
.pg-toc.more-l>.toc-more.l,.pg-toc.more-r>.toc-more.r,.pg-toc-float.more-l>.toc-more.l,.pg-toc-float.more-r>.toc-more.r{display:grid}
.more-r>.toc-rail{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent 100%)}
.more-l>.toc-rail{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to left,#000 calc(100% - 28px),transparent 100%)}
.more-l.more-r>.toc-rail{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%)}
.cmpg.pick-first>:not(.ch-panel):not(#pickFirst):not(.err):not(.pg-head):not(.pg-tabs:not(.sec-tabs)){display:none}   /* the page title and its tabs (Compare Stores · Store vs City) stay */
html body main.cmpg.pick-first .sec-head{display:none!important}   /* empty headings wait until stores are picked */
.cmp-stores{min-height:32px;max-width:100%;padding:0 14px;border:0;border-radius:16px;background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.cmp-first{margin-top:14px;padding:28px 20px;text-align:center}
.cmp-first h2{margin:0 0 6px;font-size:18px}
.cmp-first p{margin:0 0 16px;color:var(--label2,var(--label-2));font-size:14px}
.cmp-first-do{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.cmp-first-do button{min-height:38px;padding:0 18px;border:0;border-radius:19px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.cmp-go{background:var(--blue);color:#fff}
.cmp-all{background:var(--fill);color:var(--label)}
.ptable tfoot td.on-base{background:color-mix(in srgb,var(--blue) 16%,var(--card))}
#prodSpcTable{width:100%}
#prodSpcTable th:nth-child(n+5),#prodSpcTable td:nth-child(n+5){min-width:92px;white-space:normal;overflow-wrap:anywhere;text-align:right}
.fs-picks{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.fs-picks label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--label2,var(--label-2))}
.fs-picks select{min-height:34px;max-width:100%;padding:0 10px;border:1px solid var(--sep);border-radius:10px;background:var(--card);color:var(--label);font:inherit;font-size:13px}
.fs-note{margin:6px 0 10px;font-size:13px;color:var(--label2,var(--label-2))}
.fs-warn{margin:10px 0;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,#ff9500 14%,var(--card));font-size:13px}
.fs-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}
.fs-kpis div{padding:12px 14px;border-radius:14px;background:var(--card)}
.fs-kpis b{display:block;font-size:20px}
.fs-kpis small{color:var(--label2,var(--label-2));font-size:12px}
#fsPast tbody tr{cursor:pointer}
#fsPast tbody tr.on td{background:color-mix(in srgb,var(--blue) 10%,var(--card))}
.drv-top{margin:0;padding:12px 14px;font-size:13px;border-bottom:.5px solid var(--sep)}
.cmp.drv td:first-child{font-weight:600}
#spcAchTable tfoot td:not(:first-child){padding-right:6px}
#histTable tfoot td{background:color-mix(in srgb,var(--blue) 16%,var(--card))!important}
#actTable th:nth-child(7){text-align:left}
/* phone: the arrows sit in the strip's own row, so they can never leave the screen or cover a link */
@media (max-width:640px){
  .pg-toc-float{left:12px;right:12px;width:auto;max-width:none;transform:translateY(-6px)}
  .pg-toc-float.show{transform:none}
  .pg-toc:not([hidden]),.pg-toc-float{display:flex;align-items:center;gap:2px}
  .pg-toc .toc-rail,.pg-toc-float .toc-rail{flex:1 1 0;min-width:0;margin:0}
  .pg-toc .toc-more,.pg-toc-float .toc-more{position:static;flex:none;transform:none;border:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .toc-more.l{order:-1}
  .toc-more.r{order:1}
}
html[data-view=phone] .pg-toc-float{left:12px;right:12px;width:auto;max-width:none;transform:translateY(-6px)}
html[data-view=phone] .pg-toc-float.show{transform:none}
html[data-view=phone] .pg-toc:not([hidden]),html[data-view=phone] .pg-toc-float{display:flex;align-items:center;gap:2px}
html[data-view=phone] .pg-toc .toc-rail,html[data-view=phone] .pg-toc-float .toc-rail{flex:1 1 0;min-width:0;margin:0}
html[data-view=phone] .pg-toc .toc-more,html[data-view=phone] .pg-toc-float .toc-more{position:static;flex:none;transform:none;border:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
html[data-view=phone] .toc-more.l{order:-1}
html[data-view=phone] .toc-more.r{order:1}
.cmp tfoot td:first-child{font-weight:800}
.cmp tfoot td:has(.more){font-weight:500}
#spcAchTable tfoot td:last-child{padding-right:12px}
.spc #spcTable th:first-child,.spc #spcTable td:first-child{max-width:240px}
html[data-view=phone] body .cmp th{min-width:88px}
@media (max-width:640px){html body .cmp th{min-width:88px}}
.eod-month{margin:0 0 12px}

/* Store vs City */
.cty .cty-link{cursor:pointer}
.cty .cty-seg td{background:rgba(52,168,83,.08)}
.cty .cty-line{min-width:280px;white-space:normal;font-weight:600}
.cty .cty-check{min-width:170px;white-space:normal;color:var(--muted,#6e6e73);font-size:12px}
.cty .cty-check.hit{color:inherit;font-weight:700}
.cty td small{display:block;font-weight:400;opacity:.7;white-space:nowrap}
.cty-chart{padding:14px}
.cty-chart svg{display:block;width:100%;height:auto}
.cty-grid{stroke:currentColor;opacity:.1}
.cty-tick{font-size:11px;fill:currentColor;opacity:.65}
.cty-store,.cty-city{fill:none;stroke-width:2.5;stroke-linejoin:round}
.cty-store{stroke:#0071e3}
.cty-city{stroke:#8e8e93}
.cty-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:12px;align-items:center}
.cty-legend p{flex-basis:100%;margin:0;opacity:.7}
.cty-k{display:inline-block;width:16px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}
.cty-k.store{background:#0071e3}.cty-k.city{background:#8e8e93}
.cty-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}

/* number columns are at least 88px and share any spare width with the name column, so on a wide screen the numbers
   don't bunch up at the right edge; long headings wrap rather than stretch their column */
html body table.cmp thead th:not(.lft):not(:first-child){min-width:88px;white-space:normal;overflow-wrap:break-word;line-height:1.25;vertical-align:bottom}
html body table.dw td,html body table.dw tfoot td{box-sizing:border-box}
.dw-days{margin-top:8px}
.dw-sub td{font-weight:600;opacity:.9}
.dw-sub td small{display:inline;margin-left:6px;font-weight:400;opacity:.7}
.sx-only{display:block;padding:4px 10px 8px;font-size:12px}
.sx-only select{max-width:100%;margin-left:6px}
/* phone view in a wide window: the floating section bar stays inside the 440px phone column, not the window */
html[data-view=phone] body>.pg-toc-float{left:max(12px,calc(50% - 208px));right:max(12px,calc(50% - 208px));width:auto;max-width:none}
/* a table card is only as wide as its table needs (never less than 560px, never more than the page), so a table with
   few columns neither leaves an empty block beside it nor spreads its numbers across the screen */
main .card.table-card:has(> .tscroll > table.cmp){width:fit-content;min-width:min(100%,560px);max-width:100%;box-sizing:border-box}
main .card.table-card:has(> .tscroll > table.cmp) > .tscroll > table.cmp{width:100%}
/* a table inside another card (Monthly Review topics, Incentive details) is only as wide as it needs, too */
main :not(.table-card) > .tscroll > table.cmp{width:auto;min-width:min(100%,560px)}
/* the number a growth % is measured against, shown under the chip ("LM 3", "LMTD 12.72L") */
.gc-was{display:block;margin-top:3px;font-size:11px;font-weight:500;font-style:normal;color:var(--label2);white-space:nowrap;letter-spacing:0}
.dw-sub td small.gc-was{display:block;margin-left:0}   /* weekday / weekend rows stack like the day rows and Total */

.ss{position:relative}
.ss-box{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:42px;padding:6px 10px;border-radius:12px;background:var(--fill);cursor:text}
.ss-chips{display:contents}.ss-all{font-size:13px;color:var(--label-2);font-weight:600}
.ss-chip{border:0;border-radius:14px;height:26px;padding:0 10px;background:color-mix(in srgb,var(--blue) 15%,transparent);color:var(--blue);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.ss-chip i{font-style:normal;opacity:.7;margin-left:2px}
.ss-in{flex:1;min-width:120px;border:0;background:transparent;font:inherit;font-size:14px;color:var(--label);outline:none;padding:4px 0}
.ss-pop{margin-top:6px;border-radius:14px;background:var(--card,var(--bg));border:1px solid var(--sep,rgba(128,128,128,.25));box-shadow:0 12px 32px rgba(0,0,0,.18);padding:10px;max-width:100%}
.ss-foot button{height:28px;padding:0 11px;border:0;border-radius:14px;background:var(--fill);color:var(--label);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.ss-list{max-height:240px;overflow:auto;display:grid;gap:2px}
.ss-row{display:flex;gap:10px;align-items:center;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:13.5px}
.ss-row:hover{background:var(--fill)}.ss-row input{width:16px;height:16px;flex:none}.ss-row i{display:none}
.ss label.ss-row{display:flex;flex-direction:row;text-transform:none;letter-spacing:0}
.ss-more{margin:6px 8px;font-size:12px;color:var(--label-2)}
.ss-foot{display:flex;gap:6px;align-items:center;margin-top:8px}.ss-count{flex:1;font-size:12px;color:var(--label-2)}
.ss-done{background:var(--blue)!important;color:#fff!important}
