.doc-explorer{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;color:#0f172a;background:#0b1120;min-height:100vh}.doc-explorer__header{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;background:linear-gradient(135deg,#0f1729,#111c33);padding:1.5rem;border-radius:1rem;border:1px solid rgba(148,163,184,.15)}.doc-explorer__header h1{margin:.2rem 0;font-size:1.75rem;color:#f1f5f9}.doc-explorer__header p{margin:0;color:#cbd5f5}.doc-explorer__eyebrow{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#38bdf8;margin:0 0 .25rem}.doc-explorer__summary{display:flex;gap:1rem;background:#0f172a99;padding:.75rem 1rem;border-radius:.75rem;border:1px solid rgba(148,163,184,.2)}.doc-explorer__summary div{display:flex;flex-direction:column;min-width:4.5rem}.doc-explorer__summary span{font-size:.8rem;color:#94a3b8}.doc-explorer__summary strong{font-size:1.4rem;color:#e2e8f0}.doc-explorer-card{background:#0f172ab3;border-radius:1rem;padding:1.25rem;border:1px solid rgba(148,163,184,.15);box-shadow:inset 0 0 0 1px #0f172a80;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.doc-explorer-card header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.doc-explorer-card h2,.doc-explorer-card h3{margin:.1rem 0;color:#e2e8f0}.doc-explorer-card__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin-top:1rem}.doc-explorer-card label{display:flex;flex-direction:column;font-size:.85rem;gap:.35rem;color:#cbd5f5}.doc-explorer-card input{background:#0f172ae6;border:1px solid rgba(148,163,184,.3);border-radius:.6rem;padding:.6rem .75rem;color:#f8fafc}.doc-explorer-card input:focus{outline:2px solid #38bdf8;border-color:#38bdf8}.doc-explorer-card__actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-end}.doc-explorer-button{border:1px solid rgba(148,163,184,.4);background:#0f172acc;color:#e2e8f0;border-radius:.6rem;padding:.55rem .9rem;font-size:.9rem;cursor:pointer;transition:border-color .2s,transform .2s}.doc-explorer-button:hover:not(:disabled){border-color:#38bdf8;transform:translateY(-1px)}.doc-explorer-button:disabled{opacity:.5;cursor:not-allowed}.doc-explorer-button.primary{background:linear-gradient(120deg,#2563eb,#38bdf8);border-color:transparent;color:#fff}.doc-explorer-button.ghost{background:transparent}.doc-explorer__grid{display:grid;grid-template-columns:minmax(18rem,.8fr) minmax(0,2fr);gap:1.25rem}.doc-explorer-options{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.doc-explorer-option{text-align:left;border:1px solid rgba(148,163,184,.25);border-radius:.75rem;padding:.75rem;background:#0f172ad9;color:#e2e8f0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.doc-explorer-option strong{font-size:.95rem}.doc-explorer-option span{font-size:.8rem;color:#94a3b8}.doc-explorer-option.is-active{border-color:#38bdf8;background:#2563eb1f}.doc-explorer-baseline{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(148,163,184,.2)}.doc-explorer-baseline__meta{display:flex;justify-content:space-between;font-size:.85rem;color:#94a3b8}.doc-explorer-baseline__meta a{color:#38bdf8}.doc-explorer-options--rows{gap:.35rem}.doc-explorer-option-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .85rem;border-radius:.75rem;border:1px dashed rgba(148,163,184,.35);background:#0f172ab3;color:#e2e8f0}.doc-explorer-option-row strong{display:block;font-size:.95rem;color:#f8fafc}.doc-explorer-option-row span{color:#cbd5f5}.doc-explorer-pill{display:inline-flex;align-items:center;font-size:.75rem;padding:.15rem .45rem;border-radius:999px;background:#10b9812e;color:#34d399}.doc-explorer-pill.muted{background:#94a3b826;color:#94a3b8}.doc-explorer-candidate-list{display:flex;flex-direction:column;gap:1rem;margin-top:1.25rem}.doc-explorer-candidate{border:1px solid rgba(148,163,184,.2);border-radius:1rem;padding:1rem;background:#0f172acc;color:#e2e8f0}.doc-explorer-candidate header{flex-direction:row;gap:.75rem}.doc-explorer-candidate header div:first-child{display:flex;flex-direction:column;gap:.1rem;color:#f8fafc}.doc-explorer-candidate__controls{display:flex;gap:.5rem;align-items:center}.doc-explorer-candidate header span{color:#cbd5f5}.doc-explorer-flag{border:1px solid rgba(235,137,52,.5);background:transparent;color:#fbbf24;padding:.35rem .65rem;border-radius:2rem;cursor:pointer}.doc-explorer-flag.is-active{background:#fbbf2426}.doc-explorer-status{display:grid;grid-template-columns:auto minmax(6rem,1fr) auto;gap:.75rem;align-items:center;margin:.75rem 0}.doc-explorer-status__pill{font-size:.78rem;border-radius:999px;padding:.2rem .65rem;border:1px solid transparent}.doc-explorer-status__pill--muted{background:#94a3b833;color:#94a3b8}.doc-explorer-status__pill--amber{background:#fbbf2426;color:#fbbf24;border-color:#fbbf2466}.doc-explorer-status__pill--indigo{background:#818cf826;color:#a5b4fc;border-color:#818cf866}.doc-explorer-status__pill--emerald{background:#10b98126;color:#34d399;border-color:#10b98166}.doc-explorer-status__pill--rose{background:#f43f5e26;color:#fb7185;border-color:#f43f5e59}.doc-explorer-candidate__meta{display:flex;gap:1rem;font-size:.8rem;color:#cbd5f5}.doc-explorer-error{color:#f87171;margin:.5rem 0 0}.doc-explorer-results{border-top:1px solid rgba(148,163,184,.2);margin-top:.85rem;padding-top:.85rem;display:flex;flex-direction:column;gap:.75rem}.doc-explorer-metrics{display:flex;gap:1rem}.doc-explorer-metrics div{display:flex;flex-direction:column;font-size:.8rem;color:#94a3b8}.doc-explorer-metrics strong{font-size:1.1rem;color:#e2e8f0}.doc-explorer-assets{display:flex;flex-wrap:wrap;gap:.65rem}.doc-explorer-assets a{font-size:.82rem;color:#38bdf8;text-decoration:none;border-bottom:1px dashed transparent}.doc-explorer-assets a:hover{border-color:#38bdf8}.doc-explorer-placeholder{font-size:.85rem;color:#94a3b8;margin:.5rem 0 0}.doc-explorer-empty{margin:1rem 0;font-size:.9rem;color:#94a3b8}.drawing-table-container{overflow-y:auto;flex:1}.drawing-table{width:100%;border-collapse:collapse;font-size:13px}.drawing-table thead{background:#0f172a;position:sticky;top:0;z-index:1}.drawing-table th{padding:10px 12px;text-align:left;color:#94a3b8;font-weight:500;border-bottom:2px solid #334155}.drawing-table td{padding:10px 12px;border-bottom:1px solid #334155;color:#e0e0e0}.drawing-table tbody tr{cursor:pointer;transition:background .2s}.drawing-table tbody tr:hover{background:#1e293b}.drawing-table tbody tr.selected{background:#1e3a8a}.drawing-id{font-family:monospace;font-weight:500}.revision-badge{display:inline-block;padding:2px 8px;background:#334155;border-radius:4px;font-size:11px;color:#94a3b8}.match-score{font-weight:600}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 40px;color:#94a3b8;font-size:14px;font-weight:500}.loading-spinner .spinner{width:36px;height:36px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 40px;color:#64748b;font-size:14px}.empty-state p{margin:0}.equipment-diff-panel{display:flex;flex-direction:column;height:100%}.score-info{color:#10b981}.tag-cell{font-family:monospace;font-weight:600;color:#60a5fa}.untagged-equipment-panel{display:flex;flex-direction:column;height:100%}.match-info{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#0f172a;border-radius:6px;margin-bottom:12px;font-size:13px}.type-filter{padding:6px 10px;background:#1e293b;border:1px solid #334155;border-radius:4px;color:#e0e0e0;font-size:12px}.assoc-text-cell{display:flex;flex-wrap:wrap;gap:4px}.assoc-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:10px}.assoc-badge.sizing{background:#60a5fa33;color:#60a5fa;font-weight:500}.assoc-badge.tag{background:#fbbf2433;color:#fbbf24}.assoc-badge.text{background:#94a3b833;color:#94a3b8}.assoc-badge.annotation{background:#a855f733;color:#a855f7}.view-btn{padding:4px 10px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:4px;color:#fff;font-size:11px;cursor:pointer;transition:opacity .2s}.modal-content{background:#1e293b;border-radius:8px;width:90%;max-width:480px;box-shadow:0 20px 40px #0006}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #334155}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#f1f5f9}.close-btn{background:none;border:none;font-size:24px;color:#94a3b8;cursor:pointer;padding:0;line-height:1}.close-btn:hover{color:#f1f5f9}.modal-body{padding:20px}.warning-banner{background:#422006;border:1px solid #854d0e;color:#fcd34d;padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:16px}.shape-info{background:#0f172a;border-radius:6px;padding:12px;margin-bottom:20px}.info-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #1e293b}.info-row:last-child{border-bottom:none}.info-row .label{color:#94a3b8;font-size:13px}.info-row .value{color:#f1f5f9;font-size:13px;font-family:SF Mono,Monaco,monospace}.form-group{margin-bottom:16px}.form-group label{display:block;color:#cbd5e1;font-size:13px;font-weight:500;margin-bottom:6px}.form-group input,.form-group textarea{width:100%;padding:10px 12px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#f1f5f9;font-size:14px;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6}.form-group .hint{display:block;color:#64748b;font-size:12px;margin-top:4px}.error-message{background:#450a0a;border:1px solid #dc2626;color:#fca5a5;padding:10px 12px;border-radius:6px;font-size:13px;margin-top:12px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid #334155}.cancel-btn{padding:8px 16px;background:#334155;border:none;border-radius:6px;color:#f1f5f9;font-size:14px;cursor:pointer}.cancel-btn:hover{background:#475569}.save-btn{padding:8px 16px;background:#3b82f6;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer}.save-btn:hover{background:#2563eb}.save-btn:disabled,.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.clusters-panel{display:flex;flex-direction:column;height:100%}.match-info{display:flex;justify-content:space-between;padding:10px;background:#0f172a;border-radius:6px;margin-bottom:12px;font-size:13px}.revision-info{color:#60a5fa;font-weight:500}.diff-sub-tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.diff-sub-tab{padding:6px 12px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#94a3b8;font-size:12px;cursor:pointer;transition:all .2s}.diff-sub-tab:hover{border-color:#475569;color:#f1f5f9}.diff-sub-tab.active{background:var(--tab-color);border-color:var(--tab-color);color:#fff}.diff-sub-tab .count{margin-left:4px;opacity:.8}.diff-table-container{flex:1;overflow-y:auto}.diff-table{width:100%;border-collapse:collapse;font-size:12px}.diff-table th{padding:8px;text-align:left;color:#94a3b8;font-weight:500;border-bottom:1px solid #334155;background:#0f172a;position:sticky;top:0}.diff-table td{padding:8px;border-bottom:1px solid #1e293b;color:#e0e0e0}.diff-table tbody tr:hover{background:#1e293b}.type-cell{font-weight:600}.sizing-cell{color:#60a5fa;font-weight:500}.tag-cell{color:#fbbf24}.position-cell{font-family:monospace;font-size:11px;color:#94a3b8}.view-btn{padding:4px 10px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:4px;color:#fff;font-size:11px;cursor:pointer}.view-btn:hover{opacity:.9}.error-state{color:#ef4444;padding:20px;text-align:center}.actions-cell{display:flex;gap:6px}.save-ref-btn{padding:4px 10px;background:#334155;border:1px solid #475569;border-radius:4px;color:#94a3b8;font-size:11px;cursor:pointer;transition:all .2s}.save-ref-btn:hover{background:#10b981;border-color:#10b981;color:#fff}.side-by-side-modal{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#1e293b;border-radius:12px;width:95vw;height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;background:#0f172a;border-bottom:1px solid #334155}.modal-header h3{margin:0;color:#f1f5f9;font-size:16px}.zoom-controls{display:flex;align-items:center;gap:8px}.zoom-controls button{padding:6px 12px;background:#334155;border:none;border-radius:4px;color:#e0e0e0;cursor:pointer}.zoom-controls span{min-width:60px;text-align:center;color:#94a3b8}.close-btn{width:36px;height:36px;background:#ef4444;border:none;border-radius:50%;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#dc2626}.viewers-container{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:2px;overflow:hidden}.viewer-panel{display:flex;flex-direction:column;overflow:hidden}.viewer-label{padding:8px 15px;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.viewer-label.source{background:linear-gradient(135deg,#7f1d1d,#991b1b);color:#fca5a5}.viewer-label.target{background:linear-gradient(135deg,#064e3b,#065f46);color:#6ee7b7}.canvas-viewport{flex:1;overflow:hidden;cursor:grab;background:#0f172a}.canvas-viewport canvas{transform-origin:0 0}.modal-footer{padding:10px 20px;background:#0f172a;border-top:1px solid #334155;text-align:center;color:#64748b;font-size:12px}.pipeline-dashboard{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0a0e27;color:#e0e0e0;min-height:100vh;padding:20px}.pipeline-header{background:linear-gradient(135deg,#1e293b,#0f172a);padding:20px 30px;border-radius:12px;margin-bottom:20px;border:1px solid #334155}.pipeline-header h1{font-size:28px;font-weight:600;color:#60a5fa;margin:0 0 8px}.pipeline-header .subtitle{color:#94a3b8;font-size:14px;margin:0}.match-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.stat-card{padding:16px;border-radius:10px;border:1px solid}.stat-card.excellent{background:linear-gradient(135deg,#064e3b,#065f46);border-color:#10b981}.stat-card.good{background:linear-gradient(135deg,#78350f,#92400e);border-color:#f59e0b}.stat-card.poor{background:linear-gradient(135deg,#7f1d1d,#991b1b);border-color:#ef4444}.stat-card.no-match{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;opacity:.8}.stat-value{font-size:28px;font-weight:700}.stat-range{font-size:12px;opacity:.7;margin-top:4px}.search-bar{display:flex;gap:10px;margin-bottom:20px}.search-bar input{flex:1;padding:10px 14px;background:#1e293b;border:1px solid #334155;border-radius:6px;color:#f1f5f9;font-size:14px}.search-bar input:focus{outline:none;border-color:#3b82f6}.btn-refresh{padding:10px 20px;background:#3b82f6;border:none;border-radius:6px;color:#fff;font-weight:500;cursor:pointer;transition:background .2s}.btn-refresh:hover{background:#2563eb}.revision-filter{padding:10px 14px;background:#1e293b;border:1px solid #334155;border-radius:6px;color:#f1f5f9;font-size:14px;cursor:pointer;min-width:180px}.revision-filter:focus{outline:none;border-color:#3b82f6}.drawing-count{display:flex;align-items:center;padding:0 14px;color:#94a3b8;font-size:14px;white-space:nowrap}.main-content{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:1200px){.main-content{grid-template-columns:1fr}}.drawings-panel,.details-panel{background:#1e293b;border:1px solid #334155;border-radius:8px;padding:20px;max-height:600px;overflow:hidden;display:flex;flex-direction:column}.diff-tabs{display:flex;gap:8px;margin-bottom:15px;border-bottom:2px solid #334155;padding-bottom:10px}.diff-tab{padding:8px 16px;background:transparent;border:1px solid #334155;border-radius:6px;color:#94a3b8;font-size:13px;cursor:pointer;transition:all .2s}.diff-tab:hover{background:#334155;color:#f1f5f9}.diff-tab.active{background:#3b82f6;border-color:#60a5fa;color:#fff}.diff-content{flex:1;overflow-y:auto}.loading-spinner{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:#94a3b8}.spinner{width:24px;height:24px;border:3px solid rgba(148,163,184,.2);border-top-color:#60a5fa;border-radius:50%;animation:spin .75s linear infinite}.empty-state{text-align:center;padding:40px;color:#94a3b8}.badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.badge-added{background:#10b981;color:#fff}.badge-removed{background:#ef4444;color:#fff}.badge-modified{background:#f59e0b;color:#fff}.badge-unchanged{background:#64748b;color:#fff}.revision-tabs{display:flex;gap:8px;margin-bottom:15px;border-bottom:2px solid #334155}.revision-tab{padding:10px 20px;background:none;border:none;border-bottom:3px solid transparent;color:#94a3b8;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.revision-tab:hover{color:#f1f5f9;border-bottom-color:#475569}.revision-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.tab-count{color:#64748b;font-size:12px;margin-left:4px}.contour-canvas-container{display:flex;flex-direction:column;height:100%;background:#0f172a;border-radius:8px;overflow:hidden}.canvas-controls{display:flex;align-items:center;gap:8px;padding:10px;background:#1e293b;border-bottom:1px solid #334155}.canvas-controls button{padding:6px 12px;background:#334155;border:none;border-radius:4px;color:#e0e0e0;cursor:pointer}.canvas-controls button:hover{background:#475569}.canvas-controls span{min-width:50px;text-align:center;color:#94a3b8;font-size:13px}.canvas-controls label{display:flex;align-items:center;gap:6px;margin-left:auto;color:#94a3b8;font-size:13px;cursor:pointer}.canvas-controls input[type=checkbox]{accent-color:#60a5fa}.canvas-viewport{flex:1;overflow:hidden;cursor:grab}.canvas-viewport:active{cursor:grabbing}.canvas-viewport canvas{display:block}.canvas-legend{display:flex;gap:15px;padding:8px 15px;background:#1e293b;border-top:1px solid #334155;font-size:11px}.projects-dashboard{display:flex;flex-direction:column;height:100%;min-height:0;padding:24px;overflow-y:auto}.projects-dashboard--empty{display:flex;align-items:center;justify-content:center}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #334155;gap:16px;flex-wrap:wrap}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:14px}.breadcrumb-item{background:transparent;border:none;color:#94a3b8;font-size:14px;cursor:pointer;padding:6px 10px;border-radius:6px;transition:all .15s ease}.breadcrumb-item:hover{background:#3b82f626;color:#60a5fa}.breadcrumb-item.active{color:#f1f5f9;font-weight:600;background:#3b82f633;cursor:default}.breadcrumb-separator{color:#475569;font-size:12px;margin:0 2px}.search-bar{display:flex;align-items:center;gap:12px;flex:1;max-width:400px}.search-input-wrapper{position:relative;flex:1}.search-input-wrapper input{width:100%;padding:10px 14px 10px 38px;background:#0f172a;border:1px solid #334155;border-radius:8px;color:#f1f5f9;font-size:14px;transition:all .2s ease}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#64748b;font-size:14px;pointer-events:none}.clipboard-indicator{display:flex;align-items:center;gap:8px;padding:8px 14px;background:linear-gradient(135deg,#10b98126,#0596691a);border:1px solid rgba(16,185,129,.3);border-radius:8px;font-size:13px;color:#34d399}.clipboard-indicator .clip-icon{font-size:14px}.clipboard-indicator .clip-text{font-weight:500}.clipboard-indicator button{background:transparent;border:none;color:#f87171;cursor:pointer;padding:2px 6px;font-size:12px;border-radius:4px;margin-left:4px}.clipboard-indicator button:hover{background:#ef444433}.header-actions{display:flex;align-items:center;gap:12px}.btn-create{display:flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3b82f64d}.btn-create:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.folders-section{margin-bottom:24px}.empty-folders{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:#64748b;font-size:14px;text-align:center;background:#0f172a4d;border-radius:12px;border:1px dashed #334155}.folders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-bottom:32px}.folder-card{background:linear-gradient(180deg,#0f172a,#020617);border:1px solid #334155;border-radius:12px;padding:20px 16px;text-align:center;cursor:pointer;transition:all .25s ease;position:relative;display:flex;flex-direction:column}.folder-card:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 24px #3b82f633}.folder-card.selected{border-color:#3b82f6;background:linear-gradient(180deg,#1e3a5f,#0f172a);box-shadow:0 4px 16px #3b82f64d}.folder-card.clipboard-item{border-color:#10b98180;box-shadow:0 0 0 2px #10b98133}.folder-content{flex:1}.folder-enter-btn{position:absolute;bottom:8px;right:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#3b82f633;border:1px solid rgba(59,130,246,.4);border-radius:6px;color:#60a5fa;cursor:pointer;font-size:14px;transition:all .15s ease;opacity:0}.folder-card:hover .folder-enter-btn{opacity:1}.folder-enter-btn:hover{background:#3b82f666;border-color:#3b82f6;transform:scale(1.1)}.folder-bottom-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #334155;gap:8px}.folder-copy-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#10b98133;border:1px solid rgba(16,185,129,.4);border-radius:8px;color:#34d399;cursor:pointer;font-size:14px;transition:all .15s ease}.folder-copy-btn:hover{background:#10b98166;border-color:#10b981;transform:scale(1.08)}.folder-view-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;min-height:36px;background:#3b82f633;border:1px solid rgba(59,130,246,.4);border-radius:8px;color:#60a5fa;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s ease}.folder-view-btn:hover{background:#3b82f666;border-color:#3b82f6;transform:scale(1.05)}.folder-icon{font-size:48px;margin-bottom:12px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.folder-name{color:#f1f5f9;font-weight:600;font-size:15px;margin-bottom:8px}.folder-revision{display:inline-block;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.folder-count{color:#64748b;font-size:13px}.drawings-section{background:linear-gradient(180deg,#0f172a,#020617);border-radius:12px;padding:24px;border:1px solid #334155}.drawings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.drawings-header h3{margin:0;color:#f1f5f9;font-size:18px;font-weight:600}.btn-upload{display:flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #10b9814d}.btn-upload:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.btn-upload:disabled{background:#475569;cursor:not-allowed;transform:none;box-shadow:none}.upload-progress{background:linear-gradient(135deg,#3b82f626,#2563eb1a);padding:12px 18px;border-radius:8px;color:#60a5fa;margin-bottom:16px;border:1px solid rgba(59,130,246,.3);font-weight:500}.drop-zone{border:2px dashed #475569;border-radius:12px;padding:40px;text-align:center;color:#64748b;margin-bottom:24px;transition:all .25s ease;background:#0f172a80}.drop-zone:hover{border-color:#3b82f6;color:#94a3b8;background:#3b82f60d}.drop-zone p{margin:0;font-size:14px}.drawings-table{width:100%;border-collapse:separate;border-spacing:0}.drawings-table th,.drawings-table td{padding:14px 16px;text-align:left}.drawings-table th{background:#1e293b80;color:#94a3b8;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #334155}.drawings-table th:first-child{border-radius:8px 0 0}.drawings-table th:last-child{border-radius:0 8px 0 0}.drawings-table td{color:#e2e8f0;border-bottom:1px solid #1e293b;font-size:14px}.drawings-table tr:hover td{background:#3b82f60d}.drawings-table td.empty{color:#64748b;text-align:center;padding:40px 16px;font-style:italic}.revision-badge{display:inline-block;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.status-badge.queued,.status-badge.uploaded{background:linear-gradient(135deg,#f59e0b,#d97706);color:#1e1e1e}.status-badge.processing{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.status-badge.indexed,.status-badge.processed{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.status-badge.ready{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.status-badge.failed{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 40px;min-height:300px;color:#64748b;background:linear-gradient(180deg,#0f172a4d,#02061733);border-radius:16px;border:1px dashed #334155;margin:20px auto;max-width:500px}.empty-state-icon{font-size:64px;margin-bottom:20px;opacity:.6}.empty-state h3{color:#e2e8f0;margin-bottom:12px;font-size:20px;font-weight:600}.empty-state p{font-size:14px;max-width:320px;margin:0 auto;line-height:1.7;color:#94a3b8}.folders-grid .empty-state{grid-column:1 / -1}.loading,.error{padding:40px;text-align:center;color:#64748b;font-size:14px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 40px;color:#94a3b8;font-size:14px;font-weight:500;grid-column:1 / -1}.error{color:#f87171;background:#ef44441a;border-radius:8px;border:1px solid rgba(239,68,68,.2)}.modal h3{margin:0 0 24px;color:#f1f5f9;font-size:20px;font-weight:600}.modal input,.modal select{width:100%;padding:12px 16px;background:#0f172a;border:1px solid #334155;border-radius:10px;color:#f1f5f9;font-size:14px;margin-bottom:16px;transition:all .2s ease}.modal input:focus,.modal select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.modal input::placeholder{color:#64748b}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.modal-actions button{padding:10px 20px;border-radius:10px;border:none;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.modal-actions .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f64d}.modal-actions .btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.header-title-group{display:flex;align-items:center;gap:12px}.header-actions{display:flex;gap:6px}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#4755694d;border:1px solid #475569;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px}.btn-icon:hover{background:#3b82f633;border-color:#3b82f6}.btn-icon.btn-danger:hover{background:#ef444433;border-color:#ef4444}.folder-actions{position:absolute;top:10px;right:10px;display:flex;gap:6px;opacity:0;transition:opacity .2s ease;z-index:5}.folder-card{position:relative}.folder-card:hover .folder-actions{opacity:1}.btn-icon-sm{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#1e293bf2;border:1px solid #475569;border-radius:8px;cursor:pointer;transition:all .15s ease;font-size:14px}.btn-icon-sm:hover{background:#3b82f666;border-color:#3b82f6;transform:scale(1.08)}.btn-icon-sm.btn-danger:hover{background:#ef444466;border-color:#ef4444}.bulk-actions-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#3b82f626,#2563eb1a);border:1px solid rgba(59,130,246,.3);border-radius:10px;margin-bottom:16px}.bulk-actions-bar span{color:#60a5fa;font-weight:600;font-size:14px}.btn-sm{padding:10px 16px;min-height:38px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #3b82f64d}.btn-sm:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 10px #3b82f666}.btn-sm.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 2px 6px #ef44444d}.btn-sm.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 10px #ef444466}.btn-sm.btn-secondary{background:#475569}.btn-sm.btn-secondary:hover{background:#64748b}.th-checkbox{width:40px;text-align:center}.drawings-table input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.selected-row td{background:#3b82f61a!important}.clipboard-row td{background:#10b9811a!important;border-left:2px solid #10b981}.actions-cell{display:flex;gap:4px}.form-label{display:block;color:#94a3b8;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.modal-subtitle{color:#94a3b8;font-size:14px;margin:-12px 0 20px}.modal-danger{border-color:#ef444466}.modal-danger h3{color:#f87171}.warning-text{color:#fbbf24;font-size:13px;margin:12px 0 0;padding:10px 14px;background:#fbbf241a;border-radius:8px;border:1px solid rgba(251,191,36,.2)}.info-text{color:#60a5fa;font-size:13px;margin:12px 0 0;padding:10px 14px;background:#3b82f61a;border-radius:8px;border:1px solid rgba(59,130,246,.2)}.modal-actions .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef44444d}.modal-actions .btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.extraction-data-warning{margin:16px 0}.loading-extraction-data{display:flex;align-items:center;gap:10px;color:#94a3b8;font-size:13px;padding:12px;background:#1e293b80;border-radius:8px}.extraction-stats ul{margin:8px 0 0;padding-left:20px;font-size:13px;color:#e2e8f0}.extraction-stats li{margin:4px 0}.associated-jobs{margin-top:12px;padding:12px;background:#1e293b80;border-radius:8px;border:1px solid #334155}.jobs-label{margin:0 0 8px;font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.associated-jobs ul{margin:0;padding-left:16px;font-size:13px;color:#e2e8f0}.associated-jobs li{margin:4px 0}.job-date{color:#64748b;font-size:12px}.more-jobs{color:#64748b;font-style:italic}.modal-upload{min-width:500px;max-width:700px;max-height:80vh;display:flex;flex-direction:column}.upload-files-list{max-height:400px;overflow-y:auto;margin-bottom:16px;padding-right:8px}.upload-file-item{background:#0f172a80;border:1px solid #334155;border-radius:10px;padding:16px;margin-bottom:12px}.upload-file-item:last-child{margin-bottom:0}.upload-file-original{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #334155}.file-icon{font-size:20px}.file-original-name{color:#e2e8f0;font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#64748b;font-size:12px;flex-shrink:0}.upload-file-fields{display:grid;grid-template-columns:1fr 1fr 100px;gap:12px}.upload-file-fields input{margin-bottom:0;padding:10px 14px;font-size:13px}.upload-files-list::-webkit-scrollbar{width:6px}.upload-files-list::-webkit-scrollbar-track{background:#1e293b;border-radius:3px}.upload-files-list::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}.upload-files-list::-webkit-scrollbar-thumb:hover{background:#64748b}.upload-progress-section{background:linear-gradient(180deg,#0f172acc,#1e293b80);border:1px solid #334155;border-radius:12px;padding:20px;margin-bottom:20px}.upload-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.upload-progress-text{color:#e2e8f0;font-size:14px;font-weight:500}.upload-progress-count{color:#60a5fa;font-size:14px;font-weight:600;font-family:SF Mono,Menlo,monospace}.upload-progress-bar-container{height:12px;background:#0f172a;border-radius:6px;overflow:hidden;margin-bottom:12px;box-shadow:inset 0 1px 3px #0000004d}.upload-progress-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa,#3b82f6);background-size:200% 100%;border-radius:6px;transition:width .3s ease;animation:shimmer 1.5s ease-in-out infinite}.upload-progress-bar-fill.complete{background:linear-gradient(90deg,#10b981,#34d399,#10b981);animation:none}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.upload-current-file{color:#94a3b8;font-size:13px;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-complete-message{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#10b981;font-size:16px;font-weight:600;text-align:center;padding:24px 16px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:12px;margin-top:8px;animation:fadeInScale .3s ease-out}.upload-complete-message:before{content:"✓";display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:24px;font-weight:700;border-radius:50%;box-shadow:0 4px 12px #10b98166}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.upload-in-progress{display:flex;align-items:center;gap:10px;color:#94a3b8;font-size:14px;padding:8px 0}.spinner-large{width:48px;height:48px;border:4px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.loading-overlay{position:fixed;inset:0;background:#020617d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.loading-content{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.loading-content p{color:#e2e8f0;font-size:16px;font-weight:500;margin:0}.loading-content .loading-subtitle{color:#94a3b8;font-size:14px;font-weight:400}.pages-badge{display:inline-block;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;min-width:28px;text-align:center}.pages-badge.single{background:#64748b33;color:#94a3b8;border:1px solid rgba(100,116,139,.3)}.pages-badge.document{background:linear-gradient(135deg,#fbbf2433,#f59e0b26);color:#fbbf24;border:1px solid rgba(251,191,36,.4)}.pages-badge.split{background:linear-gradient(135deg,#10b98133,#05966926);color:#34d399;border:1px solid rgba(16,185,129,.4)}.page-indicator{color:#94a3b8;font-size:12px;font-style:italic;margin-left:6px}.btn-split{background:#fbbf2433!important;border-color:#fbbf2466!important}.btn-split:hover{background:#fbbf2466!important;border-color:#fbbf24!important}.upload-search-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #334155}.upload-search-input{flex:1;padding:10px 14px;background:#0f172a;border:1px solid #334155;border-radius:8px;color:#f1f5f9;font-size:14px}.upload-search-input:focus{outline:none;border-color:#3b82f6}.upload-search-input::placeholder{color:#64748b}.upload-file-count{color:#94a3b8;font-size:13px;white-space:nowrap}.upload-file-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.btn-remove-file{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#f87171;font-size:14px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.btn-remove-file:hover{background:#ef44444d;border-color:#f87171}.upload-no-results{padding:24px;text-align:center;color:#64748b;font-size:14px}.jobs-badge-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#1e293b;border:1px solid #334155;border-radius:4px;color:#64748b;font-size:12px;cursor:pointer;transition:all .15s ease}.jobs-badge-btn:hover{background:#334155;border-color:#475569}.jobs-badge-btn.has-jobs{background:#3b82f626;border-color:#3b82f64d;color:#60a5fa}.jobs-badge-btn.has-jobs:hover{background:#3b82f640}.jobs-badge-btn.expanded{background:#3b82f640;border-color:#3b82f6}.jobs-count{font-weight:600}.jobs-expand-icon{font-size:8px;color:#94a3b8}.jobs-loading{color:#94a3b8}.jobs-none{color:#475569}.expanded-row{background:#3b82f60d}.jobs-expanded-row{background:#0f172a}.jobs-expanded-row>td{padding:0!important;border-bottom:2px solid #334155}.jobs-history-container{padding:16px 20px;margin-left:40px;border-left:2px solid #3b82f6}.jobs-history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.jobs-history-title{font-size:13px;font-weight:600;color:#e2e8f0}.jobs-history-count{font-size:11px;color:#64748b;padding:2px 8px;background:#1e293b;border-radius:4px}.jobs-history-table{width:100%;border-collapse:collapse;font-size:12px}.jobs-history-table th{text-align:left;padding:8px 12px;background:#1e293b;color:#94a3b8;font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #334155}.jobs-history-table td{padding:10px 12px;color:#e2e8f0;border-bottom:1px solid #1e293b}.jobs-history-table tbody tr:hover{background:#ffffff05}.job-status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.job-status-badge.completed{background:#10b98126;color:#10b981}.job-status-badge.failed{background:#ef444426;color:#f87171}.job-status-badge.running{background:#3b82f626;color:#60a5fa}.jobs-history-empty{padding:16px;text-align:center;color:#64748b;font-size:13px}.jobs-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #1e293b}.jobs-page-btn{padding:6px 12px;background:#334155;border:1px solid #475569;border-radius:4px;color:#e2e8f0;font-size:12px;cursor:pointer;transition:all .15s}.jobs-page-btn:hover:not(:disabled){background:#475569}.jobs-page-btn:disabled{opacity:.4;cursor:not-allowed}.jobs-page-info{font-size:12px;color:#94a3b8}.reference-shapes-panel{padding:24px;height:100%;overflow-y:auto}.panel-header{margin-bottom:24px}.panel-header h2{margin:0 0 8px;color:#f1f5f9;font-size:24px;font-weight:600}.panel-subtitle{margin:0;color:#94a3b8;font-size:14px}.panel-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid #334155;padding-bottom:12px}.panel-tab{padding:10px 20px;background:transparent;border:1px solid #334155;border-radius:8px;color:#94a3b8;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.panel-tab:hover{background:#3b82f61a;border-color:#3b82f6;color:#e2e8f0}.panel-tab.active{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#3b82f6;color:#fff}.empty-state{text-align:center;padding:60px 40px;color:#64748b}.empty-state h3{color:#e2e8f0;margin-bottom:12px}.empty-state p{font-size:14px;max-width:400px;margin:0 auto;line-height:1.6}.shapes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.shape-card{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:12px;padding:20px;transition:all .2s}.shape-card:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.shape-card.inactive{opacity:.6}.shape-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.shape-type{font-size:14px;font-weight:600;color:#f1f5f9;text-transform:uppercase;letter-spacing:.05em}.shape-content{display:flex;gap:16px;margin-bottom:12px}.shape-preview-container{flex-shrink:0}.shape-details{flex:1;min-width:0}.shape-name{color:#60a5fa;font-size:13px;margin-bottom:8px;font-weight:500}.shape-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px}.shape-component-badge{margin-top:8px;padding:4px 8px;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:4px;color:#a78bfa;font-size:11px;font-weight:500}.metric{display:flex;flex-direction:column;gap:4px}.metric-label{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.metric-value{font-size:14px;color:#e2e8f0;font-family:SF Mono,Menlo,monospace}.shape-description{font-size:13px;color:#94a3b8;margin-bottom:12px;line-height:1.5}.shape-source{font-size:12px;color:#64748b;margin-bottom:16px}.shape-actions{display:flex;gap:8px}.btn-delete{padding:6px 12px;background:transparent;border:1px solid #475569;border-radius:6px;color:#94a3b8;font-size:12px;cursor:pointer;transition:all .2s}.btn-delete:hover{background:#ef444433;border-color:#ef4444;color:#f87171}.toggle-switch{position:relative;display:inline-block;width:40px;height:22px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .slider{position:absolute;cursor:pointer;inset:0;background-color:#475569;transition:.3s;border-radius:22px}.toggle-switch .slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.slider{background-color:#10b981}.toggle-switch input:checked+.slider:before{transform:translate(18px)}.browse-section{display:flex;flex-direction:column;gap:24px}.sheet-selector{display:flex;flex-direction:column;gap:8px}.sheet-selector label{font-size:14px;color:#94a3b8;font-weight:500}.sheet-selector select{padding:12px 16px;background:#0f172a;border:1px solid #334155;border-radius:8px;color:#f1f5f9;font-size:14px;cursor:pointer;max-width:400px}.sheet-selector select:focus{outline:none;border-color:#3b82f6}.contours-section h3{margin:0 0 16px;color:#f1f5f9;font-size:16px;font-weight:500}.contours-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.contours-table th{padding:12px 16px;text-align:left;background:#0f172a;color:#94a3b8;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #334155}.contours-table th:first-child{border-radius:8px 0 0}.contours-table th:last-child{border-radius:0 8px 0 0}.contours-table td{padding:12px 16px;color:#e2e8f0;border-bottom:1px solid #1e293b}.contours-table tr:hover td{background:#3b82f60d}.preview-cell{padding:8px 12px!important;width:56px}.position-cell{font-family:SF Mono,Menlo,monospace;font-size:12px;color:#94a3b8}.btn-save-ref{padding:6px 12px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.btn-save-ref:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.modal-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:linear-gradient(180deg,#1e293b,#0f172a);border-radius:16px;padding:28px;min-width:400px;max-width:90vw;border:1px solid #334155;box-shadow:0 20px 60px #00000080}.modal h3{margin:0 0 16px;color:#f1f5f9;font-size:20px;font-weight:600}.modal p{color:#94a3b8;font-size:14px;margin:0 0 12px}.modal.modal-danger{border-color:#ef444466}.modal.modal-danger h3{color:#f87171}.warning-text{color:#fbbf24!important;padding:10px 14px;background:#fbbf241a;border-radius:8px;border:1px solid rgba(251,191,36,.2)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.modal-actions button{padding:10px 20px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.modal-actions button:first-child{background:#334155;color:#e2e8f0}.modal-actions button:first-child:hover{background:#475569}.modal-actions .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.modal-actions .btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.titan-assistant{padding:1.25rem;border:1px solid rgba(59,130,246,.35);border-radius:1rem;background:#020617d9;display:flex;flex-direction:column;gap:1rem;box-shadow:0 15px 40px #020617a6;width:min(420px,calc(100vw - 2rem));max-width:420px;color:#e2e8f0}.titan-assistant--floating{position:fixed;z-index:2500;max-height:calc(100vh - 2rem);background:#020617eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease}.titan-assistant--minimized{padding-bottom:.75rem;gap:.5rem}.titan-assistant--minimized .titan-assistant__messages,.titan-assistant--minimized .titan-assistant__form,.titan-assistant--minimized .titan-assistant__error{display:none}.titan-assistant__header{display:flex;align-items:flex-start;justify-content:flex-start;gap:.75rem;cursor:grab}.titan-assistant__header>div:first-child{flex:1;min-width:0}.titan-assistant__header h4{margin:0;font-size:.9rem;color:#f8fafc}.titan-assistant__header p{margin:.2rem 0 0;color:#94a3b8;font-size:.75rem}.titan-assistant__context{margin-top:.35rem;display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;padding:.4rem .55rem;border-radius:.75rem;background:#3b82f626;color:#cbd5f5}.titan-assistant__context-details{border:1px solid rgba(148,163,184,.25);border-radius:.75rem;background:#0f172aa6;padding:.7rem;max-height:150px;overflow-y:auto;font-size:.8rem;color:#cbd5f5;white-space:pre-wrap}.titan-assistant__thinking{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem 0;font-size:.85rem;color:#cbd5f5}.titan-assistant__thinking-dot{width:6px;height:6px;border-radius:999px;background:#60a5fae6;animation:titan-assistant-pulse 1.2s ease-in-out infinite}.titan-assistant__thinking-dot:nth-child(2){animation-delay:.15s}.titan-assistant__thinking-dot:nth-child(3){animation-delay:.3s}@keyframes titan-assistant-pulse{0%,80%,to{opacity:.35;transform:scale(.75)}40%{opacity:1;transform:scale(1)}}.titan-assistant__controls{display:inline-flex;gap:.35rem;align-items:center;justify-content:center;cursor:default;margin-left:auto}.titan-assistant__icon-button{border:1px solid rgba(148,163,184,.4);background:#0f172acc;color:#f8fafc;border-radius:8px;width:32px;height:32px;font-size:.85rem;cursor:pointer;transition:background .2s ease,border-color .2s ease}.titan-assistant__icon-button:hover{border-color:#60a5facc;background:#2563eb59}.titan-assistant__messages{flex:1;min-height:140px;max-height:calc(100vh - 320px);overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.titan-assistant__message{padding:.75rem;border-radius:.75rem;border:1px solid rgba(148,163,184,.25);background:#090c18cc}.titan-assistant__message--assistant{border-color:#3b82f659;background:#090e28d9}.titan-assistant__message strong{display:block;margin-bottom:.25rem;font-size:.7rem;color:#94a3b8;letter-spacing:.08em;text-transform:uppercase}.titan-assistant__message p{margin:0;color:#e2e8f0;white-space:pre-wrap;font-size:.85rem}.titan-assistant__markdown{color:#e2e8f0;font-size:.85rem}.titan-assistant__markdown h1,.titan-assistant__markdown h2,.titan-assistant__markdown h3,.titan-assistant__markdown h4{margin:.4rem 0;color:#f8fafc;font-size:.95rem}.titan-assistant__markdown p{margin:.3rem 0;font-size:.85rem}.titan-assistant__markdown ul,.titan-assistant__markdown ol{margin:.35rem 0 .35rem 1.25rem}.titan-assistant__table{width:100%;border-collapse:collapse;margin:.4rem 0;font-size:.85rem}.titan-assistant__table-header,.titan-assistant__table-cell{border:1px solid rgba(148,163,184,.3);padding:.35rem .5rem;text-align:left}.titan-assistant__table-header{background:#3b82f633;font-weight:600}.titan-assistant__code-inline{background:#0f172ad9;padding:.1rem .3rem;border-radius:.35rem;font-family:JetBrains Mono,Fira Code,SFMono-Regular,Consolas,monospace}.titan-assistant__code-block{background:#0f172ad9;padding:.75rem;border-radius:.75rem;overflow-x:auto}.titan-assistant-chart{border:1px solid rgba(59,130,246,.3);border-radius:.85rem;padding:.75rem;background:#090e28cc;margin-top:.6rem}.titan-assistant-chart__title{margin:0;font-weight:600;color:#f8fafc}.titan-assistant-chart__description{margin:.15rem 0 .6rem;color:#cbd5f5;font-size:.85rem}.titan-assistant-chart__series{display:flex;flex-direction:column;gap:.35rem}.titan-assistant-chart__row{display:grid;grid-template-columns:1.5fr 4fr auto;gap:.5rem;align-items:center;font-size:.85rem}.titan-assistant-chart__label{color:#cbd5f5}.titan-assistant-chart__bar-wrapper{background:#0f172aa6;border-radius:999px;overflow:hidden;height:10px}.titan-assistant-chart__bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#38bdf8cc,#3b82f6f2);transition:width .3s ease}.titan-assistant-chart__value{text-align:right;color:#e2e8f0;font-variant-numeric:tabular-nums}.titan-assistant__empty{margin:0;color:#94a3b8;font-size:.8rem}.titan-assistant__form{display:flex;flex-direction:column;gap:.75rem}.titan-assistant__input{position:relative}.titan-assistant__form textarea{width:100%;border-radius:.75rem;border:1px solid rgba(148,163,184,.35);background:#050a19d9;color:#f8fafc;padding:.75rem;min-height:90px;resize:vertical}.titan-assistant__input-indicator{position:absolute;right:.75rem;bottom:.85rem;display:inline-flex;align-items:center;gap:.2rem}.titan-assistant__input-indicator span{width:6px;height:6px;border-radius:50%;background:#60a5fae6;animation:titan-assistant-pulse 1.2s ease-in-out infinite}.titan-assistant__input-indicator span:nth-child(2){animation-delay:.15s}.titan-assistant__input-indicator span:nth-child(3){animation-delay:.3s}.titan-assistant__form-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.titan-assistant__form-actions-left{display:inline-flex;align-items:center;gap:.5rem}.titan-assistant__ghost-button{border:1px solid rgba(148,163,184,.35);background:transparent;color:#cbd5f5;padding:.25rem .8rem;border-radius:999px;font-size:.78rem;cursor:pointer;transition:border-color .2s ease,color .2s ease}.titan-assistant__ghost-button:disabled{opacity:.4;cursor:not-allowed}.titan-assistant__ghost-button:not(:disabled):hover{border-color:#60a5facc;color:#f8fafc}.titan-assistant__form button[type=submit]{border:none;border-radius:999px;padding:.5rem 1.5rem;background:linear-gradient(135deg,#3b82f6cc,#0ea5e9cc);color:#f8fafc;font-weight:600;cursor:pointer;transition:opacity .2s ease}.titan-assistant__form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.titan-assistant__drag-hint{font-size:.75rem;color:#94a3b8}.titan-assistant__error{margin:0;color:#fca5a5;font-size:.85rem}.titan-assistant-launcher{position:fixed;bottom:1.5rem;right:1.5rem;border:1px solid rgba(59,130,246,.4);background:#0f172ad9;color:#f8fafc;border-radius:999px;padding:.6rem 1.4rem;font-weight:600;cursor:pointer;z-index:450;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 25px #0f172a99;transition:border-color .2s ease,transform .2s ease}.titan-assistant-launcher:hover{border-color:#ffffffa6;transform:translateY(-1px)}.equipment-extraction-panel{padding:24px;height:calc(100vh - 200px);overflow-y:auto}.extraction-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #334155}.header-info h2{margin:0 0 8px;color:#f1f5f9;font-size:24px;font-weight:600}.header-description{margin:0;color:#94a3b8;font-size:14px}.header-controls{display:flex;align-items:flex-start;gap:16px;flex-shrink:0;flex-wrap:wrap}.revision-filter-group{display:flex;flex-direction:column;gap:10px}.filter-mode-select{display:flex;align-items:center;gap:8px}.filter-mode-select label{color:#94a3b8;font-size:13px;white-space:nowrap}.filter-mode-select select{padding:8px 12px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#f1f5f9;font-size:13px;cursor:pointer}.filter-mode-select select:focus{outline:none;border-color:#3b82f6}.revision-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.revision-checkbox{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#94a3b8;font-size:12px;cursor:pointer;transition:all .2s ease}.revision-checkbox:hover{border-color:#3b82f6;background:#3b82f61a}.revision-checkbox.checked{border-color:#3b82f6;background:#3b82f633;color:#60a5fa}.revision-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:#3b82f6;cursor:pointer}.revision-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.revision-checkbox span{font-weight:500}.selection-info{padding:8px 14px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px}.selected-count{color:#60a5fa;font-size:13px;font-weight:500}.job-name-input input{padding:8px 12px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#f1f5f9;font-size:13px;width:160px;transition:border-color .2s ease}.job-name-input input:focus{outline:none;border-color:#3b82f6}.job-name-input input::placeholder{color:#64748b}.job-name-input input:disabled{opacity:.5;cursor:not-allowed}.btn-extract{padding:10px 20px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #10b9814d}.btn-extract:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.btn-extract:disabled{opacity:.5;cursor:not-allowed;transform:none}.extraction-progress{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:12px;padding:20px;margin-bottom:24px}.extraction-progress.running{border-color:#3b82f666}.extraction-progress.completed{border-color:#10b98166}.extraction-progress.partial-error{border-color:#f59e0b66}.extraction-progress.error{border-color:#ef444466}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.progress-title{color:#f1f5f9;font-size:16px;font-weight:600}.extraction-progress.running .progress-title{color:#60a5fa}.extraction-progress.completed .progress-title{color:#10b981}.extraction-progress.error .progress-title{color:#f87171}.extraction-progress.partial-error .progress-title{color:#f59e0b}.btn-cancel{padding:6px 14px;background:#475569;border:none;border-radius:6px;color:#e2e8f0;font-size:13px;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#64748b}.progress-bar-container{height:8px;background:#0f172a;border-radius:4px;overflow:hidden;margin-bottom:12px}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:4px;transition:width .3s ease}.extraction-progress.completed .progress-bar-fill{background:linear-gradient(90deg,#10b981,#059669)}.extraction-progress.error .progress-bar-fill{background:linear-gradient(90deg,#ef4444,#dc2626)}.extraction-progress.partial-error .progress-bar-fill,.progress-bar-fill.has-errors{background:linear-gradient(90deg,#f59e0b,#d97706)}.progress-details{display:flex;justify-content:space-between;align-items:center;color:#94a3b8;font-size:13px;flex-wrap:wrap;gap:8px}.result-counts{display:flex;gap:12px}.success-count{color:#10b981;font-weight:500}.error-count{color:#f87171;font-weight:500}.current-drawing{color:#64748b;font-style:italic}.extraction-errors{margin-top:12px;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;max-height:200px;overflow-y:auto}.errors-header{color:#f87171;font-weight:600;font-size:13px;margin-bottom:8px}.errors-list{display:flex;flex-direction:column;gap:4px}.error-item{color:#fca5a5;font-size:12px;padding:6px 8px;background:#0003;border-radius:4px;word-break:break-word;white-space:pre-wrap;font-family:SF Mono,Menlo,monospace}.error-item.more-errors{color:#94a3b8;font-style:italic;background:transparent}.project-tree{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:12px;padding:16px}.tree-project{margin-bottom:8px}.tree-project:last-child{margin-bottom:0}.tree-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;cursor:default}.tree-item:hover{background:#3b82f60d}.project-item{background:#1e293b80}.project-item:hover{background:#3b82f61a}.folder-item{background:#0f172a80}.drawing-item{padding:8px 12px}.expand-btn{width:24px;height:24px;padding:0;background:transparent;border:none;color:#64748b;font-size:10px;cursor:pointer;border-radius:4px;transition:all .2s ease}.expand-btn:hover{background:#3b82f633;color:#3b82f6}.tree-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.tree-item input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.item-icon{font-size:16px;flex-shrink:0}.item-name{color:#e2e8f0;font-size:14px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item .item-name{font-weight:600;font-size:15px}.item-code{color:#64748b;font-size:12px;font-family:SF Mono,Menlo,monospace}.item-count{color:#64748b;font-size:12px}.drawing-id{color:#94a3b8;font-size:12px;font-family:SF Mono,Menlo,monospace;padding:2px 6px;background:#94a3b81a;border-radius:4px}.revision-badge{display:inline-block;padding:3px 8px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:11px;font-weight:600;border-radius:4px;text-transform:uppercase}.revision-badge.small{padding:2px 6px;font-size:10px}.status-badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.status-badge.uploaded{background:#f59e0b33;color:#f59e0b}.status-badge.processing{background:#3b82f633;color:#60a5fa}.status-badge.processed,.status-badge.indexed{background:#10b98133;color:#10b981}.status-badge.failed{background:#ef444433;color:#f87171}.extraction-method-cell{text-align:center;width:60px}.extraction-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.extraction-badge.heuristics{background:#3b82f633;color:#60a5fa}.extraction-badge.ocr{background:#a855f733;color:#a855f7}.tree-children{margin-left:32px;border-left:1px solid #334155;padding-left:8px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;text-align:center}.empty-state h3{color:#e2e8f0;font-size:18px;margin-bottom:8px}.empty-state p{color:#64748b;font-size:14px}.errors-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.btn-toggle-errors{padding:4px 10px;background:#ffffff1a;border:1px solid rgba(248,113,113,.3);border-radius:4px;color:#fca5a5;font-size:11px;cursor:pointer;transition:all .2s ease}.btn-toggle-errors:hover{background:#ffffff26;border-color:#f8717180}.error-item.expandable{cursor:pointer}.error-item.expandable:hover{background:#0000004d}.error-item.expanded{max-height:none;white-space:pre-wrap}.expand-hint{color:#94a3b8;font-style:italic}.job-history-section{margin-top:32px;background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:12px;padding:20px}.job-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #334155}.job-history-header h3{margin:0;color:#f1f5f9;font-size:16px;font-weight:600}.btn-refresh{padding:6px 12px;background:#475569;border:none;border-radius:6px;color:#e2e8f0;font-size:12px;cursor:pointer;transition:all .2s ease}.btn-refresh:hover:not(:disabled){background:#64748b}.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.empty-jobs{text-align:center;padding:24px;color:#64748b;font-size:14px}.job-list{display:flex;flex-direction:column;gap:12px}.job-card{background:#0f172a80;border:1px solid #334155;border-radius:8px;padding:14px;transition:border-color .2s ease}.job-card.success{border-left:3px solid #10b981}.job-card.partial{border-left:3px solid #f59e0b}.job-card.failed{border-left:3px solid #ef4444}.job-card.running{border-left:3px solid #3b82f6}.job-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.job-info{display:flex;flex-direction:column;gap:2px}.job-project{color:#e2e8f0;font-size:14px;font-weight:500}.job-name{color:#94a3b8;font-size:12px}.job-status{padding:3px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.job-status.completed{background:#10b98133;color:#10b981}.job-status.failed{background:#ef444433;color:#f87171}.job-status.running{background:#3b82f633;color:#60a5fa}.job-card-stats{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}.job-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.job-stat .stat-label{color:#64748b;font-size:10px;text-transform:uppercase}.job-stat .stat-value{color:#e2e8f0;font-size:14px;font-weight:600}.job-stat.success .stat-value{color:#10b981}.job-stat.error .stat-value{color:#f87171}.job-card-time{color:#64748b;font-size:11px}.job-errors-section{margin-top:10px;padding-top:10px;border-top:1px solid #334155}.btn-toggle-job-errors{background:none;border:none;color:#fca5a5;font-size:12px;cursor:pointer;padding:0;display:flex;align-items:center;gap:4px}.btn-toggle-job-errors:hover{color:#f87171}.job-errors-list{margin-top:8px;display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.job-error-item{padding:8px;background:#ef44441a;border-radius:4px;font-size:11px;color:#fca5a5;font-family:SF Mono,Menlo,monospace;white-space:pre-wrap;word-break:break-word}.job-error-item .error-drawing{color:#f87171;font-weight:600;margin-right:4px}.job-error-item .error-message{color:#fca5a5}.logs-panel{background:linear-gradient(180deg,#0f172a,#020617);border:1px solid #334155;border-radius:12px;margin-bottom:24px;overflow:hidden}.logs-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#1e293b80;border-bottom:1px solid #334155}.logs-title{color:#e2e8f0;font-size:12px;font-weight:500}.logs-controls{display:flex;gap:8px}.btn-toggle-logs,.btn-clear-logs{padding:4px 10px;background:#475569;border:none;border-radius:4px;color:#e2e8f0;font-size:11px;cursor:pointer;transition:all .2s ease}.btn-toggle-logs:hover,.btn-clear-logs:hover{background:#64748b}.logs-content{max-height:120px;overflow-y:auto;padding:6px 10px;font-family:SF Mono,Menlo,Monaco,monospace;font-size:10px;line-height:1.3}.log-line{color:#94a3b8;padding:1px 0;white-space:pre-wrap;word-break:break-word}.log-line.success{color:#10b981}.log-line.error{color:#f87171}.logs-content::-webkit-scrollbar{width:6px}.logs-content::-webkit-scrollbar-track{background:#0f172a}.logs-content::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}.logs-content::-webkit-scrollbar-thumb:hover{background:#64748b}.job-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px;background:#0f172a80;border-radius:8px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{color:#94a3b8;font-size:11px;text-transform:uppercase}.filter-group select,.filter-group input{padding:6px 10px;background:#0f172a;border:1px solid #334155;border-radius:4px;color:#f1f5f9;font-size:12px;min-width:120px}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#3b82f6}.btn-clear-filters{padding:6px 12px;background:transparent;border:1px solid #64748b;border-radius:4px;color:#94a3b8;font-size:12px;cursor:pointer;transition:all .2s ease}.btn-clear-filters:hover{background:#334155;color:#f1f5f9}.job-table-container{overflow-x:auto;border-radius:8px;border:1px solid #334155}.job-table{width:100%;border-collapse:collapse;font-size:12px}.job-table th{background:#0f172a;color:#94a3b8;font-weight:500;text-align:left;padding:10px 12px;border-bottom:1px solid #334155;white-space:nowrap;text-transform:uppercase;font-size:10px;letter-spacing:.05em}.job-table td{padding:10px 12px;border-bottom:1px solid #1e293b;color:#e2e8f0}.job-table tbody tr:hover{background:#3b82f60d}.job-row.success{border-left:3px solid #10b981}.job-row.partial{border-left:3px solid #f59e0b}.job-row.failed{border-left:3px solid #ef4444}.job-row.running{border-left:3px solid #3b82f6}.col-expand{width:40px}.col-name{min-width:140px}.col-project{min-width:120px}.col-status{width:90px}.col-drawings{width:70px;text-align:center}.col-results{width:100px;text-align:center}.col-extractions{width:160px}.col-duration{width:70px;text-align:right}.col-date{min-width:140px}.extractions-breakdown{display:flex;gap:4px;justify-content:center}.extractions-breakdown .extract-item{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500;color:#fff}.extractions-breakdown .extract-item.equipment{background:#ef44444d;border:1px solid rgba(239,68,68,.5)}.extractions-breakdown .extract-item.sizing{background:#22c55e4d;border:1px solid rgba(34,197,94,.5)}.extractions-breakdown .extract-item.process-line{background:#f973164d;border:1px solid rgba(249,115,22,.5)}.extractions-breakdown .extract-item.design-conditions{background:#a855f74d;border:1px solid rgba(168,85,247,.5)}.extractions-breakdown .extract-item.text{background:#3b82f64d;border:1px solid rgba(59,130,246,.5)}.btn-expand-row{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;font-size:10px;transition:color .2s ease}.btn-expand-row:hover{color:#3b82f6}.job-name-text{color:#f1f5f9;font-weight:500}.status-pill{display:inline-block;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.status-pill.success{background:#10b98133;color:#10b981}.status-pill.partial{background:#f59e0b33;color:#f59e0b}.status-pill.failed{background:#ef444433;color:#f87171}.status-pill.running{background:#3b82f633;color:#60a5fa}.success-text{color:#10b981;font-weight:500}.error-text{color:#f87171;font-weight:500}.job-details-row td{padding:0;background:#0f172a}.job-details-content{padding:16px;border-top:1px solid #334155}.details-section{margin-bottom:16px}.details-section:last-child{margin-bottom:0}.details-section h4{color:#e2e8f0;font-size:12px;font-weight:600;margin:0 0 10px;display:flex;align-items:center;gap:12px}.btn-toggle-errors-inline{background:none;border:1px solid #475569;color:#94a3b8;font-size:10px;padding:2px 8px;border-radius:4px;cursor:pointer}.btn-toggle-errors-inline:hover{background:#334155;color:#f1f5f9}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.result-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#1e293b80;border-radius:4px;font-size:11px}.result-item.success{border-left:2px solid #10b981}.result-item.error{border-left:2px solid #ef4444}.result-item.more{color:#64748b;font-style:italic;border:none}.result-icon{font-size:12px}.result-item.success .result-icon{color:#10b981}.result-item.error .result-icon{color:#f87171}.result-drawing{color:#e2e8f0;font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-counts{color:#64748b;font-size:10px}.result-counts-breakdown{display:flex;gap:3px;flex-shrink:0}.mini-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:1px 4px;border-radius:3px;font-size:9px;font-weight:600;color:#fff}.mini-count.equipment{background:#ef444480}.mini-count.sizing{background:#22c55e80}.mini-count.process-line{background:#f9731680}.mini-count.design-conditions{background:#a855f780}.mini-count.text{background:#3b82f680}.errors-detail-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.error-detail-item{padding:8px 10px;background:#ef44441a;border-radius:4px;font-size:11px;color:#fca5a5;display:flex;gap:6px}.error-detail-item strong{color:#f87171;white-space:nowrap}.job-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px;border-top:1px solid #334155}.pagination-info{color:#64748b;font-size:12px}.pagination-controls{display:flex;gap:8px}.btn-page{padding:6px 12px;background:#475569;border:none;border-radius:4px;color:#e2e8f0;font-size:12px;cursor:pointer;transition:all .2s ease}.btn-page:hover:not(:disabled){background:#64748b}.btn-page:disabled{opacity:.5;cursor:not-allowed}.btn-new-extraction{padding:12px 24px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #10b9814d}.btn-new-extraction:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.job-row.clickable{cursor:pointer}.job-row.clickable:hover{background:#3b82f61a}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:16px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px #00000080}.extraction-modal{width:700px;max-width:100%}.job-details-modal{width:600px;max-width:100%}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #334155}.modal-header h3{margin:0;color:#f1f5f9;font-size:18px;font-weight:600}.btn-close-modal{background:none;border:none;color:#64748b;font-size:24px;cursor:pointer;padding:4px 8px;line-height:1;transition:color .2s ease}.btn-close-modal:hover{color:#f1f5f9}.modal-section{padding:16px 24px;border-bottom:1px solid rgba(51,65,85,.5)}.modal-section:last-of-type{border-bottom:none}.modal-label{display:block;color:#e2e8f0;font-size:13px;font-weight:600;margin-bottom:8px}.modal-input{width:100%;padding:10px 14px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#f1f5f9;font-size:14px;transition:border-color .2s ease}.modal-input:focus{outline:none;border-color:#3b82f6}.modal-input::placeholder{color:#64748b}.modal-input:disabled{opacity:.5;cursor:not-allowed}.ocr-settings{background:#0f172a4d}.ocr-settings-row{display:flex;align-items:center;gap:12px;margin-top:8px}.ocr-settings-row .toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;color:#e2e8f0;font-size:14px}.ocr-settings-row .toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:#3b82f6;cursor:pointer}.ocr-settings-row .setting-hint{color:#64748b;font-size:12px;font-style:italic}.ocr-settings-row.model-select{margin-top:12px;padding-left:26px}.ocr-settings-row.model-select label{color:#94a3b8;font-size:13px}.ocr-settings-row.model-select select{padding:6px 12px;background:#1e293b;border:1px solid #475569;border-radius:4px;color:#e2e8f0;font-size:13px;cursor:pointer}.ocr-settings-row.model-select select:focus{outline:none;border-color:#3b82f6}.saving-indicator{color:#3b82f6;font-size:12px;font-style:italic}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid #334155;background:#0f172a80}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8)}.btn-start-extraction{background:linear-gradient(135deg,#10b981,#059669)}.btn-start-extraction:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857)}.revision-filter-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.revision-filter-select{padding:8px 12px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#f1f5f9;font-size:13px}.revision-filter-select:focus{outline:none;border-color:#3b82f6}.selection-section{padding-bottom:0!important}.selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.selection-header .selected-count{color:#60a5fa;font-size:13px;font-weight:500}.project-tree-modal{max-height:300px;overflow-y:auto;background:#0f172a;border:1px solid #334155;border-radius:8px;padding:12px}.project-tree-modal .tree-project{margin-bottom:4px}.project-tree-modal .tree-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;font-size:13px;color:#e2e8f0}.project-tree-modal .tree-item:hover{background:#3b82f61a}.project-tree-modal .expand-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:2px;font-size:10px;width:16px}.project-tree-modal .item-icon{font-size:14px}.project-tree-modal .item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-tree-modal .item-code{color:#64748b;font-size:11px}.project-tree-modal .item-count{color:#64748b;font-size:11px;background:#64748b33;padding:2px 6px;border-radius:4px}.project-tree-modal .tree-children{margin-left:24px}.project-tree-modal .folder-item{background:#1e293b80}.project-tree-modal .drawing-item{font-size:12px}.project-tree-modal input[type=checkbox]{width:14px;height:14px;cursor:pointer}.logs-panel.compact{margin:12px 0 0;border-radius:6px;border:1px solid #334155}.logs-panel.compact .logs-header{padding:6px 10px}.logs-panel.compact .logs-content{max-height:80px}.extraction-modal .extraction-progress{margin:0;border-radius:0;border:none;border-bottom:1px solid #334155}.extraction-in-progress{display:flex;align-items:center;gap:10px;color:#94a3b8;font-size:14px}.spinner-small{width:18px;height:18px;border:2px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.btn-background{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.btn-background:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca)}.btn-minimize{padding:4px 12px;font-size:12px}.btn-cancel{padding:4px 12px;font-size:12px;color:#f87171;border-color:#f87171}.btn-cancel:hover{background:#f871711a}.job-row.running .status-pill{animation:pulse 1.5s ease-in-out infinite}.job-row.running .col-results{position:relative}.job-progress-bar{position:absolute;bottom:0;left:0;height:2px;background:#3b82f6;transition:width .3s ease}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.job-detail-content{padding:20px 24px}.detail-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid rgba(51,65,85,.3)}.detail-row:last-child{border-bottom:none}.detail-label{color:#94a3b8;font-size:13px;min-width:120px}.detail-value{color:#e2e8f0;font-size:14px;flex:1}.btn-mark-failed{padding:4px 10px;background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:4px;color:#f87171;font-size:11px;cursor:pointer;margin-left:12px;transition:all .2s ease}.btn-mark-failed:hover{background:#ef44444d}.detail-section{margin-top:20px;padding-top:16px;border-top:1px solid #334155}.detail-section h4{color:#e2e8f0;font-size:14px;font-weight:600;margin:0 0 12px}.job-details-modal .results-grid{max-height:200px;overflow-y:auto}.job-details-modal .errors-detail-list{max-height:150px}.btn-titan{padding:10px 20px;background:linear-gradient(135deg,#8b5cf633,#3b82f633);border:1px solid rgba(139,92,246,.4);border-radius:8px;color:#a78bfa;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-titan:hover{background:linear-gradient(135deg,#8b5cf659,#3b82f659);border-color:#8b5cf699;transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf640}.btn-danger{padding:10px 20px;background:#ef444426;border:1px solid rgba(239,68,68,.4);border-radius:8px;color:#f87171;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-danger:hover:not(:disabled){background:#ef444440;border-color:#ef444499}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-danger-confirm{padding:10px 20px;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-danger-confirm:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)}.btn-danger-confirm:disabled{opacity:.5;cursor:not-allowed}.delete-confirm-modal{width:450px;max-width:90vw}.modal-header.warning{background:linear-gradient(135deg,#7f1d1d,#991b1b);border-bottom:1px solid rgba(239,68,68,.3)}.modal-header.warning h3{color:#fca5a5}.delete-warning-content{display:flex;gap:16px;padding:24px;background:#ef44440d;border-bottom:1px solid rgba(51,65,85,.5)}.warning-icon{font-size:32px;flex-shrink:0}.warning-text{flex:1}.warning-text p{margin:0 0 12px;color:#e2e8f0;font-size:14px;line-height:1.5}.warning-text p:last-child{margin-bottom:0}.warning-text strong{color:#f87171}.warning-text ul{margin:8px 0 12px;padding-left:20px;color:#94a3b8;font-size:13px;line-height:1.6}.warning-text ul li{margin-bottom:4px}.warning-note{color:#64748b!important;font-size:12px!important;font-style:italic}.col-checkbox{width:40px;text-align:center}.col-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.col-actions{width:80px;text-align:center}.btn-view-job{padding:4px 12px;background:#3b82f626;border:1px solid rgba(59,130,246,.3);border-radius:4px;color:#60a5fa;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-view-job:hover{background:#3b82f640;border-color:#3b82f680}.job-row.selected{background:#3b82f61a}.btn-delete-selected{padding:6px 14px;background:#ef444426;border:1px solid rgba(239,68,68,.4);border-radius:6px;color:#f87171;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-delete-selected:hover{background:#ef444440}.job-details-fullview{position:fixed;inset:0;background:#0f172a;z-index:1000;overflow-y:auto}.fullview-header{display:flex;align-items:center;gap:12px;padding:8px 16px;background:linear-gradient(180deg,#1e293b,#0f172a);border-bottom:1px solid #334155;position:sticky;top:0;z-index:10}.fullview-header.collapsed{padding:6px 16px}.fullview-header .header-job-name{color:#e2e8f0;font-size:14px;font-weight:600;white-space:nowrap}.fullview-header .drawing-title{color:#94a3b8;font-size:13px;padding:3px 10px;background:#334155;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.fullview-header .header-spacer{display:none}.btn-collapse-header{padding:4px 8px;background:#475569;border:none;border-radius:4px;color:#94a3b8;font-size:11px;cursor:pointer;transition:all .2s ease}.btn-collapse-header:hover{background:#64748b;color:#e2e8f0}.btn-back{padding:5px 10px;background:#475569;border:none;border-radius:4px;color:#e2e8f0;font-size:12px;cursor:pointer;transition:all .2s ease}.btn-back:hover{background:#64748b}.fullview-actions{display:flex;gap:8px;margin-left:auto}.fullview-content{padding:24px;max-width:1400px;margin:0 auto}.job-summary-card{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:12px;padding:20px;margin-bottom:24px}.summary-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid rgba(51,65,85,.3)}.summary-row:last-of-type{border-bottom:none}.summary-label{color:#94a3b8;font-size:13px;min-width:100px}.summary-value{color:#e2e8f0;font-size:14px}.summary-stats{display:flex;gap:24px;margin-top:16px;padding-top:16px;border-top:1px solid #334155}.summary-stats .stat{flex:1;text-align:center;padding:12px;background:#0f172a80;border-radius:8px}.summary-stats .stat-number{font-size:28px;font-weight:700;color:#f1f5f9}.summary-stats .stat-label{font-size:12px;color:#64748b;margin-top:4px}.summary-stats .stat.success .stat-number{color:#10b981}.summary-stats .stat.error .stat-number{color:#f87171}.drawings-section{margin-bottom:24px}.drawings-section h3{color:#f1f5f9;font-size:16px;font-weight:600;margin:0 0 16px}.drawings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.drawing-card{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:8px;padding:14px;transition:all .2s ease}.drawing-card:hover{border-color:#475569}.drawing-card.success{border-left:3px solid #10b981}.drawing-card.error{border-left:3px solid #ef4444}.drawing-card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.drawing-status-icon{font-size:16px}.drawing-card.success .drawing-status-icon{color:#10b981}.drawing-card.error .drawing-status-icon{color:#f87171}.drawing-id{color:#f1f5f9;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawing-card-stats{display:flex;gap:16px;font-size:11px;color:#64748b}.drawing-card-error{font-size:11px;color:#f87171}.errors-section{background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:12px;padding:20px}.errors-section h3{color:#f87171;font-size:16px;font-weight:600;margin:0 0 16px}.errors-list{display:flex;flex-direction:column;gap:8px}.error-item{padding:12px;background:#ef44441a;border-radius:6px;font-size:12px}.error-drawing{color:#f87171;margin-right:8px}.error-message{color:#fca5a5}.fullview-body{display:flex;height:calc(100vh - 70px);overflow:hidden}.fullview-body .drawings-panel{width:280px;min-width:280px;max-width:280px;background:#1e293b;border-right:1px solid #334155;display:flex;flex-direction:column;overflow:hidden;margin-top:4px;position:relative;transition:width .2s ease,min-width .2s ease,max-width .2s ease}.fullview-body .drawings-panel.collapsed{width:40px;min-width:40px;max-width:40px}.panel-collapse-toggle{position:absolute;top:8px;right:8px;background:#3b82f633;border:1px solid rgba(59,130,246,.3);border-radius:4px;color:#94a3b8;font-size:12px;cursor:pointer;padding:4px 8px;z-index:10;transition:all .15s ease}.panel-collapse-toggle:hover{background:#3b82f64d;color:#f1f5f9}.drawings-panel.collapsed .panel-collapse-toggle{right:auto;left:50%;transform:translate(-50%)}.panel-header{padding:12px 16px;border-bottom:1px solid #334155;flex-shrink:0;background:#1e293b}.panel-header h3{margin:0 0 4px;color:#f1f5f9;font-size:14px;font-weight:600;line-height:1.2}.job-stats-mini{display:flex;gap:12px;font-size:11px;margin-bottom:8px}.stat-success{color:#10b981}.stat-failed{color:#f87171}.job-totals-breakdown{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.job-totals-breakdown .total-item{display:flex;align-items:center;gap:4px;font-size:11px;color:#f1f5f9;padding:3px 8px;border-radius:4px;background:#0000004d;font-weight:500}.job-totals-breakdown .total-item .total-dot{width:8px;height:8px;border-radius:50%}.job-totals-breakdown .total-item.equipment .total-dot{background:#ef4444}.job-totals-breakdown .total-item.sizing .total-dot{background:#22c55e}.job-totals-breakdown .total-item.process-line .total-dot{background:#f97316}.job-totals-breakdown .total-item.design-conditions .total-dot{background:#a855f7}.job-totals-breakdown .total-item.text .total-dot{background:#3b82f6}.job-totals-breakdown .total-item.standalone .total-dot{background:#14b8a6}.global-search-section{padding:8px 12px;border-bottom:1px solid #334155;flex-shrink:0}.global-search-input-wrapper{position:relative;display:flex;align-items:center}.global-search-input{width:100%;padding:8px 32px 8px 12px;background:#0f172a;border:1px solid #3b82f6;border-radius:6px;color:#f1f5f9;font-size:13px;transition:border-color .2s ease}.global-search-input:focus{outline:none;border-color:#60a5fa;background:#1e293b}.global-search-input::placeholder{color:#64748b}.global-search-clear{position:absolute;right:8px;background:none;border:none;color:#64748b;font-size:16px;cursor:pointer;padding:4px;transition:all .15s ease}.global-search-clear:hover{color:#f1f5f9}.search-spinner{position:absolute;right:10px;color:#3b82f6;animation:spin 1s linear infinite}.global-search-results{margin-top:8px;max-height:300px;overflow-y:auto;background:#0f172a;border:1px solid #334155;border-radius:6px}.search-results-header{padding:8px 12px;background:#1e293b;color:#94a3b8;font-size:11px;font-weight:600;text-transform:uppercase;border-bottom:1px solid #334155}.global-search-result-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .15s ease;border-bottom:1px solid rgba(51,65,85,.5)}.global-search-result-item:last-child{border-bottom:none}.global-search-result-item:hover{background:#3b82f61a}.global-search-result-item.current-drawing{background:#3b82f626;border-left:2px solid #3b82f6}.global-search-result-item .result-text{flex:1;color:#f1f5f9;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-result-item .result-category{font-size:10px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:#94a3b81a;color:#94a3b8}.global-search-result-item .result-category.equipment{background:#3b82f626;color:#60a5fa}.global-search-result-item .result-category.sizing{background:#10b98126;color:#10b981}.global-search-result-item .result-drawing{font-size:10px;color:#64748b;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-no-results{margin-top:8px;padding:12px;background:#3341554d;border-radius:6px;color:#64748b;font-size:12px;text-align:center}.drawings-search{padding:8px 12px;border-bottom:1px solid #334155;position:relative;flex-shrink:0}.drawings-search-input{width:100%;padding:8px 32px 8px 12px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#f1f5f9;font-size:13px;transition:border-color .2s ease}.drawings-search-input:focus{outline:none;border-color:#3b82f6;background:#1e293b}.drawings-search-input::placeholder{color:#64748b}.drawings-search-clear{position:absolute;right:18px;top:50%;transform:translateY(-50%);background:none;border:none;color:#64748b;font-size:18px;cursor:pointer;padding:2px 6px;line-height:1;border-radius:4px;transition:all .15s ease}.drawings-search-clear:hover{color:#f1f5f9;background:#ffffff1a}.drawings-no-match{padding:20px;text-align:center;color:#64748b;font-size:13px;font-style:italic}.drawings-list{flex:1;overflow-y:auto;padding:8px}.drawing-list-item{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-bottom:6px;background:#0f172a80;border:1px solid transparent}.drawing-list-item:hover{background:#3b82f61a;border-color:#3b82f633}.drawing-list-item.selected{background:#3b82f626;border-color:#3b82f680;box-shadow:0 0 0 1px #3b82f633}.drawing-list-item.success .drawing-status-icon{color:#10b981;font-size:14px;flex-shrink:0;margin-top:2px}.drawing-list-item.error{opacity:.6;cursor:not-allowed;background:#ef44440d}.drawing-list-item.error:hover{background:#ef44440d;border-color:transparent}.drawing-list-item.error .drawing-status-icon{color:#f87171;font-size:14px;flex-shrink:0;margin-top:2px}.drawing-info{flex:1;min-width:0}.drawing-name{display:block;color:#f1f5f9;font-size:12px;font-weight:500;word-break:break-word;line-height:1.4}.drawing-counts{display:block;color:#64748b;font-size:10px;margin-top:2px}.drawing-counts-breakdown{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap}.drawing-counts-breakdown .count-item{display:flex;align-items:center;gap:4px;font-size:11px;color:#94a3b8;padding:2px 6px;border-radius:4px;background:#ffffff0d}.drawing-counts-breakdown .count-item .count-dot{width:6px;height:6px;border-radius:50%}.drawing-counts-breakdown .count-item.equipment .count-dot{background:#ef4444}.drawing-counts-breakdown .count-item.sizing .count-dot{background:#22c55e}.drawing-counts-breakdown .count-item.process-line .count-dot{background:#f97316}.drawing-counts-breakdown .count-item.design-conditions .count-dot{background:#a855f7}.drawing-counts-breakdown .count-item.text .count-dot{background:#3b82f6}.drawing-counts-breakdown .count-item.standalone .count-dot{background:#14b8a6}.drawing-error-text{display:block;color:#f87171;font-size:10px;margin-top:2px}.errors-panel{padding:12px;background:#ef44440d;border-top:1px solid rgba(239,68,68,.2);max-height:200px;overflow-y:auto}.errors-panel h4{margin:0 0 8px;color:#f87171;font-size:12px;font-weight:600}.errors-list-compact{display:flex;flex-direction:column;gap:6px}.error-item-compact{font-size:10px;color:#fca5a5;padding:6px 8px;background:#ef44441a;border-radius:4px}.error-item-compact strong{color:#f87171;margin-right:4px}.detail-panel{flex:1;overflow:hidden;background:#0f172a;display:flex;flex-direction:column}.no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#64748b;text-align:center;padding:40px}.no-selection-icon{font-size:48px;margin-bottom:16px;opacity:.5}.no-selection p{margin:0 0 8px;font-size:14px}.no-selection .hint{font-size:12px;color:#475569}.loading-results{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#94a3b8;gap:16px}.detail-header{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#1e293b;border-bottom:1px solid #334155;flex-shrink:0}.detail-header .detail-title{color:#94a3b8;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.btn-collapse-image{background:#a855f733;border:1px solid #a855f7;color:#a855f7;font-size:11px;cursor:pointer;padding:4px 10px;border-radius:4px;transition:all .15s}.btn-collapse-image:hover{background:#a855f74d;color:#f1f5f9}.btn-close-detail{background:none;border:none;color:#64748b;font-size:20px;cursor:pointer;padding:4px 8px}.btn-close-detail:hover{color:#f1f5f9}.drawing-preview{padding:16px;background:#0f172a;border-bottom:1px solid #334155}.image-container{position:relative;max-width:100%;overflow:auto;background:#1e293b;border-radius:8px}.image-container img{display:block;max-width:100%;height:auto}.bbox-overlay{position:absolute;border:2px solid #3b82f6;background:#3b82f61a;pointer-events:none}.bbox-overlay.equipment{border-color:#10b981;background:#10b9811a}.bbox-overlay.sizing{border-color:#f59e0b;background:#f59e0b1a}.bbox-overlay.process_line{border-color:#8b5cf6;background:#8b5cf61a}.equipment-section{padding:16px 20px}.equipment-section h4{margin:0 0 12px;color:#f1f5f9;font-size:14px;font-weight:600}.no-tags{color:#64748b;font-size:13px;text-align:center;padding:24px}.equipment-table-container{overflow-x:auto;border:1px solid #334155;border-radius:8px}.equipment-table{width:100%;border-collapse:collapse;font-size:12px}.equipment-table th{background:#1e293b;color:#94a3b8;font-weight:500;text-align:left;padding:10px 12px;border-bottom:1px solid #334155;white-space:nowrap;text-transform:uppercase;font-size:10px;letter-spacing:.05em}.equipment-table td{padding:10px 12px;border-bottom:1px solid #1e293b;color:#e2e8f0}.equipment-table tbody tr:hover{background:#3b82f60d}.equipment-table .tag-text{font-weight:600;color:#f1f5f9}.type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.type-badge.equipment{background:#10b98133;color:#10b981}.type-badge.sizing{background:#f59e0b33;color:#f59e0b}.type-badge.process_line{background:#8b5cf633;color:#8b5cf6}.equipment-table .confidence{text-align:right;color:#64748b}.no-image{display:flex;align-items:center;justify-content:center;padding:60px 40px;background:#1e293b;border-radius:8px;margin:16px}.no-image p{color:#64748b;font-size:14px;margin:0}.detail-content{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:16px;gap:4px}.image-viewer{flex:2;display:flex;flex-direction:column;min-height:400px;border:1px solid #334155;border-radius:8px;overflow:hidden;background:#0f172a}.zoom-controls{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#1e293b;border-bottom:1px solid #334155;flex-shrink:0}.zoom-controls button{padding:4px 10px;background:#334155;border:none;border-radius:4px;color:#f1f5f9;font-size:14px;cursor:pointer}.zoom-controls button:hover{background:#475569}.zoom-controls span{color:#94a3b8;font-size:12px;min-width:45px;text-align:center}.zoom-controls .zoom-hint{color:#64748b;font-size:10px;margin-left:auto;min-width:auto}.color-legend{display:flex;gap:12px;padding:6px 12px;background:#1e293b;border-bottom:1px solid #334155;font-size:11px;flex-shrink:0;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:3px}.legend-item.equipment{color:#ef4444}.legend-item.sizing{color:#22c55e}.legend-item.process-line{color:#f97316}.legend-item.text{color:#3b82f6}.legend-item.design-conditions{color:#a855f7}.legend-item.standalone{color:#14b8a6}.legend-item.shapes{color:#ec4899}.image-scroll-container{flex:1;overflow:auto;background:#0a0f1a;position:relative}.image-scroll-container img{display:block;height:auto;-webkit-user-select:none;user-select:none}.detail-content .results-section{flex:1;min-height:200px;display:flex;flex-direction:column;border:1px solid #334155;border-radius:8px;overflow:hidden;background:#1e293b;margin-top:4px;padding-top:0;border-top:none}.result-tabs{display:flex;background:#0f172a;border-bottom:1px solid #334155;flex-shrink:0}.result-tab{flex:1;padding:8px 12px;background:transparent;border:none;border-bottom:2px solid transparent;color:#94a3b8;font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}.result-tab:hover{background:#334155}.result-tab.active{color:#f1f5f9;border-bottom-color:currentColor}.result-tab.equipment.active{border-bottom-color:#ef4444;color:#ef4444}.result-tab.sizing.active{border-bottom-color:#22c55e;color:#22c55e}.result-tab.process-line.active{border-bottom-color:#f97316;color:#f97316}.result-tab.text.active{border-bottom-color:#3b82f6;color:#3b82f6}.result-tab.design-conditions.active{border-bottom-color:#a855f7;color:#a855f7}.result-tab.standalone.active{border-bottom-color:#14b8a6;color:#14b8a6}.result-tab.shapes.active{border-bottom-color:#ec4899;color:#ec4899}.results-table-container{flex:1;overflow:auto;background:#0f172a}.results-table{width:100%;border-collapse:collapse}.results-table th,.results-table td{padding:6px 10px;text-align:left;border-bottom:1px solid #1e293b}.results-table th{background:#0f172a;color:#94a3b8;font-weight:500;font-size:10px;text-transform:uppercase;position:sticky;top:0;z-index:1}.results-table td{color:#f1f5f9;font-size:12px}.results-table .item-text{font-family:monospace;font-weight:500}.results-table.clickable tbody tr{cursor:pointer;transition:background .15s}.results-table.clickable tbody tr:hover{background:#3b82f626}.no-items{padding:24px;text-align:center;color:#64748b}.results-table .location-badge{margin-left:8px;padding:2px 8px;background:#3b82f633;border-radius:10px;font-size:10px;color:#60a5fa}.results-table .location-badge.clickable{cursor:pointer;transition:all .15s;border:1px solid transparent}.results-table .location-badge.clickable:hover{background:#3b82f666;border-color:#60a5fa;color:#f1f5f9}.results-table .equipment-name-subtitle{font-size:10px;color:#94a3b8;font-weight:400;margin-top:2px;font-family:inherit}.results-table .design-conditions-cell{text-align:center;width:60px}.results-table .design-badge{padding:2px 8px;background:#a855f733;border-radius:10px;font-size:11px;color:#a855f7;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.results-table tr.expanded{background:#a855f71a}.results-table .design-conditions-row{background:#0f172a}.results-table .design-conditions-row td{padding:0}.inline-design-conditions{display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px;border-left:3px solid #a855f7;margin-left:8px}.design-condition-item{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#a855f726;border-radius:6px;cursor:pointer;transition:background .15s}.design-condition-item:hover{background:#a855f74d}.design-condition-item .dc-label{font-size:10px;color:#f59e0b;font-weight:600;text-transform:uppercase}.design-condition-item .dc-value{font-size:12px;color:#f1f5f9;font-family:JetBrains Mono,monospace}.btn-fullscreen{font-size:16px!important;padding:2px 8px!important}.fullscreen-modal-overlay{position:fixed;inset:0;background:#000000f2;z-index:2000;display:flex;flex-direction:column}.fullscreen-modal{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.fullscreen-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#1e293b;border-bottom:1px solid #334155;flex-shrink:0}.fullscreen-header h3{margin:0;color:#f1f5f9;font-size:16px;font-weight:600}.fullscreen-controls{display:flex;align-items:center;gap:8px}.fullscreen-controls button{padding:6px 12px;background:#334155;border:none;border-radius:4px;color:#f1f5f9;font-size:14px;cursor:pointer;transition:background .2s}.fullscreen-controls button:hover{background:#475569}.fullscreen-controls span{color:#94a3b8;font-size:13px;min-width:50px;text-align:center}.btn-close-fullscreen{font-size:20px!important;padding:4px 12px!important;margin-left:12px;background:#ef444433!important;color:#f87171!important}.btn-close-fullscreen:hover{background:#ef444466!important}.fullscreen-legend{display:flex;gap:16px;padding:8px 20px;background:#1e293b;border-bottom:1px solid #334155;font-size:12px;flex-shrink:0}.fullscreen-image-container{flex:1;overflow:auto;background:#0a0f1a;padding:20px}.fullscreen-image-container img{display:block;height:auto;-webkit-user-select:none;user-select:none;box-shadow:0 4px 30px #00000080}.search-panel{position:relative;margin:0}.search-input{width:100%;padding:8px 32px 8px 12px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#f1f5f9;font-size:13px;transition:border-color .2s}.search-input:focus{outline:none;border-color:#3b82f6;background:#1e293b}.search-input::placeholder{color:#64748b}.search-expand{position:absolute;right:32px;top:50%;transform:translateY(-50%);background:none;border:none;color:#64748b;font-size:12px;cursor:pointer;padding:2px 6px;line-height:1;border-radius:4px;transition:all .15s ease;z-index:2}.search-expand:hover{color:#f1f5f9;background:#ffffff1a}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:#64748b;font-size:18px;cursor:pointer;padding:2px 6px;line-height:1;border-radius:4px;transition:all .15s ease;z-index:2}.search-clear:hover{color:#f1f5f9;background:#ffffff1a}.search-results{position:absolute;top:100%;left:0;right:0;background:#1e293b;border:1px solid #334155;border-radius:6px;margin-top:4px;max-height:300px;overflow-y:auto;z-index:100;box-shadow:0 8px 24px #0006}.search-result-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid #334155;transition:background .15s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#3b82f626}.search-result-item.equipment{border-left:3px solid #ef4444}.search-result-item.sizing{border-left:3px solid #22c55e}.search-result-item.process_lines{border-left:3px solid #f97316}.search-result-item.text{border-left:3px solid #3b82f6}.search-result-item.design_conditions{border-left:3px solid #a855f7}.search-result-category{font-size:10px;text-transform:uppercase;padding:2px 6px;border-radius:3px;font-weight:600;flex-shrink:0}.search-result-item.equipment .search-result-category{background:#ef444433;color:#ef4444}.search-result-item.sizing .search-result-category{background:#22c55e33;color:#22c55e}.search-result-item.process_lines .search-result-category{background:#f9731633;color:#f97316}.search-result-item.text .search-result-category{background:#3b82f633;color:#3b82f6}.search-result-item.design_conditions .search-result-category{background:#a855f733;color:#a855f7}.search-result-text{color:#f1f5f9;font-size:13px;font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-more{padding:8px 14px;color:#64748b;font-size:12px;text-align:center;font-style:italic}.search-no-results{padding:16px;color:#64748b;font-size:13px;text-align:center}.color-legend.clickable{display:flex;gap:12px;flex-wrap:wrap}.color-legend.clickable .legend-item{cursor:pointer;padding:4px 10px;border-radius:4px;transition:all .2s;-webkit-user-select:none;user-select:none}.color-legend.clickable .legend-item:hover{background:#ffffff1a}.color-legend.clickable .legend-item.inactive{opacity:.4;text-decoration:line-through}.color-legend.clickable .legend-item.active{opacity:1}.fullscreen-search-input{padding:6px 12px;background:#0f172a;border:1px solid #334155;border-radius:4px;color:#f1f5f9;font-size:13px;width:200px;margin-right:12px}.fullscreen-search-input:focus{outline:none;border-color:#3b82f6}.fullscreen-search-input::placeholder{color:#64748b}.fullscreen-search-results{position:absolute;top:100px;left:50%;transform:translate(-50%);background:#1e293b;border:1px solid #334155;border-radius:8px;max-height:300px;overflow-y:auto;z-index:100;min-width:400px;box-shadow:0 12px 40px #0009}.fullscreen-legend.clickable{display:flex;gap:16px;padding:8px 20px;background:#1e293b;border-bottom:1px solid #334155;font-size:12px;flex-shrink:0}.fullscreen-legend.clickable .legend-item{cursor:pointer;padding:4px 10px;border-radius:4px;transition:all .2s;-webkit-user-select:none;user-select:none}.fullscreen-legend.clickable .legend-item:hover{background:#ffffff1a}.fullscreen-legend.clickable .legend-item.inactive{opacity:.4;text-decoration:line-through}.image-with-overlay{position:relative;display:inline-block}.bbox-overlay-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.bbox-rect{transition:stroke-width .15s,fill .15s;pointer-events:auto;cursor:pointer}.bbox-rect:hover{stroke-width:3;fill:#ffffff1a}.bbox-rect.highlighted{animation:pulse-highlight .5s ease-in-out 3}@keyframes pulse-highlight{0%,to{stroke-width:4;fill:#ffff004d}50%{stroke-width:6;fill:#ffff0080}}.bbox-tooltip{background:#1e293b;border:1px solid #475569;border-radius:8px;box-shadow:0 8px 32px #00000080;min-width:200px;max-width:350px;overflow:hidden}.bbox-tooltip-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#0f172a;border-bottom:1px solid #334155}.bbox-tooltip-category{font-size:11px;text-transform:uppercase;font-weight:600;padding:3px 8px;border-radius:4px}.bbox-tooltip-category.equipment{background:#ef444433;color:#ef4444}.bbox-tooltip-category.sizing{background:#22c55e33;color:#22c55e}.bbox-tooltip-category.process_lines{background:#f9731633;color:#f97316}.bbox-tooltip-category.text{background:#3b82f633;color:#3b82f6}.bbox-tooltip-category.design_conditions{background:#a855f733;color:#a855f7}.bbox-tooltip-close{background:transparent;border:none;color:#94a3b8;font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.bbox-tooltip-close:hover{color:#f1f5f9}.bbox-tooltip-content{padding:12px}.bbox-tooltip-text{font-size:16px;font-weight:600;color:#f1f5f9;font-family:monospace;margin-bottom:8px;word-break:break-all}.bbox-tooltip-row{font-size:13px;color:#cbd5e1;margin-bottom:4px}.bbox-tooltip-row .label{color:#64748b;margin-right:6px}.equipment-details-container{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.expand-controls{display:flex;gap:8px;padding:8px 12px;border-bottom:1px solid #334155;background:#0f172a;flex-shrink:0}.expand-all-btn,.collapse-all-btn{padding:4px 12px;font-size:12px;border-radius:4px;border:1px solid #475569;background:transparent;color:#94a3b8;cursor:pointer;transition:all .15s}.expand-all-btn:hover,.collapse-all-btn:hover{background:#a855f71a;border-color:#a855f7;color:#f1f5f9}.equipment-details-list{display:flex;flex-direction:column;gap:8px;padding:12px;overflow-y:auto;flex:1;min-height:0}.equipment-detail-card{background:#1e293b;border:1px solid #334155;border-radius:8px;transition:border-color .2s;flex-shrink:0}.equipment-detail-card.expanded{border-color:#a855f7}.equipment-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#a855f726,#a855f70d);border-bottom:1px solid transparent;border-radius:8px 8px 0 0;cursor:pointer;transition:all .2s}.equipment-detail-card.expanded .equipment-detail-header{border-bottom-color:#334155}.equipment-detail-card.collapsed .equipment-detail-header{border-bottom:none;border-radius:8px}.equipment-detail-header:hover{background:linear-gradient(135deg,#a855f740,#a855f71a)}.equipment-detail-header .header-main{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.equipment-detail-header .header-top-row{display:flex;align-items:center;gap:10px}.equipment-detail-header .header-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.equipment-detail-header .expand-arrow{font-size:12px;color:#64748b;transition:transform .2s;flex-shrink:0}.equipment-detail-header .expand-arrow.expanded{transform:rotate(90deg);color:#a855f7}.equipment-detail-header .detail-count{font-size:11px;color:#64748b;background:#64748b33;padding:2px 8px;border-radius:10px}.equipment-detail-header .zoom-btn{background:transparent;border:1px solid #475569;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;transition:all .15s}.equipment-detail-header .zoom-btn:hover{background:#a855f733;border-color:#a855f7}.equipment-tag-name{font-size:16px;font-weight:700;color:#a855f7;font-family:JetBrains Mono,monospace}.equipment-description{font-size:13px;color:#e2e8f0;font-weight:500;line-height:1.3;padding-left:22px}.equipment-detail-table{width:100%;border-collapse:collapse;background:#0f172a;border-radius:0 0 8px 8px;overflow:hidden}.equipment-detail-table tr{border-bottom:1px solid #334155;transition:background .15s}.equipment-detail-table tr:last-child{border-bottom:none}.equipment-detail-table tr:hover{background:#a855f726;cursor:pointer}.equipment-detail-table td{padding:12px 16px;font-size:13px;vertical-align:top}.equipment-detail-table .detail-label{width:140px;min-width:140px;color:#f59e0b;font-weight:600;text-transform:uppercase;font-size:12px;letter-spacing:.5px}.equipment-detail-table .detail-value{color:#f1f5f9;font-family:JetBrains Mono,monospace;font-size:14px;word-break:break-word}.table-controls{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#1e293b;border-bottom:1px solid #334155;border-radius:8px 8px 0 0;margin-bottom:-1px}.filter-control{display:flex;align-items:center;gap:8px}.filter-control label{color:#94a3b8;font-size:13px;font-weight:500}.type-filter-select{background:#0f172a;border:1px solid #334155;border-radius:6px;padding:6px 12px;color:#f1f5f9;font-size:13px;cursor:pointer;min-width:180px}.type-filter-select:hover{border-color:#4f46e5}.type-filter-select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e533}.sort-info{color:#64748b;font-size:12px}.results-table.sortable thead th.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.results-table.sortable thead th.sortable-header:hover{background:#334155}.results-table.sortable thead th.sortable-header.sorted{color:#a78bfa;background:#4f46e51a}.job-indicator{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;background:#10b98126;border:1px solid rgba(16,185,129,.3);border-radius:4px;color:#10b981;font-size:10px;font-weight:500;margin-left:6px;cursor:default}.job-indicator:hover{background:#10b98140}.correlation-jobs-tab{display:flex;flex-direction:column;height:100%;min-height:0}.correlation-jobs-tab .jobs-header{margin-bottom:20px}.correlation-jobs-tab .jobs-filters{display:flex;gap:12px;align-items:center}.correlation-jobs-tab .status-filter{padding:8px 12px;border:1px solid #475569;background:#1e293bcc;border-radius:6px;color:#e2e8f0;font-size:14px;cursor:pointer}.correlation-jobs-tab .status-filter:hover{border-color:#3b82f6}.correlation-jobs-tab .status-filter:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.correlation-jobs-tab .jobs-search{flex:1;max-width:300px;padding:8px 12px;border:1px solid #475569;background:#1e293bcc;border-radius:6px;color:#e2e8f0;font-size:14px}.correlation-jobs-tab .jobs-search::placeholder{color:#64748b}.correlation-jobs-tab .jobs-search:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.correlation-jobs-tab .refresh-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #475569;background:#1e293bcc;border-radius:6px;color:#94a3b8;font-size:18px;cursor:pointer;transition:all .2s ease}.correlation-jobs-tab .refresh-btn:hover{border-color:#3b82f6;color:#60a5fa;background:#3b82f61a}.correlation-jobs-tab .running-job-banner{margin-bottom:20px;padding:16px 20px;background:linear-gradient(135deg,#3b82f626,#8b5cf61a);border:1px solid rgba(59,130,246,.3);border-radius:12px;animation:pulse-border 2s infinite}@keyframes pulse-border{0%,to{border-color:#3b82f64d}50%{border-color:#3b82f699}}.correlation-jobs-tab .running-job-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.correlation-jobs-tab .running-icon{font-size:20px;animation:spin 1.5s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.correlation-jobs-tab .running-title{font-size:15px;font-weight:600;color:#f1f5f9}.correlation-jobs-tab .running-job-progress{margin-bottom:12px}.correlation-jobs-tab .progress-bar-full{height:10px;background:#1e293bcc;border-radius:5px;overflow:hidden;margin-bottom:8px}.correlation-jobs-tab .progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:5px;transition:width .5s ease}.correlation-jobs-tab .progress-stats{display:flex;justify-content:space-between;align-items:center;font-size:13px}.correlation-jobs-tab .progress-percent{font-weight:700;color:#60a5fa;font-size:18px}.correlation-jobs-tab .progress-count{color:#94a3b8}.correlation-jobs-tab .running-current{font-size:12px;color:#94a3b8;margin-bottom:12px}.correlation-jobs-tab .current-pair-name{color:#e2e8f0;font-family:monospace}.correlation-jobs-tab .running-job-actions{display:flex;justify-content:flex-end}.correlation-jobs-tab .cancel-job-btn{padding:8px 16px;background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease}.correlation-jobs-tab .cancel-job-btn:hover{background:#ef444440;border-color:#ef444480}.correlation-jobs-tab .jobs-error{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;margin-bottom:16px}.correlation-jobs-tab .jobs-error button{background:none;border:none;color:#fca5a5;cursor:pointer;font-size:18px;padding:0 4px}.correlation-jobs-tab .jobs-loading{display:flex;align-items:center;justify-content:center;padding:60px;color:#94a3b8;font-size:14px}.correlation-jobs-tab .jobs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center;background:#0f172a66;border:1px dashed #334155;border-radius:12px}.correlation-jobs-tab .jobs-empty .empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}.correlation-jobs-tab .jobs-empty h3{margin:0 0 8px;color:#e2e8f0;font-size:18px;font-weight:600}.correlation-jobs-tab .jobs-empty p{margin:0;color:#94a3b8;font-size:14px}.correlation-jobs-tab .jobs-list{flex:1;overflow-y:auto;border:1px solid #334155;border-radius:8px;background:#0f172a66}.correlation-jobs-tab .jobs-table-header{display:grid;grid-template-columns:100px 1fr 140px 80px 80px 140px 80px 100px;gap:12px;padding:12px 16px;background:#1e293bcc;border-bottom:1px solid #334155;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;position:sticky;top:0;z-index:10}.correlation-jobs-tab .job-row-wrapper{border-bottom:1px solid #334155}.correlation-jobs-tab .job-row-wrapper:last-child{border-bottom:none}.correlation-jobs-tab .job-row{display:grid;grid-template-columns:100px 1fr 140px 80px 80px 140px 80px 100px;gap:12px;padding:14px 16px;cursor:pointer;transition:background .15s ease;align-items:center}.correlation-jobs-tab .job-row:hover{background:#3b82f60d}.correlation-jobs-tab .job-row.expanded{background:#3b82f61a;border-bottom:1px solid #334155}.correlation-jobs-tab .status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase}.correlation-jobs-tab .status-completed{background:#10b98126;color:#34d399}.correlation-jobs-tab .status-running{background:#3b82f626;color:#60a5fa;animation:corr-jobs-pulse 2s ease-in-out infinite}.correlation-jobs-tab .status-pending{background:#94a3b826;color:#94a3b8}.correlation-jobs-tab .status-failed{background:#ef444426;color:#f87171}.correlation-jobs-tab .status-cancelled{background:#fb923c26;color:#fb923c}@keyframes corr-jobs-pulse{0%,to{opacity:1}50%{opacity:.7}}.correlation-jobs-tab .col-name{display:flex;flex-direction:column;gap:4px;overflow:hidden}.correlation-jobs-tab .job-name{font-weight:500;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.correlation-jobs-tab .current-pair{font-size:11px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.correlation-jobs-tab .col-revisions{display:flex;align-items:center;gap:6px}.correlation-jobs-tab .revision-badge{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.correlation-jobs-tab .revision-badge.source{background:#3b82f633;color:#60a5fa}.correlation-jobs-tab .revision-badge.target{background:#10b98133;color:#34d399}.correlation-jobs-tab .revision-arrow{color:#64748b;font-size:12px}.correlation-jobs-tab .col-count{font-size:13px;color:#94a3b8}.correlation-jobs-tab .progress-mini{width:100%;height:3px;background:#94a3b833;border-radius:2px;margin-top:4px;overflow:hidden}.correlation-jobs-tab .progress-mini .progress-bar{height:100%;background:#3b82f6;border-radius:2px;transition:width .3s ease}.correlation-jobs-tab .col-score .score{font-weight:600;font-size:13px}.correlation-jobs-tab .score.excellent{color:#34d399}.correlation-jobs-tab .score.good{color:#fbbf24}.correlation-jobs-tab .score.poor{color:#f87171}.correlation-jobs-tab .col-date,.correlation-jobs-tab .col-duration{font-size:12px;color:#94a3b8}.correlation-jobs-tab .col-actions{display:flex;gap:6px}.correlation-jobs-tab .action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:4px;background:none;cursor:pointer;font-size:12px;transition:all .15s ease}.correlation-jobs-tab .action-btn.run{color:#34d399}.correlation-jobs-tab .action-btn.run:hover{background:#10b98126;border-color:#10b9814d}.correlation-jobs-tab .action-btn.cancel{color:#fb923c}.correlation-jobs-tab .action-btn.cancel:hover{background:#fb923c26;border-color:#fb923c4d}.correlation-jobs-tab .action-btn.retry{color:#60a5fa}.correlation-jobs-tab .action-btn.retry:hover{background:#3b82f626;border-color:#3b82f64d}.correlation-jobs-tab .action-btn.delete{color:#f87171}.correlation-jobs-tab .action-btn.delete:hover{background:#ef444426;border-color:#ef44444d}.correlation-jobs-tab .job-details{padding:20px;background:#0f172a99;border-top:1px solid #334155}.correlation-jobs-tab .details-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;margin-bottom:20px}.correlation-jobs-tab .details-section h4{margin:0 0 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.correlation-jobs-tab .details-section.sources h4{color:#60a5fa}.correlation-jobs-tab .details-section.targets h4{color:#34d399}.correlation-jobs-tab .drawing-list{display:flex;flex-direction:column;gap:4px;max-height:150px;overflow-y:auto}.correlation-jobs-tab .drawing-item{font-size:12px;color:#94a3b8;padding:2px 0}.correlation-jobs-tab .drawing-item.more{color:#64748b;font-style:italic}.correlation-jobs-tab .results-stats{display:flex;gap:16px;margin-bottom:12px}.correlation-jobs-tab .stat{display:flex;flex-direction:column;align-items:center;padding:8px 12px;background:#1e293b80;border-radius:6px;min-width:60px}.correlation-jobs-tab .stat-value{font-size:18px;font-weight:600;color:#e2e8f0}.correlation-jobs-tab .stat-label{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-top:2px}.correlation-jobs-tab .stat.excellent .stat-value{color:#34d399}.correlation-jobs-tab .stat.good .stat-value{color:#fbbf24}.correlation-jobs-tab .stat.poor .stat-value{color:#f87171}.correlation-jobs-tab .score-distribution{display:flex;height:8px;border-radius:4px;overflow:hidden;background:#1e293b80}.correlation-jobs-tab .score-distribution .bar{min-width:2px;transition:flex .3s ease}.correlation-jobs-tab .score-distribution .bar.excellent{background:#34d399}.correlation-jobs-tab .score-distribution .bar.good{background:#fbbf24}.correlation-jobs-tab .score-distribution .bar.poor{background:#f87171}.correlation-jobs-tab .job-error{padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px;color:#fca5a5;font-size:13px;margin-bottom:16px}.correlation-jobs-tab .results-preview{margin-top:16px;padding-top:16px;border-top:1px solid #334155}.correlation-jobs-tab .results-preview h4{margin:0 0 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.correlation-jobs-tab .loading-results,.correlation-jobs-tab .no-results{font-size:13px;color:#64748b;padding:12px;text-align:center}.correlation-jobs-tab .results-mini-table{display:flex;flex-direction:column;gap:6px}.correlation-jobs-tab .result-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#1e293b80;border-radius:4px}.correlation-jobs-tab .result-pair{font-size:13px;color:#94a3b8;font-family:monospace}.correlation-jobs-tab .result-score{font-size:13px;font-weight:600}.correlation-jobs-tab .result-score.excellent{color:#34d399}.correlation-jobs-tab .result-score.good{color:#fbbf24}.correlation-jobs-tab .result-score.poor{color:#f87171}.correlation-jobs-tab .details-actions{display:flex;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #334155}.correlation-jobs-tab .view-results-btn,.correlation-jobs-tab .rerun-btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.correlation-jobs-tab .view-results-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff}.correlation-jobs-tab .view-results-btn:hover{box-shadow:0 4px 12px #3b82f666}.correlation-jobs-tab .rerun-btn{background:none;border:1px solid #475569;color:#94a3b8}.correlation-jobs-tab .rerun-btn:hover{border-color:#3b82f6;color:#60a5fa}.correlation-jobs-tab .jobs-tab-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#64748b;font-size:14px}.correlation-jobs-tab .results-table-enhanced{display:flex;flex-direction:column;gap:12px;margin-top:12px}.correlation-jobs-tab .result-row-enhanced{display:flex;align-items:stretch;gap:16px;padding:12px;background:#0f172a99;border:1px solid #334155;border-radius:8px}.correlation-jobs-tab .result-doc{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.correlation-jobs-tab .result-doc.source-doc{border-left:3px solid #3b82f6;padding-left:10px}.correlation-jobs-tab .result-doc.target-doc{border-left:3px solid #10b981;padding-left:10px}.correlation-jobs-tab .doc-name{font-size:13px;font-weight:600;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.correlation-jobs-tab .doc-folder{font-size:11px;color:#94a3b8}.correlation-jobs-tab .doc-folder .folder-rev{color:#60a5fa}.correlation-jobs-tab .doc-revision-assign{display:flex;align-items:center;gap:8px;margin-top:6px}.correlation-jobs-tab .current-rev{font-size:12px;color:#cbd5e1;background:#3b82f626;padding:2px 8px;border-radius:4px;min-width:60px;text-align:center}.correlation-jobs-tab .revision-select{padding:4px 8px;font-size:11px;background:#1e293b;border:1px solid #475569;border-radius:4px;color:#e2e8f0;cursor:pointer;min-width:100px}.correlation-jobs-tab .revision-select:hover{border-color:#3b82f6}.correlation-jobs-tab .revision-select:disabled{opacity:.5;cursor:not-allowed}.correlation-jobs-tab .result-score-block{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 16px;min-width:80px}.correlation-jobs-tab .score-value{font-size:18px;font-weight:700}.correlation-jobs-tab .score-value.excellent{color:#10b981}.correlation-jobs-tab .score-value.good{color:#f59e0b}.correlation-jobs-tab .score-value.poor{color:#ef4444}.correlation-jobs-tab .score-label{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.correlation-jobs-tab .success-toast{background:#10b98126;border:1px solid rgba(16,185,129,.3);color:#34d399;padding:8px 12px;border-radius:6px;font-size:12px;margin-bottom:12px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.document-correlation-panel{display:flex;flex-direction:column;height:100%;min-height:0;padding:24px;overflow-y:auto}.panel-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #334155}.panel-header h2{margin:0 0 8px;font-size:1.5rem;font-weight:600;color:#f1f5f9}.panel-description{color:#94a3b8;margin:0;font-size:14px;line-height:1.5}.panel-message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 40px;min-height:300px;color:#64748b;background:linear-gradient(180deg,#0f172a4d,#02061733);border-radius:16px;border:1px dashed #334155;margin:20px auto;max-width:500px}.panel-message h2{color:#e2e8f0;margin-bottom:12px;font-size:20px;font-weight:600}.panel-message p{font-size:14px;max-width:320px;margin:0 auto;line-height:1.7;color:#94a3b8}.panel-tabs{display:flex;gap:4px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #334155}.panel-tab{padding:10px 24px;border:none;background:transparent;border-radius:8px 8px 0 0;cursor:pointer;font-size:14px;font-weight:500;color:#64748b;transition:all .2s ease;position:relative}.panel-tab:hover{color:#94a3b8;background:#3b82f60d}.panel-tab.active{color:#60a5fa;background:#3b82f61a}.panel-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#3b82f6;border-radius:2px 2px 0 0}.results-tab-content{flex:1;overflow-y:auto}.mode-selector{display:flex;gap:8px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #334155}.mode-btn{padding:10px 20px;border:1px solid #475569;background:#1e293b80;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#94a3b8;transition:all .2s ease}.mode-btn:hover{background:#3b82f626;border-color:#3b82f6;color:#60a5fa}.mode-btn.active{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d}.error-banner{padding:12px 18px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#f87171;font-size:14px;font-weight:500;margin-bottom:16px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 40px;color:#94a3b8;font-size:14px;font-weight:500}.correlation-content{background:linear-gradient(180deg,#0f172a,#020617);border:1px solid #334155;border-radius:12px;padding:24px;flex:1}.source-target-mode .selection-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.selection-column h3{margin:0 0 16px;font-size:14px;font-weight:600;color:#f1f5f9;text-transform:uppercase;letter-spacing:.05em}.document-list{max-height:450px;overflow-y:auto;border:1px solid #334155;border-radius:8px;background:#0f172a80}.bulk-list{max-height:550px}.document-list::-webkit-scrollbar{width:6px}.document-list::-webkit-scrollbar-track{background:#1e293b;border-radius:3px}.document-list::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}.document-list::-webkit-scrollbar-thumb:hover{background:#64748b}.folder-group{border-bottom:1px solid #334155}.folder-group:last-child{border-bottom:none}.folder-header{padding:10px 14px;background:linear-gradient(180deg,#1e293b,#0f172a);font-weight:600;font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:1;border-bottom:1px solid #334155;display:flex;align-items:center;gap:8px}.folder-header .collapse-toggle{width:20px;height:20px;padding:0;border:none;background:transparent;color:#64748b;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;flex-shrink:0}.folder-header .collapse-toggle:hover{background:#3b82f61a;color:#60a5fa}.folder-header label.select-all{display:flex;align-items:center;gap:10px;cursor:pointer;flex:1}.folder-header label.select-all input{cursor:pointer;accent-color:#3b82f6;width:16px;height:16px}.folder-header .folder-name{color:#e2e8f0}.folder-header .folder-count{color:#64748b;font-weight:400}.folder-header .selected-count{margin-left:auto;font-size:10px;font-weight:500;color:#60a5fa;background:#3b82f626;padding:2px 6px;border-radius:4px;text-transform:none;letter-spacing:0}.folder-group.collapsed{margin-bottom:0}.folder-group.collapsed .folder-header{border-bottom-color:#1e293b}.document-item{padding:12px 14px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .15s ease;border-bottom:1px solid rgba(51,65,85,.5)}.document-item:last-child{border-bottom:none}.document-item:hover{background:#3b82f61a}.document-item.selected{background:#3b82f633;border-left:3px solid #3b82f6;padding-left:11px}.document-item.selected-source{background:#3b82f626;border-left:3px solid #3b82f6;padding-left:11px}.document-item.selected-source:hover{background:#3b82f640}.document-item.selected-target{background:#10b98126;border-left:3px solid #10b981;padding-left:11px}.document-item.selected-target:hover{background:#10b98140}.document-item.checkbox-item{cursor:pointer}.document-item.checkbox-item input{cursor:pointer;accent-color:#3b82f6;width:16px;height:16px}.document-name{flex:1;font-size:14px;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-badge{padding:4px 8px;background:linear-gradient(135deg,#fbbf2433,#f59e0b26);color:#fbbf24;border:1px solid rgba(251,191,36,.4);border-radius:6px;font-size:11px;font-weight:600}.bulk-mode h3{margin:0 0 16px;font-size:14px;font-weight:600;color:#f1f5f9;text-transform:uppercase;letter-spacing:.05em}.bulk-mode h3 span{color:#60a5fa;font-weight:700}.action-bar{margin-top:24px;padding-top:20px;border-top:1px solid #334155;display:flex;justify-content:space-between;align-items:center;gap:16px}.action-bar-info{color:#94a3b8;font-size:13px}.btn-primary{padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3b82f64d}.btn-primary:disabled{background:#475569;cursor:not-allowed;transform:none;box-shadow:none}.results-section{margin-top:24px;padding-top:24px;border-top:1px solid #334155}.results-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#f1f5f9}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.result-card{background:linear-gradient(180deg,#1e293b80,#0f172a80);border:1px solid #334155;border-radius:10px;padding:16px;transition:all .2s ease}.result-card:hover{border-color:#3b82f6;box-shadow:0 4px 16px #3b82f626}.result-scores{display:flex;gap:12px}.score{flex:1;text-align:center;padding:12px 8px;background:#0f172a80;border-radius:8px}.score-label{display:block;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.score-value{font-size:20px;font-weight:700;color:#f1f5f9}.score-value.high{color:#34d399}.score-value.medium{color:#fbbf24}.score-value.low{color:#f87171}.post-correlation-actions{margin-top:24px;padding:20px;background:linear-gradient(180deg,#1e293b80,#0f172a80);border:1px solid #334155;border-radius:10px}.post-correlation-actions h4{margin:0 0 16px;font-size:14px;font-weight:600;color:#f1f5f9}.revision-assign-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.revision-assign-row select,.revision-assign-row input[type=text]{padding:10px 14px;background:#0f172a;border:1px solid #334155;border-radius:8px;color:#f1f5f9;font-size:14px;transition:all .2s ease}.revision-assign-row select{min-width:200px}.revision-assign-row input[type=text]{flex:1;min-width:150px}.revision-assign-row select:focus,.revision-assign-row input[type=text]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.btn-secondary{padding:10px 18px;background:#334155;border:1px solid #475569;border-radius:8px;color:#e2e8f0;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.search-bar{margin-bottom:16px}.search-input-wrapper{position:relative}.search-input-wrapper input{width:100%;padding:12px 14px 12px 42px;background:#0f172a;border:1px solid #334155;border-radius:8px;color:#f1f5f9;font-size:14px;transition:all .2s ease}.search-input-wrapper input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.search-input-wrapper input::placeholder{color:#64748b}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#64748b;font-size:14px;pointer-events:none}.many-to-many-mode .selection-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.many-to-many-mode .search-bar.compact{margin-bottom:0}.many-to-many-mode .search-bar.compact input{padding:10px 14px 10px 38px;font-size:13px}.column-filters{display:flex;gap:8px;margin-bottom:12px}.column-filters .search-bar.compact{flex:1;margin-bottom:0}.folder-filter{flex-shrink:0;width:140px;padding:8px 12px;border:1px solid #334155;border-radius:8px;background:#1e293b;color:#e2e8f0;font-size:12px;cursor:pointer;transition:all .2s ease}.folder-filter:hover{border-color:#475569}.folder-filter:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.source-column .folder-filter:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.target-column .folder-filter:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b98126}.count-badge{display:inline-block;padding:2px 8px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:12px;font-size:12px;font-weight:600;margin-left:8px}.selection-column.source-column h3{color:#60a5fa}.selection-column.source-column .count-badge{background:linear-gradient(135deg,#3b82f6,#2563eb)}.selection-column.target-column h3{color:#34d399}.selection-column.target-column .count-badge{background:linear-gradient(135deg,#10b981,#059669)}.selected-preview{margin-top:12px;padding:12px;border-radius:8px;border:1px solid #334155;background:#0f172a99}.selected-preview.source-preview{border-color:#3b82f64d;background:#3b82f60d}.selected-preview.target-preview{border-color:#10b9814d;background:#10b9810d}.selected-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #334155}.selected-preview-header span{font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.selected-preview-header .clear-btn{padding:4px 10px;border:none;background:#ef444426;color:#f87171;font-size:11px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s ease}.selected-preview-header .clear-btn:hover{background:#ef444440}.selected-preview-list{display:flex;flex-direction:column;gap:4px;max-height:140px;overflow-y:auto}.selected-preview-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#1e293b80;border-radius:4px;font-size:12px}.source-preview .selected-preview-item{border-left:2px solid #3b82f6}.target-preview .selected-preview-item{border-left:2px solid #10b981}.selected-preview-item .remove-btn{width:18px;height:18px;padding:0;border:none;background:#ef444433;color:#f87171;font-size:14px;line-height:1;border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.selected-preview-item .remove-btn:hover{background:#ef444466}.selected-preview-item .selected-name{color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-preview-more{padding:6px 8px;text-align:center;font-size:11px;color:#64748b;font-style:italic}.correlation-matrix-container{overflow-x:auto;margin-top:16px;border:1px solid #334155;border-radius:8px;background:#0f172a80}.correlation-matrix{width:100%;border-collapse:collapse;font-size:13px}.correlation-matrix th,.correlation-matrix td{padding:10px 12px;text-align:center;border:1px solid #334155}.matrix-corner{background:linear-gradient(180deg,#1e293b,#0f172a);color:#94a3b8;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;position:sticky;left:0;z-index:2;min-width:150px}.matrix-header{background:linear-gradient(180deg,#1e293b,#0f172a);color:#e2e8f0;font-size:11px;font-weight:600;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.matrix-row-header{background:linear-gradient(180deg,#1e293b,#0f172a);color:#e2e8f0;font-size:12px;font-weight:500;text-align:left!important;position:sticky;left:0;z-index:1;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matrix-cell{min-width:80px;cursor:pointer;transition:all .2s ease;position:relative}.matrix-cell.has-data:hover{transform:scale(1.05);z-index:1;box-shadow:0 2px 8px #0000004d}.matrix-cell.no-data{background:#1e293b4d;cursor:default}.matrix-cell.expanded{z-index:10}.cell-score{font-weight:700;font-size:14px;color:#f1f5f9}.no-data-marker{color:#475569;font-size:16px}.cell-details{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#1e293b;border:1px solid #475569;border-radius:8px;padding:12px;z-index:100;min-width:140px;box-shadow:0 4px 16px #0006;text-align:left;font-size:12px;color:#e2e8f0}.cell-details div{padding:4px 0;border-bottom:1px solid #334155}.cell-details div:last-child{border-bottom:none}.matrix-help{color:#64748b;font-size:13px;margin:0 0 8px}.folder-multi-select{display:flex;flex-direction:column;gap:8px;flex:1}.folder-chips{display:flex;flex-wrap:wrap;gap:6px;min-height:32px;align-items:center}.folder-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#3b82f626;border:1px solid rgba(59,130,246,.3);border-radius:16px;font-size:12px;color:#60a5fa}.folder-chip.all-folders{background:#94a3b81a;border-color:#94a3b833;color:#94a3b8}.chip-remove{width:16px;height:16px;padding:0;border:none;background:#ef444433;color:#f87171;font-size:12px;line-height:1;border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.chip-remove:hover{background:#ef444466}.folder-checkboxes{display:flex;flex-wrap:wrap;gap:4px;padding:8px;background:#0f172a80;border:1px solid #334155;border-radius:8px;max-height:120px;overflow-y:auto}.folder-checkbox{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#1e293b80;border-radius:4px;font-size:11px;color:#e2e8f0;cursor:pointer;transition:all .15s ease;white-space:nowrap}.folder-checkbox:hover{background:#3b82f61a}.folder-checkbox input{width:14px;height:14px;accent-color:#3b82f6;cursor:pointer}.target-column .folder-chip{background:#10b98126;border-color:#10b9814d;color:#34d399}.target-column .folder-checkbox input{accent-color:#10b981}.target-column .folder-checkbox:hover{background:#10b9811a}.revision-selector-row{display:flex;gap:24px;margin-top:20px;padding:16px;background:#1e293b66;border:1px solid #334155;border-radius:10px}.revision-selector{flex:1;display:flex;align-items:center;gap:10px}.revision-selector label{font-size:13px;font-weight:600;color:#94a3b8;white-space:nowrap}.revision-selector select{padding:8px 12px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#f1f5f9;font-size:13px;min-width:140px;cursor:pointer;transition:all .2s ease}.revision-selector select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.custom-revision-input{padding:8px 12px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#f1f5f9;font-size:13px;width:100px;transition:all .2s ease}.custom-revision-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.custom-revision-input::placeholder{color:#64748b}.column-filters{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.column-filters .search-bar.compact{margin-bottom:0}.storage-settings{max-width:900px;margin:0 auto;padding:24px}.settings-header{margin-bottom:32px}.settings-description{color:#94a3b8;font-size:14px;margin:0}.settings-docker-note{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:10px 14px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px;color:#93c5fd;font-size:13px}.docker-badge{display:inline-flex;align-items:center;padding:3px 8px;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:4px;color:#fff;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.status-card{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:12px;padding:20px;margin-bottom:24px}.status-card h3{margin:0 0 16px;color:#f1f5f9;font-size:16px;font-weight:600}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.status-item{display:flex;flex-direction:column;gap:4px}.status-label{color:#94a3b8;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.status-value{color:#f1f5f9;font-size:14px;font-weight:500}.status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.healthy{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.status-badge.unhealthy{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.status-badge.unknown{background:#475569;color:#e2e8f0}.status-badge.fallback{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.encryption-info{display:flex;gap:12px;padding:12px 16px;background:#4755694d;border:1px solid rgba(148,163,184,.2);border-radius:8px;margin-bottom:24px}.encryption-info .info-icon{font-size:18px;line-height:1.4;flex-shrink:0}.encryption-info .info-content{display:flex;flex-direction:column;gap:4px}.encryption-info .info-content strong{color:#e2e8f0;font-size:13px}.encryption-info .info-content p{margin:0;color:#94a3b8;font-size:12px;line-height:1.5}.encryption-info .info-content code{background:#94a3b833;padding:1px 5px;border-radius:3px;font-family:SF Mono,Menlo,monospace;font-size:11px;color:#cbd5e1}.config-section{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:12px;padding:20px;margin-bottom:24px}.config-section h3{margin:0 0 16px;color:#f1f5f9;font-size:16px;font-weight:600}.storage-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.storage-type-card{background:#0f172a80;border:2px solid #334155;border-radius:10px;padding:16px;cursor:pointer;transition:all .2s ease;position:relative}.storage-type-card:hover{border-color:#3b82f6;background:#3b82f61a}.storage-type-card.selected{border-color:#3b82f6;background:#3b82f626;box-shadow:0 0 0 2px #3b82f633}.storage-type-card.disabled{opacity:.5;cursor:not-allowed}.storage-type-card.disabled:hover{border-color:#334155;background:#0f172a80}.storage-type-name{color:#f1f5f9;font-weight:600;font-size:14px;margin-bottom:4px}.storage-type-desc{color:#94a3b8;font-size:12px;line-height:1.5}.coming-soon{position:absolute;top:8px;right:8px;background:#475569;color:#e2e8f0;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase}.config-form{max-width:600px}.config-fields{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{color:#94a3b8;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.form-label .required{color:#ef4444;margin-left:4px}.form-input{padding:12px 16px;background:#0f172a;border:1px solid #334155;border-radius:8px;color:#f1f5f9;font-size:14px;transition:all .2s ease}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.form-textarea{min-height:100px;resize:vertical;font-family:SF Mono,Menlo,monospace;font-size:12px}.form-help{color:#64748b;font-size:12px;margin:0}.test-result{background:linear-gradient(180deg,#1e293b,#0f172a);border-radius:12px;padding:20px;margin-bottom:24px}.test-result.success{border:1px solid rgba(16,185,129,.3)}.test-result.failed{border:1px solid rgba(239,68,68,.3)}.test-result h4{margin:0 0 12px;color:#f1f5f9;font-size:14px}.test-result .error-text{color:#f87171;font-size:13px;margin:0 0 12px}.health-details{background:#0f172a80;border-radius:8px;padding:12px;margin:0;color:#94a3b8;font-size:12px;font-family:SF Mono,Menlo,monospace;overflow-x:auto}.config-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px}.btn-primary{padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3b82f64d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-secondary{padding:12px 24px;background:#334155;border:none;border-radius:8px;color:#e2e8f0;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:#475569}.warning-banner{display:flex;gap:16px;padding:20px;background:linear-gradient(180deg,#fbbf241f,#f59e0b14);border:1px solid rgba(251,191,36,.4);border-radius:12px;margin-bottom:24px}.warning-icon{font-size:24px;line-height:1;flex-shrink:0}.warning-content{display:flex;flex-direction:column;gap:8px}.warning-content strong{color:#fbbf24;font-size:15px}.warning-content p{margin:0;color:#fcd34d;font-size:13px;line-height:1.6}.warning-content p strong{color:#fef08a;font-size:inherit}.warning-tip{margin-top:4px!important;padding:10px 12px;background:#fbbf241a;border-radius:6px;border-left:3px solid #fbbf24}.warning-tip code{background:#fbbf2433;padding:2px 6px;border-radius:4px;font-family:SF Mono,Menlo,monospace;font-size:12px;color:#fef08a}.error-banner{padding:12px 18px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#f87171;font-size:14px;font-weight:500;margin-bottom:16px}.success-banner{padding:12px 18px;background:#10b98126;border:1px solid rgba(16,185,129,.3);border-radius:8px;color:#10b981;font-size:14px;font-weight:500;margin-bottom:16px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 40px;color:#94a3b8;font-size:14px}.model-config-settings{padding:24px;max-width:700px;margin:0 auto}.settings-header h2{margin:0 0 8px;color:#f1f5f9;font-size:24px;font-weight:600}.settings-description{margin:0 0 24px;color:#94a3b8;font-size:14px;line-height:1.5}.loading-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 40px;color:#94a3b8;font-size:14px}.spinner{width:36px;height:36px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.error-banner{padding:12px 18px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#f87171;font-size:14px;margin-bottom:16px}.success-banner{padding:12px 18px;background:#10b98126;border:1px solid rgba(16,185,129,.3);border-radius:8px;color:#10b981;font-size:14px;margin-bottom:16px}.config-section{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:12px;padding:20px;margin-bottom:20px}.config-section h3{margin:0 0 8px;color:#f1f5f9;font-size:16px;font-weight:600}.section-description{margin:0 0 20px;color:#94a3b8;font-size:13px;line-height:1.5}.toggle-group{margin-bottom:20px}.toggle-label{display:flex;align-items:center;gap:12px;cursor:pointer}.toggle-label input[type=checkbox]{position:relative;width:48px;height:24px;appearance:none;background:#475569;border-radius:12px;cursor:pointer;transition:background .2s ease}.toggle-label input[type=checkbox]:checked{background:#10b981}.toggle-label input[type=checkbox]:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s ease}.toggle-label input[type=checkbox]:checked:before{transform:translate(24px)}.toggle-text{color:#e2e8f0;font-size:14px;font-weight:500}.toggle-help{margin:8px 0 0 60px;color:#64748b;font-size:12px;line-height:1.5}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;color:#e2e8f0;font-size:14px;font-weight:500}.form-input{width:100%;padding:10px 14px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#f1f5f9;font-size:14px;transition:border-color .2s ease}.form-input:focus{outline:none;border-color:#3b82f6}.form-input::placeholder{color:#64748b}.form-select{width:100%;padding:10px 14px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#f1f5f9;font-size:14px;cursor:pointer;transition:border-color .2s ease}.form-select:focus{outline:none;border-color:#3b82f6}.form-select option{background:#1e293b;color:#f1f5f9}.form-help{margin:8px 0 0;color:#64748b;font-size:12px;line-height:1.5}.slider-group{display:flex;align-items:center;gap:16px}.form-slider{flex:1;height:6px;appearance:none;background:#334155;border-radius:3px;cursor:pointer}.form-slider::-webkit-slider-thumb{appearance:none;width:18px;height:18px;background:#3b82f6;border-radius:50%;cursor:pointer;transition:background .2s ease}.form-slider::-webkit-slider-thumb:hover{background:#60a5fa}.slider-value{min-width:50px;padding:4px 10px;background:#0f172a;border:1px solid #334155;border-radius:4px;color:#f1f5f9;font-size:13px;font-weight:500;text-align:center}.info-box{display:flex;gap:12px;padding:14px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px;margin-top:16px}.info-icon{font-size:18px;flex-shrink:0}.info-content{flex:1}.info-content strong{color:#60a5fa;font-size:13px}.info-content p{margin:6px 0 0;color:#94a3b8;font-size:12px;line-height:1.5}.config-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #334155;margin-top:20px}.btn-primary{padding:10px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:10px 20px;background:#475569;border:none;border-radius:8px;color:#e2e8f0;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:#64748b}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.tag-dictionary-settings{padding:24px;max-width:900px;margin:0 auto}.tag-dictionary-settings .settings-header h2{margin:0 0 8px;color:#f1f5f9;font-size:24px;font-weight:600}.tag-dictionary-settings .settings-description{margin:0 0 16px;color:#94a3b8;font-size:14px;line-height:1.5}.process-overview{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:10px;padding:16px 20px;margin-bottom:20px}.process-overview h3{margin:0 0 12px;color:#f1f5f9;font-size:15px;font-weight:600}.process-overview p{margin:0 0 12px;color:#94a3b8;font-size:13px;line-height:1.5}.process-overview ol{margin:0 0 12px;padding-left:20px;color:#94a3b8;font-size:12px;line-height:1.8}.process-overview ol li{margin-bottom:4px}.process-overview ol strong{color:#e2e8f0}.process-overview .process-note{margin:0;padding:10px 12px;background:#eab3081a;border:1px solid rgba(234,179,8,.2);border-radius:6px;color:#fbbf24;font-size:12px}.status-badge{display:inline-block;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;margin-bottom:20px}.status-default{background:#eab30826;border:1px solid rgba(234,179,8,.3);color:#fbbf24}.status-custom{background:#10b98126;border:1px solid rgba(16,185,129,.3);color:#10b981}.tag-dictionary-settings .loading-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 40px;color:#94a3b8;font-size:14px}.tag-dictionary-settings .spinner{width:36px;height:36px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tag-dictionary-settings .error-banner{padding:12px 18px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#f87171;font-size:14px;margin-bottom:16px}.tag-dictionary-settings .success-banner{padding:12px 18px;background:#10b98126;border:1px solid rgba(16,185,129,.3);border-radius:8px;color:#10b981;font-size:14px;margin-bottom:16px}.correlation-config-section{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:10px;padding:16px 20px;margin-bottom:20px}.correlation-config-section h3{margin:0 0 8px;font-size:15px;font-weight:600;color:#f1f5f9}.correlation-config-section .section-description{color:#94a3b8;font-size:13px;margin:0 0 16px;line-height:1.5}.revision-sequence-editor{display:flex;flex-direction:column;gap:12px}.revision-chips{display:flex;flex-wrap:wrap;gap:8px}.revision-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#3b82f6;color:#fff;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,box-shadow .15s}.revision-chip:hover{background:#2563eb}.revision-chip .chip-remove{background:none;border:none;color:#ffffffb3;cursor:pointer;padding:0 2px;font-size:16px;line-height:1;margin-left:2px}.revision-chip .chip-remove:hover{color:#fff}.revision-chip--selected{background:#1d4ed8;box-shadow:0 0 0 2px #60a5fa}.revision-chip .chip-check{margin-right:4px;font-size:11px}.revision-bulk-actions{display:flex;gap:8px;align-items:center}.btn-small.btn-danger{background:#dc2626}.btn-small.btn-danger:hover{background:#b91c1c}.btn-small.btn-secondary{background:#475569}.btn-small.btn-secondary:hover{background:#64748b}.add-revision{display:flex;gap:8px;align-items:center}.add-revision input{flex:1;max-width:200px;padding:8px 12px;border:1px solid #475569;border-radius:6px;background:#0f172a;color:#f1f5f9;font-size:13px}.add-revision input:focus{outline:none;border-color:#3b82f6}.add-revision input::placeholder{color:#64748b}.checkbox-label{display:flex;align-items:center;gap:8px;color:#cbd5e1;font-size:13px;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6}.config-actions-inline{display:flex;gap:8px;padding-top:12px;border-top:1px solid #334155;margin-top:4px}.btn-small{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.btn-small:hover{background:#2563eb}.dictionaries-container{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.dictionary-section{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:10px;overflow:hidden}.dictionary-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;transition:background .2s ease}.dictionary-header:hover{background:#ffffff08}.dictionary-header-left{display:flex;align-items:center;gap:10px}.expand-icon{color:#64748b;font-size:10px;width:16px}.dictionary-name{color:#f1f5f9;font-size:14px;font-weight:600}.dictionary-count{color:#64748b;font-size:13px}.dictionary-header-actions{display:flex;gap:6px}.btn-small{padding:5px 10px;background:#334155;border:1px solid #475569;border-radius:4px;color:#94a3b8;font-size:11px;cursor:pointer;transition:all .2s ease}.btn-small:hover{background:#475569;color:#e2e8f0}.dictionary-content{padding:0 16px 16px;border-top:1px solid #334155}.dictionary-description{margin:12px 0 8px;color:#94a3b8;font-size:13px;line-height:1.5}.dictionary-usage{margin:0 0 16px;padding:10px 12px;background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:6px;color:#94a3b8;font-size:12px;line-height:1.5}.dictionary-usage strong{color:#60a5fa;font-weight:600}.priority-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 5px;background:#6366f133;border:1px solid rgba(99,102,241,.3);border-radius:4px;color:#818cf8;font-size:10px;font-weight:600;margin-right:6px}.dictionary-table-container{overflow-x:auto}.dictionary-table{width:100%;border-collapse:collapse;font-size:13px}.dictionary-table th{text-align:left;padding:10px 12px;background:#0f172a;color:#94a3b8;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #334155}.dictionary-table td{padding:8px 12px;border-bottom:1px solid #1e293b;color:#e2e8f0}.dictionary-table tbody tr:hover{background:#ffffff05}.dictionary-table-list td:first-child{width:100%}.cell-code{font-family:SF Mono,Monaco,Inconsolata,monospace;color:#60a5fa;font-weight:500;white-space:nowrap}.cell-input{width:100%;padding:6px 10px;background:#0f172a;border:1px solid #334155;border-radius:4px;color:#f1f5f9;font-size:13px;transition:border-color .2s ease}.cell-input:focus{outline:none;border-color:#3b82f6}.cell-actions{white-space:nowrap;text-align:right;width:60px}.btn-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:4px;color:#64748b;cursor:pointer;font-size:16px;transition:all .2s ease}.btn-icon:hover{background:#ffffff0d}.btn-delete:hover{background:#ef444426;border-color:#ef44444d;color:#f87171}.btn-add-entry{margin-top:12px;padding:8px 14px;background:transparent;border:1px dashed #475569;border-radius:6px;color:#64748b;font-size:13px;cursor:pointer;transition:all .2s ease}.btn-add-entry:hover{border-color:#3b82f6;color:#3b82f6;background:#3b82f60d}.regex-section{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:10px;margin-bottom:24px;overflow:hidden}.regex-header{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;transition:background .2s ease}.regex-header:hover{background:#ffffff08}.section-title{color:#f1f5f9;font-size:14px;font-weight:600}.section-badge{padding:3px 8px;background:#eab30826;border:1px solid rgba(234,179,8,.3);border-radius:4px;color:#fbbf24;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.regex-content{padding:0 16px 16px;border-top:1px solid #334155}.regex-note{margin:12px 0 16px;color:#64748b;font-size:12px;line-height:1.5}.regex-pattern{padding:12px;background:#0f172a;border:1px solid #1e293b;border-radius:6px;margin-bottom:10px}.regex-pattern:last-child{margin-bottom:0}.regex-name{color:#e2e8f0;font-size:13px;font-weight:500;text-transform:capitalize;margin-bottom:4px}.regex-description{color:#64748b;font-size:12px;margin-bottom:8px}.regex-code{display:block;padding:8px 10px;background:#1e293b;border-radius:4px;color:#60a5fa;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:11px;overflow-x:auto;white-space:nowrap;margin-bottom:6px}.regex-examples{color:#94a3b8;font-size:11px;font-style:italic}.tag-dictionary-settings .config-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #334155}.tag-dictionary-settings .btn-primary{padding:10px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.tag-dictionary-settings .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.tag-dictionary-settings .btn-primary:disabled{opacity:.5;cursor:not-allowed}.tag-dictionary-settings .btn-secondary{padding:10px 20px;background:#475569;border:none;border-radius:8px;color:#e2e8f0;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.tag-dictionary-settings .btn-secondary:hover:not(:disabled){background:#64748b}.tag-dictionary-settings .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.tag-dictionary-settings .btn-danger{background:#ef444433;color:#f87171}.tag-dictionary-settings .btn-danger:hover:not(:disabled){background:#ef44444d}.no-project-warning{margin-top:16px;padding:12px 16px;background:#eab3081a;border:1px solid rgba(234,179,8,.2);border-radius:6px;color:#fbbf24;font-size:13px;text-align:center}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #475569;border-radius:8px;padding:14px 18px;min-width:280px;max-width:450px;box-shadow:0 4px 20px #0006}.modal-content .modal-title{margin:0 0 6px;color:#f1f5f9;font-size:14px;font-weight:600}.modal-content .modal-message{margin:0;padding:8px 10px;background:#0f172a;border-radius:4px;color:#60a5fa;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:12px;word-break:break-all}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.modal-actions .btn-secondary{padding:6px 14px;background:#334155;border:1px solid #475569;border-radius:5px;color:#e2e8f0;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.modal-actions .btn-secondary:hover{background:#475569}.modal-actions .btn-danger{padding:6px 14px;background:#dc2626;border:1px solid #ef4444;border-radius:5px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.modal-actions .btn-danger:hover{background:#b91c1c}.sidebar{display:flex;flex-direction:column;width:260px;min-width:260px;height:100%;background:#0f172a;border-right:1px solid #1e293b;transition:width .2s ease,min-width .2s ease;position:relative;z-index:50}.sidebar--collapsed{width:56px;min-width:56px}.sidebar__header{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #1e293b;min-height:64px;position:relative;z-index:10;overflow:visible}.sidebar--collapsed .sidebar__header{flex-direction:column;padding:10px 8px;gap:10px}.sidebar__toggle{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#1e293b;border:1px solid #334155;border-radius:6px;color:#94a3b8;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.sidebar__toggle:hover{background:#334155;color:#e2e8f0}.sidebar-project-selector{flex:1;position:relative;z-index:100}.sidebar-project-selector--loading{color:#64748b;font-size:.8rem;padding:8px}.sidebar-project-selector--collapsed{display:flex;justify-content:center}.sidebar-project-selector__icon-btn{background:transparent;border:none;cursor:pointer;padding:0}.sidebar-project-selector__avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:8px;color:#fff;font-weight:600;font-size:.85rem}.sidebar-project-selector__trigger{display:flex;align-items:center;gap:10px;width:100%;padding:8px;background:#1e293b80;border:1px solid #334155;border-radius:8px;color:#e2e8f0;cursor:pointer;transition:background .15s,border-color .15s}.sidebar-project-selector__trigger:hover{background:#33415580;border-color:#475569}.sidebar-project-selector__info{flex:1;text-align:left;overflow:hidden}.sidebar-project-selector__label{display:block;font-size:.65rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.sidebar-project-selector__name{display:block;font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-project-selector__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#1e293b;border:1px solid #334155;border-radius:8px;box-shadow:0 10px 40px #00000080;overflow:visible;z-index:9999;max-height:280px;overflow-y:auto;pointer-events:auto}.sidebar-project-selector__dropdown--collapsed{left:0;right:auto;min-width:220px}.sidebar-project-selector__option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:transparent;border:none;color:#cbd5e1;text-align:left;cursor:pointer;transition:background .15s;pointer-events:auto;position:relative;z-index:1}.sidebar-project-selector__option:hover{background:#3b82f61a}.sidebar-project-selector__option--active{background:#3b82f633}.sidebar-project-selector__option-avatar{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:6px;color:#fff;font-weight:600;font-size:.75rem;flex-shrink:0}.sidebar-project-selector__option-info{flex:1;overflow:hidden}.sidebar-project-selector__option-name{display:block;font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-project-selector__option-code{display:block;font-size:.7rem;color:#64748b;font-family:monospace}.sidebar__nav{flex:1;overflow-y:auto;padding:8px 0 16px}.sidebar__section{margin-bottom:4px}.sidebar__section-title{padding:12px 16px 4px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;white-space:nowrap;overflow:hidden;min-height:28px}.sidebar--collapsed .sidebar__section-title{padding:8px 0 4px;text-align:center}.sidebar__items{list-style:none;margin:0;padding:0}.sidebar__item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;background:transparent;border:none;color:#cbd5e1;font-size:.875rem;text-align:left;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;overflow:hidden}.sidebar--collapsed .sidebar__item{justify-content:center;padding:10px}.sidebar__item:hover{background:#1e293b;color:#f1f5f9}.sidebar__item--active{background:#1e40af;color:#fff}.sidebar__item--active:hover{background:#1d4ed8;color:#fff}.sidebar-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:1rem;flex-shrink:0}.sidebar__item-label{overflow:hidden;text-overflow:ellipsis}.sidebar--collapsed .sidebar__item-label{display:none}.sidebar__nav::-webkit-scrollbar{width:6px}.sidebar__nav::-webkit-scrollbar-track{background:transparent}.sidebar__nav::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}.sidebar__nav::-webkit-scrollbar-thumb:hover{background:#475569}.portal-layout{min-height:100vh;background:#020617;color:#e2e8f0;display:flex;flex-direction:column}.portal-layout--authed{height:100vh;overflow:hidden}.portal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:linear-gradient(180deg,#0f172af2,#0f172ad9);border-bottom:1px solid #1e293b;flex-shrink:0;z-index:100}.portal-header__brand{display:flex;align-items:center;gap:.75rem}.portal-header__icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#38bdf8,#2563eb);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;letter-spacing:.05em}.portal-header__titles{display:flex;flex-direction:column}.portal-header__title{margin:0;font-size:1rem;font-weight:600;line-height:1.2}.portal-header__subtitle{margin:0;color:#64748b;font-size:.75rem}.portal-header__session{display:flex;align-items:center;gap:1rem}.portal-header__user-name{margin:0;font-weight:500;font-size:.875rem;color:#cbd5e1}.portal-header__logout{border:1px solid #334155;background:#1e293bcc;color:#e2e8f0;padding:.5rem 1rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.portal-header__logout:hover:not(:disabled){background:#334155cc;border-color:#475569}.portal-header__logout:disabled{opacity:.5;cursor:not-allowed}.project-selector{position:relative}.project-selector--loading{color:#64748b;font-size:.875rem;padding:.5rem 1rem}.project-selector__trigger{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#1e293b99;border:1px solid #334155;border-radius:8px;color:#e2e8f0;font-size:.875rem;cursor:pointer;transition:background .15s,border-color .15s;min-width:200px}.project-selector__trigger:hover{background:#33415599;border-color:#475569}.project-selector__label{color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.project-selector__value{flex:1;text-align:left;font-weight:500}.project-selector__chevron{color:#64748b;font-size:.65rem}.project-selector__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#1e293b;border:1px solid #334155;border-radius:8px;box-shadow:0 10px 40px #00000080;overflow:hidden;z-index:1000;max-height:300px;overflow-y:auto}.project-selector__option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:#cbd5e1;font-size:.875rem;text-align:left;cursor:pointer;transition:background .15s}.project-selector__option:hover{background:#3b82f61a}.project-selector__option--active{background:#3b82f633;color:#60a5fa}.project-selector__option-name{font-weight:500}.project-selector__option-code{color:#64748b;font-size:.75rem;font-family:monospace}.portal-body{display:flex;flex:1;overflow:hidden}.portal-main{flex:1;min-height:0;display:flex;flex-direction:column;background:radial-gradient(circle at top left,rgba(37,99,235,.05),transparent 50%)}.portal-content{flex:1;min-height:0;overflow-y:auto;padding:1.5rem}.portal-content--loading,.portal-content--select{display:flex;align-items:center;justify-content:center}.portal-content__loader{color:#64748b;font-size:.95rem}.portal-content__message{text-align:center;max-width:400px}.portal-content__message h2{margin:0 0 .5rem;font-size:1.25rem;color:#e2e8f0}.portal-content__message p{margin:0;color:#94a3b8;font-size:.95rem}.create-project-prompt{display:flex;align-items:center;justify-content:center;flex:1;padding:2rem}.create-project-prompt__card{background:#0f172acc;border:1px solid #1e293b;border-radius:16px;padding:2.5rem;max-width:420px;width:100%;text-align:center;box-shadow:0 25px 60px #0006}.create-project-prompt__icon{font-size:3rem;margin-bottom:1rem}.create-project-prompt__card h2{margin:0 0 .5rem;font-size:1.5rem;color:#f1f5f9}.create-project-prompt__card>p{margin:0 0 1.5rem;color:#94a3b8;font-size:.95rem;line-height:1.5}.create-project-prompt__form{display:flex;flex-direction:column;gap:1rem;text-align:left}.create-project-prompt__field{display:flex;flex-direction:column;gap:.35rem}.create-project-prompt__field label{font-size:.8rem;font-weight:500;color:#94a3b8}.create-project-prompt__field input{padding:.75rem 1rem;background:#1e293b99;border:1px solid #334155;border-radius:8px;color:#e2e8f0;font-size:.95rem;transition:border-color .15s,background .15s}.create-project-prompt__field input:focus{outline:none;border-color:#3b82f6;background:#1e293bcc}.create-project-prompt__field input::placeholder{color:#475569}.create-project-prompt__error{margin:0;padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#f87171;font-size:.85rem}.create-project-prompt__submit{margin-top:.5rem;padding:.85rem 1.5rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:8px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s}.create-project-prompt__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #2563eb66}.create-project-prompt__submit:disabled{opacity:.6;cursor:not-allowed}.settings-panel{height:100%;display:flex;flex-direction:column}.settings-tabs{display:flex;gap:4px;padding:12px 24px;background:linear-gradient(180deg,#1e293b,#0f172a);border-bottom:1px solid #334155}.settings-tab{padding:10px 20px;background:transparent;border:1px solid #334155;border-radius:8px;color:#94a3b8;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.settings-tab:hover{background:#3b82f61a;border-color:#3b82f64d;color:#e2e8f0}.settings-tab.active{background:#3b82f633;border-color:#3b82f6;color:#60a5fa}.settings-content{flex:1;overflow-y:auto}.projects-management{padding:0}.projects-management__loading{color:#64748b;padding:2rem;text-align:center}.projects-management__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}.projects-management__header h2{margin:0 0 .25rem;font-size:1.5rem;color:#f1f5f9}.projects-management__subtitle{margin:0;color:#94a3b8;font-size:.9rem}.projects-management__create-btn{padding:.65rem 1.25rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s}.projects-management__create-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2563eb66}.projects-management__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.projects-management__empty{grid-column:1 / -1;text-align:center;padding:3rem;background:#1e293b66;border-radius:12px;border:1px dashed #334155;color:#94a3b8}.projects-management__card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#1e293b80;border:1px solid #334155;border-radius:12px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.projects-management__card:hover{background:#33415580;border-color:#475569;transform:translateY(-2px)}.projects-management__card--active{background:#2563eb26;border-color:#3b82f6}.projects-management__card--active:hover{background:#2563eb33}.projects-management__card-avatar{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:10px;color:#fff;font-weight:600;font-size:1.1rem;flex-shrink:0}.projects-management__card-info{flex:1;min-width:0}.projects-management__card-info h4{margin:0 0 .2rem;font-size:1rem;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projects-management__card-code{font-size:.75rem;color:#64748b;font-family:monospace}.projects-management__card-badge{padding:.25rem .6rem;background:#22c55e33;border:1px solid rgba(34,197,94,.3);border-radius:999px;color:#4ade80;font-size:.7rem;font-weight:600;text-transform:uppercase}.projects-management__form-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.projects-management__form{background:#1e293b;border:1px solid #334155;border-radius:16px;padding:1.5rem;width:100%;max-width:400px;box-shadow:0 25px 60px #00000080}.projects-management__form h3{margin:0 0 1rem;font-size:1.2rem;color:#f1f5f9}.projects-management__field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.projects-management__field label{font-size:.8rem;font-weight:500;color:#94a3b8}.projects-management__field input{padding:.75rem 1rem;background:#0f172a99;border:1px solid #334155;border-radius:8px;color:#e2e8f0;font-size:.95rem;transition:border-color .15s}.projects-management__field input:focus{outline:none;border-color:#3b82f6}.projects-management__field input::placeholder{color:#475569}.projects-management__error{margin:0 0 1rem;padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#f87171;font-size:.85rem}.projects-management__form-actions{display:flex;gap:.75rem;justify-content:flex-end}.projects-management__form-actions button{padding:.65rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s}.projects-management__form-actions button:not(.primary){background:transparent;border:1px solid #334155;color:#cbd5e1}.projects-management__form-actions button:not(.primary):hover{background:#33415580}.projects-management__form-actions button.primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;color:#fff}.projects-management__form-actions button.primary:hover:not(:disabled){box-shadow:0 4px 12px #2563eb66}.projects-management__form-actions button:disabled{opacity:.5;cursor:not-allowed}.projects-management__card-delete{position:absolute;top:8px;right:8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:#64748b;font-size:16px;cursor:pointer;opacity:0;transition:all .15s}.projects-management__card{position:relative}.projects-management__card:hover .projects-management__card-delete{opacity:1}.projects-management__card-delete:hover{background:#ef444433;color:#f87171}.projects-management__modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.projects-management__modal{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #475569;border-radius:12px;padding:1.5rem;width:100%;max-width:420px;box-shadow:0 25px 60px #00000080}.projects-management__modal h3{margin:0 0 .75rem;font-size:1.1rem;color:#f1f5f9}.projects-management__modal p{margin:0 0 .75rem;color:#cbd5e1;font-size:.95rem;line-height:1.5}.projects-management__modal-warning{padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px;color:#f87171;font-size:.85rem}.projects-management__modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem}.projects-management__modal-actions button{padding:.6rem 1.25rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.projects-management__modal-actions button:not(.danger){background:#334155;border:1px solid #475569;color:#e2e8f0}.projects-management__modal-actions button:not(.danger):hover{background:#475569}.projects-management__modal-actions button.danger{background:#dc2626;border:1px solid #ef4444;color:#fff}.projects-management__modal-actions button.danger:hover{background:#b91c1c}.projects-management__modal-actions button:disabled{opacity:.5;cursor:not-allowed}.projects-management__details-panel{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid #334155;border-radius:12px;padding:20px;margin-top:20px}.projects-management__details-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #334155}.projects-management__details-title{display:flex;align-items:center;gap:12px}.projects-management__details-title h3{margin:0;font-size:18px;font-weight:600;color:#f1f5f9}.projects-management__details-actions{display:flex;align-items:center;gap:10px}.projects-management__select-btn{padding:8px 16px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.projects-management__select-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.projects-management__delete-btn{padding:8px 16px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#f87171;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.projects-management__delete-btn:hover{background:#ef444440;border-color:#ef444480}.projects-management__details-code{font-size:12px;font-weight:500;color:#94a3b8;background:#0f172a;padding:4px 8px;border-radius:4px;font-family:SF Mono,Monaco,monospace}.projects-management__details-close{width:28px;height:28px;background:transparent;border:1px solid transparent;border-radius:6px;color:#64748b;font-size:18px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.projects-management__details-close:hover{background:#ffffff0d;color:#e2e8f0}.projects-management__details-loading,.projects-management__details-error{padding:24px;text-align:center;color:#94a3b8;font-size:14px}.projects-management__details-error{color:#f87171}.projects-management__details-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.projects-management__stat{background:#0f172a;border:1px solid #1e293b;border-radius:8px;padding:12px;text-align:center}.projects-management__stat-icon{font-size:18px;margin-bottom:4px}.projects-management__stat-value{display:block;font-size:24px;font-weight:700;color:#f1f5f9;line-height:1.2}.projects-management__stat-label{display:block;font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.projects-management__details-jobs{background:#0f172a;border:1px solid #1e293b;border-radius:8px;padding:12px;margin-bottom:16px}.projects-management__details-jobs h4{margin:0 0 8px;font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.projects-management__jobs-breakdown{display:flex;flex-wrap:wrap;gap:8px}.projects-management__job-stat{font-size:12px;font-weight:500;padding:4px 10px;border-radius:4px}.projects-management__job-stat.completed{background:#10b98126;color:#10b981}.projects-management__job-stat.failed{background:#ef444426;color:#f87171}.projects-management__job-stat.running{background:#3b82f626;color:#60a5fa}.projects-management__details-configs{background:#0f172a;border:1px solid #1e293b;border-radius:8px;padding:12px;margin-bottom:16px}.projects-management__details-configs h4{margin:0 0 10px;font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.projects-management__config-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:#e2e8f0}.projects-management__config-item:not(:last-child){border-bottom:1px solid #1e293b}.projects-management__config-item span:first-child{width:18px;text-align:center}.projects-management__config-item span:first-child.configured{color:#10b981}.projects-management__config-item span:first-child.default{color:#475569}.projects-management__config-item span:nth-child(2){flex:1}.projects-management__config-status{font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;background:#1e293b;color:#64748b}.projects-management__config-item .configured+span+.projects-management__config-status{background:#10b98126;color:#10b981}.projects-management__details-footer{font-size:12px;color:#64748b;text-align:center;padding-top:16px;margin-top:16px;border-top:1px solid #1e293b}.projects-management__details-body{display:flex;flex-direction:column;gap:16px}.projects-management__details-section{background:#0f172a;border:1px solid #1e293b;border-radius:8px;padding:16px}.projects-management__details-section h4{margin:0 0 12px;font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.projects-management__config-list{display:flex;flex-direction:column}.projects-management__card--viewing{border-color:#3b82f6;background:linear-gradient(180deg,#3b82f61a,#0f172af2)}.projects-management__card--viewing:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#3b82f6;border-radius:10px 0 0 10px}@media(max-width:768px){.portal-header{flex-wrap:wrap;gap:.75rem}.project-selector{order:3;width:100%}.project-selector__trigger{width:100%}.portal-body{flex-direction:column}.sidebar{width:100%!important;min-width:100%!important;height:auto;border-right:none;border-bottom:1px solid #1e293b}.sidebar--collapsed{height:56px}}
