.gantt-container{background:var(--bg-color);z-index:98;flex-direction:column;display:flex;position:fixed;inset:44px 0 0;overflow:hidden}#mech-gantt-container{top:110px}.gantt-toolbar{border-bottom:1px solid var(--panel-border);background:var(--toolbar-bg);flex-shrink:0;align-items:center;gap:12px;padding:10px 16px;display:flex}.gantt-toolbar label{color:var(--secondary-text);font-size:11px;font-weight:500}.gantt-toolbar select{border:1px solid var(--input-border);color:var(--input-text);background:var(--input-bg);cursor:pointer;border-radius:6px;padding:4px 8px;font-size:11px}.gantt-tb-group{align-items:center;gap:4px;display:flex}.gantt-tb-label{color:var(--secondary-text);margin-right:4px;font-size:11px}.gantt-tb-btn{border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);cursor:pointer;border-radius:6px;padding:4px 12px;font-size:11px;transition:all .15s}.gantt-tb-btn.active{background:var(--color-primary-dark);color:var(--text-inverse);border-color:var(--color-primary-dark)}.gantt-tb-btn:hover:not(.active){background:var(--hover-bg)}.gantt-body{flex:1;display:flex;overflow:hidden}.gantt-task-list{background:var(--item-bg);flex-shrink:0;width:260px;min-width:200px;overflow:hidden auto}.gantt-task-list-header{z-index:3;font-size:11px;font-weight:600;position:sticky;top:0}.gantt-task-row{color:var(--text-color);cursor:pointer;white-space:nowrap;content-visibility:auto;contain-intrinsic-size:auto 32px;align-items:center;gap:6px;padding:0 12px;font-size:11px;transition:background .1s;display:flex}.gantt-task-row:hover{background:var(--hover-bg)!important}.gantt-task-row.group-header{cursor:default;font-weight:600}.gantt-tree-arrow{user-select:none;width:14px;font-size:10px;transition:transform .15s;display:inline-block}.gantt-group-toggle{user-select:none;cursor:pointer!important}.gantt-group-toggle:hover{filter:brightness(.95)}.gantt-task-row .task-title{text-overflow:ellipsis;flex:1;overflow:hidden}.gantt-task-row .task-severity{border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:600}.gantt-task-row .task-severity.P0{background:var(--color-critical-bg);color:var(--color-critical-text)}.gantt-task-row .task-severity.P1{background:var(--color-major-bg);color:var(--color-major)}.gantt-task-row .task-severity.P2{background:var(--color-suggestion-bg);color:var(--color-suggestion-text)}.gantt-task-row .task-severity.P3{background:var(--color-status-closed-bg);color:var(--text-secondary)}.gantt-timeline{background:var(--input-bg);flex:1;position:relative;overflow:auto}.gantt-timeline svg{display:block}.gantt-bar{stroke:none;cursor:pointer;transition:opacity .15s}.gantt-bar:hover{opacity:.8}.gantt-bar.severity-P0{fill:#ffcdd2;stroke:var(--color-critical-dark)}.gantt-bar.severity-P1{fill:#ffe0b2;stroke:var(--color-major)}.gantt-bar.severity-P2{fill:#bbdefb;stroke:var(--color-primary-dark)}.gantt-bar.severity-P3{fill:#e0e0e0;stroke:var(--text-secondary)}.gantt-bar.status-resolved,.gantt-bar.status-closed{fill:var(--color-success-light);stroke:var(--color-success-hover)}.gantt-bar.overdue{stroke:var(--color-critical-dark);stroke-width:1.5px}.gantt-tooltip{z-index:9999;background:var(--bg-surface);backdrop-filter:blur(10px);border:1px solid var(--border-input);color:var(--text-primary);pointer-events:none;opacity:0;visibility:hidden;border-radius:8px;max-width:260px;padding:10px 14px;font-size:11px;line-height:1.6;transition:opacity .15s,visibility .15s;position:fixed;box-shadow:0 4px 16px #0000001f}.gantt-tooltip.visible{opacity:1;visibility:visible}[data-theme=dark] .gantt-tooltip{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);box-shadow:0 4px 16px #0006}.gantt-empty-state{height:100%;color:var(--secondary-text);flex-direction:column;justify-content:center;align-items:center;font-size:13px;display:flex}.gantt-empty-state .empty-icon{margin-bottom:12px;font-size:48px}@media (width<=767px){.gantt-container{display:none}.gantt-mobile-fallback{display:flex!important}}.gantt-mobile-fallback{text-align:center;height:100%;color:var(--secondary-text);flex-direction:column;justify-content:center;align-items:center;padding:20px;font-size:13px;display:none}.dt-login-divider{color:var(--secondary-text);align-items:center;margin:20px 0 16px;font-size:12px;display:flex}.dt-login-divider:before,.dt-login-divider:after{content:"";background:var(--input-border);flex:1;height:1px}.dt-login-divider:before{margin-right:12px}.dt-login-divider:after{margin-left:12px}#dt-login-btn{color:#0958d9;cursor:pointer;background:#fff;border:1.5px solid #0958d9;border-radius:8px;width:100%;margin-bottom:12px;padding:14px;font-size:15px;font-weight:600;transition:background .15s,color .15s,transform .15s,box-shadow .15s;display:none}#dt-login-btn:hover{color:#fff;background:#0958d9;transform:translateY(-1px);box-shadow:0 2px 8px #1677ff59}#dt-login-btn:active{transform:translateY(0)}#dt-login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}#dt-login-btn .dt-icon{vertical-align:middle;background:#1677ff;border-radius:4px;width:18px;height:18px;margin-right:8px;display:inline-block;position:relative}#dt-login-btn .dt-icon:after{content:"钉";color:#fff;font-size:10px;font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#dt-login-btn:hover .dt-icon{background:#fff}#dt-login-btn:hover .dt-icon:after{color:#0958d9}.dt-admin-label{text-align:center;color:var(--secondary-text);margin-bottom:8px;font-size:12px;display:none}#dt-login-btn.dt-loading{color:#0000;position:relative}#dt-login-btn.dt-loading:after{content:"";border:2px solid #1677ff;border-top-color:#0000;border-radius:50%;width:18px;height:18px;margin:-9px 0 0 -9px;animation:.6s linear infinite dt-spin;position:absolute;top:50%;left:50%}@keyframes dt-spin{to{transform:rotate(360deg)}}.dingtalk-doc-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s,opacity .15s,box-shadow .15s;display:inline-flex}.dingtalk-doc-btn--active{color:#0958d9;background:#e6f4ff;border-color:#91caff}.dingtalk-doc-btn--active:hover{color:#003eb3;background:#bae0ff;box-shadow:0 1px 4px #1677ff33}.dingtalk-doc-btn--disabled{background:var(--item-bg);color:var(--secondary-text);border-color:var(--input-border);opacity:.5;cursor:not-allowed}.dingtalk-doc-btn--small{flex-shrink:0;min-width:28px;padding:3px 8px;font-size:13px}.sync-badge{white-space:nowrap;border-radius:10px;flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.sync-badge-icon{font-size:11px;line-height:1}.sync-badge-label{font-size:10px}.sync-badge--synced{color:#389e0d;background:#f6ffed;border:1px solid #b7eb8f}.sync-badge--syncing{color:#d48806;background:#fffbe6;border:1px solid #ffe58f}.sync-badge--syncing .sync-badge-icon{animation:1s linear infinite sync-spin}@keyframes sync-spin{to{transform:rotate(360deg)}}.sync-badge--conflict{color:#d46b08;background:#fff7e6;border:1px solid #ffd591}.sync-badge--failed{color:#cf1322;background:#fff2f0;border:1px solid #ffa39e}.sync-badge--none{color:#999;background:#fafafa;border:1px solid #d9d9d9}.dingtalk-sync-cell{align-items:center;gap:6px;min-width:110px;display:flex}[data-theme=dark] .dingtalk-doc-btn--active{color:#3c9be8;background:#111d2c;border-color:#15325b}[data-theme=dark] .dingtalk-doc-btn--active:hover{color:#5ab1f2;background:#1a2d44}[data-theme=dark] .dingtalk-doc-btn--disabled{color:var(--secondary-text);border-color:var(--panel-border);background:#1a1a2e}[data-theme=dark] .sync-badge--synced{color:#73d13d;background:#1d3318;border-color:#3c6e1d}[data-theme=dark] .sync-badge--syncing{color:#ffc53d;background:#3c3014;border-color:#7a5c1a}[data-theme=dark] .sync-badge--conflict{color:#ffa940;background:#3c2814;border-color:#7a4e1a}[data-theme=dark] .sync-badge--failed{color:#ff7875;background:#3c1418;border-color:#7a1e22}[data-theme=dark] .sync-badge--none{color:#666;background:#1a1a2e;border-color:#2d2d2d}.dt-integration-modal .modal-content{flex-direction:column;width:860px;max-width:95vw;max-height:88vh;display:flex}.dt-integration-modal .modal-body{flex:1;padding:20px 24px;overflow-y:auto}.dti-robot-bar{background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}.dti-robot-label{color:#8a8f98;white-space:nowrap;letter-spacing:-.13px;font-size:13px;font-weight:510}.dti-robot-select{flex:1;max-width:300px}.dti-robot-info{color:#62666d;margin-left:auto;font-size:11px}.dti-batch-bar{align-items:center;gap:10px;margin-bottom:16px;padding:8px 0;display:flex}.dti-batch-bar .dti-batch-label{color:#8a8f98;font-size:12px;font-weight:510}.dti-batch-btn{color:#d0d6e0;cursor:pointer;background:#ffffff05;border:1px solid #ffffff14;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:510;transition:background .15s,border-color .15s}.dti-batch-btn:hover{background:#ffffff0d;border-color:#ffffff1f}.dti-batch-btn--primary{color:#fff;background:#5e6ad2;border-color:#5e6ad2}.dti-batch-btn--primary:hover{background:#7170ff;border-color:#7170ff}.dti-batch-btn--danger{color:#ef4444;border-color:#ef44444d}.dti-batch-btn--danger:hover{background:#ef44441a}.dti-cards-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:14px;display:grid}.dti-module-card{background:#ffffff05;border:1px solid #ffffff14;border-radius:8px;transition:border-color .2s,background .2s;overflow:hidden}.dti-module-card:hover{background:#ffffff08;border-color:#ffffff1f}.dti-module-card--configured{border-color:#5e6ad24d}.dti-module-card--configured:hover{border-color:#7170ff66}.dti-card-header{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.dti-card-title{align-items:center;gap:8px;display:flex}.dti-card-icon{font-size:18px}.dti-card-name{color:#f7f8f8;font-size:14px;font-weight:590}.dti-card-status{align-items:center;gap:8px;display:flex}.dti-toggle{cursor:pointer;width:40px;height:22px;position:relative}.dti-toggle input{opacity:0;width:0;height:0;position:absolute}.dti-toggle-slider{background:#ffffff1a;border-radius:22px;transition:background .2s;position:absolute;inset:0}.dti-toggle-slider:before{content:"";background:#8a8f98;border-radius:50%;width:16px;height:16px;transition:transform .2s,background .2s;position:absolute;bottom:3px;left:3px}.dti-toggle input:checked+.dti-toggle-slider{background:#5e6ad2}.dti-toggle input:checked+.dti-toggle-slider:before{background:#fff;transform:translate(18px)}.dti-status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dti-status-dot--configured{background:#10b981}.dti-status-dot--unconfigured{background:#62666d}.dti-status-dot--enabled{background:#5e6ad2}.dti-status-text{color:#8a8f98;font-size:11px;font-weight:400}.dti-card-body{flex-direction:column;gap:10px;padding:12px 14px;display:flex}.dti-field-row{flex-direction:column;gap:4px;display:flex}.dti-field-label{color:#8a8f98;letter-spacing:-.13px;font-size:11px;font-weight:510}.dti-field-input{color:#d0d6e0;background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;padding:7px 10px;font-family:Berkeley Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12px;transition:border-color .15s}.dti-field-input:focus{border-color:#5e6ad2;outline:none;box-shadow:0 4px 12px #0000001a}.dti-field-input::placeholder{color:#62666d}.dti-field-input--error{border-color:#ef444466}.dti-card-footer{border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.dti-card-actions{gap:6px;display:flex}.dti-card-btn{color:#8a8f98;cursor:pointer;background:#ffffff05;border:1px solid #ffffff14;border-radius:5px;padding:4px 10px;font-size:11px;transition:background .15s,color .15s}.dti-card-btn:hover{color:#d0d6e0;background:#ffffff0d}.dti-card-btn--save{color:#828fff;background:#5e6ad226;border-color:#5e6ad24d}.dti-card-btn--save:hover{color:#7170ff;background:#5e6ad240}.dti-field-map-section{border-top:1px solid #ffffff0a;margin-top:4px;padding-top:8px}.dti-field-map-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.dti-field-map-title{color:#8a8f98;font-size:12px;font-weight:510}.dti-field-map-toggle{color:#7170ff;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11px}.dti-field-map-toggle:hover{color:#828fff}.dti-map-rows{flex-direction:column;gap:4px;display:flex}.dti-map-row{align-items:center;gap:6px;padding:4px 0;display:flex}.dti-map-arrow{color:#62666d;flex-shrink:0;font-size:12px}.dti-map-field-select{color:#d0d6e0;background:#ffffff08;border:1px solid #ffffff14;border-radius:4px;flex:1;max-width:140px;padding:4px 6px;font-size:11px}.dti-map-col-select{color:#d0d6e0;background:#ffffff08;border:1px solid #ffffff14;border-radius:4px;flex-shrink:0;width:60px;padding:4px 6px;font-size:11px}.dti-map-remove-btn{color:#62666d;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;display:flex}.dti-map-remove-btn:hover{color:#ef4444;background:#ef44441a}.dti-map-add-btn{color:#7170ff;cursor:pointer;background:0 0;border:1px dashed #ffffff1a;border-radius:4px;margin-top:4px;padding:4px 10px;font-size:11px;transition:border-color .15s}.dti-map-add-btn:hover{border-color:#7170ff4d}.dti-hint{color:#f59e0b;background:#f59e0b14;border:1px solid #f59e0b26;border-radius:6px;align-items:center;gap:6px;padding:8px;font-size:11px;display:flex}.dti-hint-icon{flex-shrink:0;font-size:14px}.dti-global-save-bar{border-top:1px solid #ffffff14;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px;padding-top:16px;display:flex}.dti-save-status{color:#10b981;align-items:center;gap:4px;font-size:12px;display:flex}.dti-save-status--error{color:#ef4444}.dti-save-btn{color:#fff;cursor:pointer;background:#5e6ad2;border:none;border-radius:6px;padding:8px 20px;font-size:13px;font-weight:510;transition:background .15s}.dti-save-btn:hover{background:#7170ff}.dti-tabs{border-bottom:2px solid #0000;gap:0;margin-left:24px;display:flex}.dti-tab{color:#8a8f98;cursor:pointer;letter-spacing:-.13px;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 16px;font-size:13px;font-weight:510;transition:color .15s,border-color .15s}.dti-tab:hover{color:#c9d1d9}.dti-tab--active{color:#e6edf3;border-bottom-color:#58a6ff;font-weight:600}.dti-tab-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.dti-logs-filter-bar{background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:8px 16px;display:flex}.dti-logs-table-container{background:#ffffff03;border:1px solid #ffffff0d;border-radius:8px;flex:1;max-height:420px;overflow-y:auto}.dti-logs-table{border-collapse:collapse;color:#c9d1d9;width:100%;font-size:12px}.dti-logs-table th{text-align:left;color:#8a8f98;white-space:nowrap;letter-spacing:-.11px;background:#161b22;border-bottom:1px solid #30363d;padding:10px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.dti-logs-table td{vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:8px 12px}.dti-logs-table tr:hover td{background:#ffffff05}.dti-logs-table tr:last-child td{border-bottom:none}.dti-log-direction-tag{letter-spacing:-.11px;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:510;display:inline-block}.dti-log-direction-tag--push{color:#58a6ff;background:#58a6ff1f}.dti-log-direction-tag--pull{color:#a371f7;background:#a371f71f}.dti-log-status-tag{letter-spacing:-.11px;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:510;display:inline-block}.dti-log-status-tag--success{color:#2ea043;background:#2ea0431f}.dti-log-status-tag--failed{color:#f85149;background:#f851491f}.dti-log-status-tag--conflict{color:#d29922;background:#d299221f}.dti-log-status-tag--pending{color:#8b949e;background:#8b949e1f}.dti-retry-btn{color:#58a6ff;cursor:pointer;letter-spacing:-.11px;background:#58a6ff1a;border:1px solid #58a6ff4d;border-radius:4px;padding:3px 10px;font-size:11px;font-weight:510;transition:background .15s,border-color .15s}.dti-retry-btn:hover{background:#58a6ff33;border-color:#58a6ff80}.dti-retry-btn:disabled{opacity:.5;cursor:not-allowed}.dti-logs-footer{justify-content:space-between;align-items:center;margin-top:4px;padding:8px 4px;display:flex}.dti-logs-count{color:#8a8f98;font-size:11px}.dti-error-cell{text-overflow:ellipsis;white-space:nowrap;color:#8a8f98;max-width:220px;font-size:11px;overflow:hidden}.dti-error-cell:hover{white-space:normal;word-break:break-all;max-width:none}.dti-log-module-tag{color:#8a8f98;letter-spacing:-.1px;background:#ffffff0a;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:510;display:inline-block}@media (width<=768px){.dti-cards-grid{grid-template-columns:1fr}.dt-integration-modal .modal-content{border-radius:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh}.dti-robot-bar{flex-wrap:wrap}.dti-robot-select{width:100%;max-width:none}.dti-logs-filter-bar{flex-wrap:wrap}.dti-logs-table-container{max-height:300px}.dti-tabs{margin-top:8px;margin-left:0}}.bom-view{z-index:98;background:var(--bg-primary);color:var(--text-primary);font-family:"Inter Variable", var(--font-family-sans);font-feature-settings:"cv01", "ss03";position:fixed;inset:40px 0 0;overflow-y:auto}.bom-shell{max-width:1440px;min-height:100%;margin:0 auto;padding:32px 36px 48px}.bom-header{justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:28px;display:flex}.bom-kicker,.bom-section-label{color:var(--text-accent);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:510}.bom-title{letter-spacing:-.704px;margin:6px 0 8px;font-size:32px;font-weight:510;line-height:1.13}.bom-subtitle{color:var(--text-secondary);font-size:14px;line-height:1.5}.bom-header-actions,.bom-toolbar{align-items:center;gap:8px;display:flex}.bom-button{border:1px solid var(--border-input);background:var(--btn-secondary-bg);min-height:32px;color:var(--btn-secondary-text);cursor:pointer;font:510 12px/1.4 "Inter Variable", var(--font-family-sans);border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:7px 12px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.bom-button:hover:not(:disabled){background:var(--hover-bg);border-color:var(--border-focus);color:var(--text-primary)}.bom-button:disabled{cursor:not-allowed;opacity:.42}.bom-button-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-inverse)}.bom-button-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.bom-button-accent{color:var(--text-accent);background:var(--color-primary-light);border-color:var(--border-focus)}.bom-status{min-height:20px;color:var(--text-secondary);font-size:12px}.bom-status.is-success{color:var(--color-success-text)}.bom-status.is-warning{color:var(--color-warning-text)}.bom-status.is-error{color:var(--color-danger-text)}.bom-toolbar{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;margin:8px 0 16px;padding:10px}.bom-select-label{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:inline-flex}.bom-select,.bom-search{border:1px solid var(--input-border);background:var(--input-bg);min-height:30px;color:var(--input-text);font:400 12px/1.4 "Inter Variable", var(--font-family-sans);border-radius:6px;padding:5px 8px}.bom-select option{background:var(--bg-elevated);color:var(--text-primary)}.bom-search-label{min-width:220px;color:var(--text-tertiary);align-items:center;gap:5px;margin-left:auto;display:inline-flex}.bom-search{background:0 0;border:0;outline:0;width:100%}.bom-content{grid-template-columns:272px minmax(0,1fr);align-items:start;gap:16px;display:grid}.bom-sidebar{gap:12px;display:grid}.bom-panel,.bom-main-panel{border:1px solid var(--border-color);background:var(--bg-surface);box-shadow:var(--shadow-card);border-radius:8px}.bom-panel-heading{border-bottom:1px solid var(--border-color);color:var(--text-primary);justify-content:space-between;padding:12px 14px;font-size:12px;font-weight:510;display:flex}.bom-count{color:var(--text-tertiary);font:400 11px/1.4 var(--font-family-mono)}.bom-list{max-height:250px;padding:4px;overflow-y:auto}.bom-list-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;gap:4px;padding:10px;display:grid}.bom-list-item:hover,.bom-list-item.is-selected{background:var(--hover-bg);border-color:var(--border-input)}.bom-list-item-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:510;overflow:hidden}.bom-list-item-meta,.bom-list-item-foot{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.bom-list-item-foot{justify-content:space-between;gap:8px;display:flex}.bom-mini-pill{color:var(--color-success-text)}.bom-mini-pill.is-invalid{color:var(--color-danger-text)}.bom-validation,.bom-review{border:1px solid var(--color-warning);background:var(--color-warning-light);color:var(--color-warning-text);border-radius:6px;margin:0 0 16px;padding:12px 14px;font-size:12px;line-height:1.5}.bom-validation ul,.bom-review ul{margin:8px 0 0;padding-left:18px}.bom-review-title{font-weight:510}.bom-review p{color:var(--text-secondary);margin:4px 0 0}.bom-list-empty,.bom-summary-empty,.bom-empty{color:var(--text-tertiary);text-align:center;padding:18px 12px;font-size:12px}.bom-result-limit{border-top:1px solid var(--border-color);color:var(--text-secondary);text-align:center;padding:10px 12px;font-size:11px}.bom-main-panel{min-width:0;padding:16px}.bom-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:20px;display:grid}.bom-summary-cell{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:6px;gap:4px;padding:12px;display:grid}.bom-summary-value{color:var(--text-primary);font-size:20px;font-weight:510}.bom-summary-label{color:var(--text-secondary);font-size:11px}.bom-state-matched{color:var(--color-success-text)}.bom-state-quantity-mismatch{color:var(--color-warning-text)}.bom-state-missing-in-step{color:var(--color-danger-text)}.bom-state-missing-in-bom{color:var(--text-accent)}.bom-result-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:10px;display:flex}.bom-result-heading h2{color:var(--text-primary);margin:5px 0 0;font-size:18px;font-weight:510}.bom-table-wrap{border:1px solid var(--border-color);border-radius:6px;overflow-x:auto}.bom-table{border-collapse:collapse;width:100%;min-width:720px}.bom-table th,.bom-table td{border-bottom:1px solid var(--border-color);text-align:left;white-space:nowrap;padding:10px 12px;font-size:12px}.bom-table th{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:510}.bom-table td{color:var(--text-primary)}.bom-table tr:last-child td{border-bottom:0}.bom-table .mono,.mono{font-family:Berkeley Mono, var(--font-family-mono);font-size:11px}.bom-state{font-size:11px;font-weight:510}.bom-locate{border:1px solid var(--border-input);background:var(--btn-secondary-bg);width:26px;height:26px;color:var(--text-primary);cursor:pointer;border-radius:50%}.bom-locate:hover{border-color:var(--color-primary);color:var(--text-accent)}.bom-muted{color:var(--text-tertiary)}.bom-distribution{margin-top:24px}.bom-distribution-list{gap:6px;margin-top:8px;display:grid}.bom-distribution-row{border-top:1px solid var(--border-color);color:var(--text-primary);grid-template-columns:minmax(0,1fr) 80px 80px;align-items:center;gap:12px;padding:10px 12px;font-size:12px;display:grid}.bom-distribution-path{color:var(--text-tertiary);margin-top:3px;display:block}@media (width<=800px){.bom-shell{padding:24px 16px 36px}.bom-header{display:block}.bom-header-actions{margin-top:16px}.bom-toolbar{flex-wrap:wrap}.bom-search-label{min-width:100%;margin-left:0}.bom-content{grid-template-columns:1fr}.bom-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.bom-list{max-height:190px}}@media (width<=520px){.bom-sidebar{grid-template-columns:1fr}.bom-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bom-result-heading{flex-direction:column;align-items:flex-start}}
