:root{--accent-h: 200;--bg-0: oklch(.15 .005 240);--bg-1: oklch(.185 .005 240);--bg-2: oklch(.215 .006 240);--bg-3: oklch(.26 .008 240);--bg-4: oklch(.32 .01 240);--line: oklch(.3 .008 240);--line-2: oklch(.38 .01 240);--fg-0: oklch(.96 .005 240);--fg-1: oklch(.82 .006 240);--fg-2: oklch(.62 .008 240);--fg-3: oklch(.46 .008 240);--accent: oklch(.78 .14 var(--accent-h));--accent-dim: oklch(.45 .09 var(--accent-h));--accent-bg: oklch(.3 .06 var(--accent-h));--ok: oklch(.78 .13 150);--warn: oklch(.82 .14 80);--bad: oklch(.68 .18 25);--shadow: 0 8px 24px rgba(0,0,0,.45), 0 2px 6px rgba(0,0,0,.35);--row-h: 30px;--row-h-compact: 24px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--bg-0);color:var(--fg-0);font-family:IBM Plex Sans,system-ui,sans-serif;font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow:hidden}#root{height:100vh}.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-feature-settings:"zero" 1,"ss02" 1}[data-density=compact]{font-size:12px;--row-h: var(--row-h-compact)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#2a2e31;border-radius:0}::-webkit-scrollbar-thumb:hover{background:#43494d}.shell{display:grid;grid-template-rows:36px 1fr 24px;height:100vh}.topbar{display:flex;align-items:center;gap:0;background:var(--bg-1);border-bottom:1px solid var(--line);padding:0 10px;font-size:12px}.topbar .brand{font-weight:700;letter-spacing:.02em;padding-right:14px;margin-right:10px;border-right:1px solid var(--line);height:100%;display:flex;align-items:center;color:var(--fg-0)}.topbar .brand em{color:var(--accent);font-style:normal}.topbar .brand small{color:var(--fg-3);font-weight:400;margin-left:6px;font-family:JetBrains Mono,monospace;font-size:11px}.topbar .nav{display:flex;gap:0;align-items:center;height:100%}.topbar .nav button{background:transparent;border:0;color:var(--fg-1);padding:0 12px;height:100%;cursor:pointer;font-size:12px;font-family:inherit;border-right:1px solid transparent;border-left:1px solid transparent}.topbar .nav button:hover{background:var(--bg-2);color:var(--fg-0)}.topbar .nav button[data-active=true]{background:var(--bg-0);color:var(--accent);border-left-color:var(--line);border-right-color:var(--line);box-shadow:inset 0 -1px 0 var(--bg-0),inset 0 1px 0 var(--accent)}.topbar .spacer{flex:1}.topbar .search-wrap{display:flex;align-items:center;gap:8px;background:var(--bg-0);border:1px solid var(--line);padding:4px 10px;height:24px;min-width:320px;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--fg-2)}.topbar .search-wrap:focus-within{border-color:var(--accent-dim);color:var(--fg-0)}.topbar .search-wrap input{background:transparent;border:0;color:inherit;font:inherit;flex:1;outline:none}.topbar .search-wrap .kbd{color:var(--fg-3);font-size:10px}.topbar .user{margin-left:10px;padding-left:10px;border-left:1px solid var(--line);display:flex;align-items:center;gap:8px;color:var(--fg-1)}.topbar .user .avatar{width:20px;height:20px;background:var(--accent-bg);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;border:1px solid var(--accent-dim)}.statusbar{display:flex;align-items:center;background:var(--bg-1);border-top:1px solid var(--line);padding:0 10px;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--fg-2);gap:16px}.statusbar .seg{display:flex;align-items:center;gap:6px}.statusbar .dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 6px var(--ok)}.statusbar .dot.warn{background:var(--warn);box-shadow:0 0 6px var(--warn)}.statusbar .dot.bad{background:var(--bad);box-shadow:0 0 6px var(--bad)}.statusbar .spacer{flex:1}.work{display:grid;min-height:0;overflow:hidden}.work[data-layout=single]{grid-template-columns:1fr}.work[data-layout=three_pane]{grid-template-columns:260px 1fr 420px}.work[data-layout=tree_list]{grid-template-columns:260px 1fr}.work[data-layout=command]{grid-template-columns:1fr}.pane-resizer{width:4px;background:var(--line);cursor:col-resize;position:relative;transition:background .15s;z-index:10}.pane-resizer:hover,.pane-resizer:active{background:var(--accent-dim)}.pane-resizer:after{content:"";position:absolute;top:0;right:-4px;bottom:0;left:-4px}.pane{background:var(--bg-1);border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.pane.right{border-right:0;border-left:1px solid var(--line)}.pane-header{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--bg-2),var(--bg-1));font-family:JetBrains Mono,monospace;font-size:10px;color:var(--fg-2);text-transform:uppercase;letter-spacing:.08em;height:28px;flex:0 0 auto}.pane-header .title{color:var(--fg-0)}.pane-header .spacer{flex:1}.pane-header .iconbtn{width:20px;height:20px;border:1px solid var(--line);background:var(--bg-1);color:var(--fg-1);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px}.pane-header .iconbtn:hover{background:var(--bg-3);color:var(--fg-0);border-color:var(--line-2)}.pane-body{flex:1;overflow:auto;min-height:0}.tree{padding:4px 0;font-family:JetBrains Mono,monospace;font-size:11px}.tree-node{display:flex;align-items:center;gap:6px;padding:2px 10px 2px 0;cursor:pointer;color:var(--fg-1);height:22px;white-space:nowrap}.tree-node:hover{background:var(--bg-2);color:var(--fg-0)}.tree-node[data-active=true]{background:var(--accent-bg);color:var(--fg-0);box-shadow:inset 2px 0 0 var(--accent)}.tree-node .caret{display:inline-flex;align-items:center;justify-content:center;width:12px;color:var(--fg-3)}.tree-node[data-leaf=true] .caret{opacity:.3}.tree-node .glyph{color:var(--fg-2);width:14px;text-align:center}.tree-node[data-active=true] .glyph{color:var(--accent)}.tree-node .count{margin-left:auto;color:var(--fg-3);font-size:10px}.tree-node[data-active=true] .count{color:var(--fg-1)}.table-wrap{overflow:auto}table.data{width:100%;border-collapse:collapse;font-family:JetBrains Mono,monospace;font-size:11px}table.data thead th{position:sticky;top:0;z-index:1;background:var(--bg-2);border-bottom:1px solid var(--line);text-align:left;padding:6px 10px;font-weight:500;color:var(--fg-2);text-transform:uppercase;font-size:10px;letter-spacing:.06em;white-space:nowrap}table.data thead th .sort{color:var(--fg-3);margin-left:4px}table.data thead th[data-sorted=true]{color:var(--fg-0)}table.data thead th[data-sorted=true] .sort{color:var(--accent)}table.data td{padding:0 10px;height:var(--row-h);border-bottom:1px solid var(--line);color:var(--fg-0);white-space:nowrap;vertical-align:middle}table.data tbody tr{cursor:pointer}table.data tbody tr:hover td{background:var(--bg-2)}table.data tbody tr[data-active=true] td{background:var(--accent-bg);color:var(--fg-0)}table.data tbody tr[data-active=true] td:first-child{box-shadow:inset 2px 0 0 var(--accent)}table.data tbody tr[data-focused=true] td{background:var(--bg-2)}table.data tbody tr[data-focused=true] td:first-child{box-shadow:inset 2px 0 0 var(--fg-3)}td.num{text-align:right;font-variant-numeric:tabular-nums}td.dim,.dim{color:var(--fg-2)}td.muted,.muted{color:var(--fg-3)}.stockbar{position:relative;width:80px;height:6px;background:var(--bg-3);border:1px solid var(--line);display:inline-block;vertical-align:middle}.stockbar>span{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ok);transform-origin:left}.stockbar[data-level=low]>span{background:var(--warn)}.stockbar[data-level=out]>span{background:var(--bad)}.chip{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border:1px solid var(--line);color:var(--fg-1);font-family:JetBrains Mono,monospace;font-size:10px;background:var(--bg-1);text-transform:uppercase;letter-spacing:.04em}.chip.accent{color:var(--accent);border-color:var(--accent-dim);background:var(--accent-bg)}.chip.ok{color:var(--ok);border-color:color-mix(in oklab,var(--ok),transparent 60%)}.chip.warn{color:var(--warn);border-color:color-mix(in oklab,var(--warn),transparent 60%)}.chip.bad{color:var(--bad);border-color:color-mix(in oklab,var(--bad),transparent 60%)}.btn{display:inline-flex;align-items:center;gap:6px;padding:0 10px;height:24px;background:var(--bg-2);border:1px solid var(--line);color:var(--fg-0);font:inherit;font-size:12px;cursor:pointer;font-family:IBM Plex Sans,sans-serif}.btn:hover{background:var(--bg-3);border-color:var(--line-2)}.btn.primary{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-dim)}.btn.primary:hover{background:color-mix(in oklab,var(--accent-bg),white 10%)}.btn.ghost{background:transparent}.btn.danger:hover{background:color-mix(in oklab,var(--bad),transparent 80%);color:var(--bad);border-color:var(--bad)}.btn .kbd{color:var(--fg-3);font-family:JetBrains Mono,monospace;font-size:10px;margin-left:6px}.kbd{font-family:JetBrains Mono,monospace;font-size:10px;padding:1px 4px;border:1px solid var(--line);background:var(--bg-0);color:var(--fg-2)}.input,input[type=text],input[type=search],input[type=password],input[type=email],input[type=number],textarea,select{background:var(--bg-0);border:1px solid var(--line);color:var(--fg-0);font:inherit;font-family:JetBrains Mono,monospace;font-size:11px;padding:4px 8px;height:26px;outline:none;min-width:0}textarea{height:auto;padding:8px;line-height:1.5}.input:focus,input:focus,textarea:focus,select:focus{border-color:var(--accent-dim);box-shadow:0 0 0 1px var(--accent-dim) inset}.catalog-input{width:100%;min-width:0;box-sizing:border-box;background:var(--bg-0);border:1px solid var(--line-2);color:var(--fg-1);font-family:JetBrains Mono,monospace;font-size:10px;padding:2px 4px;outline:none}.catalog-input:focus{border-color:var(--accent-dim);box-shadow:0 0 0 1px var(--accent-dim) inset}label.field{display:flex;flex-direction:column;gap:4px}label.field .lab{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--fg-2);text-transform:uppercase;letter-spacing:.06em}.detail-header{padding:12px 14px;border-bottom:1px solid var(--line);background:var(--bg-1)}.detail-header .pn{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--fg-3);letter-spacing:.04em}.detail-header h1{margin:4px 0 6px;font-size:18px;font-weight:600;letter-spacing:-.01em}.detail-header .sub{display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:var(--fg-2);font-size:12px}.detail-body{padding:0}.detail-tab{min-height:100%}.detail-tab-params{display:flex;flex-direction:column;min-height:100%}.detail-tab-scroll{flex:1;min-height:0}.detail-action-row{position:sticky;bottom:0;display:flex;gap:8px;padding:14px;border-top:1px solid var(--line);background:color-mix(in oklab,var(--bg-1),black 4%);box-shadow:0 -10px 18px #0000002e}.kv{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--line)}.kv>.k,.kv>.v{padding:6px 14px;border-bottom:1px solid var(--line);font-family:JetBrains Mono,monospace;font-size:11px}.kv>.k{color:var(--fg-2);background:color-mix(in oklab,var(--bg-1),black 15%);text-transform:uppercase;font-size:10px;letter-spacing:.06em;padding-top:8px}.kv>.v{color:var(--fg-0)}.kv>.v .unit{color:var(--fg-2);margin-left:3px}.kv>.v.req-missing{color:var(--bad)}.section-title{display:flex;align-items:center;gap:8px;padding:10px 14px 6px;font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-2)}.section-title:after{content:"";flex:1;height:1px;background:var(--line)}.filter-row{display:flex;gap:6px;align-items:center;padding:6px 10px;border-bottom:1px solid var(--line);background:var(--bg-1);flex-wrap:wrap}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 4px 2px 8px;border:1px solid var(--line);background:var(--bg-2);color:var(--fg-1);font-family:JetBrains Mono,monospace;font-size:10px}.filter-chip .x{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-3);cursor:pointer}.filter-chip .x:hover{color:var(--bad)}.filter-chip .k{color:var(--fg-3)}.filter-chip .op{color:var(--accent);padding:0 2px}.login-wrap{height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 10%,color-mix(in oklab,var(--accent),transparent 85%),transparent 60%),var(--bg-0)}.login-card{width:360px;background:var(--bg-1);border:1px solid var(--line);box-shadow:var(--shadow)}.login-card header{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.login-card header .logo{width:28px;height:28px;border:1px solid var(--accent-dim);background:var(--accent-bg);color:var(--accent);font-family:JetBrains Mono,monospace;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:12px}.login-card header h1{margin:0;font-size:14px;font-weight:600;letter-spacing:.01em}.login-card header small{display:block;color:var(--fg-3);font-family:JetBrains Mono,monospace;font-size:10px}.login-card .body{padding:16px 18px;display:flex;flex-direction:column;gap:12px}.login-card .body .submit{margin-top:4px}.login-card .foot{padding:10px 18px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--fg-3)}.tweaks{position:fixed;bottom:36px;right:16px;width:280px;background:var(--bg-1);border:1px solid var(--line-2);box-shadow:var(--shadow);z-index:100;font-size:12px}.tweaks header{padding:8px 10px;border-bottom:1px solid var(--line);font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-2);display:flex;align-items:center;gap:6px}.tweaks header .dot{width:6px;height:6px;background:var(--accent);border-radius:50%;box-shadow:0 0 6px var(--accent)}.tweaks .tweak{padding:8px 10px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.tweaks .tweak:last-child{border-bottom:0}.tweaks .lab{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--fg-2);text-transform:uppercase;letter-spacing:.06em}.tweaks .segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid var(--line)}.tweaks .segmented button{background:var(--bg-2);border:0;color:var(--fg-1);padding:4px;font:inherit;font-size:11px;cursor:pointer;font-family:JetBrains Mono,monospace;border-right:1px solid var(--line)}.tweaks .segmented button:last-child{border-right:0}.tweaks .segmented button[data-on=true]{background:var(--accent-bg);color:var(--accent)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:50}.sheet{position:fixed;top:36px;right:0;bottom:24px;width:560px;background:var(--bg-1);border-left:1px solid var(--line-2);z-index:60;display:flex;flex-direction:column;box-shadow:var(--shadow)}.placeholder{background:repeating-linear-gradient(-45deg,color-mix(in oklab,var(--bg-2),black 10%) 0,color-mix(in oklab,var(--bg-2),black 10%) 6px,var(--bg-2) 6px,var(--bg-2) 12px);border:1px dashed var(--line-2);color:var(--fg-3);font-family:JetBrains Mono,monospace;font-size:10px;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.08em}.tabs{display:flex;align-items:stretch;border-bottom:1px solid var(--line);background:var(--bg-1);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.tabs button{background:transparent;border:0;color:var(--fg-2);padding:8px 14px;cursor:pointer;font:inherit;border-bottom:1px solid transparent}.tabs button:hover{color:var(--fg-0)}.tabs button[data-active=true]{color:var(--accent);border-bottom-color:var(--accent)}.dash{display:grid;grid-template-columns:repeat(12,1fr);gap:1px;background:var(--line);padding:1px;min-height:100%}.dash>.card{background:var(--bg-1);padding:14px;display:flex;flex-direction:column;gap:10px;min-height:0}.dash .kpi{font-family:JetBrains Mono,monospace;font-size:28px;font-weight:600;letter-spacing:-.01em}.dash .kpi small{color:var(--fg-2);font-size:12px;font-weight:400;margin-left:6px}.dash .lab{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--fg-2);text-transform:uppercase;letter-spacing:.08em}.cmdk{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding-top:120px;z-index:200}.cmdk .box{width:680px;background:var(--bg-1);border:1px solid var(--line-2);box-shadow:var(--shadow)}.cmdk input{width:100%;height:44px;padding:0 16px;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--fg-0);font-family:JetBrains Mono,monospace;font-size:14px}.cmdk input:focus{box-shadow:none;border-color:var(--accent-dim)}.loc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1px;background:var(--line);padding:1px}.loc-cell{background:var(--bg-1);padding:10px;font-family:JetBrains Mono,monospace;font-size:11px;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-height:78px}.loc-cell:hover{background:var(--bg-2)}.loc-cell .loc-id{color:var(--fg-2);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.loc-cell .loc-name{color:var(--fg-0);font-size:13px;font-weight:600}.loc-cell .loc-fill{height:4px;background:var(--bg-3);margin-top:auto;position:relative}.loc-cell .loc-fill span{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);transform-origin:left}.param-row{display:grid;grid-template-columns:24px 1.5fr 1fr 60px 70px 80px 24px;border-bottom:1px solid var(--line);align-items:center;min-height:32px;font-family:JetBrains Mono,monospace;font-size:11px}.param-row>*{padding:4px 8px;border-right:1px solid var(--line);height:100%;display:flex;align-items:center}.param-row>*:last-child{border-right:0}.param-row.head>*{color:var(--fg-2);font-size:10px;text-transform:uppercase;letter-spacing:.06em;background:var(--bg-2)}.param-row .drag{cursor:grab;color:var(--fg-3);justify-content:center}.param-row input,.param-row select{border:0;background:transparent;height:100%;width:100%;padding:0}.param-row input:focus{box-shadow:inset 0 0 0 1px var(--accent-dim)}.param-row .rem{color:var(--fg-3);cursor:pointer;justify-content:center}.param-row .rem:hover{color:var(--bad)}.qb{padding:12px;background:var(--bg-1);border:1px solid var(--line);font-family:JetBrains Mono,monospace;font-size:11px}.qb-group{border-left:2px solid var(--accent-dim);padding:6px 8px 6px 10px;display:flex;flex-direction:column;gap:6px;background:color-mix(in oklab,var(--bg-1),black 5%)}.qb-group .group-head{display:flex;align-items:center;gap:6px;color:var(--fg-2);font-size:10px;text-transform:uppercase}.qb-group .group-head .op{color:var(--accent);padding:0 4px;border:1px solid var(--accent-dim);background:var(--accent-bg)}.qb-clause{display:grid;grid-template-columns:160px 80px 1fr auto;gap:6px;align-items:center}.qb-clause .rem{color:var(--fg-3);cursor:pointer;padding:0 4px}.qb-clause .rem:hover{color:var(--bad)}.row{display:flex;gap:8px;align-items:center}.stack{display:flex;flex-direction:column;gap:8px}.grow{flex:1}.hint{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--fg-3)}[data-kbd=false] .kbd,[data-kbd=false] .hint{display:none!important}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px}.form-grid.full{grid-template-columns:1fr}.form-grid label.field textarea{min-height:80px}.inventory-location-row{display:flex;gap:8px;align-items:center}.inventory-location-input{flex:1}.subhead{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--bg-1)}.subhead .left{display:flex;align-items:center;gap:10px}.subhead h2{margin:0;font-size:13px;font-weight:600}
