/* Halo design system. Tokens from ref/design/Reports.dc.html, merged with Main, Login, AdminUsers, AdminAudit, Fulfillment, HomeFinance. */

.halo{--bg:#F2F2F7;--surface:#FFFFFF;--surface-hover:#FAFAFC;--line:#E5E5EA;--text:#1C1C1E;--muted:#5B5B60;--faint:#8E8E93;--field:#E5E5EA;--ink:#141414;--ink-text:#FFFFFF;--shadow:0 1px 2px rgba(0,0,0,0.04);--shadow-hover:0 6px 18px rgba(0,0,0,0.10);
--ship-bg:#E3F0FF;--ship-fg:#0B57D0;--sales-bg:#E4F6EA;--sales-fg:#177A3E;--stock-bg:#FFF0D1;--stock-fg:#9A5B00;--price-bg:#EEE8FF;--price-fg:#5B3DBF;--pay-bg:#FDE7EF;--pay-fg:#B3245B;--warn:#B2650F;
--field-soft:#F2F2F7;--field-line:#D1D1D6;--gray-bg:#E9E9EE;--gray-fg:#4A4A50;--ok:#1E9E4A;--bad:#B3261E;
--bar:#2F6FD6;--bar-track:#E9EEF7;--good-bg:#E4F6EA;--good-fg:#177A3E;--watch-bg:#FFF0D1;--watch-fg:#9A5B00;--bad-bg:#FBE4E2;--bad-fg:#A3261D;
--accent:#C9A227;--pin:#B8912E;--mark:#141414;
background:var(--bg);color:var(--text)}
.halo[data-theme="dark"]{--bg:#121214;--surface:#1E1E22;--surface-hover:#26262B;--line:#2C2C31;--text:#F2F2F4;--muted:#B0B0B6;--faint:#8A8A91;--field:#2A2A2F;--ink:#F2F2F4;--ink-text:#141414;--shadow:0 1px 2px rgba(0,0,0,0.5);--shadow-hover:0 8px 24px rgba(0,0,0,0.6);
--ship-bg:#15325C;--ship-fg:#8FBCFF;--sales-bg:#163A26;--sales-fg:#7DD89C;--stock-bg:#4A3410;--stock-fg:#FFC877;--price-bg:#2E2459;--price-fg:#C4B2FF;--pay-bg:#4E1A2E;--pay-fg:#FF9FC2;--warn:#FFB562;
--field-soft:#2A2A2F;--field-line:#3A3A40;--gray-bg:#2E2E34;--gray-fg:#C8C8CE;--ok:#4CD26B;--bad:#FF8A80;
--bar:#7FAEFF;--bar-track:#26303F;--good-bg:#163A26;--good-fg:#7DD89C;--watch-bg:#4A3410;--watch-fg:#FFC877;--bad-bg:#4A1C1A;--bad-fg:#FF9B93}
@media (prefers-color-scheme: dark){
.halo[data-theme="auto"]{--bg:#121214;--surface:#1E1E22;--surface-hover:#26262B;--line:#2C2C31;--text:#F2F2F4;--muted:#B0B0B6;--faint:#8A8A91;--field:#2A2A2F;--ink:#F2F2F4;--ink-text:#141414;--shadow:0 1px 2px rgba(0,0,0,0.5);--shadow-hover:0 8px 24px rgba(0,0,0,0.6);
--ship-bg:#15325C;--ship-fg:#8FBCFF;--sales-bg:#163A26;--sales-fg:#7DD89C;--stock-bg:#4A3410;--stock-fg:#FFC877;--price-bg:#2E2459;--price-fg:#C4B2FF;--pay-bg:#4E1A2E;--pay-fg:#FF9FC2;--warn:#FFB562;
--field-soft:#2A2A2F;--field-line:#3A3A40;--gray-bg:#2E2E34;--gray-fg:#C8C8CE;--ok:#4CD26B;--bad:#FF8A80;
--bar:#7FAEFF;--bar-track:#26303F;--good-bg:#163A26;--good-fg:#7DD89C;--watch-bg:#4A3410;--watch-fg:#FFC877;--bad-bg:#4A1C1A;--bad-fg:#FF9B93}
}

[data-group="ship"]{--g-bg:var(--ship-bg);--g-fg:var(--ship-fg)}
[data-group="sales"]{--g-bg:var(--sales-bg);--g-fg:var(--sales-fg)}
[data-group="stock"]{--g-bg:var(--stock-bg);--g-fg:var(--stock-fg)}
[data-group="price"]{--g-bg:var(--price-bg);--g-fg:var(--price-fg)}
[data-group="pay"]{--g-bg:var(--pay-bg);--g-fg:var(--pay-fg)}
[data-group="gray"]{--g-bg:var(--gray-bg);--g-fg:var(--gray-fg)}

*,*::before,*::after{box-sizing:border-box}
html.halo,.halo body{margin:0;min-height:100vh}
body{margin:0;font-family:-apple-system,"SF Pro Text","Segoe UI",system-ui,sans-serif;font-size:16px;line-height:1.45;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text)}
.halo body{display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--muted)}
.faint{color:var(--faint)}
.warn-text{color:var(--warn)}
.bad-text{color:var(--bad)}

.topbar{height:64px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 32px;gap:16px;flex-shrink:0}
.topbar .spacer{flex:1 1 auto}
.wordmark{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;letter-spacing:.02em}
.mark{width:30px;height:30px;border-radius:9px;background:var(--mark);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.mark::after{content:"";width:13px;height:13px;border-radius:999px;border:2.5px solid var(--accent);box-sizing:border-box}
.mark-lg{width:64px;height:64px;border-radius:18px;box-shadow:var(--shadow)}
.mark-lg::after{width:28px;height:28px;border-width:4px}
.nav{display:flex;align-items:center;gap:4px}
.nav a{font-size:16px;padding:8px 12px;min-height:44px;display:inline-flex;align-items:center;border-bottom:2px solid transparent}
@media (hover: hover){.nav a:hover{color:var(--muted)}}
.nav a[aria-current]{font-weight:700;border-bottom-color:var(--accent)}
.icon-btn{width:40px;height:40px;border-radius:999px;background:var(--field);color:var(--text);border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}
.icon-btn.outlined{background:var(--surface);border:1px solid var(--line)}
.halo .theme-sun{display:inline}
.halo .theme-moon{display:none}
.halo[data-theme="dark"] .theme-sun{display:none}
.halo[data-theme="dark"] .theme-moon{display:inline}
@media (prefers-color-scheme: dark){.halo[data-theme="auto"] .theme-sun{display:none}.halo[data-theme="auto"] .theme-moon{display:inline}}
.user{display:inline-flex;align-items:center;gap:8px;font-size:16px}
.avatar{width:34px;height:34px;border-radius:999px;background:var(--accent);color:#141414;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:0 0 auto}
.avatar-lg{width:44px;height:44px;font-size:15px;font-weight:800;background:var(--g-bg,var(--gray-bg));color:var(--g-fg,var(--gray-fg))}
.signout{margin:0}
.signout button{background:none;border:0;color:var(--muted);font:inherit;font-size:14px;cursor:pointer;padding:8px 6px;min-height:44px}
@media (hover: hover){.signout button:hover{color:var(--text)}}

.page{flex:1 1 auto;width:100%;max-width:1160px;margin:0 auto;padding:44px 32px 72px;display:flex;flex-direction:column;gap:32px}
.page-narrow{max-width:920px}
.stack{display:flex;flex-direction:column;gap:16px}
.stack-sm{display:flex;flex-direction:column;gap:8px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:900px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.grid-3{grid-template-columns:minmax(0,1fr)}.topbar{padding:0 16px;gap:8px}.page{padding:28px 16px 56px}}
.h1{margin:0;font-size:38px;font-weight:800;letter-spacing:-.015em;line-height:1.15}
.h2{margin:0;font-size:22px;font-weight:800;display:flex;align-items:center;gap:10px}
.h3{margin:0;font-size:20px;font-weight:800}
.lead{margin:0;font-size:16px;color:var(--muted)}
.name{font-size:18px;font-weight:700;line-height:1.2}
.name-lg{font-size:20px;font-weight:700;line-height:1.2}
.desc{font-size:15px;color:var(--muted);line-height:1.4}
.meta{font-size:14px;color:var(--faint)}
.note{margin:0;font-size:14px;color:var(--faint)}

.panel{background:var(--surface);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.panel-pad{padding:26px;display:flex;flex-direction:column;gap:18px}
.card{display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:14px;min-height:176px;background:var(--surface);box-shadow:var(--shadow);transition:background .18s,box-shadow .18s,transform .12s ease-out;transform-style:preserve-3d;will-change:transform;transform:perspective(900px) rotateX(0deg) rotateY(0deg) translateY(0)}
@media (hover: hover){.card:hover{box-shadow:var(--shadow-hover)}}
.card.tilting{background:color-mix(in srgb,var(--g-bg,var(--field)) 55%,var(--surface))}
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.row{display:flex;align-items:center;gap:16px;padding:18px 22px;min-height:72px;background:var(--surface);border-bottom:1px solid var(--line);transition:background .15s}
.row:last-child{border-bottom:0}
@media (hover: hover){.row:hover{background:var(--surface-hover)}}
.row-tile{border-radius:14px;box-shadow:var(--shadow);border-bottom:0;min-height:76px;padding:20px 22px;gap:14px}
.row-body{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}
.status-line{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;padding:12px 18px;border-radius:12px;font-size:18px;min-height:44px}
.chev{opacity:.4;flex:0 0 auto}

.pill{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border-radius:999px;font-size:14px;font-weight:700;background:var(--ink);color:var(--ink-text);white-space:nowrap}
.pill-outline{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border-radius:999px;font-size:14px;font-weight:700;border:1.5px solid var(--ink);color:var(--text);background:transparent;white-space:nowrap}
.tag{align-self:flex-start;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--g-bg,var(--gray-bg));color:var(--g-fg,var(--gray-fg))}
.chip{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:var(--g-bg,var(--gray-bg));color:var(--g-fg,var(--gray-fg));white-space:nowrap}
.seg-group{display:inline-flex;gap:4px;padding:4px;background:var(--field);border-radius:12px}
.seg{background:var(--surface);color:var(--text);border:0;cursor:pointer;height:40px;padding:0 16px;border-radius:9px;font:inherit;font-size:15px;font-weight:600;display:inline-flex;align-items:center}
.seg-round{border-radius:999px;box-shadow:var(--shadow)}
.seg[aria-pressed="true"]{background:var(--ink);color:var(--ink-text)}

.label{font-size:14px;font-weight:600;color:var(--muted)}
.field{background:var(--field);color:var(--text);border:0;height:48px;padding:0 16px;border-radius:12px;font:inherit;font-size:18px;min-width:0}
.field::placeholder{color:var(--faint)}
.field-soft{background:var(--field-soft);border:1px solid var(--field-line);border-radius:10px;font-size:17px;padding:0 14px}
.field-soft:focus{outline:2px solid var(--accent);outline-offset:1px}
.fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.fieldset legend{padding:0;margin-bottom:8px}
.choice{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:10px;cursor:pointer;min-height:48px;border:1px solid var(--field-line);transition:background .15s,border-color .15s}
@media (hover: hover){.choice:hover{background:var(--surface-hover);border-color:var(--muted)}}
.choice-title{font-size:16px;font-weight:700}
.choice-desc{font-size:14px;color:var(--muted)}
.btn{background:var(--ink);color:var(--ink-text);border:0;border-radius:12px;height:50px;padding:0 22px;font:inherit;font-size:16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .12s,opacity .12s}
@media (hover: hover){.btn:hover{transform:translateY(-1px);opacity:.92}}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn-round{border-radius:999px;height:48px}
.btn-quiet{background:var(--field);color:var(--text)}
.banner{padding:12px 16px;border-radius:12px;font-size:15px}
.banner-bad{background:var(--bad-bg);color:var(--bad-fg)}
.banner-ok{background:var(--good-bg);color:var(--good-fg)}
.banner-warn{background:var(--watch-bg);color:var(--watch-fg)}
.secret{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:20px;letter-spacing:.04em;padding:14px 16px;border-radius:10px;background:var(--field-soft);border:1px solid var(--field-line);user-select:all;word-break:break-all}

.pin{width:36px;height:36px;border-radius:999px;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--faint);transition:background .15s,color .15s;padding:0}
@media (hover: hover){.pin:hover{background:var(--field);color:var(--text)}}
.pin svg{fill:none}
.pin[aria-pressed="true"]{color:var(--pin)}
.pin[aria-pressed="true"] svg{fill:currentColor}

.stat{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.stat-value{font-size:40px;font-weight:800;letter-spacing:-.02em;line-height:1}
.stat-label{font-size:15px;color:var(--muted)}
.bar{flex:1 1 auto;height:10px;border-radius:999px;background:var(--bar-track);overflow:hidden}
.bar>span{display:block;height:100%;border-radius:999px;background:var(--bar)}
.status-dot{width:10px;height:10px;border-radius:999px;background:var(--g-fg,var(--faint));flex:0 0 10px;display:inline-block}
.status-ok{background:var(--ok)}
.status-bad{background:var(--bad)}
.status-warn{background:var(--warn)}
.ok-badge{width:28px;height:28px;border-radius:999px;background:var(--ok);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.warn-badge{background:var(--warn)}

.login{flex:1 1 auto;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;position:relative}
.login-theme{position:absolute;top:20px;right:24px}
.login-inner{display:flex;flex-direction:column;align-items:center;gap:28px;width:100%;max-width:420px}
.login-brand{display:flex;flex-direction:column;align-items:center;gap:12px}
.login-brand h1{margin:0;font-size:32px;font-weight:800;letter-spacing:-.01em}
.login-brand p{margin:0;font-size:16px;color:var(--muted);text-align:center}
.login-form{width:100%;background:var(--surface);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:18px;margin:0;box-shadow:var(--shadow)}
.login-form .field{height:50px;padding:0 16px;border-radius:10px;font-size:17px;background:var(--field-soft);border:1px solid var(--field-line);width:100%}
.login-form .field:focus{outline:2px solid var(--accent);outline-offset:1px}
.login-form .btn{height:52px;width:100%;font-size:17px;margin-top:4px}
.login-help{margin:0;font-size:14px;color:var(--faint);text-align:center;max-width:320px}
.login-help a{color:var(--text);font-weight:600;text-decoration:underline;text-underline-offset:2px}

@media (prefers-reduced-motion: reduce){.card,.row,.btn,.pin,.choice{transition:none}.btn:hover{transform:none}}

/* Status page (health.php) and the Home status pill. From ref/design/Status.dc.html. */
.halo{--info-bg:var(--ship-bg);--info-fg:var(--ship-fg);--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.stack-xs{display:flex;flex-direction:column;gap:3px;min-width:0}
.st-back{font-size:15px;font-weight:600;color:var(--muted);display:inline-flex;align-items:center;gap:6px;align-self:flex-start}
.st-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px}
.st-controls{display:flex;gap:8px;flex-wrap:wrap}
.st-sentence{margin:0;font-size:17px;color:var(--muted)}
.st-text-bad{font-weight:700;color:var(--bad-fg)}
.st-text-watch{font-weight:700;color:var(--watch-fg)}
.st-text-good{font-size:14px;font-weight:600;color:var(--good-fg)}
.st-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.st-tiles-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.st-tile{background:var(--surface);border-radius:14px;padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;min-width:0}
.st-tile-label{font-size:14px;font-weight:600;color:var(--muted)}
.st-tile-value{font-size:30px;font-weight:800;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-tile-value-sm{font-size:22px;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-tile-note{font-size:14px;color:var(--muted)}
.st-tile-faint{font-size:13px;color:var(--faint)}
.st-chip{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;font-size:13px;font-weight:700;line-height:1.4;padding:4px 10px;border-radius:999px;align-self:flex-start;justify-self:start;background:var(--gray-bg);color:var(--gray-fg)}
.st-chip[data-kind="good"]{background:var(--good-bg);color:var(--good-fg)}
.st-chip[data-kind="watch"]{background:var(--watch-bg);color:var(--watch-fg)}
.st-chip[data-kind="bad"]{background:var(--bad-bg);color:var(--bad-fg)}
.st-chip[data-kind="info"]{background:var(--info-bg);color:var(--info-fg)}
.st-mono{font-family:var(--mono);font-size:13px;overflow-wrap:anywhere}
.st-faint{color:var(--faint)}
.st-muted{color:var(--muted)}
.st-cell{font-size:15px}
.st-sub{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px}
.st-attn-empty{padding:18px 22px;font-size:16px;color:var(--muted)}
.st-attn-item{border-bottom:1px solid var(--line);background:var(--surface)}
.st-attn-item:last-child{border-bottom:0}
.st-attn{display:grid;grid-template-columns:150px minmax(0,1fr) 170px 140px;gap:16px;padding:18px 22px;align-items:center;cursor:pointer;list-style:none;transition:background .15s}
.st-attn::-webkit-details-marker{display:none}
@media (hover: hover){.st-attn:hover{background:var(--surface-hover)}}
.st-attn-name{font-size:18px;font-weight:700}
.st-attn-detail{font-size:15px;color:var(--muted)}
.st-open{font-size:14px;font-weight:600;justify-self:end}
.st-attn-item[open] .st-open{color:var(--muted)}
.st-pre{margin:0 22px;padding:12px 14px;border-radius:10px;background:var(--field-soft);border:1px solid var(--field-line);font-family:var(--mono);font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto}
.st-pre-note{margin:8px 22px 18px;font-size:13px;color:var(--faint)}
.st-grid{display:grid;grid-template-columns:110px minmax(0,1fr) 150px 100px 110px 150px;gap:16px;padding:13px 22px;align-items:center}
.st-grid>*{min-width:0}
.st-trunc,.st-job .st-job-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-num{text-align:right;font-variant-numeric:tabular-nums}
.st-table-head{padding:10px 22px;border-bottom:1px solid var(--line);font-size:13px;font-weight:600;color:var(--faint)}
.st-job{border-bottom:1px solid var(--line);min-height:56px;background:var(--surface);transition:background .15s}
@media (hover: hover){.st-job:hover{background:var(--surface-hover)}}
.st-job[hidden]{display:none}
.st-job-name{font-size:16px;font-weight:700}
.st-more{display:flex;width:100%;justify-content:center;padding:14px;border:0;background:var(--surface);color:var(--muted);font:inherit;font-size:15px;font-weight:600;cursor:pointer}
@media (hover: hover){.st-more:hover{background:var(--surface-hover)}}
.st-more[hidden]{display:none}
.st-flow{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(0,1fr) 180px;gap:16px;padding:16px 22px;border-bottom:1px solid var(--line);align-items:center;background:var(--surface)}
.st-flow>*{min-width:0}
.st-flow:last-child{border-bottom:0}
.st-meter{width:100%;height:8px;border:0;border-radius:999px;background:var(--bar-track);overflow:hidden;-webkit-appearance:none;appearance:none}
.st-meter::-webkit-progress-bar{background:var(--bar-track);border-radius:999px}
.st-meter::-webkit-progress-value{background:var(--bar);border-radius:999px}
.st-meter::-moz-progress-bar{background:var(--bar);border-radius:999px}
.bad-badge{background:var(--bad)}
.gray-badge{background:var(--faint)}
span.status-line{cursor:default}
@media (max-width: 960px){
.st-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
.st-grid{grid-template-columns:96px minmax(0,1fr) 130px}
.st-opt{display:none}
.st-attn{grid-template-columns:1fr;gap:8px}
.st-open{justify-self:start}
.st-flow{grid-template-columns:96px minmax(0,1fr)}
.st-flow>:nth-child(3),.st-flow>:nth-child(4){grid-column:2}
.st-flow .st-num{text-align:left}
}
.st-narrow-only{display:none}
.signout button{white-space:nowrap}
@media (max-width: 560px){
.topbar{padding:0 16px;gap:10px}
.topbar .user>span:not(.avatar){display:none}
.nav a{padding:8px 8px}
.st-tiles,.st-tiles-4{grid-template-columns:minmax(0,1fr)}
.st-grid{grid-template-columns:84px minmax(0,1fr);gap:12px;padding:12px 16px}
.st-col-last{display:none}
.st-narrow-only{display:block}
.st-flow{grid-template-columns:72px minmax(0,1fr)}
.st-flow>:nth-child(3),.st-flow>:nth-child(4){grid-column:2}
.st-flow .st-num{text-align:left}
.st-attn{padding:16px}
.st-flow{padding:14px 16px}
.st-pre{margin:0 16px}
.st-pre-note{margin:8px 16px 16px}
}
@media (prefers-reduced-motion: reduce){.st-job,.st-attn{transition:none}}
.status-line-label{font-weight:600}
.status-line-more{font-size:15px}
span.status-line:hover{background:var(--surface)}

/* Roles page (admin/roles.php). */
.rl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rl-card{display:flex;flex-direction:column}
.rl-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 10px}
.panel-pad .rl-head{padding:0}
.rl-area{padding:6px 22px 14px;border-top:1px solid var(--line)}
.rl-area-title{margin:10px 0 4px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.rl-group{display:flex;flex-direction:column;padding:6px 0}
.rl-group-title{font-size:16px;font-weight:700;padding:4px 0}
.rl-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;margin:0}
.rl-label{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:15px}
.rl-toggle{min-width:64px;justify-content:center}
.rl-desc{margin:0;padding:0 22px 10px}
.rl-new{display:flex;flex-direction:column}
.rl-new-btn{list-style:none;cursor:pointer;display:inline-flex;width:max-content}
.rl-new-btn::-webkit-details-marker{display:none}
.rl-new[open] .rl-new-btn{margin-bottom:18px}
.rl-new-form{max-width:480px;gap:14px}
.pp-lock{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rl-side{align-self:flex-start;padding:8px 4px;font-size:16px;font-weight:600;display:inline-flex;align-items:center;gap:6px;color:var(--muted)}
@media (max-width: 960px){.rl-grid{grid-template-columns:1fr}}

/* Store Fulfillment (fulfillment.php). From ref/design/Fulfillment.dc.html. */
.ff-strong{font-weight:700;color:var(--text)}
.ff-meta{align-items:center}
.ff-value{font-size:40px;font-weight:800;letter-spacing:-.02em;line-height:1;white-space:nowrap}
.ff-spark{display:block;width:100%;height:44px;margin-top:4px}
.ff-spark polyline{stroke:var(--bar)}
.ff-spark circle{fill:var(--bar);stroke:var(--surface);stroke-width:2}
.ff-seg{height:36px;padding:0 14px;font-size:14px}
.ff-seg[aria-current="page"]{background:var(--ink);color:var(--ink-text)}
.ff-grid{display:grid;grid-template-columns:56px minmax(0,1fr) 260px 90px 90px 150px;gap:16px;padding:14px 22px;align-items:center}
.ff-grid>*{min-width:0}
.ff-row{border-bottom:1px solid var(--line);min-height:60px;background:var(--surface)}
.ff-no{font-size:14px;color:var(--faint);font-weight:600}
.ff-bar{display:flex;align-items:center;gap:12px}
.ff-meter{flex:1 1 auto;height:10px}
.ff-pct{font-size:15px;font-weight:700;width:44px;text-align:right;font-variant-numeric:tabular-nums}
.ff-wait{font-size:17px;font-weight:700}
.ff-chip{justify-self:end}
.ff-defs{display:flex;flex-direction:column;gap:4px}
.ff-scroll{overflow-x:auto}
.ff-table{width:100%;border-collapse:collapse;font-size:15px}
.ff-table th{font-size:13px;font-weight:600;color:var(--faint);text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.ff-table td{padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.ff-table th.st-num,.ff-table td.st-num{text-align:right}
.ff-table tr:last-child td{border-bottom:0}
@media (max-width: 960px){
.ff-grid{grid-template-columns:44px minmax(0,1fr) 150px 70px}
.ff-grid>:nth-child(5),.ff-grid>:nth-child(6){display:none}
}
@media (max-width: 560px){
.ff-grid{grid-template-columns:minmax(0,1fr) 110px;gap:10px;padding:12px 16px}
.ff-grid>:nth-child(1),.ff-grid>:nth-child(4){display:none}
.ff-value{font-size:34px}
}

/* Executive (executive.php) and Retail KPIs (retailkpis.php). */
.ex-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
.ex-grid{display:grid;grid-template-columns:56px minmax(0,1fr) 160px 100px;gap:16px;padding:13px 22px;align-items:center}
.ex-grid>*{min-width:0}
.ex-row{border-bottom:1px solid var(--line);background:var(--surface)}
.ex-row:last-child{border-bottom:0}
.rk-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.rk-dates{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}
.rk-date{height:36px;font-size:15px}
.rk-table td:first-child,.rk-table th:first-child{white-space:nowrap}
.rk-area td{font-weight:700;background:var(--surface-hover)}
.rk-store td:first-child{padding-left:34px}
.rk-person td:first-child{padding-left:58px;color:var(--muted)}
.rk-person td{font-size:14px}
.rk-table tr[hidden]{display:none}
.rk-toggle{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-align:left}
.rk-toggle::before{content:"";width:0;height:0;border-left:5px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .15s;opacity:.6}
.rk-toggle[aria-expanded="true"]::before{transform:rotate(90deg)}
.rk-grand td{font-weight:800;border-top:2px solid var(--line)}
@media (max-width: 960px){.ex-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.ex-grid{grid-template-columns:40px minmax(0,1fr) 120px}.ex-grid>:nth-child(4){display:none}}
@media (max-width: 560px){.ex-tiles{grid-template-columns:minmax(0,1fr)}.rk-controls{flex-direction:column;align-items:flex-start}}

/* Payment methods (payments.php) and Product returns (products.php). */
.pm-grid{display:grid;grid-template-columns:minmax(0,1fr) 90px 220px 150px 120px 120px;gap:16px;padding:13px 22px;align-items:center}
.pm-grid>*{min-width:0}
.pm-row{border-bottom:1px solid var(--line);background:var(--surface)}
.pm-row:last-child{border-bottom:0}
.pm-pct{width:62px}
.pr-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:0}
.pr-field{display:flex;flex-direction:column;gap:4px}
.pr-select{height:36px;font-size:15px;padding:0 10px}
.pr-check{display:inline-flex;align-items:center;gap:8px;font-size:15px;min-height:36px}
.pr-count{margin-left:auto}
.pr-name{max-width:320px;overflow:hidden;text-overflow:ellipsis}
.pr-table .st-chip{font-variant-numeric:tabular-nums}
.pr-pager{display:flex;align-items:center;gap:12px;justify-content:center}
@media (max-width: 960px){.pm-grid{grid-template-columns:minmax(0,1fr) 70px 160px}.pm-grid>:nth-child(n+4){display:none}.pr-count{margin-left:0}}

/* Feed health (feeds.php) and Promotions (promotions.php). */
.fh-grid{display:grid;grid-template-columns:minmax(0,1fr) 150px 90px 260px;gap:16px;padding:13px 22px;align-items:center}
.fh-grid>*{min-width:0}
.fh-row{border-bottom:1px solid var(--line);background:var(--surface)}
.fh-row:last-child{border-bottom:0}
.fh-req{color:var(--bad-fg)}
.pc-panel{gap:10px}
.pc-legend{display:flex;gap:20px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.pc-key{display:inline-flex;align-items:center;gap:8px}
.pc-key::before{content:"";width:18px;height:3px;border-radius:2px;background:var(--faint)}
.pc-key-disc::before{background:var(--accent);height:4px}
.pc-chart{display:block;width:100%;height:auto}
.pc-chart polyline{fill:none;stroke-linejoin:round;stroke-linecap:round}
.pc-disc{stroke:var(--accent);stroke-width:2.5}
.pc-full{stroke:var(--faint);stroke-width:2;opacity:.7}
.pc-gridline{stroke:var(--line);stroke-width:1;shape-rendering:crispEdges}
.pc-grid{display:grid;grid-template-columns:minmax(0,1fr) 100px 160px 130px;gap:16px;padding:13px 22px;align-items:center}
.pc-grid>*{min-width:0}
.pc-axis{fill:var(--faint);font-size:12px;font-family:inherit}
.pc-row{border-bottom:1px solid var(--line);background:var(--surface)}
.pc-row:last-child{border-bottom:0}
@media (max-width: 960px){.fh-grid{grid-template-columns:minmax(0,1fr) 130px 70px}.fh-grid>:nth-child(4){display:none}}
/* Labs store map (labs.php, assets/labs/storemap.js). */
.sm [hidden]{display:none!important}
.sm-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sm-stage{position:relative;height:clamp(520px,68vh,760px)}
.sm-map{position:absolute;inset:0;overflow:hidden}
.sm-svg{position:absolute;inset:0;width:100%;height:100%}
.sm-cards{position:absolute;inset:0;pointer-events:none;z-index:3}
.sm-demo{position:absolute;top:12px;left:calc(220px + (100% - 480px) / 2);transform:translateX(-50%);z-index:5}
.sm-side{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;z-index:4;background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.sm-left{left:0;width:220px;border-right:1px solid var(--line)}
.sm-right{right:0;width:260px;border-left:1px solid var(--line)}
.sm-heading{padding:14px 16px 10px;font-size:13px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);flex-shrink:0}
.sm-storehead{text-transform:none;letter-spacing:0;font-weight:400}
.sm-storehead-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sm-storehead-name{font-size:15px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-storehead-stats{font-size:13px;color:var(--muted);margin-top:6px}
.sm-clear{background:none;border:0;font:inherit;font-size:20px;line-height:1;color:var(--faint);cursor:pointer;padding:0 2px;flex-shrink:0}
@media (hover: hover){.sm-clear:hover{color:var(--text)}}
.sm-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}
.sm-lb-row{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border:0;border-bottom:1px solid var(--line);border-left:3px solid transparent;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
@media (hover: hover){.sm-lb-row:hover{background:var(--surface-hover)}}
.sm-lb-row.is-sel{background:var(--good-bg);border-left-color:var(--ok)}
.sm-lb-row.is-moved{animation:smFlash .6s ease}
.sm-lb-main{display:flex;flex-direction:column;min-width:0}
.sm-lb-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-lb-stats{display:flex;flex-direction:column;text-align:right;flex-shrink:0}
.sm-lb-total{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.sm-lb-count{font-size:13px;color:var(--faint)}
.sm-code{font-size:13px;font-weight:400;color:var(--faint)}
.sm-amount{font-weight:600;color:var(--good-fg)}
.sm-feed-item{padding:10px 16px;border-bottom:1px solid var(--line);animation:smFeedIn .22s ease}
.sm-feed-store{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-feed-meta{font-size:13px;color:var(--muted);margin-top:2px}
.sm-dot{fill:var(--faint);opacity:.45}
.sm-marker{fill:var(--muted);stroke:var(--surface);stroke-width:1.5}
.sm-marker.is-sel{stroke:var(--ok);stroke-width:3}
.sm-marker.is-pulse{fill:var(--ok)}
.sm-hit{fill:transparent;cursor:pointer}
.sm-ripple{fill:none;stroke:var(--ok);stroke-width:2.5}
.sm-card{position:absolute;width:220px;background:var(--surface);color:var(--text);border-radius:10px;padding:8px 12px;box-shadow:var(--shadow-hover);border-left:3px solid var(--ok);animation:smCardIn .18s ease;transition:opacity .42s ease}
.sm-card.is-fading{opacity:0}
.sm-card.is-compact{width:auto;max-width:min(280px,62vw);padding:6px 10px;white-space:nowrap;overflow:hidden}
.sm-card-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-card-detail{font-size:13px;color:var(--muted);margin-top:3px}
.sm-card-line{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-tick{animation:smTick .45s ease}
.sm-regions{display:none;position:absolute;top:8px;left:8px;z-index:5;gap:2px;padding:3px;border-radius:999px;background:var(--surface);box-shadow:var(--shadow)}
.sm-region{position:relative;min-height:44px;padding:0 14px;border:0;border-radius:999px;background:none;color:var(--muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.sm-region.is-active{background:var(--ok);color:#FFFFFF}
.sm-region-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--ok);opacity:0}
.sm-region.is-pending .sm-region-dot{opacity:.45}
.sm-region.is-blinking .sm-region-dot{animation:smBlink .65s ease-in-out 3}
.sm-toggle{display:none}
.sm-toggle-btn{flex:1;min-height:44px;border:0;border-bottom:2px solid transparent;background:none;color:var(--faint);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.sm-toggle-btn.is-active{color:var(--text);border-bottom-color:var(--ok)}
@keyframes smFlash{0%{background-color:var(--good-bg)}100%{background-color:transparent}}
@keyframes smFeedIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
@keyframes smCardIn{from{opacity:0;transform:scale(.94) translateY(-5px)}to{opacity:1;transform:none}}
@keyframes smTick{0%{transform:scale(1)}32%{transform:scale(1.06);color:var(--good-fg)}100%{transform:scale(1)}}
@keyframes smBlink{0%,100%{opacity:1}50%{opacity:.15}}
@media (max-width: 820px){
.sm-stage{display:flex;flex-direction:column;height:auto}
.sm-map{position:relative;inset:auto;height:42vh;min-height:280px;order:1}
.sm-demo{left:auto;right:8px;top:8px;transform:none}
.sm-regions{display:flex}
.sm-toggle{display:flex;order:2;border-bottom:1px solid var(--line)}
.sm-side{position:static;width:100%;height:360px;border:0;order:3;background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}
.sm-lb-row{min-height:44px}
}
@media (max-width: 560px){.sm-tiles{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion: reduce){.sm-lb-row.is-moved,.sm-feed-item,.sm-card,.sm-tick,.sm-region.is-blinking .sm-region-dot{animation:none}.sm-card{transition:none}}
/* Gift cards (giftcards.php). */
.gc-area{align-self:flex-start}
.gc-tabs{align-self:flex-start}
.gc-find{gap:10px}
.gc-find-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.gc-order-input{flex:1 1 220px;max-width:320px}
.gc-strip{display:flex;flex-direction:column;gap:8px}
.gc-chips{display:flex;gap:6px;flex-wrap:wrap}
.gc-grid{display:grid;grid-template-columns:minmax(0,1fr) 100px 100px 130px;gap:12px;align-items:center;padding:12px 22px}
.gc-card{width:100%;border:0;border-top:1px solid var(--line);background:none;color:inherit;font:inherit;text-align:left}
.gc-card-pick{cursor:pointer}
@media (hover: hover){.gc-card-pick:hover{background:var(--surface-hover)}}
.gc-card-pick[aria-pressed="true"]{box-shadow:inset 4px 0 0 var(--accent);background:var(--surface-hover)}
.gc-card-off{opacity:.62}
.gc-cardname{display:flex;flex-direction:column;gap:2px;min-width:0}
.gc-pad{margin:0;padding:10px 22px 16px}
.gc-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gc-option{display:flex;flex-direction:column;gap:4px;text-align:left;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:inherit;font:inherit;cursor:pointer}
.gc-option[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.gc-option:disabled{opacity:.45;cursor:not-allowed}
.gc-h3{font-size:17px}
.gc-chiprow{display:flex;gap:8px;flex-wrap:wrap}
.gc-chip{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:8px 14px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.gc-chip[aria-pressed="true"]{background:var(--ink);color:var(--ink-text);border-color:var(--ink)}
.gc-chip:disabled{opacity:.45;cursor:not-allowed}
.gc-review{align-self:flex-start}
.gc-result[data-kind="bad"]{box-shadow:inset 4px 0 0 var(--bad)}
.gc-result[data-kind="good"]{box-shadow:inset 4px 0 0 var(--ok)}
.gc-recent-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-bottom:6px}
.gc-rgrid{display:grid;grid-template-columns:140px 140px 80px 90px minmax(0,1fr) 90px;gap:12px;align-items:center;padding:10px 22px}
.gc-rrow{border-top:1px solid var(--line);font-size:14px}
.gc-hgrid{display:grid;grid-template-columns:130px 130px 70px 70px 90px 90px minmax(0,1fr) 140px;gap:10px;align-items:center;padding:10px 22px}
.gc-link{border:0;background:none;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
.gc-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.gc-pager-btns{display:flex;gap:8px}
.gc-sheet-back{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:flex-end;justify-content:center;padding:16px;z-index:50}
.gc-sheet-back[hidden]{display:none}
.gc-sheet{width:100%;max-width:520px;margin-bottom:max(16px,8vh)}
.gc-sheet-btns{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.gc [hidden]{display:none!important}
@media (max-width: 760px){
.gc-grid{grid-template-columns:minmax(0,1fr) 90px 110px}
.gc-grid>:nth-child(2){display:none}
.gc-options{grid-template-columns:minmax(0,1fr)}
.gc-rgrid{grid-template-columns:90px 70px 80px minmax(0,1fr)}
.gc-rgrid>:nth-child(2),.gc-rgrid>:nth-child(5){display:none}
.gc-hgrid{grid-template-columns:90px 70px 80px minmax(0,1fr)}
.gc-hgrid>:nth-child(2),.gc-hgrid>:nth-child(4),.gc-hgrid>:nth-child(6),.gc-hgrid>:nth-child(7){display:none}
}
/* Order compensation (ordercomp.php). */
.oc-prior{box-shadow:inset 4px 0 0 var(--warn)}
.oc-lgrid{display:grid;grid-template-columns:minmax(0,1fr) 56px 56px 90px 92px;gap:12px;align-items:center;padding:10px 22px}
.oc-lrow{border-top:1px solid var(--line)}
.oc-qty{width:76px;min-height:44px;padding:8px;text-align:right}
.oc-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.oc-opts{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}
.oc-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.oc-tiles .st-tile{box-shadow:none;border:1px solid var(--line);padding:14px}
.oc-tile-hero{border-color:var(--accent)!important}
.oc-textarea{width:100%;min-height:88px;resize:vertical;font:inherit}
.oc-start{justify-content:flex-start}
.oc-mtable th,.oc-mtable td{white-space:nowrap}
.oc-mtable td.pr-name{white-space:normal;min-width:220px}
.oc-sort{border:0;background:none;padding:0;color:inherit;font:inherit;font-weight:700;cursor:pointer;min-height:44px}
.oc-check{width:22px;height:22px;margin:11px 0}
.oc-why{display:block;margin-top:4px;white-space:normal}
.oc-hfilters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.oc-hfilters .field{width:100%}
.oc-hbtns{grid-column:1/-1}
.oc-batch{border-top:1px solid var(--line)}
.oc-batch:first-child{border-top:0}
.oc-bsum{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;gap:12px;align-items:center;padding:14px 22px;cursor:pointer;list-style:none;min-height:44px}
.oc-bsum::-webkit-details-marker{display:none}
.oc-hrow{display:grid;grid-template-columns:minmax(0,1fr) 140px 140px;gap:12px;align-items:center;padding:10px 22px;border-top:1px solid var(--line);font-size:14px}
.oc-batch .oc-hrow{padding-left:38px}
.oc-sheet{max-height:calc(100vh - 32px);overflow:auto;max-width:600px}
.oc-kv{display:flex;flex-direction:column;gap:8px}
.oc-kvrow{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;font-size:15px}
.oc-k{color:var(--muted);font-weight:600}
.oc-v{min-width:0;overflow-wrap:anywhere}
.oc-kv-warn .oc-v,.oc-kv-warn .oc-k{color:var(--watch-fg)}
.oc [hidden]{display:none!important}
@media (max-width: 760px){
.oc-options,.oc-tiles{grid-template-columns:minmax(0,1fr)}
.oc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
.oc-lgrid{grid-template-columns:minmax(0,1fr) 44px 84px}
.oc-lgrid>:nth-child(3),.oc-lgrid>:nth-child(4){display:none}
.oc-hfilters{grid-template-columns:repeat(2,minmax(0,1fr))}
.oc-bsum{grid-template-columns:minmax(0,1fr) auto}
.oc-bsum>:nth-child(3){grid-column:1/-1}
.oc-hrow{grid-template-columns:minmax(0,1fr) auto}
.oc-hrow>:nth-child(3){grid-column:1/-1}
.oc-batch .oc-hrow{padding-left:22px}
.oc-kvrow{grid-template-columns:minmax(0,1fr)}
}
/* Phone fit and 44px targets (prompt 15 D, 390px pass). */
.wordmark{min-height:44px}
.icon-btn{width:44px;height:44px;flex-shrink:0}
.st-back{min-height:44px;margin:-11px 0}
.gc-tabs .seg{height:44px}
.gc-chip{min-height:44px}
.gc-link{min-height:44px;display:inline-flex;align-items:center}
.pr-check{min-height:44px;display:inline-flex;align-items:center;gap:10px}
.gc .field,.oc .field{min-height:44px}
.oc-sort{min-width:44px}
.oc-checkwrap{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer}
.oc-checkwrap .oc-check{margin:0}
@media (max-width: 760px){.gc-hgrid{grid-template-columns:minmax(0,1fr) 64px 76px 84px}}
@media (max-width: 440px){
.wordmark span:not(.mark){display:none}
.wordmark{min-width:44px;justify-content:center}
.topbar .user{display:none}
.topbar{gap:4px;padding:0 10px}
.nav{gap:0}
.nav a{padding:8px 6px;font-size:15px}
.signout button{padding:8px 4px}
}
/* Phone-ready shell (prompt 15b B): safe areas, sheets, action bar, 44px targets, 16px inputs, stacked rows, tiles. */
.halo{color-scheme:light}
.halo[data-theme="dark"]{color-scheme:dark}
.halo[data-theme="auto"]{color-scheme:light dark}
.topbar{height:calc(64px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:max(32px,env(safe-area-inset-left));padding-right:max(32px,env(safe-area-inset-right))}
.page{padding-left:max(32px,env(safe-area-inset-left));padding-right:max(32px,env(safe-area-inset-right));padding-bottom:calc(72px + env(safe-area-inset-bottom))}
.login{min-height:100dvh;padding:calc(48px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(48px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.login-theme{top:calc(20px + env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right))}
.chip{display:inline-block;vertical-align:middle;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.seg-group{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap}
.seg-group::-webkit-scrollbar{display:none}
.seg-group .seg{flex:0 0 auto;white-space:nowrap}
.gc-sheet-back{align-items:flex-end;padding:16px max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}
.gc-sheet{display:flex;flex-direction:column;gap:0;padding:0;max-height:85vh;max-height:85dvh;overflow:hidden;margin-bottom:max(16px,4vh)}
.sheet-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:26px 26px 18px}
.sheet-foot{flex:0 0 auto;padding:14px 26px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}
body.sheet-open{overflow:hidden}
.actbar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(0,0,0,.08);padding:10px max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.actbar[hidden],.sheet-open .actbar{display:none}
.actbar-in{max-width:1096px;margin:0 auto;display:flex;align-items:center;gap:12px}
.actbar-text{flex:1 1 auto;min-width:0;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.actbar .btn{flex:0 0 auto}
body.has-actbar .page{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
@media (max-width:900px){
.grid-3,.st-tiles,.st-tiles-4,.ex-tiles,.sm-tiles,.oc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px),(pointer:coarse){
.seg,.ff-seg{height:44px}
.pin{width:44px;height:44px}
.pill,.pill-outline,.rk-toggle,.rl-side,a.muted{min-height:44px}
a.muted,.rk-toggle{display:inline-flex;align-items:center}
.rk-date,.pr-select{height:44px}
.halo .rk-date,.halo .pr-select,.halo select.field,.halo input[type="date"].field{font-size:16px!important}
}
@media (max-width:600px){
.topbar{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.page{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:calc(56px + env(safe-area-inset-bottom))}
}
@media (max-width:559.98px){
.gc-sheet-back{padding:16px 0 0}
.gc-sheet{max-width:none;margin:0;border-radius:16px 16px 0 0}
.sheet-body{padding:22px max(16px,env(safe-area-inset-right)) 14px max(16px,env(safe-area-inset-left))}
.sheet-foot{flex-direction:column-reverse;padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.sheet-foot .btn{width:100%;min-height:50px}
.actbar .btn{padding:0 18px}
.halo .stk-head{display:none!important}
.halo .stk-row{display:flex!important;flex-direction:column;align-items:stretch;gap:4px;padding:14px 16px;min-height:0}
.halo .stk-row>*{display:flex!important;justify-content:space-between;align-items:baseline;gap:12px;text-align:right;min-width:0;max-width:none;grid-column:auto}
.halo .stk-row>[data-label]::before{content:attr(data-label);flex:0 0 auto;text-align:left;font-family:-apple-system,"SF Pro Text","Segoe UI",system-ui,sans-serif;font-size:13px;font-weight:600;letter-spacing:0;color:var(--muted)}
.halo .stk-row>:first-child{display:flex!important;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}
.halo .stk-row>:first-child::before{content:none}
.halo .stk-row>:empty{display:none!important}
.halo .ff-scroll{overflow-x:visible}
.halo table.stk,.halo table.stk tbody,.halo table.stk tr{display:block;width:100%}
.halo table.stk thead{display:none}
.halo table.stk tr{padding:12px 16px;border-bottom:1px solid var(--line)}
.halo table.stk tr:last-child{border-bottom:0}
.halo table.stk tr[hidden]{display:none}
.halo table.stk td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0;border:0;white-space:normal;text-align:right;min-width:0;max-width:none}
.halo table.stk td:empty{display:none}
.halo table.stk td::before{content:attr(data-label);flex:0 0 auto;max-width:55%;text-align:left;font-family:-apple-system,"SF Pro Text","Segoe UI",system-ui,sans-serif;font-size:13px;font-weight:600;letter-spacing:0;color:var(--muted)}
.halo table.stk td:first-child{display:block;text-align:left;font-weight:700;padding:0 0 6px}
.halo table.stk td:first-child::before{content:none}
.halo table.stk tr.rk-store td:first-child{padding-left:16px}
.halo table.stk tr.rk-person td:first-child{padding-left:32px}
}
@media (max-width:480px){
.grid-3,.st-tiles,.st-tiles-4,.ex-tiles,.sm-tiles,.oc-tiles{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:440px){
.topbar{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
}
.gc-sheet [hidden]{display:none!important}
/* Page fixes (prompt 15b C1): Home files, Reports card foot, Status log, People, Person sessions, Activity, top bar spacing. */
.card-foot{flex-wrap:wrap;row-gap:10px}
.card-foot>.meta{white-space:nowrap}
.card-foot>[data-actions]{margin-left:auto}
.st-pre{max-height:min(420px,50vh);overscroll-behavior:contain}
@media (max-width:900px),(pointer:coarse){
.seg-group{gap:8px}
.topbar{gap:8px}
}
@media (max-width:559.98px){
.home-file{flex-wrap:wrap;row-gap:8px}
.home-file .row-body{flex:1 1 calc(100% - 26px)}
.home-file .home-file-when{margin-left:26px;flex:1 1 auto}
.pp-row{flex-wrap:wrap;column-gap:14px;row-gap:4px}
.pp-row>.row-body{flex:1 1 calc(100% - 44px - 14px - 8px - 14px)}
.pp-row>.chev{order:1}
.pp-row>.pp-state{order:2;flex:1 1 100%;padding-left:58px}
.pp-session{flex-wrap:wrap;row-gap:10px}
.pp-session .row-body{flex:1 1 100%}
.pp-session .name{overflow-wrap:anywhere}
.halo .act-time{width:auto!important;flex:0 0 auto!important;min-width:60px}
}
@media (max-width:440px){
.topbar{gap:8px}
.nav{gap:8px}
.nav a{padding:8px 0;min-width:44px;justify-content:center}
.signout button{padding:8px 0;min-width:44px}
}
/* Dashboards and tools (prompt 15b C2): Promotions phone chart, Fulfillment store rows, Products filters, Retail KPIs columns, stacked values wrap. */
.pc-chart-n{display:none}
.pc-chart-n .pc-axis{font-size:14px}
.pr-filters>summary{display:none}
.rk-cols .seg{height:44px}
.halo .stk-row>*{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
@media (max-width:559.98px){
.pc-chart-w{display:none}
.pc-chart-n{display:block}
.pc-panel{padding:18px 16px}
.pr-filters{background:var(--surface);border-radius:14px;box-shadow:var(--shadow)}
.pr-filters>summary{display:flex;flex-direction:column;gap:2px;justify-content:center;min-height:56px;padding:10px 16px;cursor:pointer;list-style:none}
.pr-filters>summary::-webkit-details-marker{display:none}
.pr-filters-title{font-size:16px;font-weight:700;display:inline-flex;align-items:center;gap:8px}
.pr-filters-title::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-3px;opacity:.6}
.pr-filters[open] .pr-filters-title::after{transform:rotate(225deg);margin-top:3px}
.pr-filters .pr-form{padding:4px 16px 16px}
.halo .ff-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name chip" "bar bar" "wait same";row-gap:8px;column-gap:12px;padding:14px 16px}
.halo .ff-row>.ff-no{display:none}
.halo .ff-row>.stack-xs{grid-area:name;display:flex}
.halo .ff-row>.ff-chip{grid-area:chip;display:block;justify-self:end;align-self:start}
.halo .ff-row>.ff-bar{grid-area:bar;display:flex}
.halo .ff-row>.ff-wait{grid-area:wait;display:block;text-align:left;font-size:15px}
.halo .ff-row>.ff-same{grid-area:same;display:block;text-align:right;font-size:15px}
.halo .ff-row>[data-label]::before{content:attr(data-label) " ";font-size:13px;font-weight:600;color:var(--muted)}
.halo .ff-grid.st-table-head{display:none}
}
@media (max-width:820px){.sm-regions{gap:8px}.sm-toggle{gap:8px}}
/* Phone download note (prompt 15b, before E). */
.dl-note{display:none}
@media (max-width:559.98px){.dl-note:not([hidden]){display:block}}
/* Shipments (shipments.php), prompt 16. */
.sh [hidden]{display:none!important}
.sh-case{gap:16px}
.sh-go{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;white-space:nowrap}
.sh-watch{gap:16px;min-height:0}
.sh-watch-value{font-size:16px;font-weight:700;white-space:nowrap;text-align:right}
.sh-spark{display:block;width:100%;height:72px}
.sh-spark polyline{fill:none;stroke:var(--bar);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.sh-spark-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sh-rgrid{display:grid;grid-template-columns:minmax(0,1fr) 150px 80px 80px 80px 90px;gap:12px;align-items:center;padding:12px 22px}
.sh-run{border-top:1px solid var(--line);font-size:15px}
.sh-run-when{font-weight:700}
.sh-controls{display:flex;flex-direction:column;gap:0}
.sh-control{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line)}
.sh-control:first-child{border-top:0;padding-top:0}
.sh-control .btn{flex:0 0 auto}
.sh-terms{margin:0;display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 16px}
.sh-terms dt{font-weight:700}
.sh-terms dd{margin:0;color:var(--muted)}
.sh-alert strong{font-weight:800}
@media (max-width:760px){
.sh-rgrid{grid-template-columns:minmax(0,1fr) 120px 70px}
.sh-rgrid>:nth-child(3),.sh-rgrid>:nth-child(5){display:none}
}
@media (max-width:559.98px){
.sh-watch{flex-wrap:wrap;row-gap:6px}
.sh-watch .row-body{flex:1 1 100%}
.sh-watch-value{text-align:left;flex:1 1 auto}
.sh-case{flex-wrap:wrap}
.sh-case .row-body{flex:1 1 100%}
.sh-control{flex-direction:column;align-items:stretch}
.sh-control .btn{width:100%}
.sh-terms{grid-template-columns:minmax(0,1fr)}
.sh-terms dd{margin-bottom:6px}
}
/* Shipment decisions (decision.php), prompt 16 C. */
.dc-title{font-size:32px}
.dc-facts{margin:0;display:grid;grid-template-columns:170px minmax(0,1fr);gap:10px 18px}
.dc-facts dt{font-weight:700;color:var(--muted)}
.dc-facts dd{margin:0;overflow-wrap:anywhere}
.dc-raw>summary{cursor:pointer;min-height:44px;display:inline-flex;align-items:center;font-weight:600;color:var(--muted)}
.dc-raw .st-pre{margin:8px 0 0}
.dc-raw .st-pre-note{margin:8px 0 0}
.dc-options{gap:10px}
.dc-option{align-items:flex-start}
.dc-option input,.dc .choice input{margin-top:3px;width:20px;height:20px;flex:0 0 auto}
.dc-ruling{align-items:flex-start}
@media (max-width:559.98px){
.dc-title{font-size:28px}
.dc-facts{grid-template-columns:minmax(0,1fr);gap:2px}
.dc-facts dd{margin-bottom:10px}
}
/* Shipment terms (shipterms.php), prompt 16 D. */
.tm-row{min-height:0;padding:14px 22px}
.tm-row .row-body{gap:2px}
.tm-row .desc{margin-top:4px}
@media (max-width:559.98px){.tm-row{padding:12px 16px}}
/* Download links on the person page (prompt 17 D). */
.pp-links{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.pp-link{padding:14px 0;min-height:0;background:none}
.pp-link-dead{opacity:.6}
.pp-link-btns{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.pp-link-new{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.pp-link-new .pr-field{flex:1 1 220px}
.pp-link-new .field{width:100%}
#new-link{font-size:15px;overflow-wrap:anywhere}
@media (max-width:559.98px){.pp-link{flex-wrap:wrap;row-gap:8px}.pp-link .row-body{flex:1 1 100%}.pp-link-new .btn{width:100%}}
/* History filters stack on phones (after the iPhone check, 2026-10-07). */
.gc-hist-label{flex:1 1 100%}
@media (max-width:559.98px){
.oc-hfilters{grid-template-columns:minmax(0,1fr)}
.oc-hfilters>*,.oc-hfilters .pr-field{min-width:0}
.oc-hfilters .field,#gc-hist-form .field{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.oc-hfilters input[type="date"]{display:block}
.oc-hbtns,#gc-hist-form{flex-direction:column;align-items:stretch;flex-wrap:nowrap}
.oc-hbtns .btn,#gc-hist-form .btn{width:100%}
#gc-hist-form .gc-order-input{flex:0 0 auto;max-width:none}
#gc-hist-form .gc-hist-label{flex:0 0 auto}
}
@supports (-webkit-touch-callout:none){
@media (max-width:559.98px){
.oc-hfilters input[type="date"]{-webkit-appearance:none;appearance:none;text-align:left}
.oc-hfilters input[type="date"]::-webkit-date-and-time-value{text-align:left}
}
}
/* Compensation dashboard (compensation.php), prompt 18. */
.cp-grid{display:grid;grid-template-columns:minmax(0,1fr) 80px 120px 220px;gap:16px;padding:13px 22px;align-items:center}
.cp-sgrid{display:grid;grid-template-columns:minmax(0,1fr) 90px 130px;gap:16px;padding:13px 22px;align-items:center}
.cp-mgrid{display:grid;grid-template-columns:minmax(0,1fr) 80px 130px 110px;gap:16px;padding:13px 22px;align-items:center}
.cp-grid>*,.cp-sgrid>*,.cp-mgrid>*{min-width:0}
.cp-row{border-top:1px solid var(--line);background:var(--surface)}
.cp-share{display:flex;align-items:center;gap:10px}
.cp-share .st-meter{flex:1 1 auto}
.cp-pct{font-size:15px;font-weight:700;min-width:54px;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.cp-link{text-decoration:underline;text-underline-offset:2px;min-height:44px;display:inline-flex;align-items:center}
.cp-chart{display:block;width:100%;height:auto}
.cp-chart-n{display:none}
.cp-chart-n .pc-axis{font-size:14px}
.cp-bar{fill:var(--bar)}
.cp-line{fill:none;stroke:var(--bad);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.cp-key-bar::before{background:var(--bar);height:10px;width:12px;border-radius:2px}
.cp-key-line::before{background:var(--bad);height:3px}
@media (max-width:760px){.cp-grid{grid-template-columns:minmax(0,1fr) 70px 110px 150px}}
@media (max-width:559.98px){
.cp-chart-w{display:none}
.cp-chart-n{display:block}
.halo .cp-share{width:100%}
}
.qf-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.qf-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.qf-dates .field{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;height:44px;font-size:16px}
.qf-check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:16px;color:var(--text);cursor:pointer}
.qf-check input{width:22px;height:22px;margin:0;flex:0 0 22px;accent-color:var(--accent)}
.qf-gap{color:var(--muted)}
@media (max-width:559px){.qf-dates{grid-template-columns:minmax(0,1fr)}}
@supports (-webkit-touch-callout:none){.qf-dates input[type="date"]{-webkit-appearance:none;appearance:none;text-align:left}.qf-dates input[type="date"]::-webkit-date-and-time-value{text-align:left}}
