:root{--bg: #f6f7f9;--panel: #ffffff;--text: #17191c;--muted: #5f6670;--line: #e3e6ea;--accent: #1f5fbf;--good: #137a3a;--bad: #b42318;--warn: #9a6400;--good-bg: #e7f5ec;--bad-bg: #fdecea;--warn-bg: #fff4dc;--bar: #1f5fbf;--bar2: #8fb3e8;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #111316;--panel: #1a1d21;--text: #e8eaed;--muted: #9aa1ab;--line: #2b3036;--accent: #7aa7f0;--good: #5fd08a;--bad: #ff8a80;--warn: #f3c25b;--good-bg: #16301f;--bad-bg: #3a1a17;--warn-bg: #3a2e12;--bar: #7aa7f0;--bar2: #3d5a86;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-variant-numeric:tabular-nums}header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 16px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}header h1{font-size:16px;margin:0 8px 0 0}nav{display:flex;gap:4px;overflow-x:auto;flex:1 1 auto}nav a{color:var(--muted);text-decoration:none;padding:6px 10px;border-radius:6px;white-space:nowrap}nav a.active{background:var(--bg);color:var(--text);font-weight:600}.user{color:var(--muted);font-size:12px}.user button{margin-left:6px}main{padding:16px;max-width:1400px;margin:0 auto}.alert{padding:10px 16px;border-bottom:1px solid var(--line)}.alert.bad{background:var(--bad-bg);color:var(--bad)}.alert.ok{background:var(--good-bg);color:var(--good)}.alert.warn{background:var(--warn-bg);color:var(--warn)}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.toolbar .spacer{flex:1}button,select,input{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:6px 10px}button{cursor:pointer}button.on,button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.tile{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px}.tile .label{color:var(--muted);font-size:12px}.tile .value{font-size:22px;font-weight:600;margin-top:2px}.tile .delta{font-size:12px;color:var(--muted)}.delta.up{color:var(--good)}.delta.down{color:var(--bad)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px;margin-bottom:16px}.panel h2{font-size:14px;margin:0 0 8px}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}th:first-child,td:first-child,td.text,th.text{text-align:left}td.text{white-space:normal;min-width:200px}table.compact th,table.compact td{padding:6px 5px}table.compact td.text{min-width:0;white-space:nowrap}table.fit th:not(.text),table.fit td:not(.text){width:1%}table.fit td.text{white-space:normal}th{color:var(--muted);font-weight:500;font-size:12px;cursor:default;-webkit-user-select:none;user-select:none}th.sortable{cursor:pointer}tr.total td{font-weight:600;border-top:2px solid var(--muted)}.link{color:var(--accent);cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}.neg{color:var(--bad)}.muted{color:var(--muted)}.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:500}.pill.matched{background:var(--good-bg);color:var(--good)}.pill.pending{background:var(--warn-bg);color:var(--warn)}.pill.missing,.pill.mismatch{background:var(--bad-bg);color:var(--bad)}.pill.unknown{background:var(--warn-bg);color:var(--warn)}.pill.green{background:var(--good-bg);color:var(--good)}.pill.orange{background:var(--warn-bg);color:var(--warn)}.pill.red{background:var(--bad-bg);color:var(--bad)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-start;justify-content:center;padding:24px 12px;z-index:10;overflow-y:auto}.modal{background:var(--panel);border-radius:8px;padding:16px;max-width:1100px;width:100%}.modal header{position:static;padding:0 0 8px;border:0;background:none}.error{color:var(--bad)}.chart{width:100%;height:180px;display:block}.form-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:6px 0}.dropzone{border:2px dashed var(--muted)}.dropzone.over{border-color:var(--accent);background:var(--good-bg)}.copyable{-webkit-user-select:all;user-select:all;font-variant-numeric:tabular-nums;white-space:nowrap}.empty{color:var(--muted);padding:24px;text-align:center}@media (max-width: 640px){main{padding:12px}.tile .value{font-size:18px}}table.sheet{width:max-content;min-width:100%}table.sheet th,table.sheet td{white-space:nowrap}table.sheet th:first-child,table.sheet td:first-child{position:sticky;left:0;background:var(--panel);z-index:1}table.sheet .clip{display:inline-block;max-width:320px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}button.link{background:none;border:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit}tr.stock-out td{background:var(--bad-bg)}tr.stock-out td:first-child{box-shadow:inset 4px 0 0 var(--bad)}tr.stock-low td{background:var(--warn-bg)}tr.stock-low td:first-child{box-shadow:inset 4px 0 0 var(--warn)}tr.stock-none td{color:var(--muted)}.tile.button{cursor:pointer;text-align:left;font:inherit;color:inherit}.tile.button.on{outline:2px solid var(--bar)}.tile.bad .value{color:var(--bad)}.tile.warn .value{color:var(--warn)}input.search{flex:20 1 480px;min-width:260px;padding:9px 12px;font-size:15px}@media (max-width: 640px){input.search{flex-basis:100%;max-width:none}}
