:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#161513;--surface:#1d1b18;--surface-alt:#211f1c;--text:#f3f1ea;--text-body:#cfcabd;--text-muted:#a7a193;--border:#37342e;--accent:#fe6459;--accent-ink:#1a1a1a;--on:#f3f1ea;--on-ink:#161513;--late:#fe6459;--req-tint:#fe645929;--status-initial:#eed732;--status-repeat:#5fcdff;--status-overdue:#fe6459;--status-none:#a7a193;--chip-ink:#1a1a1a;--chip-none-ink:#a7a193;--chip-none-border:#37342e;--header-bg:#1d1b18;--header-text:#f3f1ea;--header-border:#37342e;--header-outline:#a7a193;--users-bg:transparent;--users-ink:#f3f1ea;--users-border:#a7a193;--signout-bg:#f3f1ea;--signout-ink:#1a1a1a;--nav-bg:#1d1b18;--nav-ink:#f3f1ea;--nav-border:#37342e;--nav-on-bg:#f3f1ea;--nav-on-ink:#161513;--nav-on-border:#f3f1ea;--sync-dot:#4fbf7a;--sync-dot-stale:#e0a21a;--radius-nav:2px;--radius-card:4px;--radius-btn:2px;--radius-chip:20px;--shadow-card:none;--font-display:"Oswald", sans-serif;--font-body:"Inter", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--display-transform:uppercase;--display-weight:700;--max-width:1240px;--page-pad:32px;--section-gap:28px}
*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-body);margin:0}a{color:var(--text)}a:hover{color:var(--accent)}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;font-size:12px}h1,h2{font-family:var(--font-display);letter-spacing:.01em;text-transform:var(--display-transform);margin:0}h1{font-size:34px;font-weight:var(--display-weight)}h2{font-size:24px;font-weight:600}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{font:600 13px var(--font-body);border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface);height:34px;color:var(--text);cursor:pointer;padding:0 14px}.btn[aria-pressed=true]{background:var(--on);color:var(--on-ink);border-color:var(--on)}.btn:focus-visible,nav a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-header{padding:0 max(var(--page-pad),calc((100% - var(--max-width))/2 + var(--page-pad)));background:var(--header-bg);color:var(--header-text);box-shadow:var(--shadow-card)}.hdr-top{flex-wrap:wrap;align-items:center;gap:8px 14px;min-height:56px;padding:8px 0;display:flex}.hdr-title{color:var(--header-text);font-size:22px}.hdr-account{align-items:center;gap:10px;margin-left:auto;display:flex}.hdr-users,.hdr-signout{border-radius:var(--radius-nav);height:36px;font:700 14px var(--font-body);white-space:nowrap;cursor:pointer;border:1px solid #0000;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.hdr-users{background:var(--users-bg);color:var(--users-ink);border-color:var(--users-border)}.hdr-signout{background:var(--signout-bg);color:var(--signout-ink)}.hdr-users:hover,.hdr-signout:hover{filter:brightness(1.1)}.hdr-users[aria-current=page]{box-shadow:inset 0 0 0 2px var(--header-text)}.hdr-users:focus-visible,.hdr-signout:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.subbar{padding:12px max(var(--page-pad),calc((100% - var(--max-width))/2 + var(--page-pad)));flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.subbar nav{flex-wrap:wrap;gap:8px;display:flex}.subbar nav a{border:1px solid var(--nav-border);border-radius:var(--radius-nav);background:var(--nav-bg);height:34px;color:var(--nav-ink);font:700 14px var(--font-body);align-items:center;padding:0 14px;text-decoration:none;display:inline-flex}.subbar nav a:hover{border-color:var(--nav-ink)}.subbar nav a.on{background:var(--nav-on-bg);color:var(--nav-on-ink);border-color:var(--nav-on-border)}.page-error{flex-direction:column;align-items:flex-start;gap:12px;padding:24px;display:flex}.late{color:var(--late);font-weight:700}main{max-width:var(--max-width);padding:20px var(--page-pad) var(--page-pad);gap:var(--section-gap);flex-direction:column;margin:0 auto;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.placeholder{color:var(--text-body);padding:24px;line-height:1.6}@media (max-width:700px){.app-header{padding:0 16px}main{padding:20px 16px}.subbar{padding:12px 16px}.hdr-account{margin-left:0}}.sub{color:var(--text-muted);font-size:12px}.btns{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.btns .filt{margin:0 6px 0 0}.ctl{color:var(--text-body);flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:14px;font-size:13px;display:flex}.ctl label,.ctl .lbl{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);flex-direction:column;gap:4px;font-size:11px;display:flex}.ctl input,.ctl select{font:14px var(--font-body);border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface);height:34px;color:var(--text);padding:0 10px}.wrap{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);overflow-x:auto}.ct{border-collapse:collapse;width:100%;font-size:13px}.ct th{text-align:left;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);vertical-align:bottom;padding:10px 8px;font-size:10px;font-weight:600;line-height:1.3}.ct th[aria-sort=ascending],.ct th[aria-sort=descending]{color:var(--text)}.ct th.n,.ct td.n{text-align:right;font-variant-numeric:tabular-nums}.ct td{border-bottom:1px solid var(--border);vertical-align:top;padding:9px 8px}.ct td.nw{white-space:nowrap}.ct tr:last-child td{border-bottom:0}.btn:disabled{opacity:.6;cursor:progress}main.auth-page{box-sizing:border-box;justify-content:center;align-items:center;max-width:none;min-height:100vh;padding:24px 16px}.admin-users{flex-direction:column;gap:28px;display:flex}.admin-card h2{font-family:var(--font-display);text-transform:var(--display-transform);margin:0 0 10px;font-size:16px}.admin-card.card{padding:16px}.admin-card.card .ctl{margin-bottom:0}.admin-msg{min-height:20px;color:var(--text-body);font-size:13px}.admin-msg[data-err=true]{color:var(--late);font-weight:600}.badge{font:600 11px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--text-muted);border-radius:var(--radius-chip);color:var(--text);padding:2px 8px;display:inline-block}.role-sel{font:13px var(--font-body);border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface);height:34px;color:var(--text);padding:0 8px}.btn-danger{border-color:var(--late);color:var(--late)}.admin-more{margin-top:12px}.app-header{box-shadow:none;border-bottom:1px solid var(--header-border)}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}.sync{font:12px var(--font-body);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-left:6px;display:inline-flex}.sync-dot{background:var(--sync-dot);border-radius:50%;flex-shrink:0;width:7px;height:7px}.sync[data-stale=true] .sync-dot{background:var(--sync-dot-stale)}.sync-sep{opacity:.5}.sync-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.sync-link:hover{color:var(--text)}.sync-link:disabled{opacity:.7;cursor:progress}.sync-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.sync-note{font-size:11px}.sync-note.err{color:var(--late)}.refresh{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.refresh-msg{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.refresh-msg.err{color:var(--late)}.banners{max-width:var(--max-width);padding:var(--page-pad) var(--page-pad) 0;flex-direction:column;gap:10px;margin:0 auto;display:flex}.banners:empty{display:none}.banner{border:1px solid var(--border);border-left:4px solid var(--status-initial);border-radius:var(--radius-card);background:var(--surface);color:var(--text-body);padding:12px 16px;font-size:14px;line-height:1.5}.banner.warn{border-left-color:var(--accent)}@media (max-width:700px){.banners{padding:20px 16px 0}.refresh{justify-content:flex-start}}.kpis{flex-wrap:wrap;align-items:stretch;gap:12px;display:flex}.kpi-month{flex:1 0 100%;font-size:18px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);flex:160px;padding:14px 16px}.kl{font:11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.kv{font:var(--display-weight) 30px var(--font-display);margin-top:4px}.ctl{margin-bottom:0}.filt.s-none[aria-pressed=true],.filt.s-initial[aria-pressed=true],.filt.s-repeat[aria-pressed=true],.filt.s-overdue[aria-pressed=true]{background:var(--on);color:var(--on-ink)}.chk{align-items:center;gap:6px;font-size:13px;display:inline-flex}.table-scroll{overflow-x:auto}table.clients{border-collapse:collapse;width:100%;color:var(--text-body);font-size:13px}table.clients th,table.clients td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;white-space:nowrap;padding:8px 10px}table.clients th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:11px;font-weight:600}table.clients th .th-btn{color:inherit;text-transform:inherit;letter-spacing:inherit;font-weight:600}table.clients .num{text-align:right}table.clients tr.not-target td,table.clients tr.ntrow td{background:var(--surface-alt)}table.clients tr.detail td{background:var(--surface-alt);white-space:normal}.th-btn,.acct-btn,.link-btn{font:inherit;color:var(--text);cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}.th-btn{font-weight:700}.acct-btn{font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.link-btn{color:var(--text-muted);font-size:12px}.th-btn:focus-visible,.acct-btn:focus-visible,.link-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pill{border-radius:var(--radius-chip);color:var(--chip-ink);border:1px solid #0000;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.pill.s-none{color:var(--chip-none-ink);border-color:var(--chip-none-border);background:0 0}.pill.s-initial{background:var(--status-initial)}.pill.s-repeat{background:var(--status-repeat)}.pill.s-overdue{background:var(--status-overdue)}.ntbox{align-items:center;gap:10px;display:flex}.ntlabel{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.note-in{min-width:220px;height:30px;font:13px var(--font-body);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;flex:1;padding:0 12px}.note-in.req{border-color:var(--late);background:var(--req-tint)}.ntreq{color:var(--late);font-size:11px}.ntext{color:var(--text-body);flex:1;font-size:13px}.ntedit{font:11px var(--font-body);color:var(--text-muted);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.ntedit:hover,.ntedit:focus-visible{color:var(--text)}.ntmsg{text-align:right;min-width:48px;color:var(--text-muted);margin-left:auto;font-size:11px}.ntmsg[data-state=error]{color:var(--late)}.deal-list{margin:0;padding-left:18px;line-height:1.7}.tl{padding:12px}.tl-legend{color:var(--text-muted);flex-wrap:wrap;gap:14px;margin-bottom:8px;font-size:12px;display:flex}.tl-legend .dot{border-radius:50%;width:10px;height:10px;margin-right:4px;display:inline-block}.tl-scroll{overflow-x:auto}.tl-scroll svg{min-width:720px}.tl-grid{stroke:var(--border)}.tl-today{stroke:var(--text-muted)}.tl-label{fill:var(--text)}.tl-muted{fill:var(--text-muted)}.tl-legend .dot{stroke:var(--text)}.tl-od.s-none,.tl-legend .dot.s-none{fill:var(--status-none);background:var(--status-none)}.tl-od.s-initial,.tl-legend .dot.s-initial{fill:var(--status-initial);background:var(--status-initial)}.tl-od.s-repeat,.tl-legend .dot.s-repeat{fill:var(--status-repeat);background:var(--status-repeat)}.tl-od.s-overdue,.tl-legend .dot.s-overdue{fill:var(--status-overdue);background:var(--status-overdue)}.tl-wrap{min-width:720px;position:relative}.tl-wrap svg{min-width:0}.tl-od{stroke:var(--surface);stroke-width:1.5px;cursor:pointer}.tl-od:hover,.tl-od:focus{stroke:var(--accent);stroke-width:2.5px;outline:none}.tl-tip{z-index:5;overflow-wrap:anywhere;background:var(--surface-alt);max-width:min(260px,90%);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-card);white-space:normal;padding:8px 10px;font-size:12px;line-height:1.5;position:absolute}.tl-tip a{color:var(--text);text-decoration:underline}.tl-ring{fill:var(--surface);stroke-width:2.5px}.tl-ring.s-none{stroke:var(--status-none)}.tl-ring.s-initial{stroke:var(--status-initial)}.tl-ring.s-repeat{stroke:var(--status-repeat)}.tl-ring.s-overdue{stroke:var(--status-overdue)}.section-details{padding:12px 16px}.section-details>summary{cursor:pointer}.section-details>summary h2{font-size:20px;display:inline}.recon{flex-direction:column;gap:10px;padding:16px;display:flex}.recon h2{font-size:20px}.recon-reason{font:600 14px var(--font-body);margin:6px 0 2px}.recon-counts{flex-wrap:wrap;gap:18px;margin:0;padding:0;font-weight:600;list-style:none;display:flex}.rules{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-card)}.rules>summary{cursor:pointer;font:600 18px var(--font-display);align-items:center;gap:10px;padding:14px 16px;list-style:none;display:flex}.rules>summary::-webkit-details-marker{display:none}.rules>summary em{font:12px var(--font-mono);color:var(--text-muted);margin-left:auto;font-style:normal}.rules[open]>summary em{display:none}.rules .chev{border-right:2px solid var(--text);border-bottom:2px solid var(--text);width:8px;height:8px;transition:transform .15s;transform:rotate(-45deg)}.rules[open] .chev{transform:rotate(45deg)}.rules>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rb{flex-direction:column;gap:10px;padding:0 16px 16px;display:flex}.note{color:var(--text-body);font-size:14px;line-height:1.55}.eyebrow-sm{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px}main>section:not(.card)>h2{margin-bottom:12px}.section-head h2{margin-bottom:0}.si-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:12px;display:flex}.si-brand{font-size:34px}.week-control{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.ctl-lbl{flex-direction:column;gap:6px;display:flex}.week-control select{font:14px var(--font-body);border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface);color:var(--text);min-width:240px;height:44px;padding:10px 12px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);flex-direction:column;gap:8px;padding:24px;display:flex}.kpi-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.kpi-value{font-family:var(--font-display);letter-spacing:.01em;font-size:28px;font-weight:700;line-height:1.02}.kpi-delta{color:var(--text-muted);margin-top:4px;font-size:12px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.btn-group{gap:8px;display:flex}.btn-sep{background:var(--border);width:1px;margin:2px 4px}.si-note{color:var(--text-muted);margin:-8px 0 16px;font-size:13px}.sku-row{grid-template-columns:260px 1fr 110px;align-items:center;gap:14px;padding:4px 0;display:grid}.sku-name{font-size:14px;font-weight:500}.sku-bar-track{background:var(--surface-alt);border-radius:var(--radius-btn);height:26px;overflow:hidden}.sku-bar-fill{background:var(--accent);height:100%}.sku-units{text-align:right;color:var(--text-body);font-size:13px}.dim{opacity:.5}.si-table{border-collapse:collapse;width:100%;font-size:14px}.si-table th{text-align:left;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:10px 8px;font-size:11px;font-weight:600}.si-table td{border-bottom:1px solid var(--border);padding:10px 8px}.si-table .num{text-align:right}.si-table td.num{font-weight:600}.si-table td.num.plain{color:var(--text-body);font-weight:400}.si-table td.empty{color:var(--text-muted)}.tag{border-radius:var(--radius-chip);white-space:nowrap;align-items:center;height:26px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.tag-neutral{background:var(--surface-alt);color:var(--text-muted)}.tag-accent{background:color-mix(in srgb,var(--accent) 22%,var(--surface));color:var(--accent)}.legend{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.legend-items{flex-wrap:wrap;gap:20px;display:flex}.legend-item{color:var(--text-body);align-items:center;gap:8px;font-size:13px;display:flex}.legend .dot{border-radius:50%;width:10px;height:10px;display:inline-block}.dot-active{background:var(--status-repeat)}.dot-sample{background:var(--status-overdue)}label.toggle{color:var(--text-body);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}label.toggle input{width:16px;height:16px;accent-color:var(--accent)}.footprint-layout{flex-wrap:wrap;align-items:stretch;gap:20px;display:flex}.map-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);flex:480px;min-width:0;padding:12px}.map{border-radius:var(--radius-btn);background:var(--surface-alt);width:100%;height:420px}.door-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);flex-direction:column;flex:280px;gap:12px;min-width:0;padding:20px;display:flex}.door-name{font-family:var(--font-display);text-transform:uppercase;font-size:18px;font-weight:600}.door-sub{color:var(--text-muted);margin-top:2px;font-size:13px}.door-lines{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:12px 0;display:flex}.door-line{justify-content:space-between;gap:10px;font-size:13px;display:flex}.door-line.tester{color:var(--text-muted);font-style:italic}.door-line.promo{color:var(--status-initial);font-style:italic}.door-total{justify-content:space-between;font-size:15px;font-weight:700;display:flex}.door-empty{color:var(--text-muted);font-size:14px;line-height:1.5}.notes-box{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-alt);margin-top:24px;padding:18px 20px}.notes-box .eyebrow-sm{margin-bottom:10px}.note-line{color:var(--text-body);margin-bottom:6px;font-size:13px;line-height:1.5}.si-footer{border-top:1px solid var(--border);font-family:var(--font-mono);color:var(--text-muted);padding-top:20px;font-size:11px;line-height:1.6}@media (max-width:700px){.sku-row{grid-template-columns:1fr 90px;row-gap:4px}.sku-row .sku-bar-track{grid-area:2/1/auto/-1}.week-control select{width:100%;min-width:0}.week-control,.ctl-lbl{width:100%}}.aa-kpis .kpi{text-align:left;font:inherit;color:inherit;flex-direction:column;gap:6px;display:flex}.aa-kpis button.kpi{cursor:pointer}.aa-kpis button.kpi[aria-pressed=true]{outline:2px solid var(--text)}.aa-kpis button.kpi:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ks{color:var(--text-muted);font-size:12px}.aa-ctl{color:var(--text-body);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.aa-ctl input{font:14px var(--font-body);border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--surface);height:34px;color:var(--text);padding:0 10px}.aa-ctl input[type=number]{width:72px}.aa-table td.empty{text-align:center;color:var(--text-muted);padding:28px}.aa-tl{min-width:720px}.aa-tl-svg{font:12px var(--font-body)}.aa-tl-svg .tl-label{fill:var(--text)}.tl-span{stroke:var(--text-muted)}.aa-asof{stroke:var(--text)}.aa-dot{stroke:var(--text);stroke-width:1px;cursor:pointer}.aa-dot:hover,.aa-dot:focus{stroke-width:3px;outline:none}.aa-dot.s-initial{fill:var(--status-initial)}.aa-dot.s-repeat{fill:var(--status-repeat)}.aa-dot.s-overdue{fill:var(--status-overdue)}.aa-tip{z-index:10;pointer-events:none;background:var(--text);color:var(--bg);white-space:nowrap;border-radius:4px;padding:8px 10px;font-size:12px;line-height:1.5;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.rb .notes-box{background:0 0;border:0;margin-top:0;padding:0}.auth-logo{width:200px;height:auto;margin:0 auto 24px;display:block}
