@font-face{font-family:Transducer Test;src:url(/assets/TransducerTest-Black-CDckYUYw.otf) format("opentype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Transducer Test;src:url(/assets/TransducerTest-Regular-DJOmdlP_.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Transducer Test;src:url(/assets/TransducerTest-HairlineOblique-BVGeCF2p.otf) format("opentype");font-weight:100;font-style:oblique;font-display:swap}:root{--bone-1: #F4F1EA;--bone-2: #EAE6DA;--bone-3: #DED9C9;--paper: #FDFDFD;--black: #1A1C1B;--lime: #A3FF00;--lime-soft: #C6F684;--lime-light: #DDFBB3;--forest-1: #1A371F;--forest-2: #28532F;--forest-3: #214527;--forest-4: #132817;--silver: #BFC0C1;--tan: #B79E80;--surface-app: var(--bone-1);--surface: var(--paper);--surface-sunken: #EFEBE1;--surface-hover: #F7F5EF;--ink: var(--black);--ink-muted: #5B635C;--ink-faint: #858E86;--ink-inverse: var(--bone-1);--line: #E3DFD3;--line-strong: #CBC6B6;--chrome-bg: var(--forest-4);--chrome-bg-raised: var(--forest-3);--chrome-ink: var(--bone-1);--chrome-ink-muted: rgba(244, 241, 234, .62);--chrome-line: rgba(163, 255, 0, .14);--chrome-grid: rgba(163, 255, 0, .045);--accent: var(--lime);--accent-ink: var(--forest-4);--accent-soft: var(--lime-soft);--action: var(--forest-2);--action-hover: var(--forest-1);--action-ink: var(--bone-1);--action-subtle-bg: #E7EFE3;--focus-ring: rgba(40, 83, 47, .35);--selected-bg: rgba(163, 255, 0, .12);--danger: #C24747;--danger-bg: #F7E4E1;--danger-ink: #99312E;--warn: #B5811E;--warn-bg: #F5E9CC;--warn-ink: #7A5B1E;--ok: #4FA152;--ok-bg: #E2F1D9;--ok-ink: #2C6B30;--info: #3E7CB1;--info-bg: #DFEAF3;--info-ink: #2B5578;--status-gray-bg: #E8E6DE;--status-gray-text: #4A5049;--status-gray-solid: #7A8278;--status-green-bg: #E2F1D9;--status-green-text: #2C6B30;--status-green-solid: #4FA152;--status-darkgreen-bg: #CFE8C2;--status-darkgreen-text: #1A371F;--status-darkgreen-solid: #28532F;--status-blue-bg: #DFEAF3;--status-blue-text: #2B5578;--status-blue-solid: #3E7CB1;--status-purple-bg: #ECE5F6;--status-purple-text: #5C4586;--status-purple-solid: #8B6FB8;--status-amber-bg: #F5E9CC;--status-amber-text: #7A5B1E;--status-amber-solid: #B5811E;--status-orange-bg: #F7E7D4;--status-orange-text: #8A4A1E;--status-orange-solid: #CE7B3C;--status-red-bg: #F7E4E1;--status-red-text: #99312E;--status-red-solid: #C24747;--font-display: "Transducer Test", "Arial Black", sans-serif;--font-body: "Exo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Monaco, "Courier New", monospace;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-title: 24px;--ls-display: .01em;--ls-label: .06em;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-1: 0 1px 2px rgba(26, 28, 27, .06);--shadow-2: 0 2px 8px rgba(26, 28, 27, .08);--shadow-3: 0 8px 24px rgba(26, 28, 27, .12);--shadow-modal: 0 12px 40px rgba(26, 28, 27, .22);--scrim: rgba(19, 40, 23, .55);--transition-fast: .2s ease;--sidebar-width: 220px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--color-primary: var(--chrome-bg);--color-primary-hover: var(--chrome-bg-raised);--color-accent: var(--action);--color-text: var(--ink);--color-text-muted: var(--ink-muted);--color-background: var(--surface-app);--color-surface: var(--surface);--color-border: var(--line)}:root[data-theme=dark]{color-scheme:dark;--surface-app: #131711;--surface: #1B211A;--surface-sunken: #171C16;--surface-hover: #232B22;--ink: #EDEAE0;--ink-muted: #A8B0A6;--ink-faint: #7C857B;--ink-inverse: #1A1C1B;--line: #2A322A;--line-strong: #3C463B;--chrome-bg: #0E1A10;--chrome-bg-raised: #16261A;--chrome-ink: var(--bone-1);--chrome-ink-muted: rgba(244, 241, 234, .55);--action: #5FA26A;--action-hover: #74B87E;--action-ink: #10140F;--action-subtle-bg: #20301F;--focus-ring: rgba(163, 255, 0, .28);--selected-bg: rgba(163, 255, 0, .1);--danger: #E07B72;--danger-bg: #3A211F;--danger-ink: #F0A9A2;--warn: #D9A94A;--warn-bg: #382E17;--warn-ink: #E8C87E;--ok: #7CC284;--ok-bg: #20301F;--ok-ink: #A5D9AB;--info: #7BAFD9;--info-bg: #1D2A36;--info-ink: #A9CBE8;--status-gray-bg: #262B26;--status-gray-text: #C2C8C0;--status-gray-solid: #8B948A;--status-green-bg: #20301F;--status-green-text: #A5D9AB;--status-green-solid: #66B36E;--status-darkgreen-bg: #1C2F1D;--status-darkgreen-text: #B9E2BB;--status-darkgreen-solid: #4E8556;--status-blue-bg: #1D2A36;--status-blue-text: #A9CBE8;--status-blue-solid: #5E96C4;--status-purple-bg: #2A2438;--status-purple-text: #CBBBE8;--status-purple-solid: #9D85C6;--status-amber-bg: #382E17;--status-amber-text: #E8C87E;--status-amber-solid: #C9973C;--status-orange-bg: #38271A;--status-orange-text: #E8B48A;--status-orange-solid: #D28B50;--status-red-bg: #3A211F;--status-red-text: #F0A9A2;--status-red-solid: #D06A62;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 2px 8px rgba(0, 0, 0, .45);--shadow-3: 0 8px 24px rgba(0, 0, 0, .5);--shadow-modal: 0 12px 40px rgba(0, 0, 0, .65);--scrim: rgba(0, 0, 0, .62)}.grid-texture{background-image:linear-gradient(var(--chrome-grid) 1px,transparent 1px),linear-gradient(90deg,var(--chrome-grid) 1px,transparent 1px);background-size:48px 48px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:1.5;color:var(--ink);background-color:var(--surface-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:var(--font-mono);font-size:.92em}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}a{color:var(--action)}:focus-visible{outline:2px solid var(--action);outline-offset:1px}::selection{background:var(--lime-soft);color:var(--black)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:5px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--ink-faint);background-clip:content-box}@media print{:root{--surface-app: #fff;--surface: #fff;--surface-sunken: #fff;--surface-hover: #fff;--ink: #000;--ink-muted: #333;--ink-faint: #666;--line: #ccc;--line-strong: #999}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.label-print-modal .label-print-content{max-width:800px;max-height:90vh;overflow-y:auto}.print-toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8fafc;border-radius:8px;margin-bottom:16px}.label-count{color:#64748b;font-size:14px}.print-instructions{margin-top:24px;padding:16px;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px}.print-instructions h4{margin:0 0 8px;color:#92400e;font-size:14px}.print-instructions ul{margin:0;padding-left:20px;color:#78350f;font-size:13px}.print-instructions li{margin-bottom:4px}.labels-preview{display:flex;flex-wrap:wrap;gap:12px;padding:16px;background:#e2e8f0;border-radius:8px;min-height:150px}.inventory-label{width:200px;height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;box-sizing:border-box;border:1px dashed #94a3b8;background:#fff;page-break-inside:avoid}.label-qr{flex-shrink:0;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.label-qr svg{width:100%;height:100%}.label-info{width:100%;padding-top:8px;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}.label-part-number{font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1e293b;max-width:100%}.label-part-name{font-size:10px;color:#475569;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.label-serial{font-family:SF Mono,Monaco,Consolas,monospace;font-size:9px;color:#64748b}.label-location{font-size:9px;color:#059669;font-weight:500}.scanner-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:var(--chrome-bg);color:var(--accent);border:1px solid var(--chrome-line);box-shadow:0 4px 14px #13281766;cursor:pointer;z-index:1000;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}.scanner-fab:hover{transform:scale(1.05);box-shadow:0 6px 18px #13281780}.scanner-fab:active{transform:scale(.95)}.scanner-fab svg{width:24px;height:24px}@media(max-width:768px){.scanner-fab{bottom:80px}}.qr-scanner-modal{position:fixed;inset:0;background:#000;z-index:2000;display:flex;flex-direction:column}.qr-scanner-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#000c;color:#fff}.qr-scanner-header h2{margin:0;font-size:18px;font-weight:600}.qr-scanner-close{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:4px 12px}.qr-scanner-viewfinder{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.qr-scanner-viewfinder #qr-reader{width:100%!important;max-width:500px}.qr-scanner-viewfinder #qr-reader video{width:100%!important;border-radius:8px}.qr-scanner-footer{padding:24px;background:#000c;text-align:center}.qr-scanner-hint{color:#ffffffb3;font-size:14px;margin:0}.qr-scanner-error{color:#f87171;font-size:14px;margin:0;padding:16px;text-align:center}.permission-help{color:#fff;text-align:center;padding:32px;max-width:400px}.permission-help h3{color:#fbbf24;margin-bottom:16px}.permission-help p{color:#fffc;margin-bottom:16px}.permission-help ol{text-align:left;color:#ffffffb3;padding-left:24px}.permission-help li{margin-bottom:8px}.quick-move-modal .modal-content{max-width:400px}.quick-move-summary{padding:16px;background:#f8fafc;border-radius:8px;margin-bottom:16px}.quick-move-summary h3{margin:0 0 4px;font-size:18px;font-weight:600;color:#1e293b}.quick-move-summary .part-name{color:#64748b;font-size:14px;margin-bottom:12px}.quick-move-details{display:flex;flex-wrap:wrap;gap:8px}.quick-move-details .detail-badge{display:inline-flex;align-items:center;padding:4px 8px;background:#e2e8f0;border-radius:4px;font-size:12px;color:#475569}.quick-move-form{margin-bottom:16px}.quick-move-form label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.quick-move-form select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff}.quick-move-form select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.current-location{margin-top:8px;font-size:13px;color:#64748b}.quick-move-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid #e5e7eb}.quick-move-actions .btn-link{background:none;border:none;color:#3b82f6;font-size:14px;cursor:pointer;padding:8px 0}.quick-move-actions .btn-link:hover{text-decoration:underline}.scan-page{max-width:500px;margin:0 auto;padding:24px}.scan-page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#64748b}.scan-page-error{text-align:center;padding:48px 24px}.scan-page-error h2{color:#dc2626;margin-bottom:8px}.scan-page-error p{color:#64748b;margin-bottom:24px}.bulk-actions-bar{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:16px}.bulk-actions-bar .selection-count{font-size:14px;color:#1e40af;font-weight:500}.bulk-actions-bar .btn{padding:6px 12px;font-size:13px}.checkbox-col{width:40px;text-align:center}.checkbox-col input[type=checkbox]{width:16px;height:16px;cursor:pointer}*{box-sizing:border-box;margin:0;padding:0}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--chrome-bg);background-image:linear-gradient(var(--chrome-grid) 1px,transparent 1px),linear-gradient(90deg,var(--chrome-grid) 1px,transparent 1px);background-size:48px 48px}.login-box{position:relative;background:var(--surface);padding:40px;border-radius:var(--radius-sm);box-shadow:0 10px 40px #00000073;width:100%;max-width:400px}.login-box:before{content:"";position:absolute;inset:-14px;pointer-events:none;background:linear-gradient(var(--accent),var(--accent)) top left / 28px 2px,linear-gradient(var(--accent),var(--accent)) top left / 2px 28px,linear-gradient(var(--accent),var(--accent)) top right / 28px 2px,linear-gradient(var(--accent),var(--accent)) top right / 2px 28px,linear-gradient(var(--accent),var(--accent)) bottom left / 28px 2px,linear-gradient(var(--accent),var(--accent)) bottom left / 2px 28px,linear-gradient(var(--accent),var(--accent)) bottom right / 28px 2px,linear-gradient(var(--accent),var(--accent)) bottom right / 2px 28px;background-repeat:no-repeat}.login-logo{display:block;width:180px;margin-bottom:14px}.login-box h1{font-family:var(--font-display);font-weight:900;text-transform:uppercase;letter-spacing:var(--ls-display);color:var(--ink);margin-bottom:8px;font-size:20px;line-height:1}.login-box h2{color:var(--ink-muted);font-size:15px;font-weight:400;text-transform:uppercase;letter-spacing:var(--ls-label);margin-bottom:24px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--ink)}.form-group input{width:100%;padding:12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:16px;font-family:var(--font-body);background:var(--surface);color:var(--ink);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input:focus{outline:none;border-color:var(--action);box-shadow:0 0 0 3px var(--focus-ring)}.login-button{width:100%;padding:14px;background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius-sm);font-size:15px;font-family:var(--font-body);font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:background-color var(--transition-fast)}.login-button:hover{background:var(--accent-soft)}.login-button:disabled{background:var(--line-strong);color:var(--ink-muted);cursor:not-allowed}.error-message{background:var(--danger-bg);color:var(--danger-ink);padding:12px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px}.toggle-auth{margin-top:20px;text-align:center;color:var(--ink-muted)}.link-button{background:none;border:none;color:var(--ink);font-weight:600;cursor:pointer;text-decoration:underline}.app-layout{display:flex;min-height:100vh}.sidebar{width:220px;background-color:var(--chrome-bg);background-image:linear-gradient(var(--chrome-grid) 1px,transparent 1px),linear-gradient(90deg,var(--chrome-grid) 1px,transparent 1px);background-size:48px 48px;color:var(--chrome-ink);display:flex;flex-direction:column;position:fixed;height:100vh;z-index:100;border-right:1px solid var(--chrome-line)}.sidebar-header{padding:20px;border-bottom:1px solid var(--chrome-line)}.sidebar-header h1{font-family:var(--font-body);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--accent);opacity:.85}.sidebar-logo{display:block;width:132px;margin-bottom:10px}.user-email{font-size:11px;color:var(--chrome-ink-muted);display:block;margin-top:6px;overflow:hidden;text-overflow:ellipsis}.nav-links{list-style:none;flex:1;padding:12px 0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--chrome-line) transparent}.nav-links::-webkit-scrollbar{width:8px}.nav-links::-webkit-scrollbar-track{background:transparent}.nav-links::-webkit-scrollbar-thumb{background:#a3ff002e;border-radius:4px}.nav-links::-webkit-scrollbar-thumb:hover{background:#a3ff004d}.nav-links li a{display:flex;align-items:center;gap:10px;padding:9px 20px;color:var(--chrome-ink-muted);font-size:13px;font-weight:500;text-decoration:none;border-left:2px solid transparent;transition:color var(--transition-fast),background-color var(--transition-fast)}.nav-links li a .nav-icon{flex:0 0 auto;opacity:.75}.nav-links li a:hover{background:#a3ff000f;color:var(--chrome-ink)}.nav-links li a.active{background:#a3ff0017;color:var(--accent);border-left:2px solid var(--accent)}.nav-links li a.active .nav-icon{opacity:1}.nav-section-header{display:flex;align-items:center;padding:10px 20px 6px;color:var(--chrome-ink-muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:var(--ls-label);cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:10px;transition:color var(--transition-fast)}.nav-section-header:hover{color:var(--accent)}.nav-section-toggle{margin-right:6px;width:12px;display:inline-flex;align-items:center}.nav-section-item a{padding-left:30px!important}.sidebar-footer{padding:16px 20px;border-top:1px solid var(--chrome-line)}.logout-button{width:100%;padding:9px;background:transparent;color:var(--chrome-ink-muted);border:1px solid var(--chrome-line);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.logout-button:hover{color:var(--accent);border-color:var(--accent)}.main-content{flex:1;margin-left:220px;padding:24px;background:var(--surface-app);min-height:100vh}.dashboard h1{margin-bottom:24px;font-family:var(--font-display);font-weight:900;text-transform:uppercase;letter-spacing:var(--ls-display);font-size:var(--text-title);color:var(--ink)}.welcome-note{background:var(--action-subtle-bg);border-left:3px solid var(--action);padding:16px 20px;margin-bottom:24px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--action-hover);font-size:14px;line-height:1.5}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.stats-grid{grid-template-columns:1fr}}.stat-card{position:relative;background:var(--surface);padding:20px 24px;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.stat-card:before{content:"";position:absolute;inset:6px;pointer-events:none;background:linear-gradient(var(--line-strong),var(--line-strong)) top left / 14px 1.5px,linear-gradient(var(--line-strong),var(--line-strong)) top left / 1.5px 14px,linear-gradient(var(--line-strong),var(--line-strong)) bottom right / 14px 1.5px,linear-gradient(var(--line-strong),var(--line-strong)) bottom right / 1.5px 14px;background-repeat:no-repeat;transition:opacity var(--transition-fast)}.stat-card:hover:before{background:linear-gradient(var(--accent),var(--accent)) top left / 14px 1.5px,linear-gradient(var(--accent),var(--accent)) top left / 1.5px 14px,linear-gradient(var(--accent),var(--accent)) bottom right / 14px 1.5px,linear-gradient(var(--accent),var(--accent)) bottom right / 1.5px 14px;background-repeat:no-repeat}.stat-card h3{color:var(--ink-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:var(--ls-label);margin-bottom:10px}.stat-number{font-family:var(--font-display);font-size:34px;font-weight:900;line-height:1;color:var(--ink)}.view-container{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden}.view-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.view-header h1{font-family:var(--font-display);font-weight:900;text-transform:uppercase;letter-spacing:var(--ls-display);font-size:var(--text-title);color:var(--ink)}.view-header .count{color:var(--ink-faint);font-size:14px;font-variant-numeric:tabular-nums}.search-bar{padding:16px 24px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center}.search-bar input{flex:1;padding:10px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-body);background:var(--surface);color:var(--ink);box-sizing:border-box;height:40px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-bar input:focus{outline:none;border-color:var(--action);box-shadow:0 0 0 3px var(--focus-ring)}.filter-select,.filter-select select,select.filter-select{padding:10px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-body);color:var(--ink);background:var(--surface);min-width:160px;cursor:pointer;box-sizing:border-box;height:40px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.filter-select:focus,.filter-select select:focus,select.filter-select:focus{outline:none;border-color:var(--action);box-shadow:0 0 0 3px var(--focus-ring)}.filters-row{display:flex;gap:16px;padding:16px 24px;border-bottom:1px solid var(--line)}.filters-row .search-bar{flex:1;padding:0;border:none}.clear-filters-btn{padding:12px 16px;background:var(--danger-bg);color:var(--danger);border:none;border-radius:var(--radius-lg);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap}.clear-filters-btn:hover{background:var(--danger-bg)}.list-detail-layout{display:flex;height:calc(100vh - 220px);min-height:400px}.list-panel{flex:1;overflow-y:auto;overflow-x:hidden}.detail-panel{position:fixed;top:0;right:0;height:100vh;width:380px;max-width:90vw;border-left:1px solid var(--line);box-shadow:-4px 0 16px #0000001f;padding:24px;background:var(--surface-sunken);overflow-y:auto;z-index:500}.detail-panel-close{position:absolute;top:16px;right:16px;width:28px;height:28px;border:none;background:transparent;color:var(--ink-faint);font-size:24px;line-height:1;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .15s}.detail-panel-close:hover{background:var(--line);color:var(--ink)}.detail-panel h2{font-size:20px;color:var(--ink);margin-bottom:4px;padding-right:32px;overflow-wrap:anywhere}.detail-panel h3{font-size:16px;color:var(--ink-muted);font-weight:400;margin-bottom:24px}.data-table{width:100%;border-collapse:collapse;table-layout:fixed}.data-table th{text-align:left;padding:11px 16px;background:var(--surface-sunken);color:var(--ink-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:var(--ls-label);border-bottom:1px solid var(--line-strong);position:sticky;top:0;z-index:10;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table td{padding:11px 16px;border-bottom:1px solid var(--line);font-size:13px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table .checkbox-col{width:40px;text-align:center;font-size:0}.data-table .checkbox-col input[type=checkbox]{font-size:14px;cursor:pointer;width:16px;height:16px;margin:0}.data-table tbody tr{cursor:pointer;transition:background-color .15s}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table tbody tr.selected{background:var(--selected-bg);box-shadow:inset 2px 0 0 var(--accent)}.part-number,.po-number,.vendor-name,.location-name{font-family:var(--font-mono);font-weight:600;color:var(--ink)}.col-expand-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;margin-left:2px;background:none;border:1px solid var(--line-strong);border-radius:3px;color:var(--ink-muted);font-size:10px;cursor:pointer;flex-shrink:0}.col-expand-btn:hover{background:var(--line);color:var(--ink)}.col-resize-handle{position:absolute;top:0;bottom:0;right:0;width:14px;cursor:col-resize;z-index:1}.col-resize-handle:after{content:"";position:absolute;top:20%;bottom:20%;right:0;width:2px;background:var(--line-strong)}.col-resize-handle:hover:after{width:4px;background:var(--action)}.abom-print-view{display:none}@media print{body:has(.abom-print-view) #root{display:none!important}.abom-print-view{display:block!important;color:#000;font-size:11px}.abom-print-view h1{font-size:16px;margin:0 0 4px}.abom-print-view .print-meta{font-size:11px;color:#333;margin-bottom:12px}.abom-print-view table{width:100%;border-collapse:collapse}.abom-print-view th,.abom-print-view td{border:1px solid #999;padding:3px 6px;text-align:left;vertical-align:top}.abom-print-view th{background:#eee;font-size:10px;text-transform:uppercase}.abom-print-view tr{break-inside:avoid}.abom-print-view .print-sub td{font-weight:600;background:#f3f4f6}.abom-print-view .print-dim{font-weight:400;color:#555;font-size:10px}.abom-print-view .print-footnote{margin-top:8px;font-size:9px;color:#444}}.quantity{font-weight:600;text-align:right}.detail-section{margin-bottom:24px}.detail-section h4{font-size:12px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.detail-section dl{display:grid;grid-template-columns:140px 1fr;gap:8px 12px}.detail-section dt{color:var(--ink-muted);font-size:13px}.detail-section dd{color:var(--ink);font-size:14px;word-break:break-word}.detail-section dd.large-number{font-size:24px;font-weight:700;color:var(--ink)}.detail-section a{color:var(--ink);text-decoration:none;transition:color .15s}.detail-section a:hover{color:var(--action)}.revision-list{list-style:none;display:flex;gap:8px}.revision-list li{background:var(--line);padding:4px 10px;border-radius:var(--radius-sm);font-size:13px}.category-badge,.status-badge,.badge{display:inline-block;padding:3px 9px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.category-badge{background:var(--status-gray-bg);color:var(--status-gray-text)}.category-badge.cots{background:var(--status-blue-bg);color:var(--status-blue-text)}.category-badge.assembly{background:var(--status-green-bg);color:var(--status-green-text)}.category-badge.machined{background:var(--status-amber-bg);color:var(--status-amber-text)}.category-badge.raw_material,.category-badge.consumable,.category-badge.tooling{background:var(--status-purple-bg);color:var(--status-purple-text)}.status-badge{background:var(--status-gray-bg);color:var(--status-gray-text)}.status-badge.available{background:var(--status-green-bg);color:var(--status-green-text)}.status-badge.on-order{background:var(--status-amber-bg);color:var(--status-amber-text)}.status-badge.picked{background:var(--status-blue-bg);color:var(--status-blue-text)}.status-badge.reserved{background:var(--status-purple-bg);color:var(--status-purple-text)}.status-badge.scrapped{background:var(--status-red-bg);color:var(--status-red-text)}.status-badge.used{background:var(--status-gray-bg);color:var(--status-gray-text)}.status-badge.drop-ship{background:var(--status-purple-bg);color:var(--status-purple-text)}.status-badge.draft{background:var(--status-gray-bg);color:var(--status-gray-text)}.status-badge.released{background:var(--status-green-bg);color:var(--status-green-text)}.status-badge.submitted{background:var(--status-blue-bg);color:var(--status-blue-text)}.status-badge.partial{background:var(--status-amber-bg);color:var(--status-amber-text)}.status-badge.received{background:var(--status-green-bg);color:var(--status-green-text)}.status-badge.in-progress{background:var(--status-blue-bg);color:var(--status-blue-text)}.status-badge.completed{background:var(--status-darkgreen-bg);color:var(--status-darkgreen-text)}.status-badge.cancelled{background:var(--status-red-bg);color:var(--status-red-text)}.order-type{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--ink-muted)}.badge.warehouse{background:var(--status-blue-bg);color:var(--status-blue-text)}.badge.drop-ship{background:var(--status-purple-bg);color:var(--status-purple-text)}.pagination{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;border-top:1px solid var(--line)}.pagination-info{display:flex;align-items:center;gap:16px}.showing-info{color:var(--ink-muted);font-size:14px}.page-size-select{padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-md);font-size:14px;cursor:pointer;background:var(--surface)}.page-size-select:focus{outline:none;border-color:var(--ink)}.pagination-controls{display:flex;align-items:center;gap:16px}.pagination-controls button{padding:8px 16px;background:var(--ink);color:var(--ink-inverse);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:14px;transition:background-color .2s}.pagination-controls button:hover:not(:disabled){background:var(--action-hover)}.pagination-controls button:disabled{background:var(--line-strong);cursor:not-allowed}.pagination .page-info{color:var(--ink-muted);font-size:14px}.loading,.error{padding:40px;text-align:center;color:var(--ink-muted)}.error{color:var(--danger)}.bom-list{padding:0}.bom-assembly-group{border-bottom:1px solid var(--line)}.bom-assembly-group:last-child{border-bottom:none}.bom-assembly-header{display:flex;align-items:center;gap:12px;padding:14px 20px;cursor:pointer;transition:background-color .15s}.bom-assembly-header:hover{background:var(--surface-sunken)}.bom-assembly-header.expanded{background:var(--status-blue-bg);border-bottom:1px solid var(--line)}.expand-icon{font-size:10px;color:var(--ink-faint);width:14px}.assembly-part-number{font-family:var(--font-mono);font-weight:600;color:var(--ink);min-width:120px}.assembly-name{flex:1;color:var(--ink-muted);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.revision-badge{background:var(--status-purple-bg);color:var(--status-purple-text);padding:3px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600}.line-count{background:var(--line);color:var(--ink-muted);padding:3px 10px;border-radius:var(--radius-lg);font-size:12px;white-space:nowrap}.abom-cost{background:var(--action-subtle-bg);color:var(--action-hover);padding:3px 10px;border-radius:var(--radius-lg);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.abom-cost.loading{background:var(--surface-sunken);color:var(--ink-faint);font-weight:400}.bom-components{background:var(--surface-sunken);padding:0 20px 16px 46px}.bom-table{margin-top:8px}.bom-table th{background:var(--line);font-size:11px;padding:8px 12px}.bom-table td{padding:8px 12px;font-size:13px}.bom-table .quantity{text-align:center;font-weight:700;color:var(--ink);min-width:50px}.loading-inline{padding:16px;color:var(--ink-faint);font-size:13px}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.detail-header h2{margin-bottom:0}.edit-button{padding:8px 16px;background:var(--ink);color:var(--ink-inverse);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.edit-button:hover:not(:disabled){background:var(--action-hover)}.edit-button:disabled{background:var(--line-strong);cursor:not-allowed}.edit-actions{display:flex;gap:8px}.cancel-button{padding:8px 16px;background:var(--line);color:var(--ink);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.cancel-button:hover:not(:disabled){background:var(--line-strong)}.save-button{padding:8px 16px;background:var(--status-green-solid);color:var(--ink-inverse);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.save-button:hover:not(:disabled){background:var(--status-green-text)}.save-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed}.detail-panel.edit-mode{width:500px;max-height:calc(100vh - 150px);position:sticky;top:20px}.edit-form{display:flex;flex-direction:column;gap:24px}.form-section{background:var(--surface);padding:16px;border-radius:var(--radius-lg);border:1px solid var(--line)}.form-section h4{margin-bottom:16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h4{margin-bottom:0;border-bottom:none;padding-bottom:0}.form-row{margin-bottom:12px}.form-row label{display:block;font-size:13px;color:var(--ink-muted);margin-bottom:4px;font-weight:500}.form-row input,.form-row select,.form-row textarea{width:100%;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-md);font-size:14px;transition:border-color .2s}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--ink)}.form-row textarea{resize:vertical;min-height:60px}.add-line-button{padding:6px 12px;background:var(--status-blue-bg);color:var(--status-blue-text);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.add-line-button:hover{background:var(--status-blue-bg)}.line-items-table{width:100%;border-collapse:collapse;font-size:13px}.line-items-table th{text-align:left;padding:8px;background:var(--surface-sunken);font-size:11px;font-weight:600;text-transform:uppercase;color:var(--ink-muted)}.line-items-table td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle}.line-items-table .part-select{width:100%;padding:6px;font-size:12px}.line-items-table .qty-input,.line-items-table .cost-input{width:80px;padding:6px;text-align:right}.line-items-table .status-select{padding:6px;font-size:12px}.remove-line-button{padding:4px 8px;background:var(--danger-bg);color:var(--danger);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:600;transition:background-color .2s}.remove-line-button:hover{background:var(--danger-bg)}.totals-row{margin-top:12px;padding-top:12px;border-top:2px solid var(--line);text-align:right;font-size:16px}.serial-badge{background:var(--status-green-bg);color:var(--status-green-text);padding:3px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;font-family:var(--font-mono)}.line-items-table.view-mode{margin-top:8px}.line-items-table.view-mode td{padding:10px 8px}.line-items-table .part-info{display:flex;flex-direction:column;gap:2px}.line-items-table .part-info .part-number{font-family:var(--font-mono);font-weight:600;color:var(--ink);font-size:13px}.line-items-table .part-info .part-name{font-size:11px;color:var(--ink-muted)}.no-items{color:var(--ink-faint);font-size:13px;padding:12px 0}.detail-page{padding:0}.detail-page-header{background:var(--surface);padding:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.detail-page-header .breadcrumb{font-size:12px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:var(--ls-label);margin-bottom:8px}.detail-page-header .breadcrumb a{color:var(--action);text-decoration:none}.detail-page-header .breadcrumb a:hover{text-decoration:underline}.detail-page-header h1{font-family:var(--font-display);font-weight:900;text-transform:uppercase;letter-spacing:var(--ls-display);font-size:22px;line-height:1.15;color:var(--ink);margin:0 0 4px;overflow-wrap:anywhere}.detail-page-header h1 a{color:inherit;text-decoration:none}.detail-page-header h1 a:hover{color:var(--action)}.detail-page-header h2{font-size:18px;color:var(--ink-muted);font-weight:400;margin:0 0 12px}.detail-page-header .header-badges{display:flex;gap:8px;margin-top:12px}.detail-page-content{display:flex;gap:24px;padding:0 24px 24px}.detail-page-main{flex:1;display:flex;flex-direction:column;gap:20px}.detail-page-sidebar{width:360px;display:flex;flex-direction:column;gap:20px;flex-shrink:0}.detail-card{background:var(--surface);border-radius:var(--radius-lg);padding:20px;box-shadow:0 2px 8px #0000000f}.detail-card h3{font-size:14px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--line)}.detail-grid{display:grid;grid-template-columns:140px 1fr;gap:8px 12px}.detail-grid dt{color:var(--ink-muted);font-size:13px}.detail-grid dd{color:var(--ink);font-size:14px;margin:0}.detail-grid dd.mono{font-family:var(--font-mono)}.detail-grid dd.currency{font-weight:600}.summary-card{background-color:var(--chrome-bg);background-image:linear-gradient(var(--chrome-grid) 1px,transparent 1px),linear-gradient(90deg,var(--chrome-grid) 1px,transparent 1px);background-size:48px 48px;color:var(--chrome-ink)}.summary-card h3{color:var(--chrome-ink-muted);border-bottom-color:var(--chrome-line)}.summary-stats{display:flex;gap:24px}.summary-stat{display:flex;flex-direction:column}.summary-stat .stat-value{font-family:var(--font-display);font-weight:900;font-size:30px;line-height:1.1;color:var(--accent)}.summary-stat .stat-label{font-size:11px;color:var(--chrome-ink-muted);text-transform:uppercase;letter-spacing:var(--ls-label)}.highlight-card{background:var(--action-subtle-bg);border-left:3px solid var(--action)}.highlight-card h3{color:var(--action-hover);border-bottom-color:var(--focus-ring)}.big-number{font-size:48px;font-weight:700;color:var(--ink);line-height:1}.big-number-label{font-size:14px;color:var(--ink-muted);margin-top:4px;display:block}.stats-row{display:flex;justify-content:space-around;text-align:center;flex-wrap:wrap;gap:16px}.stat-item{flex:1 1 auto;min-width:80px}.detail-table{width:100%;border-collapse:collapse;margin-top:8px}.detail-table th{text-align:left;padding:10px 12px;background:var(--surface-sunken);font-size:11px;font-weight:600;text-transform:uppercase;color:var(--ink-muted);letter-spacing:.5px}.detail-table td{padding:12px;border-bottom:1px solid var(--line);font-size:14px}.detail-table tfoot td{background:var(--surface-sunken);border-bottom:none}.detail-table .part-link{display:flex;flex-direction:column;text-decoration:none;gap:2px}.detail-table .part-link .part-number{font-family:var(--font-mono);font-weight:600;color:var(--action);font-size:13px}.detail-table .part-link .part-name{font-size:12px;color:var(--ink-muted)}.detail-table .part-link:hover .part-number{text-decoration:underline}.mini-table{width:100%;border-collapse:collapse;font-size:13px}.mini-table th{text-align:left;padding:6px 8px;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line)}.mini-table td{padding:8px;border-bottom:1px solid var(--surface-app)}.mini-table a{color:var(--action);text-decoration:none}.mini-table a:hover{text-decoration:underline}.more-link{text-align:center;color:var(--ink-muted);font-size:12px;padding:8px 0 0;margin:0}.status-badge.large,.order-type.large,.serial-badge.large{font-size:14px;padding:6px 12px}.detail-page .link{color:var(--action);text-decoration:none}.detail-page .link:hover{text-decoration:underline}.header-link{text-decoration:none;color:inherit}.header-link:hover{color:var(--action)}.badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:600}.badge.drop-ship{background:var(--status-amber-bg);color:var(--status-amber-text)}.detail-panel h2 a{color:inherit;text-decoration:none}.detail-panel h2 a:hover{color:var(--action)}.header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.header-actions{display:flex;gap:8px;flex-shrink:0}.btn{padding:8px 14px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.02em;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--action);color:var(--action-ink)}.btn-primary:hover:not(:disabled){background:var(--action-hover)}.btn-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.btn-secondary:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--ink-faint)}.btn-success{background:var(--status-green-solid);color:var(--ink-inverse)}.btn-success:hover:not(:disabled){background:var(--status-green-text)}.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn-accent:hover:not(:disabled){background:var(--accent-soft)}.primary-button{padding:10px 20px;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:.02em;transition:background-color var(--transition-fast);background:var(--action);color:var(--action-ink)}.primary-button:hover:not(:disabled){background:var(--action-hover)}.primary-button:disabled{opacity:.55;cursor:not-allowed}.secondary-button{padding:10px 20px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:.02em;transition:background-color var(--transition-fast),border-color var(--transition-fast);background:var(--surface);color:var(--ink)}.secondary-button:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--ink-faint)}.header-left{display:flex;align-items:center;gap:12px}.edit-input{width:100%;padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-md);font-size:14px;font-family:inherit;background:var(--surface);transition:border-color .2s,box-shadow .2s}.edit-input:focus{outline:none;border-color:var(--action);box-shadow:0 0 0 3px var(--focus-ring)}.edit-input::placeholder{color:var(--ink-faint)}textarea.edit-input{resize:vertical;min-height:60px}select.edit-input{cursor:pointer}.detail-grid .edit-input{margin-top:2px}.big-input{font-size:32px;font-weight:700;text-align:center;padding:12px 16px;max-width:200px}.modal-overlay{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:1000}.modal,.modal-content{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);max-width:480px;width:90%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal form,.modal-content form{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);flex-shrink:0;background:var(--surface)}.modal-header h2{margin:0;font-family:var(--font-display);font-weight:900;text-transform:uppercase;letter-spacing:var(--ls-display);font-size:16px;color:var(--ink)}.modal-close,.close-button{background:none;border:none;font-size:24px;color:var(--ink-faint);cursor:pointer;padding:0;line-height:1}.modal-close:hover,.close-button:hover{color:var(--ink)}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-body .form-row{display:flex;gap:16px}.modal-body .form-row>.form-group{flex:1}.modal-body .form-row.align-inputs>.form-group{display:flex;flex-direction:column}.modal-body .form-row.align-inputs>.form-group>input,.modal-body .form-row.align-inputs>.form-group>select{margin-top:auto}.receive-summary{background-color:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:16px}.receive-summary p{margin:4px 0;font-size:.875rem;color:var(--ink)}.receive-summary p:first-child{margin-top:0}.receive-summary p:last-child{margin-bottom:0}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;color:var(--ink);margin-bottom:6px}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group input[type=date],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-md);font-size:14px;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--action)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--surface-sunken);color:var(--ink-muted)}.form-group textarea{resize:vertical;min-height:80px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--line);background:var(--surface-sunken);flex-shrink:0}.part-select-list{margin-top:8px;max-height:200px;overflow-y:auto;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface)}.part-select-item{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--surface-sunken);transition:background-color .15s}.part-select-item:last-child{border-bottom:none}.part-select-item:hover{background-color:var(--surface-sunken)}.part-select-item.selected{background-color:var(--status-blue-bg);border-left:3px solid var(--ink)}.part-select-item .part-number{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap}.part-select-item .part-name{flex:1;font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.part-select-item .part-tracking{font-size:11px;padding:2px 6px;background:var(--line);color:var(--ink-muted);border-radius:var(--radius-sm);text-transform:uppercase}.part-select-empty{padding:20px;text-align:center;color:var(--ink-faint);font-size:14px}.part-select-more{padding:10px 12px;text-align:center;color:var(--ink-muted);font-size:13px;background:var(--surface-sunken);border-top:1px solid var(--line)}.part-selected-info{margin-top:8px;padding:8px 12px;background:var(--status-green-bg);border:1px solid var(--status-darkgreen-bg);border-radius:var(--radius-md);font-size:13px;color:var(--status-green-text)}.part-selected-info strong{font-family:var(--font-mono)}.loading-inline{padding:10px 12px;color:var(--ink-muted);font-size:14px}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.form-group .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.form-group .checkbox-label input[type=checkbox]{width:auto;margin:0}.form-group .radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.form-group .radio-label input[type=radio]{width:auto;margin:0}.checkbox-group input[type=checkbox]{width:16px;height:16px;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.error-message{background:var(--danger-bg);color:var(--danger);padding:12px;border-radius:var(--radius-md);margin-bottom:16px;font-size:14px}.success-message{text-align:center}.success-message h3{color:var(--status-darkgreen-solid);margin:0 0 16px}.credential-box{background:var(--surface-sunken);border-radius:var(--radius-lg);padding:16px;margin:16px 0;text-align:left}.credential-box dl{margin:0}.credential-box dt{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--ink-muted);margin-top:8px}.credential-box dt:first-child{margin-top:0}.credential-box dd{margin:4px 0 0;font-size:14px;color:var(--ink)}.password-display{background:var(--status-amber-bg);border:1px solid var(--status-amber-solid);padding:8px 12px;border-radius:var(--radius-sm);font-size:16px;font-weight:600;-webkit-user-select:all;user-select:all}.warning-text{color:var(--status-amber-solid);font-size:13px;margin-top:16px}.modal-large{max-width:1150px;width:95%}.modal-tall{min-height:400px}.create-po-form{display:flex;flex-direction:column;gap:16px}.form-row-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.form-group-full{grid-column:1 / -1}.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-md);font-size:14px;font-family:inherit;resize:vertical}.form-group select{width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-md);font-size:14px;background:var(--surface);cursor:pointer}.form-group input[type=number],.form-group input[type=date]{width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-md);font-size:14px}.btn-small{padding:6px 12px;font-size:13px}.line-items-section{border-top:1px solid var(--line);padding-top:16px;margin-top:8px}.line-items-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.line-items-section .section-header h4{margin:0;font-size:16px;color:var(--ink)}.no-items-message{text-align:center;color:var(--ink-muted);padding:24px;background:var(--surface-sunken);border-radius:var(--radius-lg);font-size:14px}.create-line-items-table{width:100%;border-collapse:collapse;font-size:14px}.create-line-items-table th{text-align:left;padding:8px 12px;border-bottom:2px solid var(--line);font-weight:600;color:var(--ink);font-size:12px;text-transform:uppercase}.create-line-items-table td{padding:8px 12px;border-bottom:1px solid var(--line);vertical-align:top}.create-line-items-table .col-part{width:28%}.create-line-items-table .col-qty{width:11%}.create-line-items-table .col-price,.create-line-items-table .col-total{width:13%}.create-line-items-table .col-alloc{width:27%}.create-line-items-table .col-actions{width:8%;text-align:center}.create-line-items-table .qty-input,.create-line-items-table .price-input{width:100%;padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-md);font-size:14px;box-sizing:border-box}.create-line-items-table .qty-input{min-width:64px}.create-line-items-table .price-input{min-width:76px}.create-line-items-table .total-display{font-weight:500;color:var(--ink)}.allocation-select{padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-md);font-size:14px;font-family:inherit;background-color:var(--surface);color:var(--ink);transition:border-color .2s;box-sizing:border-box;min-width:120px}.allocation-select:focus{outline:none;border-color:var(--action)}.allocation-select:disabled{background:var(--surface-sunken);color:var(--ink-muted);cursor:not-allowed}.create-line-items-table .allocation-select,.line-items-table .allocation-select{width:100%}.remove-line-btn{background:none;border:none;color:var(--ink-faint);font-size:20px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:all .15s}.remove-line-btn:hover{background:var(--danger-bg);color:var(--danger)}.remove-line-btn:disabled{opacity:.5;cursor:not-allowed}.order-totals{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.total-line{display:flex;justify-content:space-between;padding:4px 0;font-size:14px;color:var(--ink-muted)}.total-line.grand-total{font-weight:700;font-size:16px;color:var(--ink);padding-top:8px;margin-top:4px;border-top:1px solid var(--line)}.inline-cost-input{width:80px;padding:2px 6px;font-size:14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);text-align:right}.inline-cost-input:focus{outline:none;border-color:var(--status-blue-solid);box-shadow:0 0 0 2px var(--focus-ring)}.part-typeahead{position:relative;width:100%}.typeahead-input{width:100%;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-md);font-size:14px;transition:border-color .2s,box-shadow .2s}.typeahead-input:focus{outline:none;border-color:var(--action);box-shadow:0 0 0 3px var(--focus-ring)}.typeahead-input:disabled{background:var(--surface-sunken);color:var(--ink-muted)}.searching-indicator{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--ink-faint);font-size:12px}.typeahead-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:0 10px 25px #00000026;z-index:1000;max-height:250px;overflow-y:auto;margin-top:4px;min-width:360px}.typeahead-option{padding:10px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--surface-sunken);transition:background .1s}.typeahead-option:last-child{border-bottom:none}.typeahead-option:hover,.typeahead-option.highlighted{background:var(--status-blue-bg)}.option-part-number{font-weight:600;color:var(--ink);font-family:var(--font-mono);font-size:13px}.option-part-name{color:var(--ink);font-size:13px;flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere}.option-unit-cost{color:var(--status-darkgreen-solid);font-weight:500;font-size:13px}.typeahead-no-results{padding:12px;text-align:center;color:var(--ink-faint);font-size:14px}.part-typeahead-locked{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--status-green-bg);border:1px solid var(--status-darkgreen-bg);border-radius:var(--radius-md);gap:8px}.locked-part{display:flex;align-items:center;gap:8px;flex:1;overflow:hidden}.locked-part .part-number{font-weight:600;color:var(--status-green-text);font-family:var(--font-mono);font-size:12px;white-space:nowrap}.locked-part .part-name{color:var(--status-green-text);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clear-part-btn{background:none;border:none;color:var(--status-green-text);font-size:18px;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);transition:all .15s;flex-shrink:0}.clear-part-btn:hover{background:var(--status-green-bg);color:var(--danger)}.vendor-typeahead{position:relative;width:100%}.vendor-typeahead-locked{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--status-green-bg);border:1px solid var(--status-darkgreen-bg);border-radius:var(--radius-md);gap:8px}.vendor-typeahead-locked .vendor-name{font-weight:500;color:var(--status-green-text);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.clear-vendor-btn{background:none;border:none;color:var(--status-green-text);font-size:18px;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);transition:all .15s;flex-shrink:0}.clear-vendor-btn:hover{background:var(--status-green-bg);color:var(--danger)}.option-vendor-name{color:var(--ink);font-size:14px}.assembly-typeahead{position:relative;width:100%}.assembly-typeahead-locked{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--status-green-bg);border:1px solid var(--status-darkgreen-bg);border-radius:var(--radius-md);gap:8px}.locked-assembly{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden}.locked-assembly .assembly-part-number{font-weight:600;color:var(--status-green-text);font-size:14px;font-family:var(--font-mono);white-space:nowrap}.locked-assembly .assembly-name{color:var(--status-green-text);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.locked-assembly .bom-status-badge{padding:2px 6px;border-radius:var(--radius-sm);font-size:10px;font-weight:600;text-transform:uppercase;flex-shrink:0}.locked-assembly .bom-status-badge.draft{background:var(--line);color:var(--ink)}.locked-assembly .bom-status-badge.released{background:var(--status-green-bg);color:var(--status-green-text)}.locked-assembly .bom-status-badge.locked{background:var(--status-blue-bg);color:var(--status-blue-text)}.clear-assembly-btn{background:none;border:none;color:var(--status-green-text);font-size:18px;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);transition:all .15s;flex-shrink:0}.clear-assembly-btn:hover{background:var(--status-green-bg);color:var(--danger)}.option-bom-status{padding:2px 6px;border-radius:var(--radius-sm);font-size:10px;font-weight:600;text-transform:uppercase;margin-left:auto}.option-bom-status.draft{background:var(--line);color:var(--ink)}.option-bom-status.released{background:var(--status-green-bg);color:var(--status-green-text)}.option-bom-status.locked{background:var(--status-blue-bg);color:var(--status-blue-text)}.bom-status-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase}.bom-status-badge.draft{background:var(--line);color:var(--ink)}.bom-status-badge.released{background:var(--status-green-bg);color:var(--status-green-text)}.bom-status-badge.locked{background:var(--status-blue-bg);color:var(--status-blue-text)}.released-date{font-size:12px;color:var(--ink-muted);margin-left:4px}.typeahead-container{position:relative}.typeahead-container input{width:100%;padding:10px 12px;border:2px solid var(--line);border-radius:var(--radius-md);font-size:14px}.typeahead-container input:focus{outline:none;border-color:var(--ink)}.typeahead-spinner{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--ink-faint)}.typeahead-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;z-index:100;margin-top:4px;list-style:none;padding:4px}.typeahead-dropdown li{padding:8px 12px;cursor:pointer;border-radius:var(--radius-sm);font-size:14px}.typeahead-dropdown li:hover,.typeahead-dropdown li.highlighted{background:var(--surface-sunken)}.typeahead-locked{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--status-green-bg);border:2px solid var(--status-darkgreen-bg);border-radius:var(--radius-md);gap:8px}.typeahead-value{font-size:14px;color:var(--status-green-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.typeahead-clear{background:none;border:none;color:var(--status-green-text);font-size:20px;cursor:pointer;padding:0 4px;line-height:1}.typeahead-clear:hover{color:var(--danger)}.vehicle-date{color:var(--ink-muted);font-size:12px}.form-hint{display:block;font-size:12px;color:var(--ink-muted);margin-top:4px}.create-line-items-table td.col-part{max-width:0}.create-line-items-table .part-typeahead{max-width:100%;position:relative}.create-line-items-table .part-typeahead-locked{max-width:100%;overflow:visible;align-items:flex-start}.create-line-items-table .locked-part{flex-direction:column;align-items:flex-start;gap:2px;max-width:calc(100% - 28px);min-width:0;overflow:visible}.create-line-items-table .locked-part .part-number{flex-shrink:0}.create-line-items-table .locked-part .part-name{min-width:0;white-space:normal;overflow-wrap:anywhere}.edit-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.edit-form-grid .form-group-full{grid-column:1 / -1}.edit-line-items-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:12px}.edit-line-items-table th{text-align:left;padding:10px 12px;border-bottom:2px solid var(--line);font-weight:600;color:var(--ink);font-size:12px;text-transform:uppercase}.edit-line-items-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.edit-line-items-table .col-part{width:40%;max-width:0}.edit-line-items-table .col-qty{width:12%}.edit-line-items-table .col-cost{width:18%}.edit-line-items-table .col-status{width:22%}.edit-line-items-table .col-actions{width:8%;text-align:center}.edit-line-items-table .edit-input{width:100%}.edit-line-items-table .part-typeahead{max-width:100%;position:relative}.edit-line-items-table .part-typeahead-locked{max-width:100%;overflow:hidden}.edit-line-items-table .locked-part{max-width:calc(100% - 30px);min-width:0;overflow:hidden}.edit-line-items-table .locked-part .part-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-actions{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.workflow-error{background:var(--danger-bg);color:var(--danger);padding:8px 12px;border-radius:var(--radius-md);font-size:14px;margin-right:auto}.workflow-complete-section{display:flex;align-items:center;gap:12px}.workflow-hint{font-size:13px;color:var(--ink-muted);font-style:italic}.btn-success{background:var(--status-green-solid);color:var(--ink-inverse);border:none}.btn-success:hover{background:var(--status-green-text)}.btn-danger{background:var(--danger);color:var(--ink-inverse);border:none}.btn-danger:hover{background:var(--danger-ink)}.btn-sm{padding:4px 10px;font-size:12px}.received-check{color:var(--status-green-solid);font-size:18px;font-weight:700}.status-badge.draft{background:var(--surface-sunken);color:var(--ink-muted)}.data-table a{color:var(--ink);text-decoration:none;transition:color .15s}.data-table a:hover{color:var(--action)}.data-table td.part-number a,.data-table .part-number a{font-family:var(--font-mono);font-weight:600}.detail-page a:not(.btn):not(.back-link){color:var(--ink);text-decoration:none;transition:color .15s}.detail-page a:not(.btn):not(.back-link):hover{color:var(--action)}.back-link{color:var(--ink-muted);text-decoration:none;font-size:14px;display:inline-flex;align-items:center;gap:4px;margin-bottom:8px;transition:color .15s}.back-link:hover{color:var(--ink)}.bom-components-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.bom-components-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-muted)}.bom-components .view-bom-link{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:var(--action);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--action-ink);font-size:12px;font-weight:600;letter-spacing:.02em;text-decoration:none;transition:background-color var(--transition-fast)}.bom-components .view-bom-link:hover{background:var(--action-hover);color:var(--action-ink)}.bom-components .view-bom-link:after{content:"→";font-size:13px}.gantt-chart{margin-top:8px;overflow:hidden}.gantt-controls{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.gantt-zoom-controls{display:flex;align-items:center;gap:8px;background:var(--surface-sunken);border-radius:var(--radius-md);padding:4px}.gantt-zoom-controls button{width:28px;height:28px;border:none;background:var(--surface);border-radius:var(--radius-sm);font-size:16px;font-weight:600;cursor:pointer;color:var(--ink);transition:all .15s;display:flex;align-items:center;justify-content:center}.gantt-zoom-controls button:hover:not(:disabled){background:var(--line)}.gantt-zoom-controls button:disabled{opacity:.4;cursor:not-allowed}.gantt-zoom-label{font-size:12px;font-weight:500;color:var(--ink);min-width:70px;text-align:center}.gantt-nav-controls{display:flex;gap:4px}.gantt-nav-controls button{width:28px;height:28px;border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-sm);font-size:14px;cursor:pointer;color:var(--ink);transition:all .15s;display:flex;align-items:center;justify-content:center}.gantt-nav-controls button:hover{background:var(--surface-sunken)}.gantt-reset-btn{padding:6px 12px;border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-md);font-size:12px;font-weight:500;cursor:pointer;color:var(--ink);transition:all .15s}.gantt-reset-btn:hover{background:var(--surface-sunken)}.gantt-drag-hint{font-size:11px;color:var(--ink-faint);margin-left:auto;margin-right:12px}.gantt-header{display:flex;border-bottom:2px solid var(--line);background:var(--surface-sunken);cursor:grab;-webkit-user-select:none;user-select:none}.gantt-header:active{cursor:grabbing}.gantt-header .gantt-non-business-region{height:28px}.gantt-label-col{width:200px;flex-shrink:0;padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--ink-muted);letter-spacing:.5px;border-right:1px solid var(--line)}.gantt-checkbox-col{width:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:4px;font-size:9px;font-weight:600;text-transform:uppercase;color:var(--ink-muted);letter-spacing:.3px;border-right:1px solid var(--line);background:var(--surface-sunken)}.gantt-checkbox-col input[type=checkbox]{cursor:pointer;width:14px;height:14px;margin:0}.gantt-header .gantt-checkbox-col{background:var(--surface-sunken)}.gantt-timeline-col{flex:1;min-width:400px;position:relative;overflow:hidden}.gantt-ticks{position:relative;height:28px;background:var(--surface-sunken)}.gantt-tick{position:absolute;font-size:10px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--ink-muted);padding:6px 4px;transform:translate(-50%);white-space:nowrap;height:100%;box-sizing:border-box}.gantt-tick.month-start,.gantt-tick.day-boundary{font-weight:600;color:var(--ink)}.gantt-tick.non-business-hours{color:var(--ink-faint);opacity:.7}.gantt-tick.weekend{color:var(--line-strong);opacity:.5}.gantt-day-separator{position:absolute;top:0;bottom:0;width:2px;background:var(--line);z-index:1;pointer-events:none}.gantt-body{display:flex;flex-direction:column;-webkit-user-select:none;user-select:none;overscroll-behavior-x:none;touch-action:pan-y pinch-zoom}.gantt-row{display:flex;border-bottom:1px solid var(--surface-sunken);min-height:48px}.gantt-row:last-child{border-bottom:none}.gantt-row:hover{background:var(--surface-sunken)}.gantt-row .gantt-label-col{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:8px 12px;background:var(--surface);font-size:13px;font-weight:400;text-transform:none;color:var(--ink);letter-spacing:normal}.gantt-wo-link{font-family:var(--font-mono);font-weight:600;color:var(--action);text-decoration:none;font-size:12px}.gantt-wo-link:hover{text-decoration:underline}.gantt-wo-part{font-size:11px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-row .gantt-timeline-col{position:relative;background:var(--surface)}.gantt-grid-line{position:absolute;top:0;bottom:0;width:1px;background:var(--line);z-index:0;pointer-events:none}.gantt-grid-line.day-boundary{background:var(--line);width:1px}.gantt-non-business-region{position:absolute;top:0;bottom:0;z-index:0;pointer-events:none}.gantt-non-business-region.night{background:#00000008}.gantt-non-business-region.weekend{background:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(0,0,0,.02) 4px,rgba(0,0,0,.02) 8px)}.gantt-bar{position:absolute;top:50%;transform:translateY(-50%);height:24px;border-radius:var(--radius-sm);display:flex;align-items:center;padding:0 8px;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:filter .15s;box-shadow:0 1px 3px #0000001a}.gantt-bar:hover{filter:brightness(.95)}.gantt-bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-bar.cancelled{text-decoration:line-through}.gantt-today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);box-shadow:0 0 0 1px #1328174d;z-index:5;pointer-events:none}.gantt-delivery-line{position:absolute;top:0;bottom:0;width:2px;background:var(--status-purple-solid);z-index:5;pointer-events:none}.gantt-legend{display:flex;gap:16px;margin-top:16px;padding:12px 16px 16px;border-top:1px solid var(--line);flex-wrap:wrap}.gantt-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-muted)}.gantt-dot{width:12px;height:12px;border-radius:3px}.gantt-today-marker{width:12px;height:3px;background:var(--accent);box-shadow:0 0 0 1px #1328174d;border-radius:2px}.gantt-delivery-marker{width:12px;height:3px;background:var(--status-purple-solid);border-radius:2px}.gantt-empty{padding:24px;text-align:center;color:var(--ink-muted);background:var(--surface-sunken);border-radius:var(--radius-lg)}.gantt-bar.editable{cursor:move}.gantt-bar.editable:hover{box-shadow:0 0 0 1px var(--accent),0 2px 8px #00000026;transform:translateY(calc(-50% - 1px))}.gantt-bar.wo-hovered{box-shadow:0 0 0 1px var(--accent),0 2px 8px #0003;transform:translateY(calc(-50% - 1px));filter:brightness(1.02)}.gantt-bar.dragging{box-shadow:0 4px 12px #0003;z-index:10}.gantt-bar.ignore-business-hours{border:2px dashed rgba(0,0,0,.3);box-sizing:border-box}.gantt-bar-handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;background:transparent}.gantt-bar-handle-left{left:0;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.gantt-bar-handle-right{right:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.gantt-bar-tooltip{background:var(--ink);color:var(--ink-inverse);padding:6px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;white-space:nowrap;pointer-events:none;z-index:1000}.gantt-bar-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--ink)}.btn-icon-text{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:.875rem;font-weight:500;color:var(--ink);background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.btn-icon-text:hover:not(:disabled){background:var(--line);border-color:var(--ink-faint)}.btn-icon-text:disabled{opacity:.5;cursor:not-allowed}.btn-icon{font-size:1rem;line-height:1}.mobile-menu-toggle{display:none;position:fixed;top:16px;left:16px;z-index:1001;width:44px;height:44px;background:var(--color-primary);border:none;border-radius:var(--radius-lg);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px;box-shadow:0 2px 8px #0003}.mobile-menu-toggle span{display:block;width:22px;height:2px;background:var(--surface);border-radius:2px;transition:all .3s ease}.mobile-menu-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-toggle.open span:nth-child(2){opacity:0}.mobile-menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-overlay{display:none;position:fixed;inset:0;background:var(--scrim);z-index:999;opacity:0;transition:opacity .3s ease;pointer-events:none}.mobile-overlay.visible{opacity:1;pointer-events:auto}@media(max-width:1024px){.detail-panel{width:320px}.detail-page-content{flex-direction:column}.detail-page-sidebar{width:100%}.gantt-label-col{width:160px}.gantt-checkbox-col{width:35px;font-size:8px}}@media(max-width:768px){.mobile-menu-toggle{display:flex}.mobile-overlay{display:block}.sidebar{position:fixed;left:-280px;width:280px;height:100vh;z-index:1000;transition:left .3s ease;overflow-y:auto}.sidebar.open{left:0}.main-content{margin-left:0;padding:70px 16px 16px;max-width:100vw;box-sizing:border-box;overflow-x:hidden}.view-header{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.view-header h1{font-size:20px}.search-bar{flex-direction:column;padding:12px 16px}.search-bar input{width:100%}.filter-select,.filter-select select,select.filter-select{width:100%;min-width:unset}.filters-row{flex-direction:column;padding:12px 16px;gap:12px}.list-panel{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;width:100%}.data-table{min-width:700px;width:max-content;table-layout:auto}.data-table th,.data-table td{padding:10px 12px;font-size:13px;white-space:nowrap}.list-detail-layout{flex-direction:column;height:auto;max-width:100%;overflow:hidden}.detail-panel{width:100%;border-left:none;border-top:1px solid var(--color-border);max-height:50vh}.detail-panel.edit-mode{width:100%;max-height:70vh}.detail-page-header{padding:16px;margin-bottom:16px}.detail-page-header h1{font-size:22px}.detail-page-header h2{font-size:14px}.header-row{flex-direction:column;gap:12px;align-items:flex-start}.header-actions{width:fit-content;align-self:flex-start}.header-actions .btn{width:auto}.detail-page-content{flex-direction:column;padding:0 16px 16px;gap:16px}.detail-page-sidebar{width:100%}.detail-card{padding:16px}.detail-grid{grid-template-columns:100px 1fr;gap:6px 10px}.detail-grid dt{font-size:12px}.detail-grid dd{font-size:13px}.big-number{font-size:36px}.summary-stats{flex-direction:column;gap:16px}.summary-stat .stat-value{font-size:28px}.pagination{flex-direction:column;gap:12px}.pagination-controls{width:100%;justify-content:space-between}.pagination-controls button{flex:1;max-width:120px}.modal{width:95%;max-width:none;margin:16px;max-height:calc(100vh - 32px)}.modal-large{width:95%}.modal-header,.modal-body{padding:16px}.modal-footer{padding:12px 16px;flex-direction:column;gap:8px}.modal-footer button{width:100%}.form-row-grid,.edit-form-grid{grid-template-columns:1fr}.line-items-section{overflow-x:auto;-webkit-overflow-scrolling:touch}.create-line-items-table,.edit-line-items-table,.line-items-table{min-width:500px}.detail-card{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.mini-table{min-width:350px;font-size:12px}.mini-table th,.mini-table td{padding:6px}.view-container{max-width:100%;box-sizing:border-box}.list-panel{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.bom-assembly-header{padding:12px 16px;flex-wrap:wrap;gap:8px}.assembly-name{flex-basis:100%;order:3}.bom-components{padding:0 16px 12px 32px;overflow-x:auto;-webkit-overflow-scrolling:touch}.bom-table{min-width:400px}.gantt-chart{overflow-x:auto;-webkit-overflow-scrolling:touch}.gantt-header,.gantt-body{min-width:600px}.gantt-label-col{width:140px}.gantt-checkbox-col{width:30px;font-size:7px;padding:2px}.gantt-checkbox-col input[type=checkbox]{width:12px;height:12px}.gantt-controls{flex-wrap:wrap}.gantt-drag-hint{display:none}.gantt-legend{flex-wrap:wrap;gap:12px}.btn{padding:10px 16px}.header-actions .btn{flex:none}.stats-row{justify-content:center}.stat-item{min-width:70px;flex:1 1 30%}.highlight-card .big-number,.stats-row .big-number{font-size:28px}.detail-page{max-width:100vw}.detail-page-header,.detail-page-content,.detail-page-main,.detail-page-sidebar{max-width:100%;box-sizing:border-box}.detail-grid dd{word-break:break-word;overflow-wrap:break-word}.detail-grid dd.mono{font-size:10px;word-break:break-all}.typeahead-dropdown{max-height:200px}}@media(max-width:480px){.main-content{padding:70px 12px 12px}.view-header{padding:12px}.search-bar{padding:10px 12px}.view-header h1{font-size:18px}.detail-page-header h1{font-size:20px}.big-number{font-size:32px}.pagination-controls{flex-direction:column;gap:8px}.pagination-controls button{max-width:none;width:100%}.detail-grid{grid-template-columns:1fr}.detail-grid dt{font-weight:600;color:var(--ink-faint);margin-top:8px}.detail-grid dt:first-child{margin-top:0}.detail-grid dd{margin-bottom:4px}.login-box{padding:24px;margin:16px}.login-box h1{font-size:24px}.stats-grid{grid-template-columns:1fr;gap:12px}.stat-card{padding:16px}.stat-number{font-size:28px}.data-table th,.data-table td{padding:8px 10px;font-size:12px}.category-badge,.status-badge,.badge{padding:3px 6px;font-size:10px}}@media(hover:none)and (pointer:coarse){.nav-links li a{padding:14px 20px}.btn{min-height:44px}.form-group input,.form-group select,.form-group textarea,.edit-input,.typeahead-input{min-height:44px;font-size:16px}.checkbox-group input[type=checkbox]{width:20px;height:20px}.gantt-bar{min-height:32px}.data-table tbody tr{min-height:48px}.data-table td{padding:14px 12px}.data-table a{display:inline-block;padding:4px 0;min-height:44px;line-height:36px}.mini-table td{padding:12px 8px}.mini-table a{display:inline-block;padding:4px 0}}.schedule-view{height:calc(100vh - 120px);display:flex;flex-direction:column}.schedule-layout{display:flex;flex:1;gap:16px;overflow:hidden}.schedule-sidebar{width:280px;flex-shrink:0;background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;overflow:hidden}.schedule-sidebar .sidebar-header{padding:16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.schedule-sidebar .sidebar-header h3{margin:0;font-size:1rem}.schedule-sidebar .sidebar-actions{display:flex;gap:8px;align-items:center;font-size:.875rem}.schedule-sidebar .link-button{background:none;border:none;color:var(--action);cursor:pointer;padding:0;font-size:.875rem}.schedule-sidebar .link-button:hover{text-decoration:underline}.vehicle-filter-list{flex:1;overflow-y:auto;padding:8px}.vehicle-filter-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s}.vehicle-filter-item:hover{background-color:var(--surface-sunken)}.vehicle-filter-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.vehicle-filter-info{flex:1;display:flex;flex-direction:column;min-width:0}.vehicle-filter-name{font-weight:500;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vehicle-filter-date{font-size:.75rem;color:var(--ink-muted)}.schedule-main{flex:1;background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a;overflow:hidden;display:flex;flex-direction:column}.schedule-overview{display:flex;flex-direction:column;height:100%}.schedule-overview-header{display:flex;align-items:center;padding:12px 20px;background:var(--surface-sunken);border-bottom:1px solid var(--line);font-weight:600;font-size:.875rem;color:var(--ink)}.schedule-vehicle-info-header{width:220px;flex-shrink:0}.schedule-stages-header{flex:1}.schedule-overview-body{flex:1;overflow-y:auto}.schedule-vehicle-row{display:flex;align-items:flex-start;padding:16px 20px;border-bottom:1px solid var(--line);gap:24px}.schedule-vehicle-row:last-child{border-bottom:none}.schedule-vehicle-row:hover{background-color:var(--surface-sunken)}.schedule-vehicle-info{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.schedule-vehicle-name{font-weight:600;color:var(--ink);text-decoration:none;font-size:1rem}.schedule-vehicle-name:hover{color:var(--action);text-decoration:underline}.schedule-vehicle-date{font-size:.85rem;color:var(--ink-muted)}.schedule-stages{display:flex;flex-wrap:wrap;gap:12px;flex:1;align-items:flex-start}.schedule-stage-bar{position:relative;flex:1;min-width:120px;max-width:300px;padding:10px 12px;border-radius:var(--radius-lg);overflow:hidden;cursor:default}.schedule-stage-progress{position:absolute;left:0;top:0;bottom:0;background:#22c55e80;border-radius:var(--radius-lg) 0 0 var(--radius-lg);pointer-events:none}.schedule-stage-content{position:relative;z-index:1}.schedule-stage-name{display:block;font-weight:600;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-stage-info{display:block;font-size:.75rem;opacity:.85;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-no-stages{color:var(--ink-faint);font-style:italic;font-size:.875rem}.schedule-legend{display:flex;gap:20px;padding:12px 20px;background:var(--surface-sunken);border-top:1px solid var(--line);font-size:.8rem;color:var(--ink-muted)}.schedule-legend-item{display:flex;align-items:center;gap:6px}.schedule-legend-dot{width:12px;height:12px;border-radius:3px}.gantt-chart.multi-vehicle{height:100%;display:flex;flex-direction:column}.gantt-chart.multi-vehicle .gantt-body{flex:1;overflow-y:auto}.gantt-vehicle-group{border-bottom:2px solid var(--line)}.gantt-vehicle-group:last-child{border-bottom:none}.gantt-row.vehicle-row{background-color:var(--surface-sunken);font-weight:500}.gantt-row.vehicle-row .gantt-label-col{display:flex;flex-direction:column;gap:2px}.gantt-vehicle-link{color:var(--ink);text-decoration:none;font-weight:600}.gantt-vehicle-link:hover{color:var(--action);text-decoration:underline}.gantt-vehicle-date{font-size:.75rem;color:var(--ink-muted);font-weight:400}.gantt-row.wo-row{background-color:var(--surface)}.gantt-row.wo-row:hover{background-color:var(--surface-hover)}.gantt-today-line.subtle{opacity:.3}.gantt-bar{cursor:pointer}.gantt-bar:hover{filter:brightness(1.1);box-shadow:0 2px 4px #0003}@media(max-width:768px){.schedule-view{height:auto}.schedule-layout{flex-direction:column-reverse;overflow:visible;gap:12px}.schedule-sidebar{width:100%;max-height:200px}.schedule-sidebar .sidebar-header{padding:10px 12px}.schedule-sidebar .sidebar-header h3{font-size:.9rem}.vehicle-filter-list{padding:4px 8px}.vehicle-filter-item{padding:6px 8px}.schedule-main{flex:none}.gantt-chart.multi-vehicle{height:auto}.gantt-chart.multi-vehicle .gantt-body{flex:none}.gantt-chart.multi-vehicle .gantt-controls{flex-wrap:wrap;gap:8px;padding:8px 12px}.gantt-chart.multi-vehicle .gantt-header{padding:0 12px}.gantt-chart.multi-vehicle .gantt-header .gantt-label-col,.gantt-chart.multi-vehicle .gantt-row .gantt-label-col{width:100px!important;min-width:100px;font-size:.7rem;padding-left:8px!important}.gantt-chart.multi-vehicle .gantt-checkbox-col{width:25px;font-size:6px;padding:2px}.gantt-row.wo-row .gantt-label-col{padding-left:16px!important}.gantt-vehicle-link{font-size:.75rem}.gantt-vehicle-date{font-size:.65rem}.gantt-wo-link{font-size:.7rem}.gantt-wo-part{display:none}.gantt-legend{flex-wrap:wrap;gap:6px;padding:8px 12px;font-size:.7rem}.gantt-legend-item{font-size:.7rem}}@media print{.sidebar,.mobile-menu-toggle,.mobile-overlay,.header-actions,.pagination,.search-bar,.filters-row{display:none!important}.main-content{margin-left:0;padding:0}.view-container{box-shadow:none}.detail-page-content{flex-direction:column}.detail-page-sidebar{width:100%}}.text-muted{color:var(--color-text-muted)}.inline-form{display:flex;gap:8px;align-items:center}.inline-form select.edit-input{flex:1;min-width:80px}.revision-chips{display:flex;flex-wrap:wrap;gap:6px}.revision-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:13px;font-weight:500}.chip-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;color:var(--ink-faint);font-size:14px;font-weight:600;cursor:pointer;border-radius:50%;transition:all .15s}.chip-remove:hover{background:var(--danger-bg);color:var(--danger)}.field-note{display:block;font-size:11px;color:var(--ink-faint);margin-top:2px}.calculated-value{font-weight:500}.activity-loading,.activity-empty{color:var(--ink-muted);font-size:.875rem;font-style:italic}.activity-list{max-height:300px;overflow-y:auto}.activity-item{padding:10px 0;border-bottom:1px solid var(--surface-sunken);font-size:.8rem}.activity-item:last-child{border-bottom:none}.activity-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.activity-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.activity-type{font-weight:600;text-transform:capitalize}.activity-time{color:var(--ink-faint);font-size:.75rem;margin-left:auto}.activity-detail{margin-top:4px;margin-left:14px;color:var(--ink-muted);display:flex;flex-wrap:wrap;gap:4px;align-items:baseline}.activity-detail .field-name{color:var(--ink-muted);font-weight:500}.activity-detail .from-value{text-decoration:line-through;color:var(--ink-faint)}.activity-detail .arrow{color:var(--ink-faint)}.activity-detail .to-value{color:var(--ink)}.activity-notes{margin-top:4px;margin-left:14px;color:var(--ink-muted);font-style:italic}.activity-work-order{margin-top:4px;margin-left:14px;color:var(--ink-muted);font-size:.8125rem}.activity-work-order .link{color:var(--status-blue-solid);text-decoration:none}.activity-work-order .link:hover{text-decoration:underline}.activity-user{margin-top:4px;margin-left:14px;color:var(--ink-faint);font-size:.75rem}.activity-entity-link{margin-top:4px;margin-left:14px}.activity-entity-link a{color:var(--status-blue-solid);text-decoration:none}.activity-entity-link a:hover{text-decoration:underline}.activity-source{font-size:.7rem;color:var(--ink-faint);margin-left:4px}.import-modal-v2{width:95%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column}.import-modal-v2 .modal-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}.import-upload-step{display:flex;flex-direction:column;gap:24px}.upload-zone{border:2px dashed var(--line-strong);border-radius:var(--radius-lg);padding:48px;text-align:center;transition:all .2s;cursor:pointer}.upload-zone:hover{border-color:var(--ink);background:var(--surface-sunken)}.upload-zone.dragging{border-color:var(--status-green-solid);background:var(--status-green-bg);border-style:solid}.file-input{display:none}.upload-label{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:12px}.upload-icon{font-size:48px}.upload-text{font-size:16px;color:var(--ink)}.upload-hint{font-size:13px;color:var(--ink-faint)}.import-instructions{background:var(--status-blue-bg);border:1px solid var(--status-blue-bg);border-radius:var(--radius-lg);padding:16px 20px}.import-instructions h4{margin:0 0 12px;color:var(--status-blue-text);font-size:14px}.import-instructions ul{margin:0;padding-left:20px;font-size:13px;color:var(--ink);line-height:1.8}.import-mapping-v2{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0}.mapping-instructions{flex-shrink:0}.mapping-instructions p{margin:0 0 8px;font-size:14px;color:var(--ink);line-height:1.5}.mapping-instructions .preview-count{font-weight:600;color:var(--ink-muted);margin-top:12px}.preview-table-wrapper{flex:1;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-lg);min-height:200px}.column-mapping-table{width:100%;border-collapse:collapse;font-size:14px}.column-mapping-table th{position:sticky;top:0;background:var(--surface-sunken);padding:12px 16px;text-align:left;vertical-align:top;border-bottom:2px solid var(--line);min-width:150px;z-index:10}.column-mapping-table th select{width:100%;padding:10px 36px 10px 14px;border:2px solid var(--line);border-radius:var(--radius-lg);font-size:14px;background:var(--surface);cursor:pointer;color:var(--ink-muted);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.column-mapping-table th select.mapped{border-color:var(--ink);background-color:var(--ink);color:var(--ink-inverse);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='white' d='M2 4l4 4 4-4'/%3E%3C/svg%3E")}.column-mapping-table th select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #1a1c1b26}.column-mapping-table th select:hover:not(.mapped){border-color:var(--ink-faint)}.column-mapping-table th .original-header{margin-top:8px;font-size:11px;color:var(--ink-faint);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-mapping-table td{padding:10px 16px;border-bottom:1px solid var(--surface-sunken);color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.column-mapping-table tbody tr:hover{background:var(--surface-sunken)}.mapping-warning{background:var(--status-amber-bg);border:1px solid var(--status-amber-solid);border-radius:var(--radius-lg);padding:12px 16px;font-size:14px;color:var(--status-amber-text);flex-shrink:0}.import-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid var(--line);background:var(--surface-sunken)}.import-footer .footer-right{display:flex;gap:12px}.error-list{max-height:150px;overflow-y:auto}.error-item{font-size:13px;padding:4px 0;color:var(--ink)}.error-row{font-weight:600;color:var(--danger);margin-right:8px}.error-more{font-size:13px;color:var(--ink-faint);margin-top:8px;font-style:italic}.import-progress-step{padding:48px 24px;text-align:center}.progress-container{max-width:400px;margin:0 auto}.progress-bar{height:8px;background:var(--line);border-radius:var(--radius-sm);overflow:hidden}.progress-fill{height:100%;background:var(--ink);border-radius:var(--radius-sm);transition:width .3s}.progress-text{margin-top:16px;font-size:14px;color:var(--ink-muted)}.import-complete-step{text-align:center;padding:32px 24px}.complete-icon{font-size:64px;margin-bottom:16px}.import-complete-step h3{margin:0 0 12px;font-size:24px;color:var(--ink)}.complete-summary{font-size:16px;color:var(--ink);margin-bottom:24px}.import-errors{background:var(--danger-bg);border:1px solid var(--danger-bg);border-radius:var(--radius-lg);padding:16px;margin-bottom:24px;text-align:left}.import-errors h4{margin:0 0 12px;color:var(--danger);font-size:14px}.import-confirm-step{padding:16px 0}.import-confirm-step h3{margin:0 0 8px;font-size:20px;color:var(--ink)}.confirm-summary{font-size:15px;color:var(--ink);margin-bottom:20px}.confirm-section{background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;margin-bottom:16px}.confirm-section h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--ink)}.section-description{font-size:13px;color:var(--ink-muted);margin:0 0 12px}.confirm-list{max-height:200px;overflow-y:auto}.confirm-item{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:6px;font-size:13px}.confirm-item.error{background:var(--danger-bg);border-color:var(--danger-bg)}.confirm-item.new-part{background:var(--status-green-bg);border-color:var(--status-darkgreen-bg)}.confirm-item.mismatch{background:var(--status-amber-bg);border-color:var(--status-amber-bg);flex-direction:column}.item-row{font-weight:600;color:var(--danger);min-width:60px}.item-message{color:var(--danger-ink)}.item-part-number{font-weight:600;color:var(--ink);font-family:var(--font-mono)}.item-details{display:flex;flex-wrap:wrap;gap:6px}.detail-tag{display:inline-block;padding:2px 8px;background:var(--line);border-radius:var(--radius-sm);font-size:12px;color:var(--ink-muted)}.mismatch-details{margin:4px 0 0;padding-left:20px;font-size:12px;color:var(--status-amber-text)}.mismatch-details li{margin-bottom:2px}.confirm-more{padding:8px 12px;font-size:13px;color:var(--ink-muted);font-style:italic}.confirm-ready{background:var(--status-green-bg);border-color:var(--status-darkgreen-bg)}.confirm-ready p{margin:0;color:var(--status-green-text);font-size:14px}.confirm-errors{background:var(--danger-bg);border-color:var(--danger-bg)}.confirm-errors h4{color:var(--danger)}.confirm-new-parts{background:var(--status-green-bg);border-color:var(--status-darkgreen-bg)}.confirm-new-parts h4{color:var(--status-green-text)}.confirm-mismatches{background:var(--status-amber-bg);border-color:var(--status-amber-bg)}.confirm-mismatches h4{color:var(--status-amber-text)}.import-btn{padding:10px 16px;background:var(--ink);color:var(--ink-inverse);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s}.import-btn:hover{background:var(--action-hover)}.view-header-actions{display:flex;gap:12px}.van-cal-page .detail-page-header{margin-bottom:16px}.van-cal-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:.8rem;color:var(--ink-muted)}.van-cal-legend-item{display:flex;align-items:center;gap:4px}.van-cal-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.van-cal-nav{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:var(--radius-md);overflow:hidden;background:var(--surface)}.van-cal-nav-btn{background:none;border:none;padding:6px 12px;font-size:1.1rem;color:var(--ink);cursor:pointer;line-height:1}.van-cal-nav-btn:hover{background:var(--surface-sunken)}.van-cal-nav-label{background:none;border:none;border-left:1px solid var(--line-strong);border-right:1px solid var(--line-strong);padding:6px 20px;font-size:.9rem;font-weight:600;color:var(--ink);cursor:pointer;min-width:160px;text-align:center}.van-cal-nav-label:hover{background:var(--surface-sunken)}.van-cal-grids{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.van-cal-grid-container{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--line);padding:16px;min-width:0}.van-cal-van-title{font-size:1rem;font-weight:600;margin-bottom:12px;padding-bottom:8px;border-bottom:3px solid var(--status-blue-solid)}.van-cal-day-headers{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:4px}.van-cal-day-header{text-align:center;font-size:.7rem;font-weight:600;color:var(--ink-muted);padding:4px 0}.van-cal-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-sm)}.van-cal-day-cell{background:var(--surface);min-height:72px;padding:2px 3px;cursor:pointer;position:relative;overflow:hidden}.van-cal-day-cell:hover,.van-cal-day-other{background:var(--surface-sunken)}.van-cal-day-other .van-cal-day-number{color:var(--line-strong)}.van-cal-day-today{background:var(--status-blue-bg)}.van-cal-day-today .van-cal-day-number{background:var(--status-blue-solid);color:var(--ink-inverse);border-radius:50%;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.van-cal-day-number{font-size:.7rem;font-weight:500;color:var(--ink);display:block;margin-bottom:2px}.van-cal-chips{display:flex;flex-direction:column;gap:1px}.van-cal-chip{display:block;width:100%;text-align:left;font-size:.6rem;line-height:1.2;padding:1px 3px;border-radius:2px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.van-cal-chip-title{overflow:hidden;text-overflow:ellipsis}.van-cal-chip-person{opacity:.7;font-weight:400}.van-cal-chip:hover{filter:brightness(.95)}.van-cal-more{font-size:.6rem;color:var(--ink-muted);padding:0 3px}.van-cal-pending-panel{background:var(--status-amber-bg);border:1px solid var(--status-amber-solid);border-radius:var(--radius-lg);margin-bottom:16px;overflow:hidden}.van-cal-pending-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--status-amber-text)}.van-cal-pending-header:hover{background:var(--status-amber-bg)}.van-cal-pending-list{border-top:1px solid var(--status-amber-solid)}.van-cal-pending-item{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--status-amber-bg);gap:12px;flex-wrap:wrap}.van-cal-pending-item:last-child{border-bottom:none}.van-cal-pending-info{display:flex;flex-direction:column;gap:2px;min-width:0}.van-cal-pending-info strong{font-size:.875rem}.van-cal-pending-meta{font-size:.75rem;color:var(--status-amber-text)}.van-cal-pending-actions{display:flex;gap:6px;flex-shrink:0}.btn-approve{background:var(--status-green-solid);color:var(--ink-inverse);border:none;padding:6px 12px;border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;font-weight:500}.btn-approve:hover{background:var(--status-darkgreen-solid)}.btn-deny{background:var(--danger);color:var(--ink-inverse);border:none;padding:6px 12px;border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;font-weight:500}.btn-deny:hover{background:var(--danger)}.btn-view{background:var(--line);color:var(--ink);border:none;padding:6px 12px;border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;font-weight:500}.btn-view:hover{background:var(--line-strong)}.van-cal-modal{max-width:560px;padding:0 24px 24px}.van-cal-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.van-cal-modal .form-group{margin-bottom:12px}.van-cal-modal .form-group label{display:block;font-size:.8rem;font-weight:600;color:var(--ink);margin-bottom:4px}.van-cal-modal .form-group input,.van-cal-modal .form-group select,.van-cal-modal .form-group textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:.875rem}.van-cal-modal .form-group textarea{resize:vertical}.van-cal-modal form{overflow-y:auto}.van-cal-modal .modal-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap;align-items:center}.van-cal-action-btn{padding:8px 16px!important;font-size:.85rem!important;border-radius:var(--radius-md)}.van-cal-conflict-warning{background:var(--status-amber-bg);border:1px solid var(--status-amber-solid);color:var(--status-amber-text);padding:8px 12px;border-radius:var(--radius-sm);font-size:.8rem;margin-bottom:12px}.van-cal-deny-inline{display:flex;gap:6px;align-items:center}.van-cal-deny-inline input{padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:.8rem;width:200px}.van-cal-multiselect{position:relative}.van-cal-multiselect-trigger{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:.875rem;text-align:left;background:var(--surface);cursor:pointer;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-cal-multiselect-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);max-height:200px;overflow-y:auto;z-index:100;box-shadow:0 4px 12px #0000001a}.van-cal-modal .van-cal-multiselect-dropdown label{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px;padding:6px 10px;cursor:pointer;font-size:.85rem!important;font-weight:400!important;margin-bottom:0!important;color:var(--ink)}.van-cal-modal .van-cal-multiselect-dropdown label:hover{background:var(--surface-sunken)}.van-cal-modal .van-cal-multiselect-dropdown label input[type=checkbox]{margin:0;width:16px;height:16px;flex-shrink:0}@media(max-width:768px){.van-cal-grids{grid-template-columns:1fr}.van-cal-day-cell{min-height:56px}.van-cal-modal{max-width:100%;margin:10px}.van-cal-modal .form-row{grid-template-columns:1fr}.van-cal-pending-item{flex-direction:column;align-items:flex-start}}.po-split-modal{width:min(600px,calc(100vw - 32px))}.po-split-intro{margin:0 0 16px;color:var(--ink-muted);font-size:.875rem;line-height:1.55}.po-split-bar{display:flex;height:34px;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-sunken)}.po-split-bar-seg{display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;white-space:nowrap;color:var(--ink-inverse);font-size:11.5px;font-weight:600;letter-spacing:.02em;transition:width .18s ease}.po-split-bar-rest{background:repeating-linear-gradient(135deg,var(--line) 0 6px,var(--surface-sunken) 6px 12px);color:var(--ink-muted)}@media(prefers-reduced-motion:reduce){.po-split-bar-seg{transition:none}}.po-split-bar-caption{display:flex;justify-content:flex-end;margin:6px 0 14px;font-size:.8rem;font-weight:600}.po-split-bar-caption.ok{color:var(--status-darkgreen-solid)}.po-split-bar-caption.off{color:var(--danger)}.po-split-row{display:grid;grid-template-columns:12px 150px minmax(0,1fr) 88px 28px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--surface-sunken)}.po-split-row:last-of-type{border-bottom:none}.po-split-dot{width:10px;height:10px;border-radius:50%;justify-self:center}.po-split-row select,.po-split-row input{width:100%;min-width:0;padding:7px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:.875rem}.po-split-row select:focus,.po-split-row input:focus{outline:none;border-color:var(--action);box-shadow:0 0 0 3px var(--focus-ring)}.po-split-row select.po-split-invalid,.po-split-row input.po-split-invalid{border-color:var(--danger)}.po-split-row select.po-split-invalid:focus,.po-split-row input.po-split-invalid:focus{box-shadow:0 0 0 3px #dc26261f}.po-split-vehicle-static{font-size:.875rem;color:var(--ink);padding-left:2px}.po-split-novehicle{color:var(--ink-faint);font-size:.875rem;padding-left:2px}.po-split-pct{position:relative}.po-split-pct input{padding-right:26px;text-align:right;-moz-appearance:textfield;appearance:textfield}.po-split-pct input::-webkit-outer-spin-button,.po-split-pct input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.po-split-pct:after{content:"%";position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--ink-faint);font-size:.8rem;pointer-events:none}.po-split-toolbar{display:flex;align-items:center;gap:12px;margin-top:14px}.po-split-reset{font-size:.8rem;color:var(--action);background:none;border:none;padding:0;cursor:pointer}.po-split-reset:hover{text-decoration:underline}.po-split-errors{margin-top:12px;color:var(--danger);font-size:.85rem;line-height:1.5}.po-split-modal .modal-actions{padding:0 24px 24px;margin-top:8px}.po-split-row--line{grid-template-columns:88px 150px minmax(0,1fr) 28px}.po-split-colhead{padding:0 0 4px;border-bottom:1px solid var(--line);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted)}.po-split-qty input{text-align:right}.po-split-toolbar--split{justify-content:space-between}.po-split-count{font-size:.8rem;font-weight:600}.po-split-count.ok{color:var(--status-darkgreen-solid)}.po-split-count.off{color:var(--danger)}@media(max-width:560px){.po-split-row{grid-template-columns:12px minmax(0,1fr) 88px 28px;grid-template-areas:"dot alloc pct remove" ".   veh   veh veh";row-gap:6px}.po-split-dot{grid-area:dot}.po-split-alloc{grid-area:alloc}.po-split-vehicle{grid-area:veh}.po-split-pct{grid-area:pct}.po-split-remove-cell{grid-area:remove}.po-split-row--line{grid-template-columns:88px minmax(0,1fr) 28px;grid-template-areas:"qty alloc remove" "veh veh   veh"}.po-split-qty{grid-area:qty}.po-split-colhead{display:none}}.tasks-menu-toggle,.tasks-sort-mobile{display:none}@media(max-width:768px){.tasks-menu-toggle{display:inline-flex;align-items:center;min-height:40px}.tasks-sidebar{position:fixed!important;top:0;left:-290px;width:280px!important;min-width:280px!important;height:100vh;max-height:100vh;background:var(--surface);border-right:1px solid var(--line-strong);box-shadow:4px 0 16px #00000026;z-index:1100;transition:left .25s ease;padding-top:16px!important}.tasks-sidebar.open{left:0}.tasks-sidebar-overlay{position:fixed;inset:0;background:var(--scrim);z-index:1050}.tasks-sidebar [style]{-webkit-tap-highlight-color:transparent}.tasks-toolbar{row-gap:10px!important}.tasks-search-input{width:100%!important;font-size:16px!important;min-height:42px;box-sizing:border-box}.tasks-filter-select{flex:1 1 45%;min-width:0;font-size:16px!important;min-height:42px}.tasks-sort-mobile{display:flex!important;gap:8px;flex:1 1 100%}.tasks-sort-mobile select{flex:1;font-size:16px;min-height:42px;padding:6px;border:1px solid var(--line-strong);border-radius:var(--radius-sm)}.tasks-sort-mobile .btn{min-width:48px;font-size:1rem}.tasks-board{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.tasks-board-col{width:78vw!important;min-width:78vw!important;scroll-snap-align:start}.tasks-pagination button{padding:10px 18px!important;min-height:42px}.tasks-create-modal{overflow-y:auto!important;display:block!important;max-height:92vh}.tasks-create-modal .tasks-modal-row{grid-template-columns:1fr!important}.tasks-create-modal input,.tasks-create-modal select,.tasks-create-modal textarea{font-size:16px!important;min-height:40px;box-sizing:border-box}.tasks-perm-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tasks-cat-row,.tasks-webhook-row{flex-wrap:wrap!important}.tasks-cat-row input,.tasks-webhook-row input{flex:1 1 100%!important;font-size:16px!important;min-height:40px}}@media(hover:none)and (pointer:coarse){.tasks-filter-select,.tasks-search-input,.tasks-sort-mobile select{min-height:44px}}@media(max-width:768px){.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.detail-content{grid-template-columns:1fr!important}.header-actions{flex-wrap:wrap}.dashboard-links-grid{grid-template-columns:1fr!important}.prod-sched-page{max-width:100%!important}.prod-sched-table th,.prod-sched-table td{position:static!important}input[type=text],input[type=search],input[type=email],input[type=password],input[type=number],input[type=date],input[type=url],input[type=tel],select,textarea{font-size:16px!important}}
