.badge[data-v-cd495baa]{letter-spacing:.3px;border-radius:99px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.page[data-v-fc7629bb]{animation:.3s fadeIn-fc7629bb}@keyframes fadeIn-fc7629bb{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page-header[data-v-fc7629bb]{align-items:baseline;gap:12px;margin-bottom:24px;display:flex}.page-header h1[data-v-fc7629bb]{font-size:22px;font-weight:700}.count[data-v-fc7629bb]{color:var(--text-muted);font-size:13px}.empty[data-v-fc7629bb]{text-align:center;color:var(--text-muted);padding:80px 0}.empty-icon[data-v-fc7629bb]{margin-bottom:12px;font-size:48px}.empty p[data-v-fc7629bb]{margin-bottom:16px}.error-banner[data-v-fc7629bb]{background:var(--bg-card);border:1px solid var(--error);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:12px;max-width:480px;margin:0 auto;padding:32px;display:flex}.error-icon[data-v-fc7629bb]{font-size:36px}.error-banner p[data-v-fc7629bb]{color:var(--text-secondary);margin:0;font-size:14px}.grid[data-v-fc7629bb]{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.card[data-v-fc7629bb]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration) var(--ease);padding:18px 20px}.card[data-v-fc7629bb]:hover{background:var(--bg-card-hover);border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-top[data-v-fc7629bb]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.card-title[data-v-fc7629bb]{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:15px;font-weight:600;overflow:hidden}.card-meta[data-v-fc7629bb]{color:var(--text-muted);gap:16px;font-size:12px;display:flex}.meta-item[data-v-fc7629bb]{align-items:center;gap:4px;display:flex}.card-progress[data-v-fc7629bb]{align-items:center;gap:10px;margin-top:12px;display:flex}.mini-bar[data-v-fc7629bb]{background:var(--bg-elevated);border-radius:99px;flex:1;height:4px;overflow:hidden}.mini-fill[data-v-fc7629bb]{background:var(--accent);border-radius:99px;height:100%;transition:width .5s}.mini-pct[data-v-fc7629bb]{color:var(--accent);font-size:12px;font-weight:500}.card-actions[data-v-fc7629bb]{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.btn-primary[data-v-fc7629bb]{background:var(--accent);color:var(--text-inverse);border-radius:var(--radius-sm);padding:10px 24px;font-size:14px;font-weight:600;display:inline-block}.btn-primary[data-v-fc7629bb]:hover{background:var(--accent-hover)}.btn-sm[data-v-fc7629bb]{border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);padding:5px 12px;font-size:12px;font-weight:500}.btn-sm[data-v-fc7629bb]:hover{color:var(--text-primary);background:var(--border)}.btn-sm.btn-danger[data-v-fc7629bb]:hover{color:var(--error)}.btn-sm.btn-secondary[data-v-fc7629bb]{color:var(--accent-steel)}.multi-uploader[data-v-71d61c6f]{flex-direction:column;gap:12px;display:flex}.drop-zone[data-v-71d61c6f]{border:2px dashed var(--border);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:all var(--duration) var(--ease);padding:28px;position:relative}.drop-zone[data-v-71d61c6f]:hover,.drop-zone.dragging[data-v-71d61c6f]{border-color:var(--accent);background:var(--accent-muted)}.drop-zone input[data-v-71d61c6f]{opacity:0;cursor:pointer;position:absolute;inset:0}.drop-zone .upload-icon[data-v-71d61c6f]{width:36px;height:36px;color:var(--text-muted);margin-bottom:8px}.drop-text[data-v-71d61c6f]{flex-direction:column;gap:4px;display:flex}.drop-main[data-v-71d61c6f]{color:var(--text-primary);font-size:14px;font-weight:500}.drop-hint[data-v-71d61c6f]{color:var(--text-muted);font-size:12px}.file-summary[data-v-71d61c6f]{flex-wrap:wrap;gap:8px;display:flex}.summary-badge[data-v-71d61c6f]{background:var(--bg-elevated);border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600}.file-list[data-v-71d61c6f]{flex-direction:column;gap:6px;max-height:240px;display:flex;overflow-y:auto}.file-item[data-v-71d61c6f]{background:var(--bg-elevated);border-radius:var(--radius-sm);border-left:3px solid var(--border);transition:all var(--duration) var(--ease);align-items:center;gap:10px;padding:8px 12px;display:flex}.file-item.bidding_doc[data-v-71d61c6f]{border-left-color:var(--accent)}.file-item.boq[data-v-71d61c6f]{border-left-color:var(--accent-steel)}.file-item.dwg[data-v-71d61c6f]{border-left-color:var(--success)}.file-icon[data-v-71d61c6f]{flex-shrink:0;font-size:18px}.file-info[data-v-71d61c6f]{flex:1;min-width:0}.file-name[data-v-71d61c6f]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.file-meta[data-v-71d61c6f]{color:var(--text-muted);gap:8px;margin-top:2px;font-size:11px;display:flex}.type-tag[data-v-71d61c6f]{font-weight:600}.file-remove[data-v-71d61c6f]{color:var(--text-muted);cursor:pointer;background:0 0;flex-shrink:0;padding:0 4px;font-size:18px;line-height:1}.file-remove[data-v-71d61c6f]:hover{color:var(--error)}.page[data-v-e433d3c8]{animation:.3s fadeIn-e433d3c8}@keyframes fadeIn-e433d3c8{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page-header[data-v-e433d3c8]{align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-header h1[data-v-e433d3c8]{font-size:22px;font-weight:700}.btn-back[data-v-e433d3c8]{color:var(--text-secondary);background:0 0;padding:6px 0;font-size:14px}.btn-back[data-v-e433d3c8]:hover{color:var(--text-primary)}.form-card[data-v-e433d3c8]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:680px;padding:32px}.form-section[data-v-e433d3c8]{margin-bottom:24px}.form-label[data-v-e433d3c8]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;align-items:baseline;gap:8px;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.label-hint[data-v-e433d3c8]{text-transform:none;letter-spacing:0;color:var(--text-muted);font-size:11px;font-weight:400}.required[data-v-e433d3c8]{color:var(--error)}.form-row[data-v-e433d3c8]{gap:16px;display:flex}.form-row .form-section[data-v-e433d3c8]{flex:1}input[type=text][data-v-e433d3c8],select[data-v-e433d3c8]{width:100%}.validation-hint[data-v-e433d3c8]{flex-direction:column;gap:4px;margin-top:8px;display:flex}.missing[data-v-e433d3c8]{color:var(--accent);font-size:12px}.options[data-v-e433d3c8]{flex-direction:column;gap:12px;display:flex}.toggle[data-v-e433d3c8]{cursor:pointer;align-items:center;gap:10px;font-size:14px;display:flex}.toggle input[data-v-e433d3c8]{display:none}.toggle-slider[data-v-e433d3c8]{background:var(--bg-elevated);width:40px;height:22px;transition:background var(--duration) var(--ease);border-radius:99px;position:relative}.toggle-slider[data-v-e433d3c8]:after{content:"";background:var(--text-muted);width:18px;height:18px;transition:all var(--duration) var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.toggle input:checked+.toggle-slider[data-v-e433d3c8]{background:var(--accent-muted)}.toggle input:checked+.toggle-slider[data-v-e433d3c8]:after{background:var(--accent);transform:translate(18px)}.error[data-v-e433d3c8]{background:var(--error-muted);color:var(--error);border-radius:var(--radius-sm);margin-bottom:16px;padding:10px 16px;font-size:13px}.btn-submit[data-v-e433d3c8]{background:var(--accent);width:100%;color:var(--text-inverse);border-radius:var(--radius-sm);letter-spacing:.3px;padding:14px;font-size:16px;font-weight:700}.btn-submit[data-v-e433d3c8]:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.btn-submit[data-v-e433d3c8]:disabled{opacity:.5;cursor:not-allowed}.tracker[data-v-14898f52]{background:var(--bg-card);border-radius:var(--radius-md);padding:20px 24px}.progress-header[data-v-14898f52]{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.progress-pct[data-v-14898f52]{font-family:var(--font-mono);color:var(--accent);font-size:28px;font-weight:700}.progress-detail[data-v-14898f52]{color:var(--text-secondary);font-size:13px}.progress-bar[data-v-14898f52]{background:var(--bg-elevated);border-radius:99px;height:6px;margin-bottom:20px;overflow:hidden}.progress-fill[data-v-14898f52]{background:linear-gradient(90deg, var(--accent), var(--accent-hover));height:100%;transition:width .5s var(--ease);border-radius:99px}.stages[data-v-14898f52]{justify-content:space-between;display:flex}.stage[data-v-14898f52]{flex-direction:column;align-items:center;gap:6px;display:flex}.stage-dot[data-v-14898f52]{border:2px solid var(--border);width:32px;height:32px;color:var(--text-muted);background:var(--bg-surface);transition:all var(--duration) var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.stage.active .stage-dot[data-v-14898f52]{border-color:var(--accent);color:var(--accent);background:var(--accent-muted);box-shadow:0 0 12px #f59e0b4d}.stage.done .stage-dot[data-v-14898f52]{border-color:var(--success);color:var(--text-inverse);background:var(--success)}.stage-label[data-v-14898f52]{color:var(--text-muted);font-size:12px}.stage.active .stage-label[data-v-14898f52]{color:var(--accent);font-weight:600}.stage.done .stage-label[data-v-14898f52]{color:var(--success)}.quality-radar[data-v-cf82a9c3]{flex-direction:column;gap:20px;display:flex}.radar-wrap[data-v-cf82a9c3]{justify-content:center;padding:8px 0;display:flex}.score-table[data-v-cf82a9c3]{border-collapse:collapse;width:100%;font-size:13px}.score-table th[data-v-cf82a9c3]{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:6px 8px;font-weight:500}.score-table td[data-v-cf82a9c3]{border-bottom:1px solid var(--border-subtle);padding:6px 8px}.score-val[data-v-cf82a9c3]{font-family:var(--font-mono);font-weight:600}.score-val.good[data-v-cf82a9c3]{color:var(--success)}.score-val.warn[data-v-cf82a9c3]{color:var(--accent)}.score-val.bad[data-v-cf82a9c3]{color:var(--error)}.text-muted[data-v-cf82a9c3]{color:var(--text-muted)}.suggestions h4[data-v-cf82a9c3]{color:var(--text-secondary);margin-bottom:8px;font-size:13px}.suggestions ul[data-v-cf82a9c3]{color:var(--text-secondary);padding-left:18px;font-size:13px;line-height:1.6}.empty-quality[data-v-cf82a9c3]{text-align:center;color:var(--text-muted);padding:40px 0}.empty-quality .hint[data-v-cf82a9c3]{margin-top:6px;font-size:12px}.pricing-form[data-v-ffd9ebd3]{flex-direction:column;gap:16px;display:flex}.fields[data-v-ffd9ebd3]{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=600px){.fields[data-v-ffd9ebd3]{grid-template-columns:1fr}}.field-row[data-v-ffd9ebd3]{align-items:center;gap:10px;display:flex}.field-row label[data-v-ffd9ebd3]{color:var(--text-secondary);flex-shrink:0;min-width:100px;font-size:13px}.field-row input[data-v-ffd9ebd3]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);transition:border-color var(--duration) var(--ease);outline:none;flex:1;padding:8px 10px;font-size:14px}.field-row input[data-v-ffd9ebd3]:focus{border-color:var(--accent)}.field-row input[data-v-ffd9ebd3]:disabled{opacity:.5}.actions[data-v-ffd9ebd3]{gap:10px;padding-top:4px;display:flex}.btn-save[data-v-ffd9ebd3],.btn-reprice[data-v-ffd9ebd3]{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration) var(--ease);padding:9px 20px;font-size:13px;font-weight:600}.btn-save[data-v-ffd9ebd3]{background:var(--accent);color:var(--text-inverse);border:none}.btn-save[data-v-ffd9ebd3]:hover:not(:disabled){background:var(--accent-hover)}.btn-save[data-v-ffd9ebd3]:disabled{opacity:.5;cursor:not-allowed}.btn-reprice[data-v-ffd9ebd3]{color:var(--accent-steel);border:1px solid var(--accent-steel);background:0 0}.btn-reprice[data-v-ffd9ebd3]:hover:not(:disabled){background:var(--accent-steel-muted)}.btn-reprice[data-v-ffd9ebd3]:disabled{opacity:.5;cursor:not-allowed}.msg[data-v-ffd9ebd3]{border-radius:var(--radius-sm);padding:8px 12px;font-size:13px}.msg.success[data-v-ffd9ebd3]{background:var(--success-muted);color:var(--success)}.msg.error[data-v-ffd9ebd3]{background:var(--error-muted);color:var(--error)}.optimization-panel[data-v-a6a7d2f6]{flex-direction:column;gap:16px;display:flex}.opt-header[data-v-a6a7d2f6]{justify-content:space-between;align-items:center;display:flex}.opt-header h3[data-v-a6a7d2f6]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:14px;font-weight:600}.btn-analyze[data-v-a6a7d2f6]{background:var(--accent);color:var(--text-inverse);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration) var(--ease);border:none;padding:8px 20px;font-size:13px;font-weight:600}.btn-analyze[data-v-a6a7d2f6]:hover:not(:disabled){background:var(--accent-hover)}.btn-analyze[data-v-a6a7d2f6]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary-sm[data-v-a6a7d2f6]{color:var(--accent-steel);border:1px solid var(--accent-steel);background:0 0}.btn-secondary-sm[data-v-a6a7d2f6]:hover:not(:disabled){background:var(--accent-steel-muted)}.opt-loading[data-v-a6a7d2f6]{color:var(--text-muted);align-items:center;gap:10px;padding:20px 0;font-size:13px;display:flex}.spinner[data-v-a6a7d2f6]{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin-a6a7d2f6;display:inline-block}@keyframes spin-a6a7d2f6{to{transform:rotate(360deg)}}.opt-error[data-v-a6a7d2f6]{background:var(--error-muted);color:var(--error);border-radius:var(--radius-sm);border:1px solid #ef44444d;padding:10px 14px;font-size:13px}.opt-good[data-v-a6a7d2f6]{background:var(--success-muted);color:var(--success);border-radius:var(--radius-sm);border:1px solid #22c55e4d;align-items:center;gap:10px;padding:14px 16px;font-size:13px;display:flex}.good-icon[data-v-a6a7d2f6]{font-size:18px;font-weight:700}.opt-assemble[data-v-a6a7d2f6]{color:var(--text-secondary);border-radius:var(--radius-sm);background:#f59e0b14;border:1px solid #f59e0b4d;align-items:center;gap:10px;padding:12px 16px;font-size:13px;display:flex}.assemble-icon[data-v-a6a7d2f6]{color:var(--accent);font-size:16px}.btn-assemble[data-v-a6a7d2f6]{background:var(--accent);color:var(--text-inverse);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;margin-left:auto;padding:6px 16px;font-size:12px;font-weight:600}.btn-assemble[data-v-a6a7d2f6]:hover{background:var(--accent-hover)}.opt-summary[data-v-a6a7d2f6]{background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border);align-items:center;gap:16px;padding:14px 16px;display:flex}.summary-item[data-v-a6a7d2f6]{flex-direction:column;gap:2px;display:flex}.summary-label[data-v-a6a7d2f6]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.summary-value[data-v-a6a7d2f6]{font-family:var(--font-mono);color:var(--text-primary);font-size:20px;font-weight:700}.summary-value.highlight[data-v-a6a7d2f6]{color:var(--success)}.summary-arrow[data-v-a6a7d2f6]{color:var(--text-muted);font-size:18px}.opt-issues[data-v-a6a7d2f6]{flex-direction:column;gap:10px;display:flex}.issue-card[data-v-a6a7d2f6]{border-radius:var(--radius-sm);border-left:3px solid var(--border);padding:14px 16px}.issue-card.auto-fix[data-v-a6a7d2f6]{border-left-color:var(--success);background:#22c55e0a}.issue-card.needs-input[data-v-a6a7d2f6]{border-left-color:var(--accent);background:#f59e0b0a}.issue-top[data-v-a6a7d2f6]{align-items:center;gap:10px;margin-bottom:10px;display:flex}.issue-badge[data-v-a6a7d2f6]{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.badge-green[data-v-a6a7d2f6]{background:var(--success-muted);color:var(--success)}.badge-amber[data-v-a6a7d2f6]{background:var(--accent-muted);color:var(--accent)}.issue-dimension[data-v-a6a7d2f6]{color:var(--text-primary);flex:1;font-size:13px;font-weight:600}.issue-score[data-v-a6a7d2f6]{font-family:var(--font-mono);color:var(--accent);font-size:14px;font-weight:700}.issue-body[data-v-a6a7d2f6]{margin-bottom:8px}.issue-cause[data-v-a6a7d2f6]{color:var(--text-secondary);margin:0 0 4px;font-size:13px}.issue-strategy[data-v-a6a7d2f6]{color:var(--text-muted);margin:0;font-size:12px}.issue-fields[data-v-a6a7d2f6]{border-top:1px solid var(--border-subtle);flex-direction:column;gap:10px;margin-top:8px;padding-top:10px;display:flex}.field-group[data-v-a6a7d2f6]{align-items:center;gap:10px;display:flex}.field-group label[data-v-a6a7d2f6]{color:var(--text-secondary);flex-shrink:0;min-width:100px;font-size:13px}.field-input[data-v-a6a7d2f6]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--duration) var(--ease);outline:none;flex:1;padding:8px 10px;font-size:13px}.field-input[data-v-a6a7d2f6]:focus{border-color:var(--accent)}.field-input[data-v-a6a7d2f6]:disabled{opacity:.5}.opt-actions[data-v-a6a7d2f6]{align-items:center;gap:12px;padding-top:4px;display:flex}.exec-status[data-v-a6a7d2f6]{color:var(--text-muted);font-size:12px;font-family:var(--font-mono)}.btn-execute[data-v-a6a7d2f6]{background:var(--accent);color:var(--text-inverse);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration) var(--ease);border:none;padding:10px 28px;font-size:14px;font-weight:600}.btn-execute[data-v-a6a7d2f6]:hover:not(:disabled){background:var(--accent-hover)}.btn-execute[data-v-a6a7d2f6]:disabled{opacity:.5;cursor:not-allowed}.opt-result[data-v-a6a7d2f6]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}.opt-result h4[data-v-a6a7d2f6]{color:var(--text-secondary);margin:0 0 12px;font-size:13px;font-weight:600}.result-compare[data-v-a6a7d2f6]{align-items:center;gap:16px;display:flex}.compare-item[data-v-a6a7d2f6]{flex-direction:column;gap:2px;display:flex}.compare-label[data-v-a6a7d2f6]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.compare-value[data-v-a6a7d2f6]{font-family:var(--font-mono);color:var(--text-primary);font-size:20px;font-weight:700}.compare-value.improved[data-v-a6a7d2f6]{color:var(--success)}.compare-arrow[data-v-a6a7d2f6]{color:var(--text-muted);font-size:18px}.evolution-panel[data-v-d8236bf5]{flex-direction:column;gap:16px;display:flex}.evo-loading[data-v-d8236bf5]{color:var(--text-muted);align-items:center;gap:10px;padding:20px 0;font-size:13px;display:flex}.spinner[data-v-d8236bf5]{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin-d8236bf5;display:inline-block}@keyframes spin-d8236bf5{to{transform:rotate(360deg)}}.evo-error[data-v-d8236bf5]{background:var(--error-muted);color:var(--error);border-radius:var(--radius-sm);border:1px solid #ef44444d;padding:10px 14px;font-size:13px}.evo-grid[data-v-d8236bf5]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.evo-card-wide[data-v-d8236bf5]{grid-column:1/-1}@media (width<=700px){.evo-grid[data-v-d8236bf5]{grid-template-columns:1fr}.evo-card-wide[data-v-d8236bf5]{grid-column:1}}.evo-card[data-v-d8236bf5]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px}.evo-card h3[data-v-d8236bf5]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px;font-size:14px;font-weight:600}.evo-card h4[data-v-d8236bf5]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin:16px 0 8px;font-size:12px;font-weight:600}.card-desc[data-v-d8236bf5]{color:var(--text-muted);margin:-8px 0 12px;font-size:12px}.stat-row[data-v-d8236bf5]{gap:12px;margin-bottom:16px;display:flex}.stat-item[data-v-d8236bf5]{background:var(--bg-elevated);border-radius:var(--radius-sm);flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px 8px;display:flex}.stat-value[data-v-d8236bf5]{font-family:var(--font-mono);color:var(--text-primary);font-size:24px;font-weight:700}.stat-value.accent[data-v-d8236bf5]{color:var(--accent)}.stat-value.success[data-v-d8236bf5]{color:var(--success)}.stat-label[data-v-d8236bf5]{color:var(--text-muted);text-align:center;font-size:11px}.conf-bars[data-v-d8236bf5]{flex-direction:column;gap:8px;display:flex}.conf-bar-row[data-v-d8236bf5]{align-items:center;gap:10px;font-size:12px;display:flex}.conf-bar-label[data-v-d8236bf5]{color:var(--text-secondary);flex-shrink:0;width:100px}.conf-bar-count[data-v-d8236bf5]{font-family:var(--font-mono);color:var(--text-primary);text-align:right;flex-shrink:0;width:30px}.conf-bar-track[data-v-d8236bf5]{background:var(--bg-elevated);border-radius:3px;flex:1;height:6px;overflow:hidden}.conf-bar-fill[data-v-d8236bf5]{border-radius:3px;min-width:2px;height:100%;transition:width .5s}.recent-section[data-v-d8236bf5]{margin-top:4px}.pattern-row[data-v-d8236bf5]{background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);margin-bottom:6px;padding:10px 12px}.pattern-top[data-v-d8236bf5]{align-items:center;gap:8px;margin-bottom:4px;display:flex}.pattern-text[data-v-d8236bf5]{font-family:var(--font-mono);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.pattern-type-tag[data-v-d8236bf5]{border-radius:8px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:600}.pattern-type-tag.placeholder[data-v-d8236bf5]{color:var(--accent);background:#f59e0b1f}.pattern-type-tag.prompt_artifact[data-v-d8236bf5]{color:var(--error);background:#ef44441f}.pattern-type-tag.quality_issue[data-v-d8236bf5]{color:#3b82f6;background:#3b82f61f}.pattern-meta[data-v-d8236bf5]{color:var(--text-muted);align-items:center;gap:6px;font-size:11px;display:flex}.meta-sep[data-v-d8236bf5]{color:var(--border)}.blindspot-table[data-v-d8236bf5]{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.bs-header[data-v-d8236bf5]{background:var(--bg-elevated);color:var(--text-muted);text-transform:uppercase;grid-template-columns:1fr 80px 100px 70px;gap:8px;padding:8px 12px;font-size:11px;font-weight:600;display:grid}.bs-row[data-v-d8236bf5]{border-top:1px solid var(--border-subtle);color:var(--text-secondary);transition:background var(--duration) var(--ease);grid-template-columns:1fr 80px 100px 70px;gap:8px;padding:8px 12px;font-size:12px;display:grid}.bs-row[data-v-d8236bf5]:hover{background:var(--bg-elevated)}.bs-row.bs-blind[data-v-d8236bf5]{color:var(--error);background:#ef44440a}.bs-col-dim[data-v-d8236bf5]{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.bs-col-score[data-v-d8236bf5],.bs-col-issues[data-v-d8236bf5]{font-family:var(--font-mono);text-align:right}.bs-col-count[data-v-d8236bf5]{font-family:var(--font-mono);text-align:right;color:var(--text-muted)}.meta-total[data-v-d8236bf5]{color:var(--text-muted);margin-top:10px;font-size:12px}.findings-list[data-v-d8236bf5]{flex-direction:column;gap:8px;display:flex}.finding-row[data-v-d8236bf5]{background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);padding:12px 14px}.finding-header[data-v-d8236bf5]{align-items:center;gap:8px;margin-bottom:6px;display:flex}.finding-severity[data-v-d8236bf5]{text-transform:uppercase;border-radius:8px;padding:2px 6px;font-size:10px;font-weight:700}.finding-severity.high[data-v-d8236bf5]{color:var(--error);background:#ef44441f}.finding-severity.medium[data-v-d8236bf5]{color:var(--accent);background:#f59e0b1f}.finding-severity.low[data-v-d8236bf5],.finding-severity.info[data-v-d8236bf5]{color:#3b82f6;background:#3b82f61f}.finding-type[data-v-d8236bf5]{color:var(--text-primary);font-size:13px;font-weight:600}.finding-sample[data-v-d8236bf5]{font-family:var(--font-mono);color:var(--text-secondary);word-break:break-all;font-size:11px}.finding-dim[data-v-d8236bf5]{color:var(--text-muted);margin-top:4px;font-size:11px}.project-evo[data-v-d8236bf5]{gap:16px;display:flex}.evo-stat[data-v-d8236bf5]{background:var(--bg-elevated);border-radius:var(--radius-sm);flex-direction:column;flex:1;align-items:center;gap:4px;padding:14px 8px;display:flex}.evo-stat-label[data-v-d8236bf5]{color:var(--text-muted);font-size:11px}.evo-stat-value[data-v-d8236bf5]{font-family:var(--font-mono);color:var(--text-primary);font-size:22px;font-weight:700}.evo-stat-value.accent[data-v-d8236bf5]{color:var(--accent)}.evo-stat-value.success[data-v-d8236bf5]{color:var(--success)}.evo-empty[data-v-d8236bf5]{color:var(--text-muted);text-align:center;padding:20px 0;font-size:13px}.company-form[data-v-2902d02c]{flex-direction:column;gap:20px;display:flex}.cf-loading[data-v-2902d02c]{color:var(--text-muted);align-items:center;gap:10px;font-size:13px;display:flex}.spinner[data-v-2902d02c]{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin-2902d02c;display:inline-block}@keyframes spin-2902d02c{to{transform:rotate(360deg)}}.cf-error[data-v-2902d02c]{background:var(--error-muted);color:var(--error);border-radius:var(--radius-sm);border:1px solid #ef44444d;padding:10px 14px;font-size:13px}.cf-section h4[data-v-2902d02c]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-subtle);margin:0 0 12px;padding-bottom:8px;font-size:13px;font-weight:600}.cf-fields[data-v-2902d02c]{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=700px){.cf-fields[data-v-2902d02c]{grid-template-columns:1fr}}.cf-field[data-v-2902d02c]{flex-direction:column;gap:4px;display:flex}.cf-field label[data-v-2902d02c]{color:var(--text-muted);font-size:12px;font-weight:500}.cf-input[data-v-2902d02c],.cf-textarea[data-v-2902d02c]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--duration) var(--ease);outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.cf-input[data-v-2902d02c]:focus,.cf-textarea[data-v-2902d02c]:focus{border-color:var(--accent)}.cf-input[data-v-2902d02c]:disabled,.cf-textarea[data-v-2902d02c]:disabled{opacity:.5}.cf-textarea[data-v-2902d02c]{resize:vertical;min-height:60px}.cf-actions[data-v-2902d02c]{align-items:center;gap:12px;padding-top:4px;display:flex}.btn-save[data-v-2902d02c]{background:var(--accent);color:var(--text-inverse);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration) var(--ease);border:none;padding:8px 24px;font-size:13px;font-weight:600}.btn-save[data-v-2902d02c]:hover:not(:disabled){background:var(--accent-hover)}.btn-save[data-v-2902d02c]:disabled{opacity:.5;cursor:not-allowed}.save-ok[data-v-2902d02c]{color:var(--success);font-size:12px;font-weight:500}.page[data-v-9db4fa73]{animation:.3s fadeIn-9db4fa73}@keyframes fadeIn-9db4fa73{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page-header[data-v-9db4fa73]{align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-header h1[data-v-9db4fa73]{flex:1;font-size:20px;font-weight:700}.btn-back[data-v-9db4fa73]{color:var(--text-secondary);background:0 0;padding:6px 0;font-size:14px}.btn-back[data-v-9db4fa73]:hover{color:var(--text-primary)}.section[data-v-9db4fa73]{margin-bottom:24px}.log-area[data-v-9db4fa73]{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);max-height:240px;font-family:var(--font-mono);margin-top:12px;padding:12px 16px;font-size:12px;overflow-y:auto}.log-line[data-v-9db4fa73]{gap:12px;padding:2px 0;display:flex}.log-time[data-v-9db4fa73]{color:var(--text-muted);white-space:nowrap}.log-msg[data-v-9db4fa73]{color:var(--text-secondary)}.tabs[data-v-9db4fa73]{background:var(--bg-card);border-radius:var(--radius-md);gap:2px;margin-bottom:20px;padding:4px;display:flex}.tab[data-v-9db4fa73]{color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--duration) var(--ease);cursor:pointer;background:0 0;flex:1;padding:10px 16px;font-size:13px;font-weight:500}.tab[data-v-9db4fa73]:hover{color:var(--text-primary);background:var(--bg-elevated)}.tab.active[data-v-9db4fa73]{background:var(--bg-elevated);color:var(--accent);font-weight:600}.tab-content[data-v-9db4fa73]{animation:.2s fadeIn-9db4fa73}.card[data-v-9db4fa73]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px}.card h3[data-v-9db4fa73]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;font-size:14px;font-weight:600}.hint[data-v-9db4fa73]{color:var(--text-muted);margin-bottom:16px;font-size:13px}.results-grid[data-v-9db4fa73]{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=700px){.results-grid[data-v-9db4fa73]{grid-template-columns:1fr}}.result-card[data-v-9db4fa73]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px}.result-card h3[data-v-9db4fa73]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;font-size:14px;font-weight:600}.info-grid[data-v-9db4fa73]{grid-template-columns:auto 1fr;gap:8px 16px;font-size:13px;display:grid}.info-grid dt[data-v-9db4fa73]{color:var(--text-muted)}.info-grid dd[data-v-9db4fa73]{color:var(--text-primary)}.stage-tag[data-v-9db4fa73]{background:var(--accent-muted);color:var(--accent);border-radius:10px;margin-right:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.text-muted[data-v-9db4fa73]{color:var(--text-muted)}.stale-warning[data-v-9db4fa73]{color:var(--accent);border-radius:var(--radius-sm);background:#f59e0b14;border:1px solid #f59e0b4d;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:12px;display:flex}.download-list[data-v-9db4fa73]{flex-direction:column;gap:10px;display:flex}.btn-download[data-v-9db4fa73]{background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border);transition:all var(--duration) var(--ease);color:var(--text-primary);align-items:center;gap:12px;padding:12px 16px;text-decoration:none;display:flex}.btn-download[data-v-9db4fa73]:hover{border-color:var(--accent);background:var(--accent-muted);transform:translate(4px)}.dl-icon[data-v-9db4fa73]{font-size:24px}.btn-download strong[data-v-9db4fa73]{font-size:14px;display:block}.btn-download span[data-v-9db4fa73]{color:var(--text-muted);font-size:12px;display:block}.stage-buttons[data-v-9db4fa73]{flex-wrap:wrap;gap:12px;display:flex}.btn-stage[data-v-9db4fa73]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:all var(--duration) var(--ease);align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;display:flex}.btn-stage[data-v-9db4fa73]:hover:not(:disabled){border-color:var(--accent);background:var(--accent-muted)}.btn-stage[data-v-9db4fa73]:disabled{opacity:.5;cursor:not-allowed}.btn-stage.done[data-v-9db4fa73]{border-color:var(--success)}.stage-num[data-v-9db4fa73]{background:var(--accent-muted);width:22px;height:22px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.btn-stage.done .stage-num[data-v-9db4fa73]{background:var(--success-muted);color:var(--success)}.check[data-v-9db4fa73]{color:var(--success);font-weight:700}.btn-secondary[data-v-9db4fa73]{color:var(--accent-steel);border:1px solid var(--accent-steel);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration) var(--ease);background:0 0;padding:8px 20px;font-size:13px}.btn-secondary[data-v-9db4fa73]:hover{background:var(--accent-steel-muted)}.error-card[data-v-9db4fa73]{background:var(--error-muted);border-radius:var(--radius-md);border:1px solid #ef44444d;padding:20px}.error-card h3[data-v-9db4fa73]{color:var(--error);margin-bottom:12px}.error-card pre[data-v-9db4fa73]{font-family:var(--font-mono);color:var(--text-secondary);white-space:pre-wrap;max-height:200px;font-size:12px;overflow-y:auto}.warning-card[data-v-9db4fa73]{border-radius:var(--radius-md);background:#f59e0b0f;border:1px solid #f59e0b40;padding:16px 20px}.warning-card h3[data-v-9db4fa73]{color:var(--accent);margin-bottom:10px;font-size:14px;font-weight:600}.warning-card ul[data-v-9db4fa73]{margin:0;padding-left:20px}.warning-card li[data-v-9db4fa73]{color:var(--text-secondary);padding:2px 0;font-size:13px}.empty-state[data-v-9db4fa73]{text-align:center;color:var(--text-muted);padding:60px 0}.ready-state[data-v-9db4fa73]{text-align:center;background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius-lg);padding:48px 0}.ready-state h3[data-v-9db4fa73]{margin-bottom:24px;font-size:18px;font-weight:700}.ready-files[data-v-9db4fa73]{flex-direction:column;align-items:center;gap:10px;margin-bottom:28px;display:flex}.ready-file[data-v-9db4fa73]{color:var(--text-primary);background:var(--bg-elevated);border-radius:var(--radius-sm);border-left:3px solid var(--success);align-items:center;gap:8px;padding:8px 20px;font-size:14px;display:flex}.ready-file-hint[data-v-9db4fa73]{border-left-color:var(--accent);color:var(--text-secondary)}.ready-icon[data-v-9db4fa73]{font-size:18px}.btn-generate[data-v-9db4fa73]{background:var(--accent);color:var(--text-inverse);border-radius:var(--radius-sm);letter-spacing:.3px;cursor:pointer;transition:all var(--duration) var(--ease);padding:14px 48px;font-size:16px;font-weight:700}.btn-generate[data-v-9db4fa73]:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-primary[data-v-9db4fa73]{background:var(--accent);color:var(--text-inverse);border-radius:var(--radius-sm);cursor:pointer;border:none;margin-top:16px;padding:10px 24px;font-weight:600;display:inline-block}.summary-grid[data-v-9db4fa73]{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px;display:grid}.summary-item[data-v-9db4fa73]{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:12px 16px;display:flex}.summary-item.total[data-v-9db4fa73]{border-color:var(--accent);background:var(--accent-muted)}.summary-label[data-v-9db4fa73]{color:var(--text-muted);font-size:12px}.summary-value[data-v-9db4fa73]{color:var(--text-primary);font-size:18px;font-weight:700;font-family:var(--font-mono)}.summary-item.total .summary-value[data-v-9db4fa73]{color:var(--accent)}.summary-value.budget[data-v-9db4fa73]{color:var(--accent-steel);font-size:16px}.budget-compare[data-v-9db4fa73]{background:var(--bg-elevated);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.compare-status[data-v-9db4fa73]{border-radius:10px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.compare-status.under[data-v-9db4fa73]{color:#22c55e;background:#22c55e1f}.compare-status.over[data-v-9db4fa73]{color:#ef4444;background:#ef44441f}.compare-detail[data-v-9db4fa73]{color:var(--text-secondary);font-family:var(--font-mono)}.match-stats[data-v-9db4fa73]{color:var(--text-muted);padding-top:4px;font-size:12px}.count-badge[data-v-9db4fa73]{background:var(--accent-muted);color:var(--accent);border-radius:10px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600}.table-wrap[data-v-9db4fa73]{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);max-height:420px;overflow:auto}.price-table[data-v-9db4fa73]{border-collapse:collapse;width:100%;font-size:12px}.price-table th[data-v-9db4fa73]{background:var(--bg-elevated);color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;z-index:1;padding:8px 10px;font-weight:600;position:sticky;top:0}.price-table td[data-v-9db4fa73]{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);padding:6px 10px}.price-table tr:hover td[data-v-9db4fa73]{background:var(--bg-elevated)}.col-seq[data-v-9db4fa73]{text-align:center;width:40px}.col-code[data-v-9db4fa73]{width:120px;font-family:var(--font-mono);font-size:11px}.col-name[data-v-9db4fa73]{min-width:160px}.col-unit[data-v-9db4fa73]{text-align:center;width:50px}.col-num[data-v-9db4fa73]{text-align:right;width:90px;font-family:var(--font-mono)}.col-level[data-v-9db4fa73]{text-align:center;width:55px}.match-tag[data-v-9db4fa73]{border-radius:8px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.match-tag.L1_exact[data-v-9db4fa73]{color:#22c55e;background:#22c55e1f}.match-tag.L2_fuzzy[data-v-9db4fa73]{color:#3b82f6;background:#3b82f61f}.match-tag.L3_avg[data-v-9db4fa73]{color:var(--accent);background:#f59e0b1f}.match-tag.priced[data-v-9db4fa73]{color:#22c55e;background:#22c55e1f}.page[data-v-60e6c4d4]{animation:.3s fadeIn-60e6c4d4}@keyframes fadeIn-60e6c4d4{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page-header[data-v-60e6c4d4]{align-items:baseline;gap:12px;margin-bottom:32px;display:flex}.page-header h1[data-v-60e6c4d4]{font-size:22px;font-weight:700}.subtitle[data-v-60e6c4d4]{color:var(--text-muted);font-size:14px}.steps[data-v-60e6c4d4]{flex-direction:column;gap:0;padding-left:48px;display:flex;position:relative}.steps[data-v-60e6c4d4]:before{content:"";background:linear-gradient(to bottom, var(--accent), var(--accent-steel), var(--success));border-radius:1px;width:2px;position:absolute;top:32px;bottom:32px;left:19px}.step[data-v-60e6c4d4]{padding-bottom:40px;position:relative}.step[data-v-60e6c4d4]:last-child{padding-bottom:0}.step-number[data-v-60e6c4d4]{background:var(--bg-card);border:2px solid var(--accent);width:40px;height:40px;font-family:var(--font-mono);color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex;position:absolute;left:-48px}.step-body[data-v-60e6c4d4]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 28px}.step-body h2[data-v-60e6c4d4]{margin-bottom:8px;font-size:18px;font-weight:700}.step-body>p[data-v-60e6c4d4]{color:var(--text-secondary);margin-bottom:16px;font-size:14px}.accent[data-v-60e6c4d4]{color:var(--accent)}.sub-title[data-v-60e6c4d4]{color:var(--text-secondary);margin-top:20px;margin-bottom:12px;font-size:14px;font-weight:600}.file-cards[data-v-60e6c4d4]{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:16px;display:grid}@media (width<=700px){.file-cards[data-v-60e6c4d4]{grid-template-columns:1fr}}.file-card[data-v-60e6c4d4]{background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border);align-items:flex-start;gap:14px;padding:16px;display:flex}.file-card.required-card[data-v-60e6c4d4]{border-color:var(--accent)}.file-card strong[data-v-60e6c4d4]{margin-bottom:2px;font-size:14px;display:block}.file-card span[data-v-60e6c4d4]{color:var(--text-muted);font-size:12px;display:block}.file-icon[data-v-60e6c4d4]{flex-shrink:0;width:48px;height:48px}.accent-icon[data-v-60e6c4d4]{color:var(--accent)}.steel-icon[data-v-60e6c4d4]{color:var(--accent-steel)}.green-icon[data-v-60e6c4d4]{color:var(--success)}.req-tag[data-v-60e6c4d4]{background:var(--accent-muted);color:var(--accent);vertical-align:middle;border-radius:8px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.opt-tag[data-v-60e6c4d4]{background:var(--success-muted);color:var(--success);vertical-align:middle;border-radius:8px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.tip[data-v-60e6c4d4]{background:var(--accent-muted);border-radius:var(--radius-sm);color:var(--text-secondary);align-items:flex-start;gap:8px;padding:12px 16px;font-size:13px;display:flex}.tip-icon[data-v-60e6c4d4]{flex-shrink:0;font-size:16px}.step-list[data-v-60e6c4d4]{color:var(--text-secondary);padding-left:20px;font-size:14px;line-height:2}.step-list li[data-v-60e6c4d4]::marker{color:var(--accent)}.mock-ui[data-v-60e6c4d4]{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:16px;overflow:hidden}.mock-bar[data-v-60e6c4d4]{background:var(--bg-elevated);border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:8px 12px;display:flex}.mock-dot[data-v-60e6c4d4]{border-radius:50%;width:10px;height:10px}.mock-dot.r[data-v-60e6c4d4]{background:#ef4444}.mock-dot.y[data-v-60e6c4d4]{background:#f59e0b}.mock-dot.g[data-v-60e6c4d4]{background:#22c55e}.mock-url[data-v-60e6c4d4]{color:var(--text-muted);margin-left:8px;font-size:11px}.mock-body[data-v-60e6c4d4]{padding:16px}.mock-form[data-v-60e6c4d4]{flex-direction:column;gap:8px;max-width:320px;display:flex}.mock-label[data-v-60e6c4d4]{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:600}.mock-input[data-v-60e6c4d4]{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;padding:6px 10px;font-size:12px}.mock-select[data-v-60e6c4d4]{color:var(--text-secondary);font-size:12px}.mock-uploads[data-v-60e6c4d4]{flex-wrap:wrap;gap:8px;display:flex}.mock-upload[data-v-60e6c4d4]{border-left:3px solid var(--border);border-radius:4px;padding:6px 10px;font-size:11px}.mock-upload.doc-upload[data-v-60e6c4d4]{background:var(--accent-muted);color:var(--accent);border-left-color:var(--accent)}.mock-upload.xlsx-upload[data-v-60e6c4d4]{background:var(--accent-steel-muted);color:var(--accent-steel);border-left-color:var(--accent-steel)}.mock-upload.dwg-upload[data-v-60e6c4d4]{background:var(--success-muted);color:var(--success);border-left-color:var(--success)}.mock-btn[data-v-60e6c4d4]{background:var(--accent);color:var(--text-inverse);text-align:center;border-radius:4px;margin-top:4px;padding:6px 16px;font-size:12px;font-weight:700}.tab-preview[data-v-60e6c4d4]{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:16px;overflow:hidden}.tab-bar[data-v-60e6c4d4]{background:var(--bg-elevated);gap:2px;padding:4px;display:flex}.tab-item[data-v-60e6c4d4]{color:var(--text-muted);border-radius:4px;padding:6px 12px;font-size:11px}.tab-item.active[data-v-60e6c4d4]{background:var(--bg-card);color:var(--accent);font-weight:600}.tab-content-preview[data-v-60e6c4d4]{padding:16px}.feature-grid[data-v-60e6c4d4]{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=500px){.feature-grid[data-v-60e6c4d4]{grid-template-columns:1fr}}.feature-item[data-v-60e6c4d4]{color:var(--text-secondary);align-items:center;gap:10px;font-size:12px;display:flex}.feature-icon[data-v-60e6c4d4]{font-size:18px}.feature-item strong[data-v-60e6c4d4]{color:var(--text-primary)}.pipeline-vis[data-v-60e6c4d4]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.pipe-step[data-v-60e6c4d4]{background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border);align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;display:flex}.pipe-step.accent[data-v-60e6c4d4]{border-color:var(--accent);background:var(--accent-muted);color:var(--accent)}.pipe-num[data-v-60e6c4d4]{background:var(--border);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.pipe-step.accent .pipe-num[data-v-60e6c4d4]{background:var(--accent);color:var(--text-inverse)}.pipe-arrow[data-v-60e6c4d4]{color:var(--text-muted);font-size:16px}.time-table[data-v-60e6c4d4]{margin-bottom:16px}.time-row[data-v-60e6c4d4]{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:8px 12px;font-size:13px;display:flex}.time-row[data-v-60e6c4d4]:last-child{border-bottom:none}.time-row.highlight[data-v-60e6c4d4]{background:var(--accent-muted);border-radius:var(--radius-sm)}.time-stage[data-v-60e6c4d4]{color:var(--text-secondary);min-width:160px}.time-val[data-v-60e6c4d4]{font-family:var(--font-mono);color:var(--text-primary);font-weight:600}.time-note[data-v-60e6c4d4]{color:var(--accent);font-size:11px}.adjust-cards[data-v-60e6c4d4]{flex-direction:column;gap:12px;display:flex}.adjust-card[data-v-60e6c4d4]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.adjust-header[data-v-60e6c4d4]{border-left:3px solid var(--border);align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.pricing-header[data-v-60e6c4d4]{border-left-color:var(--accent)}.quality-header[data-v-60e6c4d4]{border-left-color:var(--accent-steel)}.stage-header[data-v-60e6c4d4]{border-left-color:var(--success)}.opt-header[data-v-60e6c4d4]{border-left-color:#8b5cf6}.setting-header[data-v-60e6c4d4]{border-left-color:var(--accent-steel)}.adjust-icon[data-v-60e6c4d4]{font-size:18px}.adjust-body[data-v-60e6c4d4]{color:var(--text-secondary);padding:0 16px 14px;font-size:13px}.adjust-body p[data-v-60e6c4d4]{margin-bottom:8px}.param-list[data-v-60e6c4d4]{grid-template-columns:1fr 1fr;gap:4px;padding:0;list-style:none;display:grid}.param-name[data-v-60e6c4d4]{font-family:var(--font-mono);color:var(--accent);font-weight:600}.radar-mock[data-v-60e6c4d4]{align-items:center;gap:16px;padding:8px 0;display:flex}.radar-labels[data-v-60e6c4d4]{flex-wrap:wrap;gap:4px;display:flex}.radar-labels span[data-v-60e6c4d4]{color:var(--text-muted);background:var(--bg-card);border-radius:8px;padding:2px 8px;font-size:11px}.stage-mock[data-v-60e6c4d4]{gap:8px;margin-bottom:8px;display:flex}.stage-btn[data-v-60e6c4d4]{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:6px 12px;font-size:11px}.stage-btn.done[data-v-60e6c4d4]{border-color:var(--success);color:var(--success)}.stage-btn.rerun[data-v-60e6c4d4]{border-color:var(--accent);color:var(--accent);background:var(--accent-muted)}.stage-hint[data-v-60e6c4d4]{color:var(--text-muted);font-size:11px}.download-cards[data-v-60e6c4d4]{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=600px){.download-cards[data-v-60e6c4d4]{grid-template-columns:1fr}}.dl-card[data-v-60e6c4d4]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;padding:16px}.dl-card.main[data-v-60e6c4d4]{border-color:var(--accent);background:var(--accent-muted)}.dl-type[data-v-60e6c4d4]{margin-bottom:8px;font-size:28px}.dl-card strong[data-v-60e6c4d4]{margin-bottom:4px;font-size:14px;display:block}.dl-card span[data-v-60e6c4d4]{color:var(--text-muted);font-size:12px}.faq-section[data-v-60e6c4d4]{border-top:1px solid var(--border);margin-top:48px;padding-top:32px}.faq-section h2[data-v-60e6c4d4]{margin-bottom:16px;font-size:18px;font-weight:700}.faq-list[data-v-60e6c4d4]{flex-direction:column;gap:4px;display:flex}.faq-item[data-v-60e6c4d4]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration) var(--ease)}.faq-item[data-v-60e6c4d4]:hover{border-color:var(--accent)}.faq-item.open[data-v-60e6c4d4]{border-color:var(--accent);background:var(--accent-muted)}.faq-q[data-v-60e6c4d4]{justify-content:space-between;align-items:center;padding:14px 18px;font-size:14px;font-weight:500;display:flex}.faq-toggle[data-v-60e6c4d4]{font-family:var(--font-mono);color:var(--accent);font-size:18px;font-weight:700}.faq-a[data-v-60e6c4d4]{color:var(--text-secondary);padding:0 18px 14px;font-size:13px;line-height:1.7}.header[data-v-9ea1a7d0]{background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:100;position:sticky;top:0}.header-inner[data-v-9ea1a7d0]{align-items:center;gap:32px;max-width:1200px;height:56px;margin:0 auto;padding:0 24px;display:flex}.logo[data-v-9ea1a7d0]{color:var(--text-primary);align-items:center;gap:10px;font-size:16px;font-weight:600;text-decoration:none;display:flex}.logo-icon[data-v-9ea1a7d0]{font-size:22px}.logo-text[data-v-9ea1a7d0]{letter-spacing:-.3px}.nav[data-v-9ea1a7d0]{gap:4px;margin-left:auto;display:flex}.nav a[data-v-9ea1a7d0]{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--duration) var(--ease);padding:8px 16px;font-size:14px}.nav a[data-v-9ea1a7d0]:hover{color:var(--text-primary);background:var(--bg-card)}.nav a.active[data-v-9ea1a7d0]{color:var(--accent);background:var(--accent-muted)}.btn-new[data-v-9ea1a7d0]{background:var(--accent);color:var(--text-inverse);border-radius:var(--radius-sm);padding:8px 20px;font-size:14px;font-weight:600}.btn-new[data-v-9ea1a7d0]:hover{background:var(--accent-hover);transform:translateY(-1px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-body);background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased}#app{flex-direction:column;min-height:100%;display:flex}.app-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:24px 24px 48px}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{font-family:var(--font-body);cursor:pointer;transition:all var(--duration) var(--ease);border:none;outline:none}input,select{font-family:var(--font-body);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-sm);transition:border-color var(--duration) var(--ease);outline:none;padding:10px 14px;font-size:14px}input:focus,select:focus{border-color:var(--accent)}.global-error{border-bottom:1px solid var(--error);color:var(--error);background:#ef44441f;justify-content:center;align-items:center;gap:16px;padding:10px 24px;font-size:13px;font-weight:500;display:flex}.err-dismiss{color:var(--error);opacity:.7;background:0 0;padding:0 4px;font-size:18px;line-height:1}.err-dismiss:hover{opacity:1}:root{--bg-base:#12141a;--bg-surface:#1a1d24;--bg-card:#21242c;--bg-card-hover:#272b34;--bg-elevated:#2a2e37;--border:#2e323c;--border-subtle:#252830;--text-primary:#e8e9ed;--text-secondary:#8b8f9a;--text-muted:#5c5f69;--text-inverse:#12141a;--accent:#f59e0b;--accent-hover:#fbbf24;--accent-muted:#f59e0b26;--accent-steel:#3b82f6;--accent-steel-muted:#3b82f626;--success:#22c55e;--success-muted:#22c55e1f;--warning:#f59e0b;--error:#ef4444;--error-muted:#ef44441f;--info:#3b82f6;--font-body:"PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Fira Code", monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 30px #00000080;--ease:cubic-bezier(.4, 0, .2, 1);--duration:.2s}
