:root{--ink:#142c40;--muted:#6a7b8a;--teal:#087f83;--teal-dark:#07686c;--teal-light:#e6f5f3;--line:#dce5ea;--surface:#fff;--bg:#f5f8fa;--navy:#102b3e;--danger:#b83939;--warning:#936818;--radius:12px;--shadow:0 2px 6px #142c4006}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #38bfc8;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;line-height:1.2;letter-spacing:-.7px;margin-bottom:8px;font-weight:680;overflow-wrap:anywhere}h2{font-size:19px;letter-spacing:-.2px;margin-bottom:5px;font-weight:650}p:last-child{margin-bottom:0}[hidden]{display:none!important}.site-header{height:76px;padding:0 40px;display:flex;align-items:center;gap:46px;background:var(--navy);color:white}.brand{display:flex;gap:12px;align-items:center;color:white;font-size:18px;letter-spacing:-.4px;white-space:nowrap}.brand:hover{text-decoration:none}.brand b{font-weight:550;color:#7edcda}.brand-mark{display:flex;align-items:flex-end;gap:3px;width:28px;height:27px}.brand-mark i{background:#79d9d4;border-radius:2px 2px 0 0;display:block;width:7px;height:14px}.brand-mark i:nth-child(2){height:22px}.brand-mark i:nth-child(3){height:27px}.main-nav{display:flex;align-items:center;gap:28px;height:100%}.main-nav a{color:#c8d7e1;height:100%;display:flex;align-items:center;border-bottom:3px solid transparent;padding-top:3px;font-weight:500}.main-nav a:hover,.main-nav a[aria-current=page]{color:#fff;text-decoration:none;border-bottom-color:#6dd5d1}.account-nav{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:13px}.account-nav a,.account-nav .text-button{color:#cbdde6}.header-note{margin-left:auto;color:#b4cbd7;font-size:13px}.page{max-width:1680px;margin:0 auto;padding:32px 40px 44px;min-height:calc(100vh - 141px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.page-heading .subtitle{margin:0}.eyebrow{color:var(--teal);font-size:11px;font-weight:750;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:9px}.subtitle{color:var(--muted);font-size:14px}.actions,.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 16px;border:1px solid var(--teal);border-radius:7px;background:var(--teal);color:#fff;font-weight:600;font-size:13px;line-height:1.4;white-space:nowrap;text-decoration:none;transition:background .12s,border-color .12s}.button:hover{background:var(--teal-dark);border-color:var(--teal-dark);text-decoration:none}.button-secondary{background:white;color:var(--ink);border-color:#cbd9e0}.button-secondary:hover{background:#eff6f7;border-color:#a4bfc8}.button-quiet{background:transparent;border-color:transparent;color:var(--muted)}.button-quiet:hover{background:#e9eff2;color:var(--ink);border-color:transparent}.button:disabled{opacity:.6;cursor:default}.button-full{width:100%}.text-button{border:0;background:none;padding:0;color:var(--teal);font-size:inherit;font-weight:500}.text-button:hover{text-decoration:underline}.danger-text{color:var(--danger)}.back-link{display:inline-block;font-size:12px;margin-bottom:22px;color:var(--muted)}.metrics-strip{display:flex;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 24px;margin-bottom:24px;gap:28px}.metrics-strip>div{display:flex;align-items:baseline;gap:10px;border-right:1px solid var(--line);padding-right:28px;min-width:140px}.metrics-strip>div:last-child{border-right:0}.metric-value{font-size:26px;line-height:1.1;font-weight:650;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.metric-label{color:var(--muted);font-size:12px}.metric-warning .metric-value{color:var(--danger)}.table-card{overflow:auto;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.data-table th,.data-table td{padding:16px 20px;text-align:left;vertical-align:middle;border-bottom:1px solid #e8eef1}.data-table thead th{background:#f8fafb;color:#657888;font-size:11px;font-weight:650;letter-spacing:.15px;padding-top:13px;padding-bottom:13px}.data-table tbody th{font-weight:500}.data-table tbody tr:last-child td,.data-table tbody tr:last-child th{border-bottom:0}.data-table tbody tr:hover>td,.data-table tbody tr:hover>th{background:#f8fcfc}.data-table tfoot th,.data-table tfoot td{border-bottom:0;border-top:1px solid var(--line);background:#f4f8f9;font-weight:700}.data-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.primary-link{font-weight:650;color:var(--ink)}.primary-link:hover{color:var(--teal)}.cell-subtitle{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:4px}.row-actions{text-align:right!important}.row-actions a{white-space:nowrap;font-weight:600;font-size:12px}.row-action-group{display:flex;gap:24px;justify-content:flex-end;align-items:center;white-space:nowrap;font-size:12px}.table-caption{margin:14px 2px 0;font-size:12px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;line-height:1.5;border-radius:20px;padding:4px 9px;white-space:nowrap;font-weight:600}.badge-success{color:#20705b;background:#e8f4ee}.badge-progress{color:#146d8c;background:#e6f2f9}.badge-error{color:#a83037;background:#fbebeb}.badge-warning{color:var(--warning);background:#fff2d9}.badge-neutral{color:#6a7b88;background:#eef2f5}.status-dot{width:5px;height:5px;background:currentColor;border-radius:50%;flex-shrink:0}.pulse{animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}.muted{color:var(--muted)}.small{font-size:12px}.empty-state{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:70px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:15px}.empty-state h1,.empty-state h2,.empty-state p{margin:0}.empty-state p{max-width:465px;color:var(--muted)}.empty-state.compact{padding:46px 24px}.empty-mark{height:48px;display:flex;align-items:flex-end;gap:5px;margin-bottom:7px}.empty-mark span{width:18px;height:24px;background:#d8edeb;border:1px solid #abd6d2;border-radius:4px}.empty-mark span:nth-child(2){height:38px;background:#a3d6d1}.empty-mark span:nth-child(3){height:48px;background:#5cb4ad}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:24px 0 14px;gap:20px}.section-heading p{margin:0}.compact-total{display:flex;align-items:baseline;gap:10px;white-space:nowrap}.compact-total strong{font-size:28px;font-weight:650;letter-spacing:-.5px;color:var(--teal);font-variant-numeric:tabular-nums}.compact-total span{font-size:12px;color:var(--muted)}.snapshot-bar{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:13px 16px;background:white;border:1px solid var(--line);border-radius:8px;font-size:12px;margin-bottom:16px}.live-status{margin-left:auto;font-size:11px}.messages{margin-bottom:18px}.notice{padding:13px 16px;border:1px solid #c4dde0;border-radius:8px;margin-bottom:12px;background:#edf7f7;font-size:13px}.notice.success{border-color:#c4e2d4;background:#eef8f2;color:#255d47}.notice.error{border-color:#efd1d1;background:#fcf0f0;color:#8c3038}.notice.warning{border-color:#eddaad;background:#fff8e8;color:#79591d}.notice a{font-weight:600;color:inherit;text-decoration:underline}.data-warnings{background:#fff9eb;border:1px solid #eee0ba;border-radius:8px;padding:11px 15px;font-size:12px;color:#806024;margin:0 0 16px}.data-warnings summary{cursor:pointer;font-weight:600}.data-warnings ul{margin-bottom:0;padding-left:20px}.data-warnings li{margin-top:5px}.count{margin-left:6px;font-size:11px}.filter-bar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-top:18px}.filter-bar .field{margin:0}.filter-bar .field-inline{width:150px}.filter-bar .custom-period{width:110px}.filter-bar .field-search{flex:1;max-width:440px;min-width:220px}.filter-bar label{font-size:11px;margin-bottom:5px;color:#667e8c}.filter-bar input,.filter-bar select{min-height:40px;font-size:13px}.filter-reset{align-self:center;font-size:12px;margin-top:22px}.filter-explanation{margin:0 0 1px auto;font-size:11px;color:var(--muted)}.matrix-scroll{max-height:66vh;overflow:auto;scrollbar-width:thin;scrollbar-color:#b2c9cf #f5f8fa}.matrix-table{width:max-content;min-width:100%}.matrix-table th,.matrix-table td{padding:13px 17px;min-width:104px}.matrix-table .cluster-heading{max-width:136px;min-width:115px;width:125px;white-space:normal;line-height:1.45;vertical-align:bottom}.matrix-table thead th{position:sticky;top:0;z-index:2;background:#f5f8fa}.matrix-table .sticky-column{position:sticky;left:0;z-index:1;min-width:265px;max-width:265px;width:265px;background:white;border-right:1px solid var(--line);box-shadow:3px 0 4px #142c4003;overflow-wrap:anywhere}.matrix-table thead .sticky-column{z-index:3;background:#f5f8fa}.matrix-table tfoot .sticky-column{background:#f4f8f9}.matrix-table tfoot th,.matrix-table tfoot td{position:sticky;bottom:0;z-index:1}.matrix-table tfoot .sticky-column{z-index:2}.matrix-table .product-name{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matrix-table .total-column,.detail-table .total-column{background:#f3faf8;border-left:1px solid #e2eee9}.matrix-table thead .total-column,.detail-table thead .total-column{background:#eaf5f1;color:#376957}.need-positive{color:#087e73;font-weight:650;display:inline-block;background:#e5f5ef;padding:3px 7px;border-radius:4px;min-width:29px;text-align:center}.zero{color:#97a6b0}.missing{color:#a9b4bc}.detail-table{min-width:920px}.detail-table th,.detail-table td{padding:13px 17px}.detail-table thead th{white-space:nowrap}.detail-table tbody th{min-width:220px}.th-note{display:block;margin-top:3px;font-size:10px;color:#8a99a5;font-weight:400}.reference-column{color:#82939e;background:#fafcfd}.calculation-note{margin-top:26px;padding:19px 0;border-top:1px solid var(--line);font-size:12px;color:#526878}.calculation-note p{margin-bottom:7px;max-width:950px}.note-label{display:block;color:var(--ink);font-weight:650;font-size:11px;letter-spacing:.4px;margin-bottom:7px}.page-form{max-width:740px}.form-card{border:1px solid var(--line);border-radius:var(--radius);padding:27px 30px;background:#fff;box-shadow:var(--shadow)}.field{margin-bottom:22px}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}.field input:not([type=checkbox]),.field select{display:block;width:100%;min-height:42px;padding:10px 12px;border:1px solid #c9d7df;border-radius:7px;color:var(--ink);background:#fff;transition:border-color .12s}.field input::placeholder{color:#9aabb5}.field input:focus,.field select:focus{border-color:var(--teal);outline:2px solid #a4dddb;outline-offset:0}.field input:disabled{background:#f1f5f7;color:#7b8c98}.field input[type=checkbox]{width:16px;height:16px;accent-color:var(--teal);margin:0}.field-checkbox label{display:flex;align-items:center;gap:8px}.field-checkbox .help-text{margin-left:24px}.required{color:#8b9ca7}.help-text{font-size:11px;color:var(--muted);line-height:1.6;margin-top:7px}.help-text ul{padding-left:17px;margin:5px 0 0}.field-errors{font-size:12px;color:var(--danger);margin-top:5px}.field-errors ul,.form-error ul{list-style:none;padding:0;margin:0}.field-invalid input{border-color:#d6a3a3!important}.form-error{font-size:13px;padding:12px 14px;background:#fcf0f0;color:#913339;border:1px solid #f0d2d2;border-radius:7px;margin-bottom:20px}.form-actions{padding-top:5px}.form-footnote{font-size:12px;color:var(--muted);padding:16px 4px;max-width:590px}.login-page{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:85px;max-width:1100px;padding-top:66px;padding-bottom:66px}.login-intro h1{font-size:45px;letter-spacing:-1.4px;line-height:1.2;margin-bottom:22px}.login-intro>p:not(.eyebrow){max-width:430px;color:var(--muted);font-size:15px;line-height:1.7}.login-facts{display:flex;gap:32px;margin-top:35px;padding-top:26px;border-top:1px solid var(--line)}.login-facts div{display:flex;flex-direction:column;gap:4px}.login-facts b{font-size:16px;font-weight:650}.login-facts span{font-size:11px;color:var(--muted)}.login-card{padding:30px;min-width:340px}.login-card>p{font-size:12px;margin-bottom:24px}.login-card h2{font-size:22px;margin-bottom:7px}.login-help{text-align:center;margin-top:22px}.site-footer{max-width:1680px;margin:auto;border-top:1px solid var(--line);padding:20px 40px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#8596a2}.site-footer span:first-child{font-weight:650;letter-spacing:.3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.page{padding-top:38px}.data-table th,.data-table td{padding-top:18px;padding-bottom:18px}.matrix-table th,.matrix-table td,.detail-table th,.detail-table td{padding-top:14px;padding-bottom:14px}}
@media(max-width:1050px){.site-header{padding:0 25px;gap:30px}.page{padding:28px 25px}.metrics-strip{gap:20px;padding:17px 20px}.metrics-strip>div{min-width:auto;padding-right:20px;gap:7px}.metric-label{font-size:11px}.metric-value{font-size:24px}.site-footer{padding-left:25px;padding-right:25px}.login-page{gap:42px}.login-intro h1{font-size:37px}.filter-explanation{margin-left:0}.shops-table{min-width:740px}.staff-table{min-width:660px}.matrix-table .sticky-column{min-width:225px;max-width:225px;width:225px}.matrix-table .product-name{max-width:190px}}
@media(max-width:700px){.site-header{height:auto;min-height:72px;padding:16px 18px;flex-wrap:wrap;gap:16px 20px}.brand{font-size:16px}.brand-mark{transform:scale(.85);transform-origin:left;width:24px}.main-nav{order:3;width:100%;gap:24px;height:32px}.main-nav a{font-size:12px}.account-nav{gap:12px;font-size:11px}.header-note{display:none}.page{padding:25px 18px;min-height:calc(100vh - 169px)}h1{font-size:26px}.page-heading{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:20px}.page-heading .actions{width:100%}.eyebrow{font-size:10px;letter-spacing:1.3px}.subtitle{font-size:13px}.metrics-strip{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:18px;padding:18px}.metrics-strip>div{border-right:0;padding:0}.metric-value{font-size:25px}.snapshot-bar{gap:10px;align-items:flex-start}.snapshot-bar>span:not(.badge){flex-basis:100%}.live-status{margin:0}.filter-bar{gap:12px;padding:14px}.filter-bar .field-search{max-width:none;flex-basis:100%;min-width:0}.filter-bar .field-inline{flex:1;min-width:120px}.filter-bar .custom-period{width:90px;min-width:85px;flex:0 1 100px}.filter-bar .button{align-self:flex-end}.filter-explanation{width:100%;margin-top:3px}.filter-reset{margin-top:0}.section-heading{align-items:flex-start;gap:12px}.compact-total{flex-direction:column;align-items:flex-end;gap:0}.compact-total strong{font-size:25px}.compact-total span{font-size:10px}.section-heading h2{font-size:17px}.matrix-table .sticky-column{min-width:172px;max-width:172px;width:172px;padding-left:12px;padding-right:12px}.matrix-table .product-name{max-width:148px}.matrix-table td,.matrix-table th{padding:12px;min-width:90px}.matrix-table .cluster-heading{min-width:100px;max-width:120px}.matrix-scroll{max-height:64vh}.matrix-table .primary-link{font-size:12px}.matrix-table .cell-subtitle{font-size:10px}.table-caption{font-size:11px}.form-card{padding:22px 20px}.page-form{max-width:640px}.login-page{display:flex;flex-direction:column;align-items:stretch;gap:25px;max-width:520px;padding-top:28px}.login-intro h1{font-size:31px;margin-bottom:12px}.login-intro>p:not(.eyebrow){font-size:13px}.login-facts{display:none}.login-card{min-width:0}.site-footer{padding:17px 18px;flex-direction:column;gap:5px;font-size:9px}.empty-state{padding:45px 20px}.empty-state.compact{padding:34px 18px}.calculation-note{font-size:11px}.back-link{margin-bottom:17px}.notice{font-size:12px}.button{font-size:12px}.row-action-group{gap:16px}}
/* Keep visually hidden table headers inside the horizontal scroll container. */
.table-card{position:relative}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.site-footer,.actions,.filter-bar,.back-link,.messages{display:none}.page{padding:0;max-width:none;background:white}.table-card{overflow:visible;border-radius:0;box-shadow:none}.matrix-scroll{max-height:none;overflow:visible}.matrix-table .sticky-column,.matrix-table thead th,.matrix-table tfoot th,.matrix-table tfoot td{position:static}.data-table{font-size:9px}.data-table th,.data-table td{padding:5px}.matrix-table .cluster-heading{min-width:50px;width:60px;max-width:70px;font-size:8px}.matrix-table .sticky-column{min-width:100px;width:100px;max-width:100px}.matrix-table td{min-width:40px}body{background:white}}
