:root{color-scheme:light;--ink:#181514;--muted:#716965;--paper:#f4f0ec;--surface:#fffdfa;--line:#ddd5cf;--accent:#c24f68;--orange:#c46d3d;--green:#668675;--gold:#c49746;--blue:#526e81;--purple:#75688e;--danger:#a44343;--shadow:0 14px 34px rgba(40,29,24,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI","Microsoft YaHei",system-ui,sans-serif;font-size:16px;line-height:1.5}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:14px 24px;background:rgba(24,21,20,.97);color:white;box-shadow:0 8px 22px rgba(24,21,20,.16)}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.25);border-radius:11px;font-weight:750}.brand div{display:grid;line-height:1.2}.brand strong{letter-spacing:.12em;font-size:.82rem}.brand span+div,.brand div span{font-size:.72rem;color:rgba(255,255,255,.62)}.main-nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.main-nav::-webkit-scrollbar{display:none}.nav-item{border:0;background:transparent;color:rgba(255,255,255,.68);padding:9px 12px;border-radius:9px;white-space:nowrap;font-size:.87rem}.nav-item:hover,.nav-item.active{background:#fff;color:var(--ink)}.data-badge{padding:7px 10px;border:1px solid rgba(255,255,255,.15);border-radius:999px;color:rgba(255,255,255,.74);font-size:.73rem;white-space:nowrap}.filterbar{display:flex;align-items:end;gap:10px;padding:14px max(24px,calc((100vw - 1480px)/2));background:#e9e1db;border-bottom:1px solid #d8cec7;overflow-x:auto}.filter-heading{display:grid;min-width:148px;margin-right:4px}.filter-heading span,.filterbar label,.toolbar label{font-size:.72rem;color:var(--muted)}.filter-heading strong{font-size:.88rem}.filterbar label,.toolbar label{display:grid;gap:4px;min-width:125px}.filterbar select,.toolbar select,.toolbar input,.rule-form input{height:40px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);outline:none}.filterbar select:focus,.toolbar select:focus,.toolbar input:focus,.rule-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(194,79,104,.12)}.button{min-height:40px;padding:8px 14px;border:1px solid transparent;border-radius:9px;font-weight:650;font-size:.82rem;white-space:nowrap}.button.dark{background:var(--ink);color:white}.button.accent{background:var(--accent);color:white}.button.ghost{background:transparent;border-color:#cbbeb6}.button:hover{filter:brightness(.97)}main{max-width:1480px;margin:0 auto;padding:28px 24px 52px}.view{display:none}.view.active{display:block}.page-title{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:4px 0 18px}.page-title h1{margin:0;font-size:clamp(1.7rem,2.7vw,2.55rem);line-height:1.08;letter-spacing:-.035em}.page-title>p{max-width:560px;margin:0;color:var(--muted);text-align:right;font-size:.88rem}.eyebrow{margin:0 0 4px;color:var(--accent);font-size:.7rem!important;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.kpi-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{position:relative;overflow:hidden;min-height:128px;padding:18px;background:var(--surface);border:1px solid rgba(113,105,101,.16);border-radius:16px;box-shadow:0 7px 22px rgba(40,29,24,.045)}.kpi:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--kpi-color,var(--accent))}.kpi-label{color:var(--muted);font-size:.78rem}.kpi-value{margin-top:12px;font-size:clamp(1.45rem,2.5vw,2.15rem);font-weight:720;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.kpi-detail{margin-top:7px;color:var(--muted);font-size:.72rem}.grid{display:grid;gap:16px}.grid.two-thirds{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.panel{min-width:0;padding:19px;background:var(--surface);border:1px solid rgba(113,105,101,.16);border-radius:17px;box-shadow:0 7px 22px rgba(40,29,24,.045)}.panel-head,.table-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.panel h2{margin:0;font-size:1rem}.panel p,.table-head{margin:3px 0 0;color:var(--muted);font-size:.75rem}.text-button{border:0;background:transparent;color:var(--accent);font-size:.76rem;font-weight:700}.chart{min-height:260px}.chart.large{min-height:320px}.chart svg{display:block;width:100%;height:auto}.gridline{stroke:var(--line);stroke-width:1}.axis-label{fill:var(--muted);font-size:11px}.chart-line{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-area{fill:url(#areaGradient)}.chart-dot{fill:var(--surface);stroke:var(--accent);stroke-width:2}.rank-list{display:grid;gap:10px}.rank-row{display:grid;grid-template-columns:minmax(92px,1fr) minmax(110px,1.55fr) auto;align-items:center;gap:10px;font-size:.77rem}.rank-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-track{height:8px;background:#eee7e2;border-radius:999px;overflow:hidden}.rank-fill{height:100%;width:var(--w);background:var(--bar,var(--orange));border-radius:inherit}.rank-value{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.donut-wrap{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(180px,1.2fr);align-items:center;gap:18px;min-height:260px}.donut{position:relative;width:min(220px,100%);aspect-ratio:1;margin:auto;border-radius:50%;background:conic-gradient(var(--segments,#ddd 0 100%))}.donut:after{content:"";position:absolute;inset:23%;border-radius:50%;background:var(--surface)}.donut-center{position:absolute;z-index:1;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}.donut-center strong{font-size:1.15rem}.donut-center span{color:var(--muted);font-size:.7rem}.legend{display:grid;gap:9px}.legend-row{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.76rem}.legend-swatch{width:9px;height:9px;border-radius:3px;background:var(--c)}.legend-value{color:var(--muted);font-variant-numeric:tabular-nums}.toolbar{display:flex;align-items:end;gap:12px;margin-bottom:16px;padding:15px;background:#e9e1db;border:1px solid #d8cec7;border-radius:14px}.toolbar .search-field{min-width:260px}.toolbar .search-field.wide{min-width:420px}.table-wrap{width:100%;overflow:auto}.table-wrap.small{max-height:520px}table{width:100%;border-collapse:collapse;font-size:.79rem}th{position:sticky;top:0;z-index:1;padding:11px 10px;background:#eee7e2;color:var(--muted);font-weight:650;text-align:left;white-space:nowrap}td{padding:11px 10px;border-bottom:1px solid #eee7e2;vertical-align:top}tbody tr:hover{background:#faf6f2}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.link-button{border:0;background:transparent;padding:0;color:var(--accent);font-weight:720;text-align:left}.privacy-note{margin:-6px 0 14px;padding:10px 13px;border-left:4px solid var(--blue);background:#e8eef1;color:#425963;border-radius:0 8px 8px 0;font-size:.78rem}.gap-top{margin-top:16px}.issue-list{display:grid;gap:10px}.issue{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 13px;background:#f5efea;border-radius:10px}.issue span{color:var(--muted);font-size:.76rem}.issue strong{font-size:.9rem;font-variant-numeric:tabular-nums}.rule-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;margin-bottom:16px;background:var(--ink);color:white;border-radius:14px}.rule-summary strong{font-size:1.25rem}.rule-summary span{color:rgba(255,255,255,.67);font-size:.78rem}.rule-list,.custom-rules{display:grid;gap:9px}.rule-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;background:#f3ece7;border-radius:10px;font-size:.79rem}.rule-item span:last-child{color:var(--muted);font-size:.7rem}.rule-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;margin-bottom:12px}.rule-form label{display:grid;gap:4px;color:var(--muted);font-size:.73rem}.custom-rules{margin:17px 0}.remove-rule{border:0;background:transparent;color:var(--danger);font-size:.75rem}.upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.upload-card{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center;padding:22px;background:var(--surface);border:2px dashed #cdbfb6;border-radius:16px;cursor:pointer}.upload-card:hover{border-color:var(--accent)}.upload-step{grid-row:1/5;display:grid;place-items:center;width:44px;height:44px;background:var(--ink);color:#fff;border-radius:50%;font-weight:700}.upload-card strong{font-size:1rem}.upload-card>span:not(.upload-step){color:var(--muted);font-size:.76rem}.upload-card input{margin-top:8px;font-size:.76rem}.upload-card em{margin-top:4px;color:var(--accent);font-size:.72rem;font-style:normal}.upload-actions{display:flex;align-items:center;justify-content:space-between;gap:20px}.upload-actions h2{margin:0}.progress-card{display:flex;align-items:center;gap:16px;margin-top:16px;padding:18px;background:#e6efe9;border-radius:14px}.progress-card p{margin:3px 0 0;color:var(--muted);font-size:.78rem}.spinner{width:30px;height:30px;border:3px solid rgba(102,134,117,.25);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}.hidden{display:none!important}.data-status{display:grid;grid-template-columns:180px 1fr;gap:10px;margin:0}.data-status dt{color:var(--muted);font-size:.76rem}.data-status dd{margin:0;font-size:.8rem}.drawer{position:fixed;z-index:50;inset:0;display:none}.drawer.open{display:block}.drawer-backdrop{position:absolute;inset:0;width:100%;border:0;background:rgba(24,21,20,.52)}.drawer-panel{position:absolute;top:0;right:0;width:min(720px,94vw);height:100%;overflow:auto;padding:24px;background:var(--surface);box-shadow:-20px 0 55px rgba(24,21,20,.2)}.drawer-head{position:sticky;top:-24px;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:-24px -24px 18px;padding:24px;background:rgba(255,253,250,.96);border-bottom:1px solid var(--line)}.drawer-head h2{margin:0;font-size:1.55rem}.icon-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:50%;font-size:1.4rem}.detail-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.detail-kpi{padding:13px;background:#f2ebe6;border-radius:11px}.detail-kpi span{display:block;color:var(--muted);font-size:.69rem}.detail-kpi strong{display:block;margin-top:5px;font-size:1rem}.detail-section{margin-top:20px}.detail-section h3{margin:0 0 9px;font-size:.92rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.contact-grid div{padding:11px;background:#f5efea;border-radius:9px}.contact-grid span{display:block;color:var(--muted);font-size:.68rem}.contact-grid strong{display:block;margin-top:3px;font-size:.78rem;overflow-wrap:anywhere}.toast{position:fixed;z-index:80;left:50%;bottom:22px;transform:translate(-50%,20px);max-width:min(520px,90vw);padding:11px 16px;background:var(--ink);color:#fff;border-radius:9px;opacity:0;pointer-events:none;transition:.2s;font-size:.8rem}.toast.show{opacity:1;transform:translate(-50%,0)}.empty{display:grid;place-items:center;min-height:180px;color:var(--muted);font-size:.82rem}.status-pill{display:inline-block;padding:3px 7px;border-radius:999px;background:#eee7e2;color:var(--muted);font-size:.68rem}.status-pill.good{background:#e4efe8;color:#4e725e}.status-pill.warn{background:#f7ead7;color:#8b5b22}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1120px){.topbar{grid-template-columns:auto 1fr}.data-badge{display:none}.main-nav{justify-self:end}.kpi-grid{grid-template-columns:repeat(3,1fr)}.grid.two-thirds{grid-template-columns:repeat(2,1fr)}.span-2{grid-column:span 2}}
@media(max-width:760px){.topbar{position:static;display:block;padding:14px}.brand{margin-bottom:12px}.main-nav{margin:0 -4px}.filterbar{padding:12px;align-items:end}.filter-heading{display:none}main{padding:20px 12px 40px}.page-title{align-items:flex-start;flex-direction:column;gap:7px}.page-title>p{text-align:left}.kpi-grid,.kpi-grid.compact{grid-template-columns:repeat(2,1fr)}.grid.two-thirds,.grid.equal{grid-template-columns:1fr}.span-2{grid-column:auto}.toolbar{align-items:stretch;flex-direction:column}.toolbar .search-field,.toolbar .search-field.wide{min-width:0}.donut-wrap{grid-template-columns:1fr}.upload-grid{grid-template-columns:1fr}.upload-actions{align-items:flex-start;flex-direction:column}.upload-actions .button{width:100%}.data-status{grid-template-columns:1fr;gap:3px}.data-status dd{margin-bottom:8px}.detail-kpis{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}.chart.large{min-height:250px}}
@media(max-width:430px){.kpi-grid,.kpi-grid.compact{grid-template-columns:1fr}.filterbar label{min-width:110px}.detail-kpis{grid-template-columns:1fr}.rank-row{grid-template-columns:minmax(82px,1fr) minmax(80px,1fr) auto}.drawer-panel{width:100%}}
.multi-filter{position:relative;min-width:150px}.multi-filter.wide{min-width:230px}.multi-filter summary{display:grid;gap:2px;min-height:40px;padding:7px 32px 7px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer;list-style:none}.multi-filter summary::-webkit-details-marker{display:none}.multi-filter summary:after{content:"⌄";position:absolute;right:12px;top:20px;transform:translateY(-50%);color:var(--muted)}.multi-filter summary span{font-size:.65rem;color:var(--muted)}.multi-filter summary strong{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:600}.multi-filter[open] summary{border-color:var(--accent);box-shadow:0 0 0 3px rgba(194,79,104,.12)}.multi-options{position:absolute;z-index:35;top:calc(100% + 6px);left:0;display:grid;width:max-content;min-width:100%;max-height:340px;overflow:auto;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:0 16px 40px rgba(24,21,20,.18)}.multi-actions{display:flex;gap:6px;padding:3px 3px 8px;border-bottom:1px solid var(--line);margin-bottom:4px}.multi-actions button{border:0;background:#eee7e2;padding:5px 8px;border-radius:7px;font-size:.68rem}.multi-options label{display:flex!important;align-items:center;gap:8px;min-width:0!important;padding:7px 8px;border-radius:7px;color:var(--ink)!important;white-space:nowrap}.multi-options label:hover{background:#f3ece7}.multi-options input{accent-color:var(--accent)}
.chart-dot.active{fill:var(--accent);stroke-width:4}.chart-scrubber{display:grid;grid-template-columns:auto minmax(160px,1fr) auto minmax(180px,auto);align-items:center;gap:10px;margin-top:4px;padding:10px 12px;background:#f3ece7;border-radius:11px}.chart-scrubber input{width:100%;accent-color:var(--accent)}.scrubber-step{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:var(--surface);font-size:1.2rem}.chart-scrubber output{font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.inline-control{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;margin:-4px 0 14px;color:var(--muted);font-size:.72rem}.inline-control select{height:34px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.x-axis-label{font-size:10px;font-variant-numeric:tabular-nums}.detail-section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:9px}.detail-section-head h3{margin:0}.detail-section-head span{color:var(--muted);font-size:.7rem;text-align:right}.subtle-id{margin-top:2px;color:var(--muted);font-size:.66rem;font-weight:400}
.toolbar.wrap{flex-wrap:wrap}.template-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}.template-panel p{max-width:920px}.template-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.rule-note{padding:8px 10px;background:#f7ead7;color:#76521f!important;border-radius:8px}
.drawer-actions{display:flex;justify-content:flex-end;margin:-4px 0 12px}.customer-table{min-width:1180px}
@media(max-width:760px){.multi-filter{min-width:150px}.multi-filter.wide{min-width:210px}.chart-scrubber{grid-template-columns:auto 1fr auto}.chart-scrubber output{grid-column:1/-1;text-align:center}.template-panel{align-items:flex-start;flex-direction:column}.template-actions{justify-content:flex-start}.detail-section-head{align-items:flex-start;flex-direction:column;gap:3px}.detail-section-head span{text-align:left}}

/* Keep multi-select menus above the dashboard instead of clipping them inside the filter strip. */
.filterbar{position:relative;z-index:15;overflow:visible;flex-wrap:wrap}
main{position:relative;z-index:0}

.pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:11px;padding-top:9px;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem;line-height:1.35}
.pagination label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:inherit;white-space:nowrap}
.pagination select{height:30px;padding:0 24px 0 7px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:inherit}
.page-buttons{display:flex;align-items:center;justify-content:flex-end;gap:3px;flex-wrap:wrap}
.page-buttons button{display:grid;place-items:center;min-width:30px;height:30px;padding:0 6px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:.75rem;line-height:1}
.page-buttons button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.page-buttons button.active{border-color:var(--ink);background:var(--ink);color:#fff}
.page-buttons button:disabled{cursor:not-allowed;opacity:.38}
.page-ellipsis{padding:0 3px;color:var(--muted)}
@media(max-width:760px){.pagination{align-items:flex-start;flex-direction:column}.page-buttons{justify-content:flex-start}.table-head{align-items:flex-start;flex-direction:column}}

.command-panel{margin-bottom:16px;padding:24px;background:#211b1a;color:#fff;border-radius:20px;box-shadow:0 14px 32px rgba(40,29,24,.12)}.command-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:20px}.command-heading h2{margin:0;font-size:clamp(1.45rem,2.4vw,2.1rem)}.command-heading p:last-child{margin:5px 0 0;color:#d5c7c0;font-size:.82rem}.command-actions{display:flex;align-items:end;gap:10px}.command-actions label{display:grid;gap:3px;color:#d5c7c0;font-size:.72rem}.command-actions input,.overview-history-head select{height:40px;padding:0 10px;border:1px solid #d5c7c0;border-radius:9px;background:#fff;color:#211b1a}.command-actions .button{background:#fff;color:#211b1a}.command-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.command-stat{display:grid;align-content:start;gap:6px;min-height:118px;padding:16px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.06)}.command-stat span{color:#e5d8d1;font-size:.77rem}.command-stat strong{font-size:clamp(1.3rem,2vw,1.9rem);font-variant-numeric:tabular-nums;line-height:1.15}.command-stat small{color:#d2c0b7;font-size:.72rem}.command-stat.behind strong,.target-negative{color:#d35158}.command-stat.ahead strong{color:#7ad6a4}.command-progress{margin-top:18px}.progress-track{position:relative;height:12px;background:rgba(255,255,255,.18);border-radius:999px}.progress-track>div{height:100%;background:#79ca9b;border-radius:inherit}.progress-track i{position:absolute;top:-4px;width:3px;height:20px;background:#fff}.command-progress p{margin:8px 0 0;color:#d5c7c0;font-size:.76rem}.command-empty{grid-column:1/-1;padding:25px;color:#e5d8d1}.target-settings{margin-bottom:16px}.target-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:340px;overflow:auto}.target-field{display:grid;gap:4px;color:var(--muted);font-size:.75rem}.target-field input{height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.target-form-actions{display:flex;justify-content:flex-end;margin-top:16px}.target-breakdown{margin-bottom:22px}.overview-history-head{margin:24px 0 14px}.overview-history-head label{display:grid;gap:3px;color:var(--muted);font-size:.72rem}@media(max-width:900px){.command-grid,.target-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.command-heading{flex-direction:column}.command-actions{width:100%}.command-grid,.target-fields{grid-template-columns:1fr}.command-stat{min-height:auto}.overview-history-head{flex-direction:column}}
.target-fields{display:grid;grid-template-columns:1fr;max-height:none;overflow:visible}.target-group{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.target-group summary{cursor:pointer;font-weight:650}.target-group summary span{margin-left:8px;color:var(--muted);font-size:.72rem;font-weight:400}.target-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:300px;overflow:auto;padding:12px 0 3px}@media(max-width:900px){.target-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.target-group-grid{grid-template-columns:1fr}}
.kpi-secondary{margin-top:3px;font-size:.92rem;font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums}
.detail-context{margin:-6px 0 14px;padding:8px 10px;background:#f3ece7;color:var(--muted);border-radius:8px;font-size:.74rem}
.table-sort-button{display:inline-flex;align-items:center;gap:5px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:650;text-align:inherit;white-space:nowrap}.num .table-sort-button{justify-content:flex-end}.table-sort-button span{min-width:12px;color:#9b8d85;font-size:.72rem}.table-sort-button:hover,.table-sort-button.active{color:var(--accent)}.variant-chip{display:inline-flex;margin:2px 5px 2px 0;padding:3px 7px;border-radius:999px;background:#f2ebe6;color:#5f514a;font-size:.69rem;white-space:nowrap}.variant-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.variant-summary-grid .detail-section{margin-top:10px}.drawer-actions-split{justify-content:flex-start}@media(max-width:640px){.variant-summary-grid{grid-template-columns:1fr}}
.filter-heading{flex:0 0 220px;width:220px;min-width:220px;max-width:220px}.filter-heading strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.variant-chip-button{border:1px solid transparent;font:inherit;cursor:pointer}.variant-chip-button:hover,.variant-chip-button:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.size-detail-link{font-size:1rem}.size-detail-link:hover,.size-detail-link:focus-visible{text-decoration:underline;text-underline-offset:3px}
.customer-purchase-detail th:nth-child(6),.customer-purchase-detail th:nth-child(7),.customer-purchase-detail td:nth-child(6),.customer-purchase-detail td:nth-child(7){display:none}
.filterbar .date-filter{display:grid;gap:2px;min-width:150px;min-height:40px;padding:7px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted);cursor:pointer}.filterbar .date-filter>span{font-size:.65rem}.filterbar .date-filter input{width:100%;height:auto;min-height:18px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:.76rem;font-weight:600;outline:none;cursor:pointer}.filterbar .date-filter:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(194,79,104,.12)}
.order-search-results{display:grid;gap:12px;margin:-2px 0 16px}.order-search-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--ink);color:#fff;border-radius:14px}.order-search-heading h2{margin:0;font-size:1.05rem}.order-search-heading>span{color:rgba(255,255,255,.7);font-size:.72rem}.order-result-card{overflow:hidden;background:var(--surface);border:1px solid rgba(113,105,101,.18);border-radius:14px;box-shadow:0 7px 22px rgba(40,29,24,.045)}.order-result-summary{display:grid;grid-template-columns:1.05fr 1.25fr 1.2fr 1.1fr 1.1fr;gap:10px;padding:14px;background:#f3ece7}.order-result-summary div{display:grid;align-content:start;gap:2px}.order-result-summary span,.order-result-summary small{color:var(--muted);font-size:.68rem}.order-result-summary strong{font-size:.8rem;overflow-wrap:anywhere}.order-result-card .table-wrap{max-height:360px}.customer-consultant-note{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:0 0 14px;padding:13px 15px;background:linear-gradient(100deg,#f7ead7,#f3ece7);border-left:4px solid var(--gold);border-radius:0 11px 11px 0}.customer-consultant-note span{color:var(--muted);font-size:.72rem}.customer-consultant-note strong{font-size:1.05rem}.customer-consultant-note b{color:#725329;font-size:.75rem;text-align:right}@media(max-width:900px){.order-result-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.order-search-heading{align-items:flex-start;flex-direction:column}.order-result-summary{grid-template-columns:1fr}.customer-consultant-note{grid-template-columns:1fr;gap:3px}.customer-consultant-note b{text-align:left}}
.order-table{min-width:1040px}.order-detail-table{min-width:820px}.order-detail-table tfoot td{position:sticky;bottom:0;background:#f3ece7;border-top:2px solid #d8cec7;border-bottom:0}.subtle-id{margin-top:2px;color:var(--muted);font-size:.67rem}
.donut-wrap{grid-template-columns:1fr;align-items:start;gap:16px}.donut{width:min(190px,100%)}
.legend-value{display:grid;justify-items:end;gap:1px;line-height:1.25}.legend-value strong{font-weight:650}.legend-value small{color:var(--ink);font-size:.72rem;font-weight:600;white-space:nowrap}
.chart-scrubber{grid-template-columns:var(--chart-slider-left,62px) minmax(0,1fr) var(--chart-slider-right,16px);gap:2px 0;padding:8px 0 10px}
.chart-scrubber input[type="range"]{grid-column:2;width:100%;height:24px;margin:0;padding:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer}
.chart-scrubber input[type="range"]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(to right,var(--accent) 0 var(--selected-pct,100%),#d2c6bf var(--selected-pct,100%) 100%)}
.chart-scrubber input[type="range"]::-webkit-slider-thumb{width:16px;height:16px;margin-top:-6px;border:0;border-radius:50%;appearance:none;-webkit-appearance:none;background:var(--accent)}
.chart-scrubber input[type="range"]::-moz-range-track{height:4px;border-radius:999px;background:#d2c6bf}
.chart-scrubber input[type="range"]::-moz-range-progress{height:4px;border-radius:999px;background:var(--accent)}
.chart-scrubber input[type="range"]::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:var(--accent)}
.chart-scrubber input[type="range"]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.scrubber-controls{grid-column:1/-1;display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:8px;padding:0 12px}
.chart-scrubber output{grid-column:auto;text-align:center;font-size:.78rem}

/* Production authentication shell. */
[hidden]{display:none!important}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at top left,#fff8f2 0,#f2eae6 52%,#e6d9d3 100%)}
.auth-card{width:min(440px,100%);padding:34px;background:#fff;border:1px solid #e4d9d3;border-radius:22px;box-shadow:0 24px 70px rgba(48,30,24,.12)}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:36px}.auth-brand strong,.auth-brand span{display:block}.auth-brand>div span{color:#7b6e68;font-size:13px;margin-top:2px}
.auth-card .brand-mark{background:#181514;color:#fff}.auth-card h1{font-size:34px;margin:0 0 10px}.auth-card>p:not(.eyebrow):not(.auth-status){color:#746965;line-height:1.65;margin:0 0 24px}
.auth-card label{display:block;font-size:14px;font-weight:700;margin-top:16px}.auth-card input{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #d9ccc6;border-radius:10px;font:inherit}.auth-card input:focus{outline:2px solid #c24f68;outline-offset:1px}
.auth-card button{width:100%;margin-top:24px}.auth-status{min-height:24px;margin:18px 0 0;color:#ad3851;line-height:1.5}.topbar{grid-template-columns:auto 1fr auto auto}.topbar-logout{background:#fff;color:#211f1e;padding:8px 12px}
@media(max-width:1120px){.topbar{grid-template-columns:auto 1fr auto}.topbar-logout{grid-column:3}}
