@font-face{font-family:Saira SemiCondensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/saira-sc-600.woff2)format("woff2")}@font-face{font-family:Saira SemiCondensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/saira-sc-700.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#d9dfe6;--field:#e7ebf0;--surface:#f8fafb;--surface-2:#ebeef3;--surface-3:#d7dde5;--ink:#15202e;--ink-2:#39434f;--ink-3:#5a6573;--border:#14264224;--border-2:#14264252;--accent:#1b3a6b;--accent-strong:#11284c;--accent-dim:#1b3a6b1a;--grid:#d7dde5;--grid-minor:#1b3a6b0f;--grid-major:#1b3a6b1a;--good:#1b6e45;--warn:#b07400;--warn-ink:#7c5200;--serious:#a84a22;--crit:#b32033;--mono:ui-monospace, "Cascadia Mono", Consolas, "Roboto Mono", monospace;--display:"Saira SemiCondensed", "Saira", "Arial Narrow", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans CJK HK", "Microsoft JhengHei", sans-serif;--side-w:252px;--radius:3px;--radius-sm:2px;--shadow:none;--shadow-pop:0 20px 52px -16px #101a2880, 0 2px 10px #101a2824}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--ink);background-color:var(--page);background-image:linear-gradient(var(--grid-minor) 1px, transparent 1px), linear-gradient(90deg, var(--grid-minor) 1px, transparent 1px);background-position:-1px -1px;background-size:28px 28px;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans CJK HK,Microsoft JhengHei,sans-serif;font-size:15px;line-height:1.5}::selection{color:var(--ink);background:#1b3a6b33}input,textarea{caret-color:var(--accent)}:focus-visible{outline-offset:2px;border-radius:2px;outline:2px solid #1b3a6b99}.btn:focus-visible,.nav-item:focus-visible,.tab:focus-visible,.user-btn:focus-visible,.op-filter button:focus-visible{outline-offset:1px}.data-scroll,.tbl-wrap,.nav,.search-pop,.modal-b{scrollbar-width:thin;scrollbar-color:#1b3a6b66 transparent}.data-scroll::-webkit-scrollbar{width:9px;height:9px}.tbl-wrap::-webkit-scrollbar{width:9px;height:9px}.nav::-webkit-scrollbar{width:9px;height:9px}.search-pop::-webkit-scrollbar{width:9px;height:9px}.modal-b::-webkit-scrollbar{width:9px;height:9px}.data-scroll::-webkit-scrollbar-thumb{background:#1b3a6b57;border-radius:1px}.tbl-wrap::-webkit-scrollbar-thumb{background:#1b3a6b57;border-radius:1px}.nav::-webkit-scrollbar-thumb{background:#1b3a6b57;border-radius:1px}.search-pop::-webkit-scrollbar-thumb{background:#1b3a6b57;border-radius:1px}.modal-b::-webkit-scrollbar-thumb{background:#1b3a6b57;border-radius:1px}.data-scroll::-webkit-scrollbar-thumb:hover{background:#1b3a6b8c}.tbl-wrap::-webkit-scrollbar-thumb:hover{background:#1b3a6b8c}.nav::-webkit-scrollbar-thumb:hover{background:#1b3a6b8c}.search-pop::-webkit-scrollbar-thumb:hover{background:#1b3a6b8c}.modal-b::-webkit-scrollbar-thumb:hover{background:#1b3a6b8c}.data-scroll::-webkit-scrollbar-track{background:0 0}.tbl-wrap::-webkit-scrollbar-track{background:0 0}.nav::-webkit-scrollbar-track{background:0 0}.search-pop::-webkit-scrollbar-track{background:0 0}.modal-b::-webkit-scrollbar-track{background:0 0}.app{flex-direction:row;height:100%;display:flex;overflow:hidden}.sidenav{width:var(--side-w);background:var(--surface);border-right:1px solid var(--border-2);z-index:10;flex-direction:column;flex:none;display:flex}.sidenav .brand{border-bottom:1px solid var(--border);align-items:center;gap:11px;padding:16px 16px 14px;display:flex}.brand .logo{border-radius:var(--radius-sm);background:var(--surface);border:1.5px solid var(--accent);width:34px;height:34px;color:var(--accent);flex:none;place-items:center;display:grid}.brand .name{font-family:var(--display);letter-spacing:.3px;text-transform:uppercase;color:var(--ink);flex-direction:column;min-width:0;font-size:16px;font-weight:700;line-height:1.15;display:flex}.brand .name span{color:var(--ink-3);font-family:var(--mono);letter-spacing:.2px;text-transform:none;margin-top:3px;font-size:10.5px;font-weight:500}.nav{counter-reset:sheet;flex-direction:column;flex:1;gap:14px;padding:10px 12px 12px;display:flex;overflow-y:auto}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-label{font-family:var(--display);letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--border);margin-bottom:3px;padding:8px 10px 5px;font-size:11px;font-weight:700}.nav-item{font:inherit;color:var(--ink-2);border-radius:var(--radius-sm);cursor:pointer;text-align:left;counter-increment:sheet;background:0 0;border:0;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;font-size:14.5px;font-weight:500;transition:background .12s,color .12s;display:flex;position:relative}.nav-item:before{content:counter(sheet, decimal-leading-zero);font-family:var(--mono);color:var(--ink-3);text-align:right;letter-spacing:0;flex:none;min-width:16px;font-size:10.5px;font-weight:600}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.active{background:var(--accent);color:#fff;font-weight:650}.nav-item.active:before{color:#ffffffb8}.nav-item.active svg{opacity:1}.nav-item svg{opacity:.8;flex:none}.nav-txt{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.demo-pill{font-family:var(--display);letter-spacing:.8px;color:var(--warn-ink);border-radius:var(--radius-sm);white-space:nowrap;background:#b0740024;border:1px solid #b0740080;padding:1px 6px;font-size:10px;font-weight:700}.nav-item.active .demo-pill{color:#fff;background:#ffffff2e;border-color:#fff6}.tab-badge{background:var(--crit);color:#fff;font-family:var(--mono);border-radius:var(--radius-sm);text-align:center;min-width:18px;padding:0 6px;font-size:11.5px;font-weight:700;line-height:18px}.side-foot{border-top:1px solid var(--border-2);flex-direction:column;gap:5px;padding:12px 16px 16px;display:flex}.side-updated{color:var(--ink-3);font-size:11.5px;font-family:var(--mono);font-variant-numeric:tabular-nums}.content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.topbar{background:var(--surface);border-bottom:1px solid var(--border-2);z-index:9;flex:none;align-items:center;gap:14px;height:62px;padding:0 22px;display:flex}.topbar-title{font-family:var(--display);letter-spacing:.6px;text-transform:uppercase;color:var(--ink);white-space:nowrap;flex:none;font-size:20px;font-weight:700}.topbar .env-tag{margin-left:auto}.env-tag{font-family:var(--display);letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);border:1px solid var(--border-2);background:var(--surface);border-radius:var(--radius-sm);white-space:nowrap;padding:3px 9px;font-size:11.5px;font-weight:700}.sync{color:var(--ink-3);white-space:nowrap;font-size:13px;font-weight:600;font-family:var(--display);letter-spacing:.5px;text-transform:uppercase;align-items:center;gap:8px;display:flex}.sync .dot{background:var(--ink-3);border-radius:50%;flex:none;width:9px;height:9px}.sync.live .dot{background:var(--good);box-shadow:0 0 0 3px #1b6e452e}.sync.reconnecting .dot,.sync.connecting .dot{background:var(--warn);animation:1.2s ease-in-out infinite pulse;box-shadow:0 0 0 3px #b0740033}.sync.offline .dot{background:var(--crit)}.main{background-color:var(--field);background-image:linear-gradient(var(--grid-minor) 1px, transparent 1px), linear-gradient(90deg, var(--grid-minor) 1px, transparent 1px), linear-gradient(var(--grid-major) 1px, transparent 1px), linear-gradient(90deg, var(--grid-major) 1px, transparent 1px);border-left:1px solid var(--border);border-right:1px solid var(--border);background-position:-1px -1px;background-size:28px 28px,28px 28px,140px 140px,140px 140px;background-attachment:local;flex-direction:column;flex:1;gap:16px;width:100%;max-width:1320px;margin:0 auto;padding:20px 24px 30px;display:flex;overflow-y:auto}.kpi-strip{grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:12px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:13px 15px 14px;position:relative;overflow:hidden}.kpi:before{content:"";background:var(--accent);width:22px;height:3px;position:absolute;top:0;left:0}.kpi .lbl{font-family:var(--display);color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;font-size:11.5px;font-weight:700;overflow:hidden}.kpi .val{font-family:var(--mono);letter-spacing:-.5px;color:var(--ink);font-variant-numeric:tabular-nums;font-size:25px;font-weight:700;line-height:1.1}.kpi .val-crit{color:var(--crit)}.kpi .sub{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:12px;overflow:hidden}.grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:16px;display:grid}@media (width<=900px){.grid{grid-template-columns:1fr}.sidenav{width:72px}.sidenav .brand{justify-content:center;padding:16px 8px 14px}.sidenav .brand .name,.sidenav .nav-label,.sidenav .nav-txt,.sidenav .demo-pill,.sidenav .side-foot,.nav-item:before{display:none}.nav-item{justify-content:center}}.card{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:var(--shadow);flex:none;overflow:hidden}.card+.card{margin-top:16px}.card-h{border-bottom:1px solid var(--border-2);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;min-width:0;padding:11px 16px;display:flex}.card-h .t{font-family:var(--display);letter-spacing:.7px;text-transform:uppercase;color:var(--ink);align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:700;display:inline-flex}.card-h .t:before{content:"";background:var(--accent);flex:none;width:7px;height:7px}.card-h .sub{color:var(--ink-3);min-width:0;font-size:12.5px;font-family:var(--mono)}.card-b{min-width:0;padding:15px 16px}.data-scroll{-webkit-overflow-scrolling:touch;min-width:0;max-height:52vh;overflow:auto}.zone-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:14px;min-width:0;padding:11px 16px;display:flex}.zone-row:first-child{border-top:0}.zone-row .zn{color:var(--ink);font-size:14.5px;font-weight:600}.zone-row .zs{color:var(--ink-3);font-size:12px;font-family:var(--mono);margin-top:1px}.zone-row .metrics{text-align:right;font-variant-numeric:tabular-nums;margin-left:auto}.zone-row .metrics .n{font-family:var(--mono);color:var(--ink);font-size:16px;font-weight:700}.zone-row .metrics .l{color:var(--ink-3);font-size:11.5px}.loc-bar{background:var(--surface-3);border:1px solid var(--border);border-radius:0;flex:1;min-width:60px;height:10px;overflow:hidden}.loc-bar span{background:repeating-linear-gradient(-45deg, var(--accent) 0 6px, var(--accent-strong) 6px 12px);height:100%;display:block}.donut-wrap{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.donut{flex:none;width:200px;height:200px;position:relative}.donut:before{content:"";background:repeating-conic-gradient(from -.7deg, var(--border-2) 0 1.4deg, transparent 1.4deg 15deg);pointer-events:none;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 0 87px,#000 87px 95px,#0000 95px);mask:radial-gradient(circle,#0000 0 87px,#000 87px 95px,#0000 95px)}.donut svg{z-index:1;display:block;position:relative;transform:rotate(-90deg)}.donut .centre{text-align:center;z-index:2;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut .centre .n{font-family:var(--mono);letter-spacing:-1px;color:var(--ink);font-variant-numeric:tabular-nums;font-size:36px;font-weight:700}.donut .centre .l{font-family:var(--display);text-transform:uppercase;letter-spacing:1px;color:var(--ink-3);margin-top:2px;font-size:11px;font-weight:600}.legend{flex-direction:column;flex:1;gap:9px;min-width:180px;display:flex}.legend .row{align-items:center;gap:10px;font-size:14px;display:flex}.legend .swatch{border:1px solid #14264240;border-radius:0;flex:none;width:11px;height:11px}.legend .zn{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.legend .ct{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13.5px;font-weight:700}.feed{flex-direction:column;display:flex}.feed-row{border-top:1px solid var(--border);grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 16px;display:grid}.feed-row:first-child{border-top:0}.feed-row.fresh{animation:.6s cubic-bezier(.22,1,.36,1) reveal}.feed-row .ts{font-family:var(--mono);color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12.5px}.feed-row .epc,.feed-row .audit-act{font-family:var(--mono);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.feed-row .epc .dim,.audit-act .dim{color:var(--ink-3);font-size:12.5px}.feed-row .meta{color:var(--ink-3);min-width:0;font-size:12.5px;font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:7px;display:flex}.chip{font-family:var(--display);letter-spacing:.4px;text-transform:uppercase;color:var(--ink-2);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-sm);white-space:nowrap;padding:2px 8px;font-size:11.5px;font-weight:600}.chip.mono{font-family:var(--mono);text-transform:none;letter-spacing:0}.site-hub{color:#fff;border-color:var(--accent);background:var(--accent)}.site-spoke,.site-campus{color:var(--ink-2)}.d-empty{text-align:center;color:var(--ink-3);padding:40px 18px;font-size:14px;line-height:1.7}.banner{border:1px solid var(--warn);border-radius:var(--radius);color:var(--ink-2);background:#b0740012;padding:13px 18px;font-size:14px}.banner b{color:var(--ink)}.tabs{background:var(--surface);border-bottom:1px solid var(--border-2);z-index:9;flex:none;gap:4px;padding:6px 20px 0;display:flex;overflow-x:auto}.tab{font-family:var(--display);letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;min-height:44px;padding:10px 13px;font-size:13.5px;font-weight:600;display:flex}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tbl-wrap{-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;overflow:auto}.tbl{border-collapse:collapse;width:100%;font-size:13.5px}.tbl th{text-align:left;font-family:var(--display);text-transform:uppercase;letter-spacing:.7px;color:var(--ink-2);border-bottom:1px solid var(--border-2);background:var(--surface-2);white-space:nowrap;padding:9px 14px;font-size:11.5px;font-weight:700}.tbl th.num,.tbl td.num{text-align:right;font-variant-numeric:tabular-nums}.tbl td{border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 14px}.tbl th+th,.tbl td+td{border-left:1px solid var(--border)}.tbl tr:last-child td{border-bottom:0}.tbl .mono{font-family:var(--mono);font-size:13px}.tbl .dim{color:var(--ink-3)}.tbl td.low{color:var(--crit);font-weight:700}.tbl .th-sub{text-transform:none;letter-spacing:0;font-size:11px;font-weight:500;font-family:var(--mono);color:var(--ink-3)}.low-tag{font-family:var(--display);background:var(--crit);color:#fff;letter-spacing:.4px;border-radius:var(--radius-sm);vertical-align:middle;margin-left:5px;padding:0 5px;font-size:10px;font-weight:700;display:inline-block}.var-row{background:#b320330f}.chip.new-sku{color:#fff;background:var(--accent);border-color:var(--accent);margin-left:7px}.tbl tr.fresh td{animation:.6s cubic-bezier(.22,1,.36,1) reveal}.sku-locs{flex-wrap:wrap;gap:6px;display:inline-flex}.st-draft,.st-submitted{color:var(--ink-2)}.st-approved,.st-picking{color:var(--warn-ink);border-color:var(--warn);background:#b074001f}.st-in_transit{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.st-confirmed,.st-open{color:var(--good);border-color:var(--good);background:#1b6e451a}.st-cancelled{color:var(--crit)}.st-var{color:var(--crit);border-color:var(--crit);background:#b3203317}.crit-banner{border-color:var(--crit);background:#b320330f}.btn{border:1px solid var(--accent-strong);background:var(--accent);color:#fff;font-family:var(--display);letter-spacing:.6px;text-transform:uppercase;border-radius:var(--radius);cursor:pointer;min-height:44px;padding:10px 18px;font-size:13.5px;font-weight:700;transition:filter .12s,transform 60ms}.btn:hover:not(:disabled){filter:brightness(1.12)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.42;cursor:default}.btn-sm{min-height:38px;padding:7px 13px;font-size:12.5px}.select,.num-input,.op-form input,.op-manual input{font:inherit;border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--ink);padding:9px 12px;font-size:14px}.select:focus,.num-input:focus,.op-form input:focus,.op-manual input:focus,.text-input:focus,.reorder-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.num-input{text-align:right;width:84px;max-width:100%;font-family:var(--mono);font-variant-numeric:tabular-nums}.text-input{text-align:left;width:240px;min-width:0;max-width:100%;font:inherit;border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--ink);flex:1;padding:9px 12px;font-size:14px}.db-select,.row-select{min-width:190px}select.num-input{text-align:left}.reorder-input{border-radius:var(--radius-sm);border:1px solid var(--border-2);background:var(--surface);width:64px;min-height:0;color:var(--ink);font-family:var(--mono);text-align:right;padding:5px 8px;font-size:13.5px}.reorder-input:disabled{opacity:.6}.reorder-input.invalid{border-color:var(--crit);color:var(--crit)}.debundle .db-row{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;padding:5px 0;font-size:14px;display:flex}.debundle .db-row>*{min-width:0}.debundle .db-loc{min-width:120px;font-weight:650}.debundle .cost-input{width:120px}.mono.strong,.strong{font-family:var(--mono);font-weight:700}.ok-text{color:var(--good);font-size:13.5px;font-weight:650}.err-text{color:var(--crit);font-size:13.5px;font-weight:650}.kpi-strip.pad{padding:14px 16px 0}.db-add{margin-top:4px}.db-remove{border:1px solid var(--border-2);background:var(--surface);color:var(--ink-2);border-radius:var(--radius-sm);cursor:pointer;place-items:center;width:34px;height:34px;display:grid}.db-remove:hover{color:var(--crit);border-color:var(--crit)}.feed-row.pick{cursor:pointer}.feed-row.pick:hover{background:var(--surface-2)}.feed-row.pick.sel{background:var(--accent-dim)}.feed-row.pick:focus-visible{background:var(--accent-dim);outline:none;box-shadow:inset 0 0 0 2px #1b3a6b99}.stocktake-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.set-rows{flex-direction:column;display:flex}.set-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:10px 0;font-size:14px;display:flex}.set-row:first-child{border-top:0}.set-k{color:var(--ink-3);flex:none;font-weight:600}.set-v{text-align:right;color:var(--ink);font-weight:600}.set-v.mono{font-family:var(--mono);font-weight:500}.timeline{padding:8px 18px 18px}.tl-row{gap:14px;padding:9px 0 9px 4px;display:flex;position:relative}.tl-row:before{content:"";background:var(--border-2);width:1px;position:absolute;top:28px;bottom:-8px;left:9px}.tl-row:last-child:before{display:none}.tl-dot{background:var(--ink-3);z-index:1;border-radius:0;flex:none;width:11px;height:11px;margin-top:5px;transform:rotate(45deg)}.tl-dot.tx-receipt{background:var(--good)}.tl-dot.tx-transfer_out,.tl-dot.tx-transfer_in{background:var(--accent)}.tl-dot.tx-issue{background:var(--serious)}.tl-dot.tx-stocktake_adjust{background:var(--warn)}.tl-body{flex:1;min-width:0}.tl-head{justify-content:space-between;gap:10px;font-size:14px;font-weight:650;display:flex}.tl-qty{font-variant-numeric:tabular-nums;font-family:var(--mono)}.tl-meta{color:var(--ink-2);font-size:13px}.tl-time{color:var(--ink-3);font-size:12px;font-family:var(--mono);font-variant-numeric:tabular-nums}.chip.tx-receipt{color:var(--good);border-color:var(--good)}.chip.tx-transfer_out,.chip.tx-transfer_in{color:var(--accent);border-color:var(--accent)}.chip.tx-issue{color:var(--serious);border-color:var(--serious)}.chip.tx-stocktake_adjust{color:var(--warn-ink);border-color:var(--warn)}.admin-panel{border:1.5px dashed var(--crit);border-radius:var(--radius);background:var(--surface);flex:none;overflow:hidden}.admin-head{background:var(--crit);color:#fff;font-family:var(--display);letter-spacing:1.4px;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:12px;min-width:0;padding:11px 18px;font-size:14px;font-weight:700;display:flex}.admin-head .admin-sub{font-family:var(--mono);color:#ffffffbf;letter-spacing:0;text-transform:none;font-size:12.5px;font-weight:400}.admin-close{color:#fff;border-radius:var(--radius-sm);font-family:var(--display);letter-spacing:.6px;text-transform:uppercase;cursor:pointer;background:#ffffff29;border:1px solid #fff6;min-height:36px;margin-left:auto;padding:6px 12px;font-size:12px;font-weight:700}.admin-actions{flex-wrap:wrap;gap:10px;padding:16px 18px 10px;display:flex}.admin-danger{background:var(--crit);border-color:#7f1622;margin-left:auto}.admin-ghost{background:var(--surface);color:var(--ink-2);border:1px solid var(--border-2)}.admin-note{color:var(--ink-3);padding:0 18px 12px;font-size:13.5px;line-height:1.65}.admin-msg{padding:0 18px 10px}.admin-checks{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:12px 18px 18px;display:flex}.admin-summary{font-size:14px;font-family:var(--display);text-transform:uppercase;letter-spacing:.6px;justify-content:space-between;padding-bottom:6px;font-weight:600;display:flex}.admin-summary span{color:var(--ink-3)}.admin-check{border-top:1px dashed var(--border);align-items:baseline;gap:8px;padding:4px 0;font-size:14px;display:flex}.admin-check:first-of-type{border-top:0}.admin-ico{width:16px;font-weight:700;font-family:var(--mono)}.check-ok .admin-ico{color:var(--good)}.check-fail .admin-ico{color:var(--crit)}.check-fail{background:#b320330d}.admin-lbl{flex:1}.admin-detail{color:var(--ink-3);font-size:13px;font-family:var(--mono)}.admin-legend{border-top:1px solid var(--border);color:var(--ink-2);flex-direction:column;gap:6px;padding:12px 18px 16px;font-size:13.5px;display:flex}.admin-legend .lg-t{font-family:var(--display);text-transform:uppercase;letter-spacing:.8px;color:var(--ink-3);font-size:12.5px;font-weight:700}:root{--web:#1b3a6b;--web-dim:#1b3a6b1a;--app:#39434f;--app-dim:#39434f1a}.operate{flex-direction:column;gap:14px;display:flex}.op-bar{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:13px 18px;display:flex}.op-bar-l{flex-direction:column;gap:2px;display:flex}.op-title{font-family:var(--display);letter-spacing:.4px;text-transform:uppercase;color:var(--ink);font-size:17px;font-weight:700}.op-sub{color:var(--ink-3);font-size:13px;font-family:var(--mono);margin-top:2px;display:block}.op-bar-r{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.op-progress-txt{font-family:var(--mono);color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13.5px;font-weight:700}.op-progress{background:var(--surface-3);border:1px solid var(--border);border-radius:0;width:130px;height:10px;overflow:hidden}.op-progress span{background:var(--good);height:100%;display:block}.op-device{color:var(--ink-3);font-size:13px;font-weight:600;font-family:var(--mono);align-items:center;gap:8px;display:flex}.op-filter{gap:6px;display:flex}.op-filter button{border:1px solid var(--border-2);background:var(--surface);font-family:var(--display);letter-spacing:.4px;text-transform:uppercase;color:var(--ink-3);border-radius:var(--radius-sm);cursor:pointer;min-height:40px;padding:8px 16px;font-size:12.5px;font-weight:600}.op-filter button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.op-msg{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border-2);padding:10px 16px;font-size:14px}.op-steps{flex-direction:column;gap:12px;display:flex}.op-step{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);padding:14px 18px;transition:border-color .12s,background .12s}.op-step.done .op-num{background:var(--good);border-color:var(--good)}.op-step.current{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.op-step.current .op-num{background:var(--accent);border-color:var(--accent)}.op-step-h{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.op-num{border-radius:var(--radius-sm);background:var(--ink-3);color:#fff;width:26px;height:26px;font-family:var(--mono);border:1px solid #0000;flex:none;place-items:center;font-size:13.5px;font-weight:700;display:grid}.op-step-title{font-family:var(--display);letter-spacing:.3px;text-transform:uppercase;color:var(--ink);font-size:15.5px;font-weight:700}.op-badge{font-family:var(--display);letter-spacing:.6px;text-transform:uppercase;border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;padding:3px 9px;font-size:10.5px;font-weight:700}.op-badge.web{background:var(--web-dim);color:var(--web);border-color:#1b3a6b4d}.op-badge.app{background:var(--app-dim);color:var(--app);border-color:#39434f4d}.op-current{font-family:var(--display);letter-spacing:.6px;text-transform:uppercase;color:#fff;background:var(--accent);border-radius:var(--radius-sm);padding:3px 9px;font-size:10.5px;font-weight:700}.op-clause{color:var(--ink-3);font-size:12px;font-family:var(--mono);margin-left:auto}.op-narr{color:var(--ink-2);border-left:2px solid var(--border-2);margin:9px 0 11px;padding-left:11px;font-size:13.5px}.op-body{flex-direction:column;gap:10px;display:flex}.op-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.op-inline{color:var(--ink-3);align-items:center;gap:6px;font-size:13.5px;font-weight:600;display:flex}.op-hint{color:var(--ink-3);font-size:13px}.op-summary{font-size:14px}.op-primary{color:var(--ink-2);background:var(--app-dim);border-radius:var(--radius);border:1px solid #39434f33;padding:10px 14px;font-size:14px;line-height:1.6}.op-primary b{color:var(--app)}.op-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.op-form label{font-family:var(--display);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3);flex-direction:column;gap:4px;font-size:11.5px;font-weight:700;display:flex}.op-loc{font-family:var(--mono);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:5px 12px;font-size:12.5px;font-weight:700}.op-skus{flex-wrap:wrap;gap:7px;display:flex}.op-bindlist{flex-direction:column;gap:8px;display:flex}.op-fallback{border:1px dashed var(--border-2);border-radius:var(--radius);background:var(--surface-2);padding:10px 14px}.op-fallback summary{color:var(--ink-3);cursor:pointer;font-size:13px;font-weight:650}.op-fallback>:not(summary){margin-top:10px}.op-manual{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.op-manual input{font-family:var(--mono);flex:1;min-width:200px}.btn.ghost{background:var(--surface);color:var(--ink-2);border:1px solid var(--border-2)}.btn.ghost:hover:not(:disabled){filter:none;border-color:var(--accent);color:var(--accent)}.op-foot{color:var(--ink-3);text-align:center;padding:8px;font-size:12.5px}.op-foot code{font-family:var(--mono);background:var(--surface-3);border-radius:var(--radius-sm);padding:1px 6px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes reveal{0%{clip-path:inset(0 100% 0 0);background:var(--accent-dim)}55%{clip-path:inset(0);background:var(--accent-dim)}to{clip-path:inset(0);background:0 0}}.modal-overlay{z-index:50;background:#101a2880;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:var(--shadow-pop);flex-direction:column;width:640px;min-width:0;max-width:100%;max-height:82vh;display:flex;overflow:hidden}.modal-h{border-bottom:1px solid var(--border-2);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:13px 18px;display:flex}.modal-h .t{font-family:var(--display);letter-spacing:.6px;text-transform:uppercase;color:var(--ink);align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:700;display:inline-flex}.modal-h .t:before{content:"";background:var(--accent);flex:none;width:7px;height:7px}.modal-h .sub{color:var(--ink-3);min-width:0;font-size:12.5px;font-family:var(--mono)}.modal-b{flex-direction:column;gap:10px;min-width:0;padding:12px 18px 18px;display:flex;overflow-y:auto}.modal-b>*{flex:none}.modal-toggle{flex-wrap:wrap;justify-content:flex-end;display:flex}.modal .set-v.mono{text-overflow:ellipsis;max-width:100%;overflow:hidden}.topbar-search{border-radius:var(--radius-sm);border:1px solid var(--border-2);background:var(--surface);min-width:120px;height:42px;color:var(--ink-3);flex:0 380px;align-items:center;gap:8px;padding:0 12px;display:flex;position:relative}.topbar-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);color:var(--ink-2)}.topbar-search>svg{flex:none}.topbar-search input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:16px}.topbar-search input::placeholder{color:var(--ink-3)}.search-clear{cursor:pointer;color:var(--ink-3);border-radius:var(--radius-sm);background:0 0;border:0;flex:none;place-items:center;padding:4px 6px;line-height:1;display:grid}.search-clear:hover{background:var(--surface-3);color:var(--ink)}.search-pop{z-index:60;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:var(--shadow-pop);flex-direction:column;gap:2px;max-height:60vh;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto}.search-row{text-align:left;width:100%;min-width:0;font:inherit;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:9px 10px;display:flex}.search-row:hover,.search-row:focus-visible{background:var(--accent-dim)}.search-row .sr-title{font-size:14px;font-weight:650;font-family:var(--mono);flex:none}.search-row .sr-meta{min-width:0;color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;overflow:hidden}.search-row .chip{flex:none;padding:2px 7px;font-size:10px}.search-empty{color:var(--ink-3);padding:12px 10px;font-size:13.5px}.chip.kind-asset,.chip.kind-order,.chip.kind-item{color:var(--ink-2);background:var(--surface-2);border-color:var(--border-2)}.chip.kind-bundle{color:#fff;background:var(--accent);border-color:var(--accent)}.hl-row,.tbl tr.hl-row td{animation:2.4s ease-out hl-flash}.hl-card{outline:2px solid var(--accent);outline-offset:2px;animation:2.4s ease-out hl-flash}@keyframes hl-flash{0%{background:#1b3a6b33}to{background:0 0}}.user-menu{flex:none;min-width:0;position:relative}.user-btn{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:9px;min-width:0;padding:5px 8px 5px 6px;display:flex}.user-btn:hover,.user-btn.open{background:var(--surface-2);border-color:var(--border-2)}.avatar{border-radius:var(--radius-sm);width:34px;height:34px;font-family:var(--display);letter-spacing:.4px;color:#fff;background:var(--accent);flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.avatar-lg{width:42px;height:42px;font-size:15px}.user-who{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.15;display:flex}.user-name{color:var(--ink);white-space:nowrap;font-size:13px;font-weight:700}.user-role{color:var(--ink-3);white-space:nowrap;font-size:11px;font-family:var(--mono)}.user-pop{z-index:60;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);width:270px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-pop);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.up-head{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:10px;min-width:0;padding:14px;display:flex}.up-id{min-width:0}.up-name{color:var(--ink);font-size:14px;font-weight:700}.up-mail{color:var(--ink-3);text-overflow:ellipsis;font-size:12px;font-family:var(--mono);margin:1px 0 6px;overflow:hidden}.up-sso{border-bottom:1px solid var(--border);color:var(--ink-3);align-items:center;gap:7px;padding:9px 14px;font-size:12px;display:flex}.up-sso svg{color:var(--good);flex:none}.up-item{text-align:left;width:100%;font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:11px 14px;font-size:13.5px;font-weight:600;display:block}.up-item:hover{background:var(--surface-2);color:var(--ink)}.up-item-danger,.up-item-danger:hover{color:var(--crit)}@media (width<=900px){.user-who{display:none}}
