:root{color-scheme:light;--color-canvas: #f4f7f5;--color-surface: #fcfdfc;--color-ink: #18332e;--color-muted: #536963;--color-border: #cbd8d3;--color-field-border: #657f76;--color-accent: #176b61;--color-accent-pressed: #10534c;--color-accent-ink: #f7fcfa;--color-on-accent: var(--color-accent-ink);--color-subtle: #e4eeea;--color-error: #a33232;--color-focus: #176b61;--color-focus-dark: #9ad8c9;--font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 48px;--radius-control: 8px;--radius-panel: 12px;font-family:var(--font-body);color:var(--color-ink);background:var(--color-canvas);font-synthesis:none}*{box-sizing:border-box}html,body{overflow-x:clip}body{margin:0;min-width:320px}button,input,select{font:inherit}button,a,input,select{min-height:44px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}input:focus-visible,select:focus-visible{outline-offset:-3px}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.55}h1,h2{overflow-wrap:break-word;min-width:0;text-wrap:balance}::selection{background:var(--color-subtle);color:var(--color-ink)}*{scrollbar-color:var(--color-border) var(--color-canvas)}input,select{caret-color:var(--color-accent)}button:active:not(:disabled),a:active{background-color:var(--color-subtle)}.source-block{display:grid;gap:var(--space-1)}.shell{min-height:100svh;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{background:var(--color-ink);color:var(--color-canvas);padding:var(--space-4) var(--space-3);display:flex;flex-direction:column}.brand{font-size:16px;font-weight:700}.brand span{color:var(--color-subtle);font-weight:400}nav{display:grid;gap:var(--space-2);margin-top:var(--space-6)}nav a{color:var(--color-subtle);text-decoration:none;border-radius:var(--radius-control);padding:var(--space-2) var(--space-3);font-size:14px}nav a:hover,nav a.nav-active{color:var(--color-on-accent);background:var(--color-accent-pressed)}.side-note{color:var(--color-border);font-size:14px;line-height:1.5;margin-top:auto}.main{width:min(1180px,100%);padding:var(--space-6) var(--space-5)}.header{display:flex;justify-content:space-between;gap:var(--space-4);align-items:start}.field-label,.company-label{color:var(--color-muted);font-size:14px;font-weight:600}h1{font-size:36px;line-height:1.15;margin:var(--space-2) 0 var(--space-3)}h2{font-size:18px;margin:var(--space-2) 0 var(--space-1)}.lede{color:var(--color-muted);font-size:16px;line-height:1.6;max-width:65ch;margin:0}.account-actions{display:flex;align-items:center;gap:var(--space-2)}.user-chip{background:var(--color-subtle);border-radius:var(--radius-control);color:var(--color-accent);font-size:14px;font-weight:600;padding:var(--space-2) var(--space-3)}.logout-button{border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-muted);background:var(--color-surface);cursor:pointer;padding:var(--space-2) var(--space-3)}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:var(--space-5) 0 var(--space-4)}.metric{background:var(--color-surface);border-radius:var(--radius-panel);padding:var(--space-3);display:grid;gap:var(--space-2)}.metric span{color:var(--color-muted);font-size:14px}.metric strong{font-size:28px;font-variant-numeric:tabular-nums}.metric strong.ok{color:var(--color-accent);font-size:18px}.toolbar{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-2)}.tabs{display:flex;gap:var(--space-2)}.tab{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--color-muted);cursor:pointer;padding:var(--space-2) var(--space-3)}.tab.active{border-bottom-color:var(--color-accent);color:var(--color-accent);font-weight:700}.count,.subtle{color:var(--color-muted);font-size:14px}.mapping-list{display:grid;gap:var(--space-3);margin-top:var(--space-3);padding:0 var(--space-4) var(--space-4)}.mapping-select{display:grid;gap:var(--space-2);color:var(--color-muted);font-size:14px}.mapping-select select{width:100%;min-height:44px;border:1px solid var(--color-field-border);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-surface);padding:var(--space-2)}.success-message{margin:0 var(--space-4) var(--space-3);padding:var(--space-3);border-radius:var(--radius-control);background:var(--color-subtle);color:var(--color-accent)}.mapping-row{background:var(--color-surface);border-radius:var(--radius-panel);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:var(--space-4);align-items:center;padding:var(--space-3)}.source-block,.target-block{min-width:0}.target-block{display:grid;gap:var(--space-2)}.target-block strong{font-size:16px}.row-action{justify-self:end}.confirm,.primary-button{background:var(--color-accent);border:0;border-radius:var(--radius-control);color:var(--color-on-accent);cursor:pointer;font-weight:700;padding:var(--space-2) var(--space-3)}.confirm:hover,.primary-button:hover{background:var(--color-accent-pressed)}.confirmed{color:var(--color-accent);font-size:14px;font-weight:700}.footer{color:var(--color-muted);font-size:14px;margin-top:var(--space-5)}.login-page{min-height:100svh;display:grid;place-items:center;padding:var(--space-4)}.login-form{width:min(100%,440px);display:grid;gap:var(--space-3)}.login-brand{color:var(--color-accent);font-weight:700}.login-form h1{margin:0}.login-intro,.login-note{color:var(--color-muted);line-height:1.6;margin:0}.login-form label{color:var(--color-muted);font-size:14px;font-weight:600;margin-bottom:calc(-1 * var(--space-2))}.login-form input,.login-form select{width:100%;border:1px solid var(--color-field-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);padding:var(--space-2) var(--space-3);font-size:16px}.form-error{color:var(--color-error);line-height:1.5;margin:0}.session-loading{min-height:100svh;display:grid;place-items:center;color:var(--color-muted)}.sidebar nav button{min-height:44px;border:0;border-radius:var(--radius-control);padding:var(--space-2) var(--space-3);background:transparent;color:var(--color-subtle);text-align:left;cursor:pointer}.sidebar nav button:focus-visible{outline-color:var(--color-focus-dark)}.sidebar nav button.nav-active{color:var(--color-on-accent);background:var(--color-ink);text-decoration:underline;text-decoration-color:var(--color-focus-dark);text-decoration-thickness:2px;text-underline-offset:4px}.dashboard-toolbar{display:flex;align-items:end;gap:var(--space-2);margin:var(--space-4) 0}.dashboard-toolbar label{color:var(--color-muted);font-size:14px}.dashboard-toolbar select,.refresh-button,.search-label input{min-height:44px;border:1px solid var(--color-field-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);padding:var(--space-2) var(--space-3)}.refresh-button{cursor:pointer;font-weight:600}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 var(--space-3)}.metric small{color:var(--color-muted);font-size:14px;line-height:1.4}.metric strong{overflow-wrap:break-word}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:var(--space-3)}.panel{min-width:0;background:var(--color-surface);border-radius:var(--radius-panel);padding:var(--space-4)}.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:var(--space-3);margin-bottom:var(--space-3)}.panel-heading h2,.table-tools h2{margin:0 0 var(--space-1);font-size:20px}.panel-heading p,.table-tools p{color:var(--color-muted);font-size:14px;line-height:1.5;margin:0}.panel-total{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.attention-panel{background:var(--color-ink);color:var(--color-canvas)}.attention-panel p{color:var(--color-border)}.attention-list{display:grid;gap:var(--space-4);margin:var(--space-5) 0 0}.attention-list div{display:grid;grid-template-columns:1fr auto;gap:var(--space-2);align-items:baseline}.attention-list dt{color:var(--color-border);font-size:14px}.attention-list dd{margin:0;font-size:30px;font-weight:700;font-variant-numeric:tabular-nums}.attention-list dd span{font-size:14px;font-weight:400}.movement-panel{grid-column:1 / -1}.recent-panel{margin-top:var(--space-3)}.chart-wrap,.movement-chart{min-width:0}.chart-readout{min-height:64px;display:flex;align-items:baseline;gap:var(--space-3)}.chart-readout strong{font-size:30px;font-variant-numeric:tabular-nums}.chart-readout span{color:var(--color-muted);font-size:14px}.line-chart,.movement-chart svg{display:block;width:100%;height:auto;overflow:visible}.chart-area{fill:var(--color-subtle)}.chart-line{fill:none;stroke:var(--color-accent);stroke-width:3;vector-effect:non-scaling-stroke}.chart-point{fill:var(--color-surface);stroke:var(--color-accent);stroke-width:2}.chart-point.active{fill:var(--color-accent)}.chart-hit{fill:transparent;cursor:pointer;outline:none}.chart-hit:focus-visible,.line-chart a:focus-visible .chart-hit{fill:var(--color-subtle);stroke:var(--color-focus);stroke-width:2;outline:none}.chart-axis{display:flex;justify-content:space-between;color:var(--color-muted);font-size:14px;margin-top:var(--space-2)}.chart-legend{display:flex;gap:var(--space-3);color:var(--color-muted);font-size:14px}.chart-legend span{display:flex;gap:var(--space-2);align-items:center}.chart-legend i{display:inline-block;width:12px;height:12px;border-radius:2px}.legend-received,.bar-received{background:var(--color-accent);fill:var(--color-accent)}.legend-sold,.bar-sold{background:var(--color-muted);fill:var(--color-muted)}.chart-baseline{stroke:var(--color-border);stroke-width:1}.chart-empty,.empty-state{min-height:160px;display:grid;place-content:center;gap:var(--space-2);color:var(--color-muted);text-align:center}.chart-empty strong,.empty-state strong{color:var(--color-ink)}.table-panel{padding:0;overflow:hidden}.table-panel>.panel-heading{padding:var(--space-4) var(--space-4) 0}.table-tools{display:flex;align-items:end;justify-content:space-between;gap:var(--space-3);padding:var(--space-4)}.search-label{display:grid;gap:var(--space-1);color:var(--color-muted);font-size:14px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:middle}th{color:var(--color-muted);background:var(--color-canvas);font-size:14px;font-weight:600;white-space:nowrap}td{border-top:1px solid var(--color-border);font-size:14px;white-space:nowrap}td:first-child{white-space:normal;min-width:160px}td strong{font-size:15px}.numeric{text-align:right}.cell-meta{display:block;color:var(--color-muted);margin-top:var(--space-1);font-size:13px}.status{display:inline-block;border-radius:var(--radius-control);background:var(--color-subtle);color:var(--color-accent);padding:var(--space-1) var(--space-2);font-weight:600}.status-draft{background:var(--color-canvas);color:var(--color-muted)}.inline-error{margin-bottom:var(--space-3);padding:var(--space-3);background:var(--color-subtle);color:var(--color-error);border-radius:var(--radius-control)}.state-panel{padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-panel)}.state-panel p{color:var(--color-muted)}.dashboard-skeleton{display:grid;gap:var(--space-3)}.skeleton-card{height:120px;border-radius:var(--radius-panel);background:var(--color-subtle)}.skeleton-chart{height:360px;border-radius:var(--radius-panel);background:var(--color-subtle)}@media(max-width:1100px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.movement-panel{grid-column:auto}}@media(max-width:60rem){.dashboard-toolbar{flex-wrap:wrap}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.table-tools{align-items:stretch;flex-direction:column}.search-label input{width:100%}}@media(max-width:520px){.summary-grid{grid-template-columns:1fr}.panel{padding:var(--space-3)}.chart-readout{flex-wrap:wrap;gap:var(--space-2)}.panel-total{font-size:16px}th,td{padding:var(--space-3)}}@media(hover:hover){.logout-button:hover,.refresh-button:hover{background:var(--color-subtle)}.sidebar nav button:hover{background:var(--color-accent-pressed)}}@media(max-width:60rem){.shell{display:block}.sidebar{min-height:auto;padding:var(--space-3)}.sidebar nav{display:flex;margin-top:var(--space-3);overflow-x:auto}.sidebar nav button{flex:0 0 auto}.side-note{display:none}.main{padding:var(--space-5) var(--space-3)}.header{display:grid}.account-actions{flex-wrap:wrap}.mapping-row{grid-template-columns:1fr;gap:var(--space-3)}.row-action{justify-self:stretch}.confirm{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none;transition:none}}.product-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:20px}.product-form label{display:grid;gap:6px;color:var(--color-muted);font-size:13px;font-weight:700;flex:1 1 180px;min-width:0}.product-form input,.product-form select{width:100%;min-width:0;border:1px solid var(--color-field-border);border-radius:var(--radius-control);padding:10px 12px;font:inherit;color:var(--color-ink);background:var(--color-surface)}.reversal-action{min-width:180px;max-width:320px}.reversal-action form,.reversal-action label{display:grid;gap:8px}.reversal-action textarea{min-height:80px;width:100%;padding:8px;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-field-border);border-radius:var(--radius-control);font:inherit}.reversal-action textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.reversal-action p{font-size:12px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.reversal-action{display:grid;gap:var(--space-2)}.reversal-preview{max-width:320px;padding:var(--space-2);background:var(--color-canvas);border-radius:var(--radius-control)}.reversal-product{margin-top:var(--space-3);overflow-wrap:anywhere;white-space:normal}.reversal-product ul{padding-left:var(--space-3);font-size:12px;line-height:1.5}.reversal-product strong{font-size:14px}.reversal-confirmation{display:grid;gap:var(--space-2)}.incidents-workspace{display:grid;gap:var(--space-4);margin-top:var(--space-5);min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:20;transform:translateY(-200%);padding:var(--space-2) var(--space-3);background:var(--color-surface);color:var(--color-accent)}.skip-link:focus{transform:none}.incident-notice{padding:var(--space-4);margin:0}.incident-secondary{display:block;color:var(--color-muted);font-size:14px;margin-top:var(--space-1);max-width:38ch;overflow-wrap:anywhere;white-space:normal}.incident-selected{background:var(--color-subtle)}.incident-open{color:var(--color-ink);background:var(--color-canvas);border:1px solid var(--color-field-border)}.incident-reviewed{color:var(--color-accent);background:var(--color-subtle)}.incident-closed{color:var(--color-muted);background:var(--color-canvas)}.incident-pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin:0;padding:var(--space-3) var(--space-4);color:var(--color-muted);font-size:14px;font-variant-numeric:tabular-nums}.incident-pagination>div,.incident-photo-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.incident-detail{padding:var(--space-4);min-width:0}.incident-detail-heading,.incident-summary{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between}.incident-detail-heading h2{margin:0}.incident-detail h3{font-size:16px;margin:var(--space-4) 0 var(--space-2)}.incident-summary{justify-content:start;margin-top:var(--space-4);font-size:14px}.incident-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-4);margin:var(--space-4) 0}.incident-facts dt{font-size:14px;color:var(--color-muted);margin-bottom:var(--space-1)}.incident-facts dd{margin:0;overflow-wrap:anywhere}.incident-description,.incident-history p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.incident-photo{max-width:600px;margin-top:var(--space-3);min-height:160px;background:var(--color-canvas);border-radius:var(--radius-control);padding:var(--space-2)}.incident-photo a{display:block}.incident-photo img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}.incident-form{max-width:600px;display:grid;gap:var(--space-2);margin-top:var(--space-4)}.incident-form h3{margin-top:0}.incident-form label{display:grid;gap:var(--space-2);color:var(--color-muted);font-size:14px}.resize-none{resize:none}.incident-form textarea{width:100%;min-height:104px;max-height:320px;field-sizing:content;overflow-y:auto;padding:var(--space-2);font:inherit;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-field-border);border-radius:var(--radius-control)}.incident-field-error{color:var(--color-error)}.incident-form textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.incident-form textarea:disabled{opacity:.65}.incident-form p{margin:0 0 var(--space-2);line-height:1.5}.incident-form button{justify-self:start}.incident-confirmation{max-width:600px;margin-top:var(--space-3);padding:var(--space-3);background:var(--color-subtle);border-radius:var(--radius-control)}.incident-confirmation button+button{margin-left:var(--space-2)}.incident-history{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-3)}.incident-history li{padding-left:var(--space-3);border-left:2px solid var(--color-border)}.incident-history li>div{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:baseline}.incident-history time{font-size:14px;color:var(--color-muted)}.incident-history p{margin:var(--space-2) 0}.incident-receiving{margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--color-border);min-width:0}.incident-receiving td{vertical-align:top}.incident-receiving th:not(:first-child),.incident-receiving td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}@media(max-width:640px){.incident-facts{grid-template-columns:minmax(0,1fr)}.incident-detail{padding:var(--space-3)}}
