@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--ink: #141a21;--ink-2: #414c58;--muted: #6d7885;--faint: #9aa4ae;--bg: #f2f3f5;--surface: #fff;--surface-alt: #fafbfc;--surface-soft: #f7f8f9;--border: #e2e5e9;--border-input: #cfd4da;--border-input-hover: #b9c0c8;--rule-head: #dfe3e7;--rule-cell: #f1f3f5;--track: #eef0f2;--dark: #12171d;--dark-rule: #262d36;--dark-btn-border: #2b333c;--dark-btn-border-hover: #46505b;--dark-text: #d3dae0;--dark-muted: #97a3ae;--dark-faint: #6c7883;--dark-nav: #8e9aa5;--accent: #14596b;--accent-dark: #0e4351;--accent-rule: #2a8ba6;--accent-tint: rgba(20, 89, 107, .1);--accent-tint-strong: rgba(20, 89, 107, .12);--danger: #a32f2a;--danger-dark: #8a2723;--danger-dot: #c9443d;--danger-bg: #fbe8e7;--danger-border: #f1cdca;--danger-btn-border: #e0bdba;--success: #1a6b45;--success-bg: #e3f2e9;--success-border: #cfe6d8;--success-dot: #2a8b5c;--warn: #8f5406;--warn-bg: #fbf0da;--warn-border: #ecd9ae;--warn-dot: #c07a12;--sans: "IBM Plex Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;--shell: 1340px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--sans);font-size:13px;line-height:1.45;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dark);text-decoration:underline;text-underline-offset:2px}button,input,select,textarea{font-family:inherit}input::placeholder,textarea::placeholder{color:var(--faint)}::selection{background:#cfe4ea}@keyframes sh-spin{to{transform:rotate(360deg)}}@keyframes sh-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.view{animation:sh-in .2s ease both}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.faint{color:var(--faint)}.num{text-align:right;font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.eyebrow{font-family:var(--mono);font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--surface)}.login-aside{background:var(--dark);color:#fff;padding:44px 48px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-brand{display:flex;align-items:center;gap:10px}.login-brand .brand-mark{width:26px;height:26px;border-radius:4px;font-size:13px}.login-brand-word{font-family:var(--mono);font-size:13px;letter-spacing:.14em;font-weight:500}.login-pitch{max-width:400px}.login-pitch h1{font-size:30px;font-weight:600;letter-spacing:-.025em;line-height:1.18}.login-pitch p{margin-top:12px;font-size:14px;line-height:1.6;color:var(--dark-muted)}.login-facts{border-top:1px solid var(--dark-rule);padding-top:20px;display:flex;gap:40px;flex-wrap:wrap}.login-facts .eyebrow{font-size:9.5px;letter-spacing:.12em;color:var(--dark-faint)}.login-facts div>div+div{margin-top:5px;font-size:13px;color:var(--dark-text)}.login-main{display:grid;place-items:center;padding:40px 44px;min-height:100vh}.login-panel{width:100%;max-width:348px}.login-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.login-panel h2{margin-top:8px;font-size:19px;font-weight:600;letter-spacing:-.015em}.login-panel>p{margin-top:5px;font-size:12.5px;color:var(--muted)}.login-form{margin-top:20px;display:flex;flex-direction:column;gap:14px}.login-form .btn{margin-top:4px;width:100%;padding:9px 14px;font-size:13px}.login-form input{font-size:13px;padding:8px 10px}.seeded{margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}.seeded-list{margin-top:9px;display:flex;flex-direction:column;gap:7px}.seeded-account{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:4px;background:var(--surface);cursor:pointer;text-align:left}.seeded-account:hover{border-color:var(--accent);background:#f7fafb}.seeded-account .email{font-family:var(--mono);font-size:11px;color:var(--ink)}.seeded-account .role{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;color:var(--muted)}.seeded-account .role.is-admin{color:var(--accent)}.seeded-note{margin-top:9px;font-size:11.5px;color:var(--faint)}.seeded-note code{font-family:var(--mono);font-size:11px;color:var(--muted)}@media (max-width: 900px){.login-screen{grid-template-columns:1fr}.login-aside{min-height:0;padding:28px 24px;gap:24px}.login-main{min-height:0;padding:32px 24px 56px}}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.topbar{background:var(--dark);position:sticky;top:0;z-index:20}.topbar-inner{max-width:var(--shell);margin:0 auto;padding:0 24px;display:flex;align-items:stretch;gap:26px;min-height:50px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:9px;padding-right:4px;color:#fff}.brand:hover{text-decoration:none;color:#fff}.brand-mark{width:22px;height:22px;border-radius:3px;background:var(--accent);display:grid;place-items:center;font-family:var(--mono);font-size:11px;font-weight:600;color:#fff;flex:none}.brand-word{font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;font-weight:500}.topnav{display:flex;align-items:stretch;margin-right:auto;white-space:nowrap}.topnav a{display:flex;align-items:center;padding:0 13px;font-size:12.5px;font-weight:500;color:var(--dark-nav);box-shadow:inset 0 -2px 0 transparent}.topnav a:hover{color:#fff;text-decoration:none}.topnav a.active{color:#fff;box-shadow:inset 0 -2px 0 var(--accent-rule)}.topbar-user{display:flex;align-items:center;gap:14px;padding:6px 0}.topbar-identity{text-align:right;line-height:1.3;white-space:nowrap}.topbar-identity .name{font-size:12px;font-weight:500;color:#fff}.topbar-identity .meta{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:#7c8895}.btn-signout{flex:none;white-space:nowrap;padding:5px 11px;border:1px solid var(--dark-btn-border);border-radius:4px;background:transparent;color:#b9c3cc;font-size:12px;cursor:pointer}.btn-signout:hover{border-color:var(--dark-btn-border-hover);color:#fff}.page{flex:1;width:100%;max-width:var(--shell);margin:0 auto;padding:22px 24px 64px}.back-link{border:0;background:transparent;padding:0;margin-bottom:8px;font-size:12px;color:var(--muted);cursor:pointer;white-space:nowrap;text-align:left;display:inline-block}.back-link:hover{color:var(--accent);text-decoration:none}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.page-header-text{min-width:0;flex:1 1 340px}.page-title{font-size:20px;font-weight:600;letter-spacing:-.02em}.page-title.mono{font-size:19px;letter-spacing:-.01em}.page-subtitle{margin-top:3px;font-size:12.5px;color:var(--muted)}.btn-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;padding:7px 13px;border:1px solid var(--border-input);border-radius:4px;background:var(--surface);color:var(--ink-2);font-size:12.5px;font-weight:500;cursor:pointer}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{border-color:var(--accent);background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark)}.btn-secondary:hover:not(:disabled){background:var(--surface-soft);border-color:var(--border-input-hover)}.btn-danger{border-color:var(--danger-btn-border);background:var(--surface);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-bg)}.btn-danger-solid{border-color:var(--danger);background:var(--danger);color:#fff}.btn-danger-solid:hover:not(:disabled){background:var(--danger-dark);border-color:var(--danger-dark)}.btn-cancel-shipment{color:var(--danger)}.btn-cancel-shipment:hover:not(:disabled){border-color:var(--danger-btn-border);background:#fdf4f3}.btn-sm{padding:5px 11px;font-size:12px}.btn-row-action{padding:3px 8px;border:1px solid var(--border);border-radius:3px;background:var(--surface);color:var(--ink-2);font-size:11.5px;cursor:pointer}.btn-row-action:hover{border-color:var(--accent);color:var(--accent)}.btn-row-action.is-danger{color:var(--muted)}.btn-row-action.is-danger:hover{border-color:var(--danger-dot);color:var(--danger)}.btn-link{border:0;background:transparent;padding:2px 0;font-size:12px;color:var(--accent);cursor:pointer;font-weight:500;white-space:nowrap}.btn-link:hover{text-decoration:underline}.panel{background:var(--surface);border:1px solid var(--border);border-radius:5px}.panel-clip{overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;border-bottom:1px solid var(--border)}.panel-title{font-size:13px;font-weight:600;white-space:nowrap}.panel-meta{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--faint);white-space:nowrap}.panel-body{padding:16px 15px}.stack{display:flex;flex-direction:column;gap:16px}.stat-strip{background:var(--surface);border:1px solid var(--border);border-radius:5px;display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.stat{padding:15px 18px;border-right:1px solid var(--track)}.stat:last-child{border-right:0}.stat-value{margin-top:7px;font-size:29px;font-weight:600;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.stat-value.is-alert{color:var(--danger)}.stat-hint{margin-top:6px;font-size:11.5px;color:var(--faint)}@media (max-width: 1080px){.stat-strip{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--track)}}@media (max-width: 560px){.stat-strip{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--track)}}.dash-columns{display:grid;grid-template-columns:minmax(280px,.66fr) minmax(0,2fr);gap:16px;align-items:start}@media (max-width: 1000px){.dash-columns{grid-template-columns:1fr}}.bars{padding:15px;display:flex;flex-direction:column;gap:12px}.bar-row{display:grid;grid-template-columns:74px minmax(0,1fr) 30px;align-items:center;gap:10px}.bar-label{font-size:12px;color:var(--ink-2)}.bar-track{display:block;height:6px;background:var(--track);border-radius:999px;overflow:hidden}.bar-fill{display:block;height:100%;border-radius:999px;transition:width .3s ease}.bar-count{text-align:right;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface-alt);border-radius:5px 5px 0 0}.toolbar input[type=search]{flex:1 1 240px;min-width:180px}.toolbar select{width:auto;cursor:pointer;color:var(--ink-2)}.toolbar-count{margin-left:auto;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);white-space:nowrap}.btn-toggle{padding:6px 11px;border:1px solid var(--border-input);border-radius:4px;background:var(--surface);color:var(--ink-2);font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap}.btn-toggle:hover{border-color:var(--border-input-hover)}.btn-toggle.is-on{border-color:var(--warn-dot);background:var(--warn-bg);color:var(--warn)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=search],select,textarea{font-size:12.5px;padding:7px 9px;border:1px solid var(--border-input);border-radius:4px;background:var(--surface);color:var(--ink);width:100%;outline:none;transition:border-color .12s,box-shadow .12s}.toolbar input[type=search],.toolbar select{padding:6px 9px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}textarea{resize:vertical;min-height:66px}select{cursor:pointer}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger-dot)}input[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px #c9443d1f}input[type=number]{font-variant-numeric:tabular-nums}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:15px 18px}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field-wide{grid-column:1 / -1}.field>label{font-size:11.5px;font-weight:600;color:var(--ink-2)}.required-mark{color:var(--danger-dot);margin-left:2px}.field-error{font-size:11.5px;color:var(--danger)}.field-hint{font-size:11px;color:var(--faint)}.field input.mono,.field .mono input{font-family:var(--mono)}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border);background:var(--surface-alt);border-radius:0 0 5px 5px}.form-page{max-width:880px}.table-wrap{overflow-x:auto}table.data-table{width:100%;border-collapse:collapse}.data-table th{padding:7px 12px;text-align:left;font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:500;background:var(--surface-alt);border-bottom:1px solid var(--rule-head);white-space:nowrap}.data-table th:first-child,.data-table td:first-child{padding-left:14px}.data-table th:last-child,.data-table td:last-child{padding-right:14px}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{color:var(--ink)}.sort-caret{color:var(--accent);margin-left:2px}.data-table td{padding:7px 12px;border-bottom:1px solid var(--rule-cell);font-size:12.5px;color:var(--ink-2);white-space:nowrap;vertical-align:middle}.data-table tbody tr{background:var(--surface)}.data-table tbody tr:hover{background:var(--surface-alt)}.data-table td.strong{color:var(--ink)}.data-table td.truncate{max-width:300px;overflow:hidden;text-overflow:ellipsis}.data-table a.record-link{font-size:12.5px;font-weight:500;color:var(--ink)}.data-table a.record-link:hover{color:var(--accent)}.data-table a.mono{font-size:11.5px;font-weight:500}.data-table .cell-mono{font-family:var(--mono);font-size:11px;color:var(--muted)}.data-table .cell-counts{font-family:var(--mono);font-size:11.5px;color:var(--muted)}.row-actions{display:inline-flex;gap:4px;justify-content:flex-end}.data-table tbody tr.row-alert{background:#fffaf3}.data-table tbody tr.row-alert:hover{background:#fdf3e6}.data-table tbody tr.row-alert td:first-child{box-shadow:inset 3px 0 0 var(--warn-dot)}.qty-low{color:var(--danger);font-weight:600}.table-scroll{max-height:320px;overflow-y:auto}.table-scroll .data-table th{position:sticky;top:0;z-index:1}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2);white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:50%;flex:none}.badge{display:inline-block;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:500;white-space:nowrap}.st-pending{--st-fg: #5b6673;--st-bg: #eceef1;--st-dot: #8c96a1}.st-picked{--st-fg: #3f46a8;--st-bg: #ecedf9;--st-dot: #5a61c9}.st-packed{--st-fg: #14596b;--st-bg: #e3eff2;--st-dot: #1c7288}.st-in_transit{--st-fg: #8f5406;--st-bg: #fbf0da;--st-dot: #c07a12}.st-delivered{--st-fg: #1a6b45;--st-bg: #e3f2e9;--st-dot: #2a8b5c}.st-cancelled{--st-fg: #a32f2a;--st-bg: #fbe8e7;--st-dot: #c9443d}.st-active{--st-fg: #1a6b45;--st-bg: #e3f2e9;--st-dot: #2a8b5c}.st-inactive{--st-fg: #5b6673;--st-bg: #eceef1;--st-dot: #8c96a1}.badge{background:var(--st-bg, var(--track));color:var(--st-fg, var(--ink-2))}.status-dot{background:var(--st-dot, #8c96a1)}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--border);flex-wrap:wrap}.pager-count{font-size:12px;color:var(--faint);white-space:nowrap}.pager-controls{display:flex;align-items:center;gap:8px}.pager-page{font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap}.empty{padding:46px 20px;text-align:center}.empty-title{font-size:13.5px;font-weight:600;color:var(--ink-2)}.empty p{margin:5px 0 14px;font-size:12.5px;color:var(--faint)}.empty-sm{padding:34px 20px;text-align:center}.empty-sm .empty-title{font-size:12.5px}.empty-sm p{margin:4px 0 0;font-size:12px;color:var(--faint)}.notice{padding:9px 12px;border-radius:4px;font-size:12.5px;border:1px solid transparent;margin-bottom:14px}.notice-success{border-color:var(--success-border);background:var(--success-bg);color:var(--success)}.notice-error{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}.notice-warning{border-color:var(--warn-border);background:var(--warn-bg);color:var(--warn);padding:10px 12px}.notice ul{margin:6px 0 0;padding-left:18px}.loading-panel{padding:90px 20px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:5px}.spinner{display:block;width:20px;height:20px;margin:0 auto 12px;border:2px solid var(--rule-head);border-top-color:var(--accent);border-radius:50%;animation:sh-spin .7s linear infinite}.loading-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.detail-grid{padding:16px 15px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px 24px}.detail-grid.narrow{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.detail-item{min-width:0}.detail-item.span-all{grid-column:1 / -1}.detail-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.detail-value{margin-top:3px;font-size:13px;word-break:break-word}.detail-value.mono{font-size:12px}.detail-value.dim{color:var(--ink-2)}.detail-value.tabular{font-variant-numeric:tabular-nums}.detail-pair{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:16px;align-items:start}@media (max-width: 900px){.detail-pair{grid-template-columns:1fr}}.related-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px;align-items:start}.stock-figure{margin-top:6px;display:flex;align-items:baseline;gap:7px}.stock-value{font-size:32px;font-weight:600;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.stock-unit{font-size:12.5px;color:var(--faint)}.gauge{display:block;margin-top:14px;height:6px;background:var(--track);border-radius:999px;overflow:hidden}.gauge-fill{display:block;height:100%;border-radius:999px;transition:width .3s ease}.gauge-note{margin-top:8px;font-size:12px;color:var(--muted)}.pipeline{display:flex;align-items:center;flex-wrap:wrap;margin-bottom:18px}.pipeline-step{display:flex;align-items:center}.pipeline-line{display:block;width:32px;height:2px;margin:0 8px;background:var(--rule-head)}.pipeline-line.is-done{background:var(--success-dot)}.pipeline-node{display:inline-flex;align-items:center;gap:7px}.pipeline-dot{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--rule-head);background:var(--surface);color:var(--faint);display:grid;place-items:center;font-size:10px;font-weight:600;flex:none}.pipeline-step.is-done .pipeline-dot{background:var(--success-dot);border-color:var(--success-dot);color:#fff}.pipeline-step.is-current .pipeline-dot{background:var(--accent);border-color:var(--accent);color:#fff}.pipeline-label{font-size:12.5px;white-space:nowrap;color:var(--faint)}.pipeline-step.is-done .pipeline-label,.pipeline-step.is-current .pipeline-label{color:var(--ink);font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#12171d8c;display:grid;place-items:center;padding:24px;z-index:60}.modal{width:100%;max-width:420px;background:var(--surface);border-radius:6px;box-shadow:0 18px 44px #12171d47;overflow:hidden}.modal-body{padding:18px 20px 0}.modal-title{font-size:15px;font-weight:600;letter-spacing:-.01em}.modal-lead{margin-top:10px;padding:8px 10px;background:var(--surface-soft);border:1px solid var(--track);border-radius:4px;font-family:var(--mono);font-size:11.5px;color:var(--ink);word-break:break-word}.modal-text{margin-top:11px;font-size:12.5px;color:var(--ink-2);line-height:1.55}.modal .notice{margin-top:12px;margin-bottom:0;font-size:12px;padding:9px 11px}.modal-footer{margin-top:16px;padding:12px 20px;background:var(--surface-alt);border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.notfound{background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:72px 24px;text-align:center}.notfound-code{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--faint)}.notfound h1{margin-top:10px;font-size:20px;font-weight:600;letter-spacing:-.02em}.notfound p{margin:6px auto 18px;max-width:380px;font-size:12.5px;color:var(--muted)}
