:root{--wc-bg:#0a1633;--wc-bg-deep:#070f22;--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-fw-regular:400;--wc-fw-medium:500;--wc-fw-semibold:600;--wc-fw-bold:700;--wc-fw-extrabold:800;--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;--bg:var(--wc-bg);--surface:#15203f;--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:12px;padding:12px 20px;display:flex}.app-header h1{font-size:22px;font-weight:var(--wc-fw-extrabold);letter-spacing:-.5px;color:var(--wc-text);margin:0}.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}.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;display:block;box-shadow:0 1px 3px #00000014}.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-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)}.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}.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;gap:24px;padding:8px 0;display:flex}.status-header{flex-direction:column;gap:16px;display:flex}.status-header h2{margin:0;font-size:20px;font-weight:600}.time-filter-buttons{flex-wrap:wrap;gap:8px;display:flex}.filter-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.filter-btn:hover{background:var(--bg);border-color:var(--primary)}.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.overall-stats{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:32px;padding:16px 20px;display:flex}.stat-item{align-items:baseline;gap:8px;display:flex}.stat-label{color:var(--muted);font-size:13px}.stat-value{color:var(--text);font-size:18px;font-weight:600}.stat-value.stat-done{color:var(--done)}.status-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.machine-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:14px;padding:16px;display:flex}.machine-header{justify-content:space-between;align-items:baseline;display:flex}.machine-header h3{margin:0;font-size:15px;font-weight:600}.machine-total{color:var(--muted);font-size:12px}.progress-bar-container{align-items:center;gap:12px;display:flex}.progress-bar{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex:1;height:24px;display:flex;overflow:hidden}.progress-segment{height:100%;transition:width .3s}.progress-segment.done{background:var(--done)}.progress-segment.in-progress{background:var(--in-progress)}.progress-segment.not-started{background:var(--muted)}.progress-segment.waiting{background:var(--waiting)}.progress-percent{color:var(--text);text-align:right;min-width:48px;font-size:14px;font-weight:600}.machine-breakdown{flex-direction:column;gap:8px;display:flex}.breakdown-item{border-radius:4px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;transition:background-color .2s;display:flex}.breakdown-item.clickable{cursor:pointer}.breakdown-item.clickable:hover,.breakdown-item.expanded{background:var(--bg)}.breakdown-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.breakdown-dot.done{background:var(--done)}.breakdown-dot.in-progress{background:var(--in-progress)}.breakdown-dot.not-started{background:var(--muted)}.breakdown-dot.waiting{background:var(--waiting)}.breakdown-label{color:var(--muted)}.breakdown-value{margin-left:auto;font-weight:600}.parts-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:8px;max-height:400px;margin-top:8px;margin-left:16px;padding:12px;display:flex;overflow-y:auto}.part-item{background:var(--bg);border:1px solid var(--border);border-radius:4px;align-items:center;gap:12px;padding:8px;display:flex}.part-thumbnail{object-fit:cover;background:var(--surface);border-radius:4px;flex-shrink:0;width:48px;height:48px}.part-thumbnail-placeholder{background:var(--bg);border:1px solid var(--border);width:48px;height:48px;color:var(--muted);text-align:center;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex}.part-info{flex-direction:column;flex:1;gap:4px;display:flex}.part-number{color:var(--text);font-size:13px;font-weight:600}.part-status{border-radius:3px;width:fit-content;padding:2px 6px;font-size:11px;font-weight:500;display:inline-block}.part-status.done{background:var(--done);color:#fff}.part-status.in-progress{background:var(--in-progress);color:#fff}.part-status.not-started{background:var(--muted);color:#fff}.part-status.waiting{background:var(--waiting);color:#fff}@media (width<=640px){.status-grid{grid-template-columns:1fr}.overall-stats{flex-direction:column;gap:12px}}
