:root{--bg:#f5f7f8;--surface:#fff;--surface-2:#edf1f3;--line:#d9e0e4;--fg:#141a1f;--fg-2:#4b5760;--fg-3:#5f6b74;--accent:#0e6b78;--accent-strong:#0a525c;--accent-soft:#d7ecef;--good:#1e7f4b;--good-soft:#dcf2e5;--good-text:#175f38;--warn:#9a6a12;--warn-soft:#f6ebd1;--warn-text:#7a5410;--bad:#b3261e;--bad-soft:#f8dedc;--bad-text:#8b1e17;--track:#e3e9ec;--mono:"IBM Plex Mono", "Cascadia Mono", Consolas, monospace;--sans:"Hanken Grotesk", "Segoe UI", system-ui, sans-serif;--ease-out:cubic-bezier(.23, 1, .32, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1417;--surface:#161c20;--surface-2:#1d2529;--line:#2a343a;--fg:#e7ecef;--fg-2:#aab6be;--fg-3:#8c98a1;--accent:#5bbcc7;--accent-strong:#8ed3db;--accent-soft:#163a40;--good:#4fc58a;--good-soft:#153527;--good-text:#7fdba9;--warn:#e2b45a;--warn-soft:#3a2e12;--warn-text:#f0cb7a;--bad:#f08a84;--bad-soft:#3d1a17;--bad-text:#f5a8a3;--track:#243036;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-strong);text-decoration:underline}h1,h2,h3{letter-spacing:-.01em;text-wrap:balance;margin:0}h1{font-size:26px;font-weight:600}h2{font-size:15px;font-weight:600}table{border-collapse:collapse}code,.mono{font-family:var(--mono);font-size:12px}.num{font-variant-numeric:tabular-nums}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.muted{color:var(--fg-2)}.small{font-size:13px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip{background:var(--fg);color:var(--bg);z-index:50;border-radius:8px;padding:8px 12px;position:absolute;top:8px;left:-9999px}.skip:focus{left:8px}button,.btn{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--surface);height:36px;color:var(--fg);transition:transform .16s var(--ease-out), background-color .16s ease, color .16s ease;border-radius:8px;align-items:center;gap:8px;padding:0 14px;font-weight:600;display:inline-flex}button:hover,.btn:hover{filter:brightness(.96);text-decoration:none}button:active,.btn:active{transform:scale(.97)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.good{background:var(--good);border-color:var(--good);color:#fff}button.danger{color:var(--bad-text)}button.small,.btn.small{height:32px;padding:0 10px;font-weight:500}button.chip{border-radius:999px;height:26px;padding:0 10px;font-size:12px}button.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}button.link{color:var(--accent);background:0 0;border:0;height:auto;padding:0}input,select,textarea{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:8px;height:36px;padding:0 10px}textarea{height:auto;padding:8px 10px}input[type=checkbox]{width:auto;height:auto;accent-color:var(--accent);margin:0}label.field{color:var(--fg-2);gap:4px;font-size:13px;display:grid}label.field>span{color:var(--fg);font-weight:600}@media (prefers-reduced-motion:reduce){button,.btn{transition:none}}.pill{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-block}.pill.good{background:var(--good-soft);color:var(--good-text)}.pill.warn{background:var(--warn-soft);color:var(--warn-text)}.pill.bad{background:var(--bad-soft);color:var(--bad-text)}.pill.accent{background:var(--accent-soft);color:var(--accent-strong)}.pill.neutral{background:var(--surface-2);color:var(--fg-2)}.shell{flex-direction:column;min-height:100%;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:30;align-items:center;gap:16px;height:52px;padding:0 20px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.brand .mark{background:var(--accent);border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.topbar select{height:32px;font-weight:600}.topbar .search{border:1px solid var(--line);background:var(--bg);border-radius:8px;flex:240px;align-items:center;gap:8px;max-width:420px;height:32px;padding:0 12px;display:flex}.topbar .search input{background:0 0;border:0;flex:1;height:100%;padding:0}.topbar .right{align-items:center;gap:12px;margin-left:auto;display:flex}.avatar{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.body{flex-wrap:wrap;flex:1;align-items:stretch;display:flex}nav.side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:0 0 220px;align-self:flex-start;gap:2px;width:220px;height:calc(100vh - 52px);padding:16px 12px;display:flex;position:sticky;top:52px;overflow-y:auto}nav.side a{height:36px;color:var(--fg-2);border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-weight:500;display:flex}nav.side a:hover{background:var(--surface-2);text-decoration:none}nav.side a.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}nav.side .spacer{flex:1}main.content{flex-direction:column;flex:999 560px;gap:16px;min-width:0;padding:24px 32px 40px;display:flex}@media (width<=720px){nav.side{flex-flow:wrap;flex-basis:100%;align-self:stretch;width:100%;height:auto;position:static}main.content{padding:16px}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.actions{flex-wrap:wrap;gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:10px;min-width:0;padding:18px;display:flex}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (width<=900px){.cards{grid-template-columns:1fr}}.stat{letter-spacing:-.02em;font-size:32px;font-weight:600;line-height:1}.stat small{color:var(--fg-2);letter-spacing:0;font-size:14px;font-weight:500}.notice{background:var(--warn-soft);color:var(--warn-text);border-radius:8px;padding:10px 12px;font-size:13px}.notice.bad{background:var(--bad-soft);color:var(--bad-text)}.notice.good{background:var(--good-soft);color:var(--good-text)}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;display:flex}.tabs button{height:36px;color:var(--fg-2);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:0 12px}.tabs button:hover{filter:none;background:var(--surface-2)}.tabs button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--accent-strong)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar .grow{flex:1}.grid-wrap{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;overflow-x:auto}.grid{width:100%;font-size:13px}.grid th{background:var(--bg);color:var(--fg-3);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;padding:7px 8px;font-weight:600;position:sticky;top:0}.grid th:first-child,.grid td:first-child{padding-left:14px}.grid th:last-child,.grid td:last-child{padding-right:14px}.grid td{border-bottom:1px solid var(--surface-2);vertical-align:middle;white-space:nowrap;padding:4px 12px}.grid th{padding-left:12px;padding-right:12px}.grid tr:last-child td{border-bottom:0}.grid tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--surface-2) 70%, transparent)}.grid tbody tr:not(.group-row):hover{outline:1px solid var(--accent);outline-offset:-1px}.grid td.r,.grid th.r{text-align:right}.grid th.narrow,.grid td.narrow,.grid th.narrow:first-child,.grid td.narrow:first-child{width:1%;padding-left:8px;padding-right:8px}.grid th,.grid td{border-right:1px solid color-mix(in srgb, var(--line) 85%, transparent)}.grid th:last-child,.grid td:last-child{border-right:0}.grid th[draggable=true]{cursor:grab}.grid th.dragging{opacity:.45}.grid th.drop-target{box-shadow:inset 4px 0 0 var(--accent);background:var(--accent-soft)}.grid tbody tr.group-row td{background:var(--accent-soft);border-top:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));border-bottom:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));border-left:4px solid var(--accent);padding-top:5px;padding-bottom:5px}.grid tbody tr.group-row:hover td{background:var(--accent-soft)}.group-head{align-items:center;gap:10px;display:flex}.group-head .grow{flex:1}.group-head button.group-toggle{color:var(--fg);text-align:left;cursor:pointer;font-size:13px;font-weight:600}.group-head button.link:disabled{opacity:.3;cursor:default}.grid .sku{font-family:var(--mono);font-size:12px}.grid-foot{border-top:1px solid var(--line);color:var(--fg-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex}.grid-area{align-items:flex-start;gap:12px;min-width:0;display:flex}.grid-area .grid-wrap{flex:560px}.chooser{background:var(--surface);border:1px solid var(--accent);border-radius:12px;flex-direction:column;flex:0 0 250px;gap:10px;width:250px;padding:14px;display:flex;box-shadow:0 8px 24px #141a1f14}.chooser .list{flex-direction:column;gap:6px;max-height:420px;font-size:13px;display:flex;overflow-y:auto}.chooser label{cursor:pointer;align-items:center;gap:8px;display:flex}.chooser .foot{border-top:1px solid var(--line);gap:8px;padding-top:6px;display:flex}.chooser .foot button{white-space:nowrap;flex:auto;height:32px;padding:0 10px}.chooser .foot button:first-child{flex:none}.modal-backdrop{z-index:40;background:#141a1f59;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:14px;width:min(720px,100%);max-height:calc(100vh - 32px);padding:22px;display:flex;overflow:auto}.modal .form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=640px){.modal .form{grid-template-columns:1fr}}.modal .foot{justify-content:flex-end;gap:8px;padding-top:6px;display:flex}.auth{place-items:center;min-height:100%;padding:24px;display:grid}.auth .card{gap:14px;width:min(420px,100%);padding:26px}.auth form{gap:12px;display:grid}.map{width:100%;font-size:13px}.map th{text-align:left;color:var(--fg-3);border-bottom:1px solid var(--line);padding:6px 8px}.map td{border-bottom:1px solid var(--surface-2);padding:6px 8px}.map select{width:100%;height:32px}
