:root{--wc-bg:#0a1633;--wc-bg-deep:#070f22;--wc-surface:#15203f;--wc-panel:#ffffff08;--wc-panel-hi:#ffffff0d;--wc-border:#ffffff12;--wc-border-hi:#ffffff24;--wc-text:#f5f1e8;--wc-text-dim:#f5f1e89e;--wc-text-mute:#f5f1e861;--wc-gold:#f0b842;--wc-gold-hover:#e0a832;--wc-green:#7cd49b;--wc-red:#e85d5d;--wc-blue:#9bb7f2;--wc-gold-tint:#f0b8421f;--wc-gold-border:#f0b8424d;--wc-green-tint:#7cd49b1f;--wc-green-border:#7cd49b4d;--wc-red-tint:#e85d5d1f;--wc-red-border:#e85d5d4d;--wc-blue-tint:#9bb7f20f;--wc-blue-border:#9bb7f233;--wc-font-sans:"Manrope", system-ui, -apple-system, sans-serif;--wc-font-serif:"Instrument Serif", Georgia, serif;--wc-fs-11:11px;--wc-fs-12:12px;--wc-fs-13:13px;--wc-fs-14:14px;--wc-fs-15:15px;--wc-fs-18:18px;--wc-fs-22:22px;--wc-fs-24:24px;--wc-fs-28:28px;--wc-fs-32:32px;--wc-fs-44:44px;--wc-fw-regular:400;--wc-fw-medium:500;--wc-fw-semibold:600;--wc-fw-bold:700;--wc-fw-extrabold:800;--wc-tracking-display:-1.2px;--wc-tracking-title:-.5px;--wc-tracking-body:0;--wc-tracking-label:.5px;--wc-tracking-label-lg:1.5px;--wc-leading-tight:1;--wc-leading-snug:1.1;--wc-leading-normal:1.45;--wc-leading-relaxed:1.55;--wc-space-1:4px;--wc-space-2:8px;--wc-space-3:12px;--wc-space-4:16px;--wc-space-5:20px;--wc-space-6:24px;--wc-space-7:28px;--wc-space-8:32px;--wc-radius-sm:4px;--wc-radius-md:8px;--wc-radius-lg:10px;--wc-radius-xl:12px;--wc-radius-2xl:14px;--wc-radius-full:999px;--wc-shadow-dropdown:0 8px 24px #0000004d;--wc-shadow-modal:0 30px 80px #00000080, 0 0 0 1px #ffffff0a;--wc-glow-gold:0 0 60px #f0b8424d;--wc-glow-green:0 0 60px #7cd49b59;--wc-avatar-xs:22px;--wc-avatar-sm:28px;--wc-avatar-md:36px;--wc-avatar-lg:56px;--wc-control-h:40px;--wc-tap-target:44px;--bg:var(--wc-bg);--surface:var(--wc-surface);--border:var(--wc-border);--border-strong:var(--wc-border-hi);--text:var(--wc-text);--muted:var(--wc-text-dim);--primary:var(--wc-gold);--primary-hover:var(--wc-gold-hover);--danger:var(--wc-red);--urgent:var(--wc-red);--high:var(--wc-gold);--medium:var(--wc-blue);--low:var(--wc-text-mute);--done:var(--wc-green);--in-progress:var(--wc-gold);--waiting:var(--wc-text-mute)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--wc-font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px}#root{flex-direction:column;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:12px 20px;display:flex}.app-header .brand-mark{width:30px;height:30px;color:var(--wc-text);flex:none}.login-bear{width:46px;height:46px}.app-header h1{font-size:22px;font-weight:var(--wc-fw-extrabold);letter-spacing:-.5px;color:var(--wc-text);margin:0}.app-header button{padding:4px 9px;font-size:12px}.subtitle{color:var(--muted);font-size:12px}.build-sha{color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-family:ui-monospace,Cascadia Mono,Menlo,Consolas,monospace;font-size:11px;text-decoration:none}.build-sha:hover{color:var(--text);border-color:var(--border-strong)}.spacer{flex:1}main{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px 20px;display:flex}button{font:var(--wc-fw-semibold) 13px var(--wc-font-sans);border-radius:var(--wc-radius-lg);border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;padding:8px 14px;transition:border-color .12s,background .12s,color .12s}button:hover:not(:disabled){border-color:var(--border-strong);background:var(--wc-panel)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--primary);border-color:var(--primary);color:var(--wc-bg);font-weight:var(--wc-fw-bold)}button.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}button.active{background:var(--wc-panel-hi);border-color:var(--wc-border-hi);color:var(--text);font-weight:var(--wc-fw-semibold)}button.danger{color:var(--danger);border-color:var(--wc-red-border);background:var(--wc-red-tint)}button.ghost{background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--wc-panel);border-color:var(--border)}input,select,textarea{font:inherit;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:6px;min-width:0;padding:5px 8px}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters input[type=text],.filters input:not([type]){flex:1;min-width:220px}.result-count{color:var(--muted);margin-left:auto;font-size:12px}.select-cell{text-align:center;width:36px;padding-left:0!important;padding-right:0!important}.select-cell input[type=checkbox]{cursor:pointer}.bulk-approver{min-width:150px}.filter-toggle{display:none}.table-scroll{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:1;overflow:auto;box-shadow:0 1px 3px #0000000d}.parts-table{border-collapse:separate;border-spacing:0;width:100%;min-width:800px;font-size:13px}.parts-table th,.parts-table td{text-align:left;border-bottom:1px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;padding:12px 14px}.parts-table th:last-child,.parts-table td:last-child{border-right:none}.parts-table td{vertical-align:middle}.parts-table th{background:var(--bg);-webkit-user-select:none;user-select:none;cursor:pointer;z-index:1;border-bottom:2px solid var(--border-strong);text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-size:11px;font-weight:600;transition:color .15s;position:sticky;top:0}.parts-table th:hover{color:var(--text)}.parts-table th.sorted{color:var(--primary)}.parts-table tbody tr{cursor:pointer;transition:background .12s,box-shadow .12s}.parts-table tbody tr:hover{background:var(--bg);box-shadow:inset 0 0 0 1px var(--border-strong)}.parts-table tbody tr:last-child td{border-bottom:none}.parts-table td select{border-radius:4px;padding:4px 8px;font-size:12px;transition:border-color .15s}.parts-table td select:hover{border-color:var(--text)}.mono{font-family:ui-monospace,Cascadia Mono,Menlo,Consolas,monospace;font-size:12px}.printers-page{padding:0 12px}.printers-summary{flex-wrap:wrap;gap:10px;margin:12px 0 16px;display:flex}.printers-summary-item{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:999px;align-items:center;gap:4px;padding:4px 12px;font-size:13px;font-weight:500;display:inline-flex}.printers-table .printers-job{white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-family:ui-monospace,Cascadia Mono,Menlo,Consolas,monospace;font-size:12px;overflow:hidden}.printers-progress{background:var(--border);border-radius:8px;width:140px;height:16px;position:relative;overflow:hidden}.printers-progress-bar{background:linear-gradient(90deg,#2ea043 0%,#36c25b 100%);height:100%;transition:width 1s linear}.printers-progress-label{text-align:center;color:#fff;text-shadow:0 0 2px #0009;font-size:11px;font-weight:600;line-height:16px;position:absolute;top:0;left:0;right:0}.printers-empty{text-align:center;color:var(--muted);padding:32px;font-style:italic}.muted{color:var(--muted)}.printer-cell select{max-width:140px}.printer-cell-pill{margin-top:4px}.printer-pill{border-radius:var(--wc-radius-full);font-size:10.5px;font-weight:var(--wc-fw-bold);letter-spacing:.3px;background:var(--wc-panel-hi);color:var(--text);border:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;max-width:220px;padding:3px 9px;display:inline-block;overflow:hidden}.printer-pill-running,.printer-pill-finish{background:var(--wc-green-tint);border-color:var(--wc-green-border);color:var(--wc-green)}.printer-pill-failed{background:var(--wc-red-tint);border-color:var(--wc-red-border);color:var(--wc-red)}.printer-pill-pause,.printer-pill-prepare{background:var(--wc-gold-tint);border-color:var(--wc-gold-border);color:var(--wc-gold)}.printer-pill-idle{background:var(--wc-panel-hi);border-color:var(--border);color:var(--muted)}.printer-pill-offline,.printer-pill-unknown{background:var(--wc-panel);border-color:var(--border);color:var(--wc-text-mute)}.badge{color:#fff;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block;box-shadow:0 1px 2px #0000001a}.prio-urgent{background:var(--urgent)}.prio-high{background:var(--high)}.prio-medium{background:var(--medium)}.prio-low{background:var(--low)}.status{font-weight:500}.status-done{color:var(--done)}.status-in-progress{color:var(--in-progress)}.status-waiting-for-approval{color:var(--waiting)}.status-not-started{color:var(--text)}.empty{text-align:center;color:var(--muted);padding:32px 16px}.loading,.error{text-align:center;color:var(--muted);padding:32px}.error{color:var(--danger)}.modal-backdrop{z-index:10;background:#070f22bf;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--wc-border-hi);border-radius:var(--wc-radius-2xl);width:100%;max-width:760px;max-height:90vh;box-shadow:var(--wc-shadow-modal);overflow:auto}.modal-header{border-bottom:1px solid var(--border);align-items:center;padding:14px 18px;display:flex}.modal-header h2{flex:1;margin:0;font-size:16px}.icon-btn{cursor:pointer;width:28px;height:28px;color:var(--muted);background:0 0;border:none;font-size:22px;line-height:1}.icon-btn:hover{color:var(--text)}.theme-toggle{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;width:32px;height:32px;color:var(--text);border-radius:6px;justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle:hover{border-color:var(--text)}.theme-icon{width:18px;height:18px;display:block}.form-grid{grid-template-columns:1fr 1fr;gap:12px;padding:16px 18px;display:grid}.form-grid label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.form-grid label>input,.form-grid label>select,.form-grid label>textarea{color:var(--text);font-size:14px}.form-grid .span-2{grid-column:span 2}.form-grid label.checkbox{color:var(--text);flex-direction:row;align-items:center;font-size:13px}.form-grid label.editable-field>input,.form-grid label.editable-field>select,.form-grid label.editable-field>textarea{border:2px solid #001f5c;border-radius:6px}.form-grid label.readonly-field{opacity:.6}.form-grid label.readonly-field>input,.form-grid label.readonly-field>select,.form-grid label.readonly-field>textarea{background-color:var(--bg);cursor:not-allowed}.form-grid .drawing-upload-card.readonly-field{opacity:.6}.form-grid label.readonly-field .tag-chips{background-color:var(--bg);cursor:not-allowed}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 18px;display:flex}.people-add{border-bottom:1px solid var(--border);grid-template-columns:1.5fr 1.5fr 1fr auto;gap:8px;padding:14px 18px;display:grid}.people-table{border-collapse:collapse;width:100%}.people-table th,.people-table td{text-align:left;border-bottom:1px solid var(--border);padding:6px 10px}.people-table th{background:var(--bg);font-weight:600}.people-table input,.people-table select{width:100%}.thumb-cell{width:220px;padding:4px 6px!important}.preview-images{align-items:center;gap:8px;display:flex}.thumb{object-fit:cover;background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:6px;width:100px;height:100px;transition:transform .12s,box-shadow .12s,border-color .12s;display:block;box-shadow:0 1px 3px #00000014}.thumb-clickable:hover{border-color:var(--wc-gold);box-shadow:0 0 0 2px #f0b8422e}.thumb:hover{transform:scale(1.05);box-shadow:0 2px 8px #0000001f}.thumb-drawing-wrapper{overflow:hidden}.thumb-placeholder{background:var(--bg);border:1px dashed var(--border-strong);width:100px;height:100px;color:var(--muted);border-radius:6px;justify-content:center;align-items:center;font-size:18px;display:flex}.image-overlay{z-index:10000;cursor:pointer;background:#000000d9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.image-overlay-content{justify-content:center;align-items:center;max-width:90vw;max-height:90vh;display:flex}.image-overlay-content img{object-fit:contain;border-radius:8px;max-width:100%;max-height:90vh;box-shadow:0 8px 32px #0006}.modal{max-width:980px}.form-with-preview{grid-template-columns:280px 1fr;gap:0;display:grid}.preview-pane{border-right:1px solid var(--border);background:var(--bg);flex-direction:column;gap:12px;padding:16px 18px;transition:background .12s;display:flex}.preview-pane.drag-over{background:var(--wc-gold-tint)}.preview-pane.drag-over .preview-empty,.preview-pane.drag-over img{border-color:var(--primary);border-style:solid}.preview-pane img{aspect-ratio:1;object-fit:contain;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%}.preview-pane img.preview-clickable{cursor:pointer;transition:border-color .12s,box-shadow .12s}.preview-pane img.preview-clickable:hover{border-color:var(--wc-gold);box-shadow:0 0 0 2px #f0b84226}.preview-empty{aspect-ratio:1;width:100%;color:var(--muted);background:var(--surface);border:1px dashed var(--border-strong);border-radius:8px;justify-content:center;align-items:center;font-size:13px;display:flex}.preview-actions{flex-direction:column;gap:6px;display:flex}.preview-status{color:var(--muted);word-break:break-word;font-size:12px}.preview-status.error{color:var(--danger)}.preview-status.muted{color:var(--muted)}.form-with-preview .form-grid{border-left:none}.search-toggle{display:none}@media (width<=800px){.form-with-preview{grid-template-columns:1fr}.preview-pane{border-right:none;border-bottom:1px solid var(--border)}.app-header{flex-wrap:wrap;gap:6px;padding:8px 12px}.app-header h1{font-size:18px}.subtitle,.build-sha{display:none}.spacer{flex-basis:100%;order:1}.app-header button{order:2;padding:5px 8px;font-size:12px}.app-header button.primary{flex:100%;order:3}main{padding:12px 8px}.modal-backdrop{align-items:flex-start;padding:12px}.modal{max-width:100%;max-height:95vh}.form-grid{grid-template-columns:1fr;padding:12px}.form-grid .span-2{grid-column:span 1}.parts-table{font-size:12px}.parts-table th,.parts-table td{padding:8px 6px}.filters{flex-flow:wrap;gap:4px}.filters input[type=text],.filters input:not([type]){flex:100%;order:1;min-width:100%;display:none}.filters input.search-expanded{display:block}.filters button.ghost{white-space:nowrap;flex:0 auto;order:2;padding:4px 8px;font-size:11px}.search-toggle{order:0;padding:4px 8px;font-size:14px;display:block}.filter-toggle{order:2;display:block}.result-count{flex:100%;order:3;margin-left:0}.dxf-exporter-body{grid-template-rows:1fr auto;grid-template-columns:1fr}.dxf-exporter-side{border-left:none;border-top:1px solid var(--border);max-height:40vh}.people-add{grid-template-columns:1fr}.printers-progress{width:100px}.tag-filter-bar{gap:4px}.tag-chip-btn{padding:2px 8px;font-size:11px}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.parts-table{min-width:800px}button,.dropdown-trigger,.tag-chip-btn,.icon-btn{min-width:44px;min-height:44px}.app-header button{min-height:36px;min-width:unset}input,select,textarea{min-height:44px}.preset-management-page{padding:12px}.batch-upload-zone{padding:32px 16px}.filter-dropdowns{flex-direction:column;align-items:stretch}.multi-select-dropdown{width:100%}.dropdown-trigger{justify-content:space-between;width:100%;display:flex}}.tag-input{position:relative}.tag-chips{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px;min-height:32px;padding:4px 6px;display:flex}.tag-chips:focus-within{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}.tag-chip{background:var(--wc-panel-hi);color:var(--primary);white-space:nowrap;border-radius:999px;align-items:center;gap:2px;padding:2px 4px 2px 8px;font-size:12px;font-weight:500;display:inline-flex}.tag-chip-x{color:var(--primary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0 2px;font-size:14px;line-height:1}.tag-chip-x:hover{background:var(--wc-gold-border)}.tag-chip-input{background:0 0;border:none;outline:none;flex:1;min-width:100px;padding:4px 2px}.tag-chip-input:focus{border:none;outline:none}.tag-suggestions{background:var(--surface);border:1px solid var(--border-strong);z-index:5;border-radius:6px;flex-direction:column;gap:2px;max-height:200px;margin-top:2px;padding:4px;display:flex;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 6px 18px #0000001a}.tag-suggestion{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px 8px;font-size:13px}.tag-suggestion:hover{background:var(--bg)}.tag-filter-bar{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0;display:flex}.tag-filter-label{color:var(--muted);margin-right:2px;font-size:12px;font-weight:600}.tag-chip-btn{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;color:var(--text);border-radius:999px;padding:3px 10px;font-size:12px}.tag-chip-btn:hover{border-color:var(--text)}.tag-chip-btn.on{background:var(--primary);color:#fff;border-color:var(--primary)}.filter-dropdowns{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;display:flex}.multi-select-dropdown{position:relative}.dropdown-trigger{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;color:var(--text);white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:13px}.dropdown-trigger:hover{border-color:var(--text)}.dropdown-trigger.active{background:var(--primary);color:#fff;border-color:var(--primary)}.dropdown-menu{background:var(--surface);border:1px solid var(--border-strong);z-index:10;border-radius:6px;min-width:200px;max-height:300px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 6px 18px #00000026}.dropdown-item{cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.dropdown-item:hover{background:var(--bg)}.dropdown-item.has-color:hover{filter:brightness(1.1);background:inherit!important}.dropdown-item input[type=checkbox]{cursor:pointer;width:16px;height:16px;margin:0}.dropdown-item span{flex:1}.tag-chip-static{background:var(--wc-gold-tint);color:var(--primary);white-space:nowrap;border:1px solid var(--wc-gold-border);border-radius:999px;margin-bottom:2px;margin-right:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.tags-cell{max-width:220px;line-height:1.5;white-space:normal!important}.part-timeline{border-top:1px solid var(--border);background:var(--bg);max-height:300px;padding:16px 18px;overflow-y:auto}.part-timeline-left{border-top:1px solid var(--border);max-height:400px;margin-top:12px;padding-top:12px;overflow-y:auto}.timeline-header{color:var(--text);margin:0 0 12px;font-size:14px;font-weight:600}.timeline-entries{flex-direction:column;gap:12px;display:flex}.timeline-entry{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:13px}.timeline-timestamp{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:500}.timeline-changes{flex-direction:column;gap:4px;display:flex}.timeline-change{line-height:1.5}.timeline-field{color:var(--text);font-weight:600}.timeline-old{color:var(--danger);text-decoration:line-through}.timeline-new{color:var(--done);font-weight:500}.batch-upload-modal{max-width:980px;min-height:400px}.batch-upload-zone{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px 32px;transition:background .12s;display:flex}.batch-upload-zone.drag-over{background:var(--wc-gold-tint)}.batch-upload-message{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.upload-icon{width:64px;height:64px;color:var(--muted)}.batch-upload-message p{color:var(--muted);margin:0;font-size:14px}.batch-progress{border-bottom:1px solid var(--border);background:var(--bg);flex-direction:column;gap:8px;padding:16px 18px;display:flex}.batch-progress span{color:var(--muted);font-size:13px;font-weight:600}.batch-progress-bar{background:var(--border);border-radius:999px;height:6px;overflow:hidden}.batch-progress-fill{background:var(--primary);height:100%;transition:width .3s}.batch-footer{align-items:center;gap:8px;display:flex}.batch-nav-buttons{gap:8px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.trash-header{border-bottom:1px solid var(--border);background:var(--surface);padding:20px}.trash-header h2{margin:0 0 8px;font-size:24px;font-weight:600}.trash-subtitle{color:var(--muted);margin:0;font-size:14px}.empty-trash{color:var(--muted);justify-content:center;align-items:center;padding:80px 20px;font-size:16px;display:flex}.preset-management-page{flex-direction:column;gap:20px;max-width:800px;margin:0 auto;padding:20px;display:flex}.preset-header h2{margin:0 0 8px;font-size:24px;font-weight:600}.preset-description{color:var(--muted);margin:0;font-size:14px}.preset-categories{flex-wrap:wrap;gap:8px;display:flex}.preset-content{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.preset-add-section{border-bottom:1px solid var(--border);gap:8px;padding:16px;display:flex}.preset-add-section input{flex:1}.preset-list{flex-direction:column;gap:0;max-height:500px;display:flex;overflow-y:auto}.preset-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;transition:background .12s;display:flex}.preset-item:last-child{border-bottom:none}.preset-item:hover{background:var(--bg)}.preset-value{color:var(--text);flex:1;font-size:14px}.preset-actions{gap:4px;display:flex}.preset-actions .icon-btn{border:1px solid var(--border-strong);background:var(--surface);width:32px;height:32px;font-size:16px}.preset-actions .icon-btn:hover:not(:disabled){border-color:var(--text);background:var(--bg)}.preset-actions .icon-btn:disabled{opacity:.3;cursor:not-allowed}.preset-actions .icon-btn.danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.preset-footer{border-top:1px solid var(--border);background:var(--bg);justify-content:flex-end;gap:8px;padding:16px;display:flex}.dxf-exporter{z-index:1000;background:var(--bg);color:var(--text);flex-direction:column;display:flex;position:fixed;inset:0}.dxf-exporter-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;display:flex}.dxf-exporter-header h2{margin:0;font-size:1.1rem}.dxf-exporter-subtitle{color:var(--muted);font-size:.9rem}.dxf-exporter-close{padding:6px 14px}.dxf-exporter-body{flex:1;grid-template-columns:1fr 340px;min-height:0;display:grid}.dxf-exporter-canvas-wrap{min-width:0;min-height:0;position:relative}.dxf-exporter-canvas{cursor:crosshair;width:100%;height:100%;display:block}.dxf-exporter-overlay{color:var(--text);pointer-events:none;background:#00000059;justify-content:center;align-items:center;font-size:1rem;display:flex;position:absolute;inset:0}.dxf-exporter-overlay.error{color:#ff8a8a;background:#000000a6}.dxf-exporter-side{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;gap:20px;padding:16px;display:flex;overflow-y:auto}.dxf-exporter-side h3{margin:0 0 8px;font-size:.95rem}.dxf-selection-card{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.dxf-selection-card label{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.dxf-selection-card input{padding:6px 8px;font-size:.95rem}.dxf-chip-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dxf-plane-chip{border-radius:var(--wc-radius-full);background:var(--wc-green-tint);border:1px solid var(--wc-green-border);color:var(--wc-green);font-weight:var(--wc-fw-bold);letter-spacing:.3px;padding:3px 9px;font-size:10.5px;display:inline-block}.dxf-muted{color:var(--muted);font-size:.85rem}.dxf-success{color:var(--wc-green);margin:0;font-size:.9rem}.dxf-error{color:var(--wc-red);margin:0;font-size:.9rem}.dxf-face-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dxf-face-list li{border:1px solid var(--border);background:var(--bg);border-radius:6px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.dxf-face-list a{font-weight:500}.dxf-face-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.dxf-face-download{font:inherit;font-weight:var(--wc-fw-semibold);text-align:left;color:var(--wc-gold);cursor:pointer;text-underline-offset:2px;text-overflow:ellipsis;background:0 0;border:none;flex:1;min-width:0;padding:0;text-decoration:underline;overflow:hidden}.dxf-face-download:hover{text-decoration:none}.dxf-face-delete{border:1px solid var(--border);border-radius:var(--wc-radius-md);width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;display:inline-flex}.dxf-face-delete:hover{color:var(--wc-red);border-color:var(--wc-red-border)}.viewer-envelope-chip{border-radius:var(--wc-radius-md);background:var(--wc-panel-hi);border:1px solid var(--border);color:var(--text);padding:8px 12px;font-size:.82rem;line-height:1.45}.viewer-envelope-chip strong{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:var(--wc-fw-bold);margin-bottom:2px;display:block}.viewer-envelope-chip-hover{cursor:help;transition:border-color .12s}.viewer-envelope-chip-hover:hover{border-color:var(--wc-gold)}.viewer-measure-panel{flex-direction:column;gap:10px;display:flex}.viewer-measure-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.viewer-measure-header h3{margin:0}.viewer-measure{flex-direction:column;gap:1px;display:flex}.viewer-measure-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:var(--wc-fw-bold)}.viewer-measure strong{color:var(--wc-gold);font-feature-settings:"tnum";font-size:1.05rem}.viewer-measure .dxf-muted{font-size:.78rem}.dxf-plane-chip.alt{color:#68a6ff;background:#68a6ff2e;border-color:#68a6ff8c}.viewer-context-action{border-top:1px solid var(--border);padding-top:12px}.viewer-context-action h3{margin:0 0 8px;font-size:.95rem}.preview-export-dxf-button{margin-top:4px}.exported-faces-section{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.exported-faces-section h4{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:.85rem}.drawing-upload-card{border:1px solid var(--border);background:var(--bg);border-radius:6px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.drawing-upload-header{justify-content:space-between;align-items:center;gap:12px;font-size:.9rem;display:flex}.drawing-upload-actions{gap:6px;display:flex}.drawing-upload-actions button{padding:4px 10px;font-size:.85rem}.drawing-button{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;padding:6px 10px;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.drawing-button:hover{border-color:var(--text)}.drawing-empty{color:var(--muted);justify-content:center;align-items:center;padding:6px 10px;font-size:.8rem;display:inline-flex}@media (width<=800px){.dxf-exporter-body{grid-template-rows:1fr auto;grid-template-columns:1fr}.dxf-exporter-canvas-wrap{min-height:50vh}.dxf-exporter-side{border-left:none;border-top:1px solid var(--border);max-height:45vh}}.stock-envelope{margin-top:6px;font-size:.85rem;font-weight:400;line-height:1.4}.stock-envelope-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:6px;font-size:.7rem;display:inline-block}.kit-tag-picker{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:4px 16px;margin-top:10px;display:grid}.kit-tag-pick{cursor:pointer;grid-template-columns:16px 14px 1fr;align-items:center;gap:8px;min-width:0;padding:3px 0;display:grid}.kit-tag-pick input[type=checkbox]{flex:none;width:16px;height:16px;margin:0}.kit-tag-pick>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kit-tag-swatch{border:1px solid var(--border);border-radius:4px;flex:none;width:14px;height:14px}.kit-boxtags{border-top:1px dashed var(--border);flex-basis:100%;margin-top:8px;padding-top:8px}.kit-boxtags-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.preset-item{flex-wrap:wrap}.preset-picker-section{display:block}.collapsible-material-select{width:100%;position:relative}.material-select-trigger{width:100%;font:inherit;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:5px 8px;display:flex}.material-select-trigger:hover{border-color:var(--text)}.material-select-trigger:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}.material-select-trigger:disabled{background-color:var(--bg);cursor:not-allowed;opacity:1}.material-select-arrow{color:var(--muted);margin-left:8px;font-size:10px}.material-select-dropdown{background:var(--surface);border:1px solid var(--border-strong);z-index:100;border-radius:6px;max-height:300px;padding:4px;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 6px 18px #00000026}.material-category-header{background:var(--bg);width:100%;color:var(--text);text-align:left;cursor:pointer;border:none;border-radius:4px;align-items:center;gap:8px;margin-bottom:2px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.material-category-header:hover{background:var(--border)}.category-arrow{color:var(--muted);width:12px;font-size:10px;display:inline-block}.material-category-items{margin-bottom:4px;padding-left:20px}.material-select-option{cursor:pointer;color:var(--text);border-radius:4px;padding:6px 10px;font-size:13px}.material-select-option:hover{background:var(--bg)}.material-select-option.selected{color:var(--primary);background:#2b5fda1a;font-weight:500}.status-page{flex-direction:column;flex:1;min-height:0;padding:8px 0;display:flex}.status-page-header{align-items:center;gap:var(--wc-space-3);margin-bottom:var(--wc-space-4);flex-wrap:wrap;display:flex}.status-page-filters{align-items:center;gap:var(--wc-space-2);display:flex}.status-page-clear{cursor:pointer;font-size:var(--wc-fs-12);color:var(--muted);background:0 0;border:none;padding:0;text-decoration:underline}.status-page-clear:hover{color:var(--text)}.status-page-title{font-size:var(--wc-fs-18);color:var(--text);margin:0;font-weight:600}.status-page-count{font-size:var(--wc-fs-12);color:var(--muted)}.status-board{gap:var(--wc-space-4) var(--wc-space-2);flex:1;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:stretch;min-height:0;display:grid}.status-col{background:var(--wc-panel);border:1px solid var(--border);border-radius:var(--wc-radius-lg);flex-direction:column;min-width:0;min-height:0;display:flex}.status-col-header{align-items:center;gap:var(--wc-space-2);padding:var(--wc-space-3);background:var(--surface);border-bottom:1px solid var(--border);border-radius:var(--wc-radius-lg) var(--wc-radius-lg) 0 0;font-size:var(--wc-fs-12);letter-spacing:var(--wc-tracking-label);text-transform:uppercase;color:var(--text);font-weight:700;display:flex}.status-col-dot{border-radius:50%;flex:none;width:8px;height:8px}.status-col-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.status-col-count{background:var(--bg);color:var(--muted);border-radius:999px;flex:none;padding:1px 8px;font-weight:600}.status-col-body{gap:var(--wc-space-2);padding:var(--wc-space-3);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.status-col-empty{padding:var(--wc-space-3);text-align:center;color:var(--wc-text-mute);font-size:var(--wc-fs-12)}.status-col-more{padding:var(--wc-space-2) var(--wc-space-3);border-top:1px solid var(--border);color:var(--muted);font-size:var(--wc-fs-11);text-align:center}.status-card{gap:var(--wc-space-2);padding:var(--wc-space-3);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--status-col-color,transparent);border-radius:var(--wc-radius-md);content-visibility:auto;contain-intrinsic-size:auto 135px;flex-direction:column;align-items:stretch;display:flex}.status-card-row{align-items:center;gap:var(--wc-space-3);min-width:0;display:flex}.status-card-thumb{object-fit:contain;border-radius:var(--wc-radius-sm);background:var(--surface);flex:none;width:50px;height:50px;display:block}.status-card-thumb-empty{color:var(--wc-text-mute);font-size:var(--wc-fs-12);justify-content:center;align-items:center;display:flex}.status-card-thumb-btn{cursor:pointer;border-radius:var(--wc-radius-sm);background:0 0;border:0;flex:none;padding:0;line-height:0;display:block}.status-card-thumb-btn:hover .status-card-thumb{outline:2px solid #f0b8422e}.status-card-number{font-size:var(--wc-fs-22);color:var(--text);white-space:normal;overflow-wrap:anywhere;font-weight:600}.status-card-info{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.status-card-meta{min-width:0;font-size:var(--wc-fs-15);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.status-card-chip{font-size:var(--wc-fs-15);white-space:nowrap;border-radius:999px;padding:3px 10px}.status-card-printer{font-size:var(--wc-fs-15);white-space:nowrap;background:var(--wc-green-tint);border:1px solid var(--wc-green-border);color:var(--wc-green);border-radius:999px;padding:3px 10px}.status-card-desc{min-width:0;font-size:var(--wc-fs-15);color:var(--muted);-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.status-card-qty{color:var(--text);font-weight:700}.status-card-time{color:var(--wc-text-mute)}@media (width<=900px){.status-page,.status-board{flex:none;min-height:auto}.status-col-body{flex:none;min-height:auto;overflow-y:visible}}.kitting-page{padding:8px 0}.kitting-header{align-items:baseline;gap:var(--wc-space-3);margin-bottom:var(--wc-space-4);flex-wrap:wrap;display:flex}.kitting-header h2{font-size:var(--wc-fs-18);color:var(--text);margin:0;font-weight:600}.kitting-count{font-size:var(--wc-fs-12);color:var(--muted)}.kit-board{gap:var(--wc-space-4);grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));align-items:start;display:grid}.kit-box{align-items:flex-start;gap:var(--wc-space-2);text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--kit-box-color,var(--muted));border-radius:var(--wc-radius-lg);flex-direction:column;width:100%;padding:14px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.kit-box:hover{border-color:var(--border-hi,var(--border));border-left-color:var(--kit-box-color,var(--muted));transform:translateY(-2px);box-shadow:0 10px 24px #0000002e}.kit-box-header{align-items:center;gap:var(--wc-space-2);display:flex}.kit-box-counts{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.kit-box-figure{font-size:var(--wc-fs-18);color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.kit-box-unit{font-size:var(--wc-fs-12);color:var(--muted);margin-right:8px}.kit-box-breakdown{flex-wrap:wrap;gap:6px;display:flex}.kit-box-empty{font-size:var(--wc-fs-12);color:var(--muted)}.kit-pill{font-size:var(--wc-fs-12);white-space:nowrap;border:1px solid;border-radius:999px;padding:2px 8px}.kit-back{font-size:var(--wc-fs-12);padding:4px 10px}.kit-dot{border-radius:50%;flex:none;width:10px;height:10px}.kit-detail-add{font-size:var(--wc-fs-12);margin-left:auto;padding:6px 12px}.kit-detail{gap:var(--wc-space-4);flex-direction:column;display:flex}.kit-detail-section h3{margin:0 0 var(--wc-space-2);font-size:var(--wc-fs-12);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.kit-detail-section .kit-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--wc-radius-lg);overflow:hidden}.kit-chip-tag{font-weight:600}.kit-list{margin:0;padding:0;list-style:none}.kit-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 12px;display:flex}.kit-row:last-child{border-bottom:none}.kit-row-part{opacity:.78}.kit-thumb{border-radius:var(--wc-radius-md);border:1px solid var(--border);background:var(--panel,#ffffff08);flex:none;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex;overflow:hidden}.kit-thumb img{object-fit:cover;width:100%;height:100%;display:block}.kit-thumb-empty{color:var(--muted);font-size:var(--wc-fs-12)}.kit-thumb-btn{cursor:pointer}.kit-row-main{text-align:left;flex:1;min-width:0}.kit-row-main-btn{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;padding:0}.kit-row-name{font-size:var(--wc-fs-14);color:var(--text);overflow-wrap:anywhere}.kit-row-sub{font-size:var(--wc-fs-12);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kit-row-qty{font-size:var(--wc-fs-12);color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.kit-row-state{flex:none}.kit-chip{font-size:var(--wc-fs-12);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px;display:inline-block}.kit-select{font-size:var(--wc-fs-12);border-radius:var(--wc-radius-md);border:1px solid var(--border);padding:3px 6px}.kit-select.kit-have{border-color:var(--done);color:var(--done)}.kit-select.kit-need{border-color:var(--wc-red,#e5534b);color:var(--wc-red,#e5534b)}.kit-select.kit-ordered{border-color:var(--in-progress);color:var(--in-progress)}.kitting-dialog-body{gap:var(--wc-space-3);padding:var(--wc-space-4);flex-direction:column;display:flex}.kitting-dialog-row{gap:var(--wc-space-3);grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));display:grid}.kitting-photo-card{align-items:center;gap:var(--wc-space-3);border:1px solid var(--border);border-radius:var(--wc-radius-lg);padding:10px;display:flex}.kitting-photo-preview{border-radius:var(--wc-radius-md);border:1px solid var(--border);flex:none;justify-content:center;align-items:center;width:84px;height:84px;display:flex;overflow:hidden}.kitting-photo-preview img{object-fit:cover;width:100%;height:100%;display:block}.kitting-photo-actions{gap:var(--wc-space-2);flex-wrap:wrap;display:flex}.kit-views{margin-bottom:var(--wc-space-4);flex-wrap:wrap;gap:6px;display:flex}.kit-views button{font-size:var(--wc-fs-12);border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:5px 14px}.kit-views button:hover{color:var(--text)}.kit-views button.active{background:var(--panel-hi,#ffffff14);border-color:var(--border-hi,var(--border));color:var(--text);font-weight:600}.kit-box-preview{border-top:1px solid var(--border);flex-direction:column;gap:3px;width:100%;margin-top:2px;padding-top:8px;display:flex}.kit-box-prow{grid-template-columns:22px 1fr auto;align-items:center;gap:8px;min-width:0;display:grid}.kit-box-pthumb{border:1px solid var(--border);background:var(--panel,#ffffff08);border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;display:flex;overflow:hidden}.kit-box-pthumb img{object-fit:cover;width:100%;height:100%;display:block}.kit-box-pthumb .kit-thumb-empty{font-size:10px}.kit-box-pname{font-size:var(--wc-fs-12);color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.kit-box-pdot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.kit-box-pmore{font-size:var(--wc-fs-12);color:var(--muted);padding-left:30px}.kit-row-link{font-size:var(--wc-fs-12);color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;flex:none;padding:2px 8px}.kit-row-link:hover{color:var(--text);border-color:var(--border-hi,var(--border))}.kit-box-plink{color:var(--muted)}
