:root{--accent:#2563eb;--accent-hover:#1d4ed8;--accent-dim:#ffffff21;--danger:#ef4444;--success:#22c55e;--warning:#f59e0b;--purple:#a855f7;--bg:#f1f5f9;--bg-card:#fff;--bg-row-a:#fff;--bg-row-b:#f8fafc;--bg-hover:#eff3f9;--border:#00000014;--border-strong:#00000021;--text:#0f172a;--text-muted:#64748b;--text-subtle:#94a3b8;--titlebar-bg:#fff;--titlebar-h:44px;--tabbar-h:40px;--pin-bg:#fffbeb;--pin-text:#92400e;--pin-border:#f59e0b40;--r:10px;--r-sm:6px;--r-xs:4px;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow:0 2px 8px #00000012, 0 1px 3px #0000000a;--shadow-md:0 8px 24px #00000017, 0 2px 8px #0000000d}@media (prefers-color-scheme:dark){:root{--accent:#1aa868;--accent-hover:#104d31;--accent-dim:#0000001f;--danger:#f87171;--success:#3ecf8e;--warning:#e2a147;--bg:#1c1c1c;--bg-card:#242424;--bg-row-a:#242424;--bg-row-b:#272727;--bg-hover:#2e2e2e;--border:#ffffff0f;--border-strong:#ffffff1a;--text:#ededed;--text-muted:#a1a1a1;--text-subtle:#606060;--titlebar-bg:#1c1c1c;--pin-bg:#2a2000;--pin-text:#c9952a;--pin-border:#c9952a33;--shadow-sm:0 1px 3px #0006;--shadow:0 2px 8px #00000080;--shadow-md:0 8px 24px #000000a6}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;height:100vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:20px;line-height:1.5;overflow:hidden}#root{flex-direction:column;height:100vh;display:flex}.app-shell{flex-direction:column;height:100vh;display:flex;overflow:hidden}.titlebar{height:var(--titlebar-h);background:var(--titlebar-bg);border-bottom:1px solid var(--border);-webkit-app-region:drag;flex-shrink:0;align-items:center;padding-left:0;padding-right:16px;display:flex}.titlebar-drag-region{-webkit-app-region:drag;flex-shrink:0;width:78px;height:100%}.titlebar-title{letter-spacing:-.01em;color:var(--text);-webkit-app-region:drag;flex-shrink:0;align-items:center;gap:7px;font-size:14px;font-weight:600;display:flex}.titlebar-dot{background:var(--border-strong);border-radius:50%;flex-shrink:0;width:7px;height:7px}.titlebar-stats{-webkit-app-region:no-drag;margin-left:auto}.stats-wrapper{flex-wrap:nowrap;align-items:center;gap:6px;display:flex;overflow:hidden}.stats-bar{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.stats-item{background:var(--bg);border:1px solid var(--border);border-radius:100px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;display:flex}.stats-item--warn{background:#f59e0b1a;border-color:#f59e0b40}.stats-item+.stats-item{margin-left:4px}.stats-label{color:var(--text-muted)}.stats-section-label{opacity:.7;white-space:nowrap;margin-right:8px;font-size:12px;font-weight:600}.stats-value{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.stats-item--warn .stats-value{color:var(--warning)}.tabbar{height:var(--tabbar-h);background:var(--titlebar-bg);border-bottom:1px solid var(--border);flex-shrink:0;padding:0 16px}.tabbar-inner{align-items:flex-end;gap:2px;height:100%;display:flex}.tab-btn{border-radius:var(--r-sm) var(--r-sm) 0 0;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0 14px;font-size:12.5px;font-weight:500;transition:color .15s,background .15s;display:inline-flex;position:relative}.tab-btn:hover:not(.tab-btn--active){background:var(--bg-hover);color:var(--text)}.tab-btn--active{background:var(--bg);color:var(--accent);font-weight:600}.tab-btn--active:after{content:"";background:var(--accent);border-radius:1px 1px 0 0;height:2px;position:absolute;bottom:0;left:0;right:0}.tab-icon{opacity:.7;font-size:13px}.tab-btn--active .tab-icon{opacity:1}.tab-content{background:var(--bg);flex:1;overflow:hidden}.tab-panel{flex-direction:column;height:100%;overflow:hidden}.tab-pane{flex-direction:column;flex:1;gap:10px;padding:14px 16px;display:flex;overflow:hidden}::-webkit-scrollbar{width:5px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-subtle)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm)}.import-bar{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:9px 14px;display:flex}.import-bar-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-subtle);white-space:nowrap;flex-shrink:0;font-size:10.5px;font-weight:700}.import-bar-file{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);flex:1;align-items:center;gap:8px;min-width:140px;height:30px;padding:0 10px;display:flex;overflow:hidden}.import-bar-file-icon{color:var(--text-subtle);flex-shrink:0;font-size:11px}.import-bar-file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:SF Mono,Fira Code,Cascadia Code,Menlo,monospace;font-size:11.5px;overflow:hidden}.import-bar-divider{background:var(--border);flex-shrink:0;width:1px;height:18px}.platform-group{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);flex-shrink:0;align-items:center;gap:6px;padding:3px;display:flex}.platform-item{cursor:pointer;-webkit-user-select:none;user-select:none;height:24px;color:var(--text-muted);border-radius:4px;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:500;transition:background .12s,color .12s;display:flex}.platform-item[data-state=checked]{background:var(--bg-card);color:var(--accent);box-shadow:var(--shadow-sm);font-weight:600}.platform-item:hover:not([data-state=checked]){color:var(--text)}.platform-radio-indicator{display:none}.order-checkbox{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.selection-floatbar{z-index:100;white-space:nowrap;background:#1e1e2e;border:1px solid #6366f159;border-radius:12px;align-items:center;gap:8px;padding:8px 14px;animation:.18s floatbar-in;display:flex;position:absolute;bottom:52px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080}@keyframes floatbar-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.selection-floatbar-count{color:var(--text);font-size:12px;font-weight:600}.selection-floatbar-divider{background:var(--border);width:1px;height:16px;margin:0 4px}.selection-floatbar-btn{cursor:pointer;color:#f87171;background:#f871711a;border:1px solid #f871714d;border-radius:7px;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.selection-floatbar-btn:hover{background:#f8717133;border-color:#f8717180}.selection-floatbar-btn--ghost{color:var(--text-subtle);background:#ffffff0d;border-color:#ffffff1a}.selection-floatbar-btn--ghost:hover{color:var(--text);background:#ffffff1a;border-color:#fff3}.selection-floatbar-btn--success{color:#4ade80;background:#4ade801a;border-color:#4ade804d}.selection-floatbar-btn--success:hover{background:#4ade8033;border-color:#4ade8080}.selection-floatbar-btn--warn{color:var(--warning);background:#f59e0b1a;border-color:#f59e0b4d}.selection-floatbar-btn--warn:hover{background:#f59e0b33;border-color:#f59e0b80}.selection-floatbar-btn--danger{color:#f87171;background:#f871711a;border-color:#f871714d}.selection-floatbar-btn--danger:hover{background:#f8717133;border-color:#f8717180}.btn{border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;-webkit-app-region:no-drag;border:none;justify-content:center;align-items:center;gap:5px;height:32px;padding:0 13px;font-size:12.5px;font-weight:500;transition:filter .12s,opacity .12s;display:inline-flex}.btn:hover{filter:brightness(.93)}.btn:active{filter:brightness(.86)}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.btn-primary{background:var(--accent);color:#fff}.btn-submit{border:1px solid var(--accent);color:var(--accent);background:0 0}.btn-submit:hover{background:var(--accent);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-warning{background:var(--warning);color:#fff}.btn-purple{background:var(--purple);color:#fff}.btn-ghost{background:var(--bg);color:var(--text);border:1px solid var(--border-strong)}.btn-ghost-accent{color:var(--accent);border:1px solid var(--accent);background:0 0}.btn-ghost-danger{color:var(--danger);border:1px solid var(--danger);background:0 0}.btn-sm{width:130px;padding:0 11px;font-size:13px}.btn-xs{height:23px;padding:0 9px;font-size:11.5px}.btn-icon{width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:14px;transition:color .12s,background .12s;display:inline-flex}.btn-icon:hover{color:var(--accent);background:var(--accent-dim)}.input{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--bg);height:32px;color:var(--text);-webkit-app-region:no-drag;-webkit-user-select:text;user-select:text;outline:none;padding:0 10px;font-size:12.5px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.input::placeholder{color:var(--text-subtle)}.input-sm{height:27px;font-size:12px}select.input{cursor:pointer}.trow{align-items:center;width:100%;min-width:1030px;transition:background 80ms;display:flex}.trow:hover{background:var(--bg-hover)!important}.row-a{background:var(--bg-row-a)}.row-b{background:var(--bg-row-b)}.row-pending-a{background:#f59e0b0d}.row-pending-b{background:#f59e0b17}.row-pin{background:var(--pin-bg);border-left:2px solid var(--warning)}@media (prefers-color-scheme:dark){.row-pending-a{background:#e2a1470d}.row-pending-b{background:#e2a14714}}.col-header{background:var(--bg-row-b);border-bottom:1px solid var(--border);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;align-items:center;width:100%;min-width:1030px;padding:6px 14px;font-size:10.5px;font-weight:700;display:flex}.section-header{background:var(--bg-card);color:var(--text);border-bottom:1px solid var(--border);border-radius:var(--r) var(--r) 0 0;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;display:flex}.section-header-title{letter-spacing:-.01em;color:var(--text);font-size:13px;font-weight:600}.section-header-sub{color:var(--text-muted);margin-top:1px;font-size:11px}.section-search-wrap{flex:1;justify-content:center;align-items:center;gap:6px;max-width:380px;display:flex}.section-search-input-wrap{flex:1;position:relative}.section-search-icon{color:var(--text-subtle);pointer-events:none;font-size:11px;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.section-search-input{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--bg);width:100%;height:28px;color:var(--text);-webkit-app-region:no-drag;-webkit-user-select:text;user-select:text;outline:none;padding-left:28px;padding-right:10px;font-size:12px;transition:border-color .15s,box-shadow .15s}.section-search-input::placeholder{color:var(--text-subtle)}.section-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.section-search-btn{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--r-sm);height:28px;color:var(--text);cursor:pointer;white-space:nowrap;padding:0 12px;font-size:12px;font-weight:500;transition:background .12s}.section-search-btn:hover{background:var(--bg-hover)}.section-clear-btn{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--r-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;font-size:12px;font-weight:600;transition:background .12s;display:flex}.section-clear-btn:hover{background:var(--bg-hover);color:var(--text)}.section-scan-btn{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--r-sm);height:28px;color:var(--text);cursor:pointer;flex-shrink:0;align-items:center;gap:5px;padding:0 13px;font-size:12px;font-weight:500;transition:background .12s;display:flex}.section-scan-btn:hover{background:var(--bg-hover)}.badge{letter-spacing:.01em;border-radius:100px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-success{color:#166534;background:#22c55e21}.badge-warning{color:#92400e;background:#f59e0b24}.badge-danger{color:#991b1b;background:#ef444421}@media (prefers-color-scheme:dark){.badge-success{color:#3ecf8e;background:#3ecf8e1f}.badge-warning{color:#e2a147;background:#e2a1471f}.badge-danger{color:#f87171;background:#f871711f}}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--r);box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:16px 18px 12px}.modal-body{flex:1;padding:14px 18px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:8px;padding:10px 18px;display:flex}.pagination-bar{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:8px 14px;display:flex}.pagination-info{color:var(--text-muted);margin-left:4px;font-size:11px}.pagination-jump{align-items:center;gap:6px;margin-left:auto;display:flex}.pagination-jump-label{color:var(--text-muted);font-size:11px}.pagination-jump-input{text-align:center;border:1px solid var(--border-strong);border-radius:var(--r-xs);background:var(--bg);width:52px;height:24px;color:var(--text);outline:none;font-size:11px}.dropdown-content{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--r-sm);box-shadow:var(--shadow-md);z-index:500;min-width:170px;padding:4px;animation:.1s dropdownIn}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.dropdown-item{border-radius:var(--r-xs);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;align-items:center;gap:8px;padding:6px 10px;font-size:12px;transition:background .1s;display:flex}.dropdown-item:hover,.dropdown-item:focus{background:var(--bg-hover)}.dropdown-item--danger{color:var(--danger)}.dropdown-item--danger:hover,.dropdown-item--danger:focus{background:#ef444414}.dropdown-separator{background:var(--border);height:1px;margin:4px 0}.tooltip-content{background:var(--text);color:var(--bg-card);border-radius:var(--r-xs);box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;padding:3px 8px;font-size:11px;font-weight:500;animation:.12s tooltipIn}@keyframes tooltipIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.mono{font-family:SF Mono,Fira Code,Cascadia Code,Menlo,monospace}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-accent{color:var(--accent)}.scroll-y{min-height:0;overflow-y:auto}.scroll-x{overflow-x:auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn svg,button svg{flex-shrink:0}.order-layout{flex-direction:column;gap:10px;height:100%;padding:12px 14px;display:flex;overflow:hidden}.order-toolbar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-sm);flex-shrink:0;align-items:center;gap:8px;padding:6px 10px;display:flex}.toolbar-file{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-xs);cursor:pointer;align-items:center;gap:7px;min-width:160px;max-width:260px;height:28px;padding:0 10px;transition:border-color .12s;display:flex}.toolbar-file:hover{border-color:var(--border-strong)}.toolbar-file-icon{color:var(--text-subtle);flex-shrink:0}.toolbar-file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:11.5px;overflow:hidden}.toolbar-sep{background:var(--border);flex-shrink:0;width:1px;height:18px}.toolbar-spacer{flex:1}.order-table-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-sm);flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto hidden}.order-topbar{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:8px 14px;display:flex}.order-topbar-left{flex-shrink:0;align-items:baseline;gap:7px;display:flex}.order-topbar-title{color:var(--text);font-size:13px;font-weight:600}.order-topbar-count{color:var(--text-subtle);background:var(--bg);border:1px solid var(--border);border-radius:100px;padding:0 7px;font-size:11px;font-weight:600;line-height:18px}.order-topbar-filter{color:var(--text-subtle);font-size:11px;font-style:italic}.order-search-row{align-items:center;gap:6px;margin-left:auto;display:flex}.order-search-box{align-items:center;display:flex;position:relative}.order-search-icon{color:var(--text-subtle);pointer-events:none;flex-shrink:0;position:absolute;left:9px}.order-search-input{border:1px solid var(--border-strong);border-radius:var(--r-xs);background:var(--bg);width:220px;height:28px;color:var(--text);-webkit-app-region:no-drag;-webkit-user-select:text;user-select:text;outline:none;padding:0 28px;font-size:12px;transition:border-color .15s,box-shadow .15s}.order-search-input::placeholder{color:var(--text-subtle)}.order-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.order-search-clear{color:var(--text-subtle);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:2px;transition:color .1s;display:flex;position:absolute;right:6px}.order-search-clear:hover{color:var(--text)}.order-row-expand{background:var(--bg);border-bottom:1px solid var(--border);padding:10px 14px 12px}.item-table{border-collapse:collapse;width:100%;max-width:520px}.item-th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);text-align:left;border-bottom:1px solid var(--border);padding-bottom:5px;padding-right:16px;font-size:10px;font-weight:700}.item-th-qty{text-align:right;width:60px}.row-action-btn{opacity:0;transition:opacity .12s}.trow:hover .row-action-btn{opacity:1}.table-wrapper{width:100%;overflow-x:auto}.table-inner{flex-direction:column;min-width:1050px;display:flex}.order-empty{color:var(--text-subtle);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.order-empty span{font-size:13px}.order-empty svg{opacity:.5;width:32px;height:32px}
