body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0a0e17;color:#e0e6ed}.app{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#111827;border-bottom:1px solid #1e293b;position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:12px}.logo{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:#fff}.header h1{font-size:18px;font-weight:600;color:#f1f5f9}nav{display:flex;gap:4px}nav button{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;background:transparent;color:#94a3b8;transition:all .15s}nav button:hover{background:#1e293b;color:#e2e8f0}nav button.active{background:#6366f1;color:#fff}.job-selector{padding:6px 10px;border-radius:6px;border:1px solid #334155;background:#1e293b;color:#e2e8f0;font-size:12px;cursor:pointer}.job-selector:hover{border-color:#6366f1}.main{flex:1;padding:24px;max-width:1400px;margin:0 auto;width:100%}.main:has(.results-view),.page:has(.results-view){max-width:none!important;width:100%;margin:0;padding:16px 32px}.home-view{max-width:800px;margin:0 auto}.hero{text-align:center;margin-bottom:32px}.hero h2{font-size:32px;font-weight:700;background:linear-gradient(135deg,#6366f1,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}.hero p{color:#94a3b8;font-size:15px}.input-section textarea{width:100%;padding:16px;border-radius:10px;border:2px solid #1e293b;background:#111827;color:#e2e8f0;font-size:14px;font-family:monospace;resize:vertical;outline:none;transition:border-color .15s}.input-section textarea:focus{border-color:#6366f1}.input-section textarea::placeholder{color:#475569}.input-actions{display:flex;gap:12px;margin-top:12px}.btn-primary{padding:10px 24px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;transition:all .15s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.btn-secondary{padding:10px 24px;border:1px solid #334155;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;background:transparent;color:#94a3b8}.btn-secondary:hover{border-color:#6366f1;color:#e2e8f0}.config-panel{background:#111827;border:1px solid #1e293b;border-radius:12px;padding:20px;margin-bottom:20px}.config-section{margin-bottom:16px}.config-section:last-child{margin-bottom:0}.config-label{display:block;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.config-row{display:flex;gap:20px}.config-flex{flex:1.5}.config-narrow{flex:1}.mode-selector{display:flex;gap:10px}.mode-btn{flex:1;display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid #1e293b;border-radius:8px;background:#0d1117;color:#94a3b8;cursor:pointer;text-align:left;transition:all .15s;font-size:13px}.mode-btn:hover{border-color:#334155}.mode-btn.active{border-color:#6366f1;background:#6366f114;color:#e2e8f0}.mode-btn strong{color:#e2e8f0;font-size:13px;display:block}.mode-btn small{color:#64748b;font-size:11px}.mode-btn.active small{color:#94a3b8}.mode-icon{padding:5px 8px;border-radius:5px;font-size:10px;font-weight:700;background:#1e293b;color:#818cf8;white-space:nowrap}.mode-btn.active .mode-icon{background:#6366f1;color:#fff}.model-grid{display:flex;flex-wrap:wrap;gap:8px}.model-btn{padding:8px 12px;border:1px solid #1e293b;border-radius:6px;background:#0d1117;color:#94a3b8;cursor:pointer;text-align:left;transition:all .15s;min-width:130px}.model-btn:hover{border-color:#334155}.model-btn.active{border-color:#6366f1;background:#6366f11a}.model-name{display:block;font-size:12px;font-weight:600;color:#e2e8f0}.model-meta{display:flex;gap:6px;margin-top:2px}.model-tag{font-size:10px;color:#22c55e}.model-cost{font-size:10px;color:#475569}.model-btn.active .model-name{color:#a5b4fc}.fps-grid{display:flex;flex-direction:column;gap:6px}.fps-btn{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #1e293b;border-radius:6px;background:#0d1117;color:#94a3b8;cursor:pointer;transition:all .15s;text-align:left}.fps-btn:hover{border-color:#334155}.fps-btn.active{border-color:#6366f1;background:#6366f11a}.fps-label{font-size:12px;font-weight:700;color:#e2e8f0;min-width:50px}.fps-desc{font-size:10px;color:#64748b}.fps-btn.active .fps-label{color:#a5b4fc}.option-row{display:flex;gap:6px;flex-wrap:wrap}.option-btn{padding:6px 14px;border:1px solid #334155;border-radius:6px;background:#0d1117;color:#94a3b8;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.option-btn:hover{border-color:#6366f1;color:#e2e8f0}.option-btn.active{border-color:#6366f1;background:#6366f126;color:#a5b4fc}.import-section{margin-top:24px}.import-panel{margin-top:12px;display:flex;flex-direction:column;gap:10px;background:#111827;border:1px solid #1e293b;border-radius:10px;padding:16px}.import-desc{font-size:13px;color:#64748b;margin:0}.import-textarea{width:100%;padding:12px;border:1px solid #334155;border-radius:8px;background:#0d1117;color:#e2e8f0;font-family:monospace;font-size:12px;resize:vertical;outline:none}.import-textarea:focus{border-color:#6366f1}.import-json-row{display:flex;flex-direction:column;gap:8px}.import-actions{display:flex;gap:10px;justify-content:flex-end}.import-upload-btn{cursor:pointer;text-align:center}.import-upload-btn.disabled{opacity:.5;cursor:not-allowed}.import-video-row{display:flex;gap:10px;align-items:center}.import-video-row .testlab-url{flex:1}.qc-list-header{display:flex;padding:10px 14px;background:#334155;font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase}.qc-list-row{display:flex;padding:10px 14px;border-top:1px solid #1e293b;align-items:center;font-size:13px}.qc-col-sno{width:40px;font-weight:700;color:#818cf8}.qc-col-id{width:80px;font-family:monospace;color:#94a3b8}.qc-col-status{width:130px;display:flex;align-items:center;gap:6px}.qc-col-url{flex:1;color:#64748b;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qc-col-anns{width:80px;text-align:center;color:#e2e8f0;font-weight:600}.qc-col-frames{width:120px;text-align:center;font-size:11px;flex-shrink:0}.qc-col-accuracy{width:70px;text-align:center}.qc-col-edits{width:110px;text-align:center;font-size:11px}.qc-col-date{width:130px;color:#64748b;font-size:12px}.qc-col-actions{width:150px;display:flex;gap:6px}.qc-dl-text{font-size:10px;color:#eab308;animation:pulse 1.5s infinite}.url-count{margin-top:8px;font-size:13px;color:#64748b;text-align:right}@media (max-width: 768px){.config-row,.model-grid{flex-direction:column}}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}.feature{padding:24px;border-radius:12px;background:#111827;border:1px solid #1e293b;text-align:center}.feature-icon{font-size:28px;font-weight:800;color:#6366f1;margin-bottom:8px}.feature h3{font-size:15px;font-weight:600;margin-bottom:4px}.feature p{font-size:13px;color:#94a3b8}.dashboard-view{display:flex;flex-direction:column;gap:20px}.job-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.job-info{display:flex;align-items:center;gap:12px}.job-info h2{font-size:20px;font-weight:600}.status-badge{padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600;text-transform:uppercase;white-space:nowrap}.status-created{background:#1e293b;color:#94a3b8}.status-running{background:#6366f133;color:#818cf8}.status-completed{background:#22c55e33;color:#4ade80}.status-error{background:#ef444433;color:#f87171}.job-progress-bar{flex:1;max-width:400px;height:28px;background:#1e293b;border-radius:14px;overflow:hidden;position:relative}.job-progress-bar .progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#22c55e);border-radius:14px;transition:width .5s ease}.job-progress-bar span{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.video-card{padding:16px;border-radius:12px;background:#111827;border:1px solid #1e293b;transition:border-color .2s}.video-card.video-analyzing{border-color:#6366f1}.video-card.video-completed{border-color:#22c55e}.video-card.video-error{border-color:#ef4444}.video-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.video-id{font-size:14px;font-weight:700;font-family:monospace;color:#e2e8f0}.status-dot{width:10px;height:10px;border-radius:50%}.status-dot.status-pending{background:#475569}.status-dot.status-analyzing{background:#6366f1;animation:pulse 1.5s infinite}.status-dot.status-completed{background:#22c55e}.status-dot.status-error{background:#ef4444}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.video-url{font-size:11px;color:#64748b;margin-bottom:12px;word-break:break-all}.video-stats{margin-top:8px;font-size:12px;color:#4ade80;font-weight:600;text-align:center}.agents-grid{display:flex;flex-direction:column;gap:4px;max-height:130px;overflow-y:auto;overflow-x:hidden}.agents-grid::-webkit-scrollbar{width:4px}.agents-grid::-webkit-scrollbar-track{background:transparent}.agents-grid::-webkit-scrollbar-thumb{background:#334155;border-radius:2px}.agent-bar{min-height:22px;flex-shrink:0}.agent-bar{position:relative;height:22px;background:#1e293b;border-radius:4px;overflow:hidden;display:flex;align-items:center}.agent-bar-fill{position:absolute;left:0;top:0;height:100%;border-radius:4px;transition:width .3s ease}.agent-bar.agent-pending .agent-bar-fill{background:#334155}.agent-bar.agent-running .agent-bar-fill{background:linear-gradient(90deg,#6366f1,#818cf8)}.agent-bar.agent-completed .agent-bar-fill{background:#22c55e}.agent-bar-label{position:relative;z-index:1;font-size:11px;font-weight:600;margin-left:8px;color:#e2e8f0}.agent-bar-pct{position:relative;z-index:1;font-size:10px;margin-left:auto;margin-right:8px;color:#cbd5e1}.terminal-section{background:#0d1117;border:1px solid #1e293b;border-radius:12px;overflow:hidden}.terminal-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:12px 16px;background:#161b22;border-bottom:1px solid #1e293b}.terminal-header h3{font-size:14px;font-weight:600}.terminal-filters{display:flex;gap:8px;align-items:center}.terminal-filters select{padding:4px 8px;border-radius:4px;border:1px solid #334155;background:#1e293b;color:#e2e8f0;font-size:12px}.log-count{font-size:11px;color:#64748b}.terminal{height:350px;overflow-y:auto;padding:8px 12px;font-family:monospace;font-size:12px;line-height:1.6}.terminal::-webkit-scrollbar{width:6px}.terminal::-webkit-scrollbar-track{background:transparent}.terminal::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}.log-line{display:flex;gap:8px;padding:1px 0}.log-ts{color:#475569;min-width:85px}.log-agent{color:#818cf8;min-width:70px;font-weight:600}.log-vid{color:#64748b;min-width:50px}.log-msg{flex:1}.log-info .log-msg{color:#94a3b8}.log-debug .log-msg{color:#64748b}.log-success .log-msg{color:#4ade80}.log-error .log-msg{color:#f87171}.terminal-empty{color:#475569;text-align:center;padding:40px;font-style:italic}.results-view h2{font-size:24px;font-weight:700}.results-subtitle{color:#94a3b8;margin-bottom:20px}.results-selector{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.result-tab{padding:10px 20px;border:1px solid #334155;border-radius:8px;background:#111827;color:#94a3b8;cursor:pointer;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:2px;transition:all .15s}.result-tab:hover{border-color:#6366f1}.result-tab.active{background:#6366f1;color:#fff;border-color:#6366f1}.tab-count{font-size:10px;opacity:.7}.annotation-display{display:flex;flex-direction:column;gap:20px}.stats-bar{display:flex;gap:16px;padding:16px;background:#111827;border-radius:12px;border:1px solid #1e293b;flex-wrap:wrap}.stat{text-align:center;flex:1;min-width:80px}.stat-value{display:block;font-size:24px;font-weight:700;color:#6366f1}.stat-label{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.timeline{padding:16px;background:#111827;border-radius:12px;border:1px solid #1e293b}.timeline-bar{position:relative;height:40px;background:#1e293b;border-radius:6px;overflow:hidden}.timeline-segment{position:absolute;top:2px;height:36px;border-radius:3px;opacity:.8;cursor:pointer;transition:opacity .15s}.timeline-segment:hover{opacity:1;z-index:2}.timeline-labels{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:#64748b}.annotation-table{background:#111827;border-radius:12px;border:1px solid #1e293b;overflow:hidden;display:flex;flex-direction:column}.annotation-table-body{max-height:400px;overflow-y:auto}.annotation-table-body::-webkit-scrollbar{width:6px}.annotation-table-body::-webkit-scrollbar-track{background:transparent}.annotation-table-body::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}.table-header{display:flex;padding:10px 16px;background:#161b22;border-bottom:1px solid #1e293b;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.table-row{display:flex;padding:8px 16px;border-bottom:1px solid rgba(30,41,59,.3);font-size:13px;transition:background .1s}.table-row:hover{background:#1e293b66}.col-num{width:40px;color:#475569;font-weight:600}.col-time{width:140px;font-family:monospace;color:#818cf8}.col-dur{width:60px;color:#94a3b8}.col-text{flex:1;color:#e2e8f0;min-width:120px}.col-text-edit{cursor:text;border-radius:3px;padding:1px 3px;margin:-1px -3px;transition:background .12s}.col-text-edit:hover{background:#6366f11f;box-shadow:inset 0 0 0 1px #6366f159}.col-conf{width:100px;display:flex;align-items:center}.conf-bar{width:100%;height:6px;background:#1e293b;border-radius:3px;overflow:hidden}.conf-fill{height:100%;background:linear-gradient(90deg,#ef4444,#eab308,#22c55e);border-radius:3px}.col-conf2{flex:0 0 62px;width:62px;display:flex;align-items:baseline;gap:1px}.table-header .col-conf2{display:block}.conf2-val{font-family:ui-monospace,monospace;font-size:13px;font-weight:700;color:#cbd5e1}.conf2-suffix{font-size:9px;color:#475569}.conf2-empty{color:#475569;font-size:13px}.col-review{flex:0 0 150px;width:150px;display:flex;align-items:center;overflow:hidden}.review-cell{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:11px;font-weight:700;min-width:0}.review-cell.review-none{color:#475569;font-weight:600}.review-verdict{letter-spacing:.02em}.review-score{font-family:ui-monospace,monospace;font-weight:700}.review-issue{font-size:9px;font-weight:600;padding:0 5px;border-radius:7px;background:#94a3b824;color:#94a3b8;border:1px solid rgba(148,163,184,.3);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-cell.review-ok{color:#4ade80}.review-cell.review-ok .review-issue{background:#22c55e1f;color:#86efac;border-color:#22c55e4d}.review-cell.review-needsfix{color:#fbbf24}.review-cell.review-needsfix .review-issue{background:#f59e0b24;color:#fbbf24;border-color:#f59e0b59}.review-cell.review-failed{color:#f87171}.review-cell.review-resolved{color:#64748b}.review-cell.review-resolved .review-verdict{color:#7dd3a8;opacity:.85}.results-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:4px}.total-cost-bar{display:flex;gap:20px;padding:12px 20px;background:#111827;border:1px solid #1e293b;border-radius:10px}.total-cost-item{text-align:center}.total-cost-val{display:block;font-size:18px;font-weight:700;color:#22c55e}.total-cost-lbl{font-size:10px;color:#64748b;text-transform:uppercase}.player-section{display:flex;gap:16px;flex-wrap:wrap}.video-player{flex:2;min-width:300px;background:#111827;border-radius:12px;border:1px solid #1e293b;overflow:hidden}.video-player video{display:block;width:100%;max-height:400px;background:#000}.video-player video::-webkit-media-controls-fullscreen-button{display:none}.video-player video::-webkit-media-controls-download-button{display:none}.buffering-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#00000073;z-index:15;pointer-events:none;gap:12px}.buffering-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.15);border-top-color:#818cf8;border-radius:50%;animation:spin .9s linear infinite}.buffering-text{color:#e2e8f0;font-size:13px;font-weight:600;letter-spacing:.5px;text-shadow:0 1px 4px rgba(0,0,0,.6)}.active-panel{flex:1;min-width:260px;max-width:460px;display:flex;flex-direction:column;gap:8px}.active-annotation{padding:12px;background:#111827;border-radius:10px;border:1px solid #6366f1;display:flex;flex-direction:column;flex:1;overflow:hidden}.active-annotation.compact{gap:6px;overflow:hidden}.active-annotation.empty{border-color:#1e293b;text-align:center;color:#475569;justify-content:center}.edit-header-row{display:flex;align-items:center;gap:6px}.edit-ann-num{font-size:13px;color:#94a3b8;font-weight:700}.edit-dur-val{font-size:14px;color:#818cf8;font-weight:700;margin-left:auto}.edit-time-row{display:flex;align-items:center;gap:8px}.edit-time-field{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.edit-time-field label{font-size:11px;color:#64748b;font-weight:600;flex-shrink:0}.edit-time-field input{flex:1;min-width:0;background:#0f172a;border:1px solid #334155;border-radius:5px;color:#e2e8f0;padding:5px 8px;font-size:13px;font-family:monospace}.edit-time-field input:focus{border-color:#6366f1;outline:none}.edit-btn-row{display:flex;gap:5px;margin-top:6px;width:100%}.edit-btn-row button{flex:1;padding:5px 12px;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s;min-width:0;white-space:nowrap;overflow:hidden;margin:0}.edit-btn-row .loop-btn{margin-top:0;padding:5px 12px}.btn-qc-save{background:#6366f1;color:#fff;border:1px solid #6366f1}.btn-qc-save:hover{background:#4f46e5}.qc-side-info{background:#111827;border:1px solid #1e293b;border-radius:10px;padding:6px 10px}.qc-summary-wrap{margin-bottom:4px;border-bottom:1px solid #1e293b;padding-bottom:4px}.qc-summary-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.qc-summary-label{font-size:9px;color:#6366f1;text-transform:uppercase;letter-spacing:.5px;font-weight:700;display:block}.qc-stats-toggle{border:none;background:transparent;color:#64748b;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;padding:0 2px;line-height:1;transition:color .15s}.qc-stats-toggle:hover{color:#818cf8}.qc-summary-edit{width:100%;box-sizing:border-box;min-height:34px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#facc15;font-size:12px;font-weight:600;padding:4px 8px;resize:vertical;line-height:1.3;font-family:inherit}.qc-summary-edit:focus{border-color:#6366f1;outline:none}.qc-summary-edit::placeholder{color:#475569;font-weight:400}.qc-stats-compact{display:grid;grid-template-columns:repeat(2,1fr);gap:2px 4px}.qc-stat-item{text-align:center;padding:1px 4px}.qc-stat-val{display:block;font-size:13px;line-height:1.15;font-weight:800;color:#6366f1}.qc-stat-lbl{font-size:8px;line-height:1.1;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.qc-header-bar{display:flex;align-items:center;gap:10px;padding:4px 0}.qc-filename{font-family:monospace;font-size:13px;color:#e2e8f0;font-weight:700;flex-shrink:0;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qc-progress-inline{flex:1;display:flex;align-items:center;gap:8px}.qc-progress-inline .qc-bar{flex:1}.qc-progress-inline .qc-label{font-size:11px;white-space:nowrap}.frame-counter-inline{font-size:12px;color:#4ade80;font-weight:600}.active-hint{font-size:12px;margin-top:8px;color:#334155}.active-ann-time{font-family:monospace;font-size:18px;color:#818cf8;font-weight:700;margin-bottom:8px}.active-ann-text{font-size:16px;color:#e2e8f0;line-height:1.5;margin-bottom:12px}.active-ann-objects{display:flex;flex-wrap:wrap;gap:6px}.object-tag{padding:3px 10px;border-radius:12px;background:#1e293b;color:#94a3b8;font-size:11px}.loop-btn{margin-top:12px;padding:8px 14px;border:1px solid #334155;border-radius:6px;background:transparent;color:#94a3b8;font-size:12px;cursor:pointer;transition:all .15s}.loop-btn:hover{border-color:#6366f1;color:#e2e8f0}.loop-btn.active{background:#6366f1;border-color:#6366f1;color:#fff;animation:loopPulse 2s infinite}@keyframes loopPulse{0%,to{box-shadow:0 0 #6366f166}50%{box-shadow:0 0 0 6px #6366f100}}.timeline-segment.active{opacity:1;z-index:5;box-shadow:0 0 8px #6366f199}.table-row{cursor:pointer}.table-row.row-active{background:#6366f126;border-left:3px solid #6366f1}.result-actions{display:flex;gap:12px;justify-content:flex-end}.json-viewer{background:#0d1117;border:1px solid #1e293b;border-radius:12px;padding:16px;max-height:400px;overflow:auto}.json-viewer pre{font-family:monospace;font-size:11px;color:#94a3b8;white-space:pre-wrap;word-break:break-all}.json-viewer::-webkit-scrollbar{width:6px}.json-viewer::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}.timing-section{background:#111827;border:1px solid #1e293b;border-radius:12px;padding:16px 20px}.timing-title{font-size:13px;font-weight:600;color:#94a3b8;margin-bottom:12px}.timing-grid{display:flex;flex-direction:column;gap:8px}.timing-row{display:flex;align-items:center;gap:12px}.timing-label{font-size:12px;color:#94a3b8;min-width:120px}.timing-bar-bg{flex:1;height:8px;background:#1e293b;border-radius:4px;overflow:hidden}.timing-bar-fill{height:100%;background:linear-gradient(90deg,#6366f1,#818cf8);border-radius:4px;transition:width .3s}.timing-value{font-size:13px;font-weight:700;color:#e2e8f0;min-width:70px;text-align:right;font-family:monospace}.timing-total{border-top:1px solid #334155;padding-top:8px;margin-top:4px}.timing-total .timing-label{font-weight:700;color:#e2e8f0}.timing-total .timing-value{color:#4ade80;font-size:14px}.timing-batches{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}.timing-batch-label{font-size:11px;color:#64748b}.timing-batch-chip{padding:2px 8px;border-radius:10px;background:#1e293b;color:#818cf8;font-size:11px;font-family:monospace}.no-selection{text-align:center;padding:60px;color:#475569;font-size:16px}.testlab-view{display:flex;flex-direction:column;gap:16px}.testlab-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px}.testlab-table{background:#111827;border:1px solid #1e293b;border-radius:10px;overflow-x:auto;font-size:12px}.testlab-thead{display:flex;background:#334155;padding:8px 0;font-weight:700;color:#94a3b8;text-transform:uppercase;font-size:10px;letter-spacing:.5px;position:sticky;top:0}.testlab-row{display:flex;padding:6px 0;border-top:1px solid #1e293b;cursor:pointer;transition:background .1s}.testlab-row:hover{background:#1e293b55}.testlab-row.row-active{background:#6366f126}.testlab-row.row-error{opacity:.5}.tl-c{padding:0 6px;flex-shrink:0}.tl-name{width:40px;font-weight:700;color:#818cf8}.tl-model{width:100px;color:#94a3b8}.tl-num{width:45px;text-align:right;color:#cbd5e1}.tl-tok{width:70px;text-align:right;color:#94a3b8;font-family:monospace}.tl-cost{width:80px;text-align:right;color:#4ade80;font-family:monospace;font-weight:600}.testlab-detail{background:#111827;border:1px solid #6366f1;border-radius:10px;padding:16px}.testlab-detail h4{color:#e2e8f0;margin-bottom:8px;font-size:14px}.testlab-detail p{color:#94a3b8;font-size:13px;margin-bottom:4px}.testlab-detail ul{margin:8px 0 0 20px;color:#94a3b8;font-size:13px}.testlab-detail li{margin:2px 0}.testlab-detail-header{margin-bottom:12px}.testlab-detail-stats{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:#94a3b8;margin-top:6px}.testlab-batch-times{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px}.testlab-anns{margin-top:12px}.testlab-anns h4{font-size:13px;color:#94a3b8;margin-bottom:8px}.testlab-anns-table{background:#0d1117;border-radius:8px;overflow:hidden}.testlab-anns-header{display:flex;padding:6px 10px;background:#1e293b;font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase}.testlab-anns-body{max-height:300px;overflow-y:auto}.testlab-anns-body::-webkit-scrollbar{width:4px}.testlab-anns-body::-webkit-scrollbar-thumb{background:#334155;border-radius:2px}.testlab-anns-row{display:flex;padding:5px 10px;border-top:1px solid #1e293b22;font-size:12px}.testlab-anns-row:hover{background:#1e293b44}.ta-num{width:30px;color:#475569;font-weight:600}.ta-time{width:110px;font-family:monospace;color:#818cf8}.ta-text{flex:1;color:#e2e8f0}.ta-conf{width:40px;text-align:right;color:#94a3b8}.ta-obj{width:120px;color:#64748b;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.testlab-input{display:flex;gap:12px;align-items:center}.testlab-url{flex:1;padding:10px 14px;border:1px solid #334155;border-radius:8px;background:#0d1117;color:#e2e8f0;font-size:13px;outline:none}.testlab-url:focus{border-color:#6366f1}.testlab-history{margin:8px 0}.testlab-history h4{font-size:13px;color:#94a3b8;margin-bottom:8px}.testlab-history-list{display:flex;gap:8px;flex-wrap:wrap}.testlab-history-btn{display:flex;flex-direction:column;gap:2px;padding:8px 14px;border:1px solid #334155;border-radius:8px;background:#111827;color:#94a3b8;cursor:pointer;font-size:12px;text-align:left;transition:all .15s}.testlab-history-btn:hover{border-color:#6366f1}.testlab-history-btn.active{border-color:#6366f1;background:#6366f11a}.th-id{font-family:monospace;font-weight:700;color:#818cf8}.th-date{font-size:10px;color:#64748b}.th-cost{font-size:11px;color:#4ade80;font-weight:600}.th-tests{font-size:10px;color:#475569}.testlab-history-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.testlab-dropdown{flex:1;min-width:300px;padding:8px 12px;border:1px solid #334155;border-radius:6px;background:#0d1117;color:#e2e8f0;font-size:13px;cursor:pointer}.testlab-dropdown:focus{border-color:#6366f1;outline:none}.testlab-run-info{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:#94a3b8;padding:8px 12px;background:#111827;border-radius:6px}.test-config-banner{background:#6366f126;color:#818cf8;padding:6px 12px;border-radius:6px;font-size:12px;font-family:monospace;margin-top:4px}.qc-progress{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#111827;border-radius:8px;border:1px solid #1e293b}.qc-bar{flex:1;height:8px;background:#334155;border-radius:4px;overflow:hidden;display:flex}.qc-fill{height:100%;transition:width .3s}.qc-fill.qc-approved{background:#22c55e}.qc-fill.qc-rejected{background:#ef4444}.qc-label{font-size:12px;color:#94a3b8;white-space:nowrap}.btn-approve-all{padding:5px 12px;border:1px solid #22c55e;border-radius:6px;background:transparent;color:#22c55e;font-size:11px;font-weight:600;cursor:pointer}.btn-approve-all:hover{background:#22c55e26}.qc-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;margin-bottom:8px}.qc-approved,.col-qc.qc-approved{color:#4ade80}.qc-rejected,.col-qc.qc-rejected{color:#f87171}.qc-pending,.col-qc.qc-pending{color:#818cf8}.qc-badge.qc-approved{background:#22c55e33}.qc-badge.qc-rejected{background:#ef444433}.qc-badge.qc-pending{background:#6366f133}.active-ann-actions{display:flex;gap:8px;margin-top:12px}.btn-qc-approve{padding:6px 14px;border:1px solid #22c55e;border-radius:6px;background:transparent;color:#22c55e;font-size:12px;font-weight:600;cursor:pointer}.btn-qc-approve:hover{background:#22c55e33}.btn-qc-reject{padding:6px 14px;border:1px solid #ef4444;border-radius:6px;background:transparent;color:#ef4444;font-size:12px;font-weight:600;cursor:pointer}.btn-qc-reject:hover{background:#ef444433}.col-qc{width:70px;font-size:11px;font-weight:600;text-transform:uppercase}.edit-label{display:block;font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:8px 0 4px}.edit-textarea{width:100%;padding:8px;border:1px solid #334155;border-radius:6px;background:#0d1117;color:#e2e8f0;font-size:13px;resize:vertical;outline:none;font-family:inherit}.edit-textarea:focus{border-color:#6366f1}.edit-row{display:flex;gap:8px}.edit-field{flex:1}.edit-field input[type=number]{width:100%;padding:6px 8px;border:1px solid #334155;border-radius:4px;background:#0d1117;color:#e2e8f0;font-size:13px;outline:none}.edit-field input[type=number]:focus{border-color:#6366f1}.edit-field input[type=range]{width:100%;accent-color:#6366f1}.edit-conf-val{font-size:11px;color:#818cf8}.edit-objects{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0}.object-tag.editable{display:flex;align-items:center;gap:4px}.obj-remove{border:none;background:none;color:#64748b;cursor:pointer;font-size:12px;padding:0 2px;line-height:1}.obj-remove:hover{color:#f87171}.obj-add-input{padding:3px 8px;border:1px dashed #334155;border-radius:10px;background:transparent;color:#94a3b8;font-size:11px;width:70px;outline:none}.obj-add-input:focus{border-color:#6366f1;width:100px}.btn-save{width:100%;padding:8px;margin-top:10px;border:none;border-radius:6px;background:#6366f1;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.btn-save:hover{background:#4f46e5}.edit-input{width:100%;padding:4px 8px;border:1px solid #6366f1;border-radius:4px;background:#0d1117;color:#e2e8f0;font-size:13px;outline:none}.original-text{font-size:11px;color:#475569;font-style:italic;margin:4px 0 8px;padding:6px 8px;background:#0d1117;border-radius:4px;border-left:2px solid #334155}.overlay-controls{display:flex;gap:16px;padding:8px 0}.overlay-controls label{font-size:13px;color:#94a3b8;cursor:pointer;display:flex;align-items:center;gap:6px}.overlay-controls input[type=checkbox]{accent-color:#6366f1}.timeline-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px;flex-wrap:wrap}.timeline-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px}.toolbar-sep{width:1px;height:16px;background:#334155;flex-shrink:0}.toolbar-toggle{font-size:10px;color:#64748b;display:flex;align-items:center;gap:3px;cursor:pointer;white-space:nowrap}.toolbar-toggle input{accent-color:#6366f1}.toolbar-toggle.flags-first-on{color:#f87171;font-weight:600}.help-btn{width:22px;height:22px;border-radius:50%;border:1px solid #6366f1;background:transparent;color:#818cf8;font-size:12px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;margin-left:auto;flex-shrink:0}.help-btn:hover{background:#6366f1;color:#fff}.nav-btn{padding:4px 14px;border:1px solid #334155;border-radius:6px;background:transparent;color:#94a3b8;font-size:12px;font-weight:600;cursor:pointer}.nav-btn:hover:not(:disabled){border-color:#6366f1;color:#e2e8f0}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.nav-info{font-size:12px;color:#64748b}.zoom-controls{display:flex;align-items:center;gap:6px;margin-left:auto}.zoom-btn{width:28px;height:28px;border:1px solid #334155;border-radius:6px;background:#1e293b;color:#e2e8f0;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}.zoom-btn:hover{border-color:#6366f1;background:#334155}.zoom-label{font-size:12px;color:#94a3b8;font-weight:600;min-width:24px;text-align:center}.timeline-viewport{overflow-x:auto;overflow-y:hidden;border-radius:6px}.timeline-viewport::-webkit-scrollbar{height:6px}.timeline-viewport::-webkit-scrollbar-track{background:#1e293b;border-radius:3px}.timeline-viewport::-webkit-scrollbar-thumb{background:#6366f1;border-radius:3px}.timeline-viewport::-webkit-scrollbar-thumb:hover{background:#818cf8}.timeline .timeline-bar{transition:transform .15s ease}.timeline .timeline-labels{transition:transform .15s ease;display:flex;justify-content:space-between}.timeline-labels-inner{display:flex;justify-content:space-between;font-size:10px;color:#64748b;margin-top:3px;padding:0 2px}.frame-counter{font-family:SF Mono,Fira Code,monospace;font-size:11px;color:#818cf8;background:#6366f11f;padding:2px 8px;border-radius:4px;white-space:nowrap}.table-toolbar{display:flex;justify-content:flex-end;align-items:center;padding:0 2px 6px}.auto-sync-toggle{font-size:11px;color:#64748b;cursor:pointer;display:flex;align-items:center;gap:4px;margin-left:auto}.auto-sync-toggle input{accent-color:#6366f1}.playhead{position:absolute;top:0;width:2px;height:100%;background:#fff;z-index:20;pointer-events:auto;cursor:col-resize;transition:left .1s linear}.playhead:before{content:"";position:absolute;top:0;left:-8px;width:18px;height:100%;z-index:1}.playhead:after{content:"";position:absolute;top:-6px;left:-6px;width:14px;height:14px;background:#fff;border-radius:50%;border:2px solid #6366f1;z-index:2;transition:transform .15s}.playhead:hover:after{transform:scale(1.3);background:#818cf8}.playhead-dragging{transition:none}.playhead-dragging:after{transform:scale(1.4);background:#6366f1;box-shadow:0 0 8px #6366f199}.timeline-segment.playing{box-shadow:0 0 8px #fff6;transform:scaleY(1.15)}.object-tag.editable{border:1px solid;border-radius:14px;padding:3px 10px;font-size:11px;display:flex;align-items:center;gap:4px}.obj-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0a0e17}.login-form{width:360px;padding:40px;background:#111827;border:1px solid #1e293b;border-radius:16px;text-align:center}.login-logo{width:56px;height:56px;border-radius:12px;margin:0 auto 16px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;color:#fff}.login-form h2{font-size:22px;color:#f1f5f9;margin-bottom:4px}.login-form p{color:#64748b;font-size:13px;margin-bottom:24px}.login-form input{width:100%;padding:12px 14px;margin-bottom:12px;border-radius:8px;border:1px solid #1e293b;background:#0d1117;color:#e2e8f0;font-size:14px;outline:none}.login-form input:focus{border-color:#6366f1}.login-form .btn-primary{width:100%;margin-top:8px}.login-error{color:#f87171;font-size:13px;margin-bottom:12px;padding:8px;background:#ef44441a;border-radius:6px}.btn-logout{padding:6px 12px;border:1px solid #334155;border-radius:6px;background:transparent;color:#94a3b8;font-size:11px;cursor:pointer;margin-left:8px}.btn-logout:hover{border-color:#ef4444;color:#f87171}.video-error{margin-top:8px;font-size:12px;color:#f87171;font-weight:600;text-align:center}.btn-stop{padding:4px 12px;border:1px solid #eab308;border-radius:6px;background:transparent;color:#eab308;font-size:12px;font-weight:600;cursor:pointer}.btn-stop:hover{background:#eab30826}.btn-delete-sm{padding:4px 12px;border:1px solid #ef4444;border-radius:6px;background:transparent;color:#ef4444;font-size:12px;font-weight:600;cursor:pointer}.btn-delete-sm:hover{background:#ef444426}.btn-delete{padding:4px 10px;border:1px solid #475569;border-radius:4px;background:transparent;color:#94a3b8;font-size:11px;cursor:pointer}.btn-delete:hover{border-color:#ef4444;color:#f87171}.prev-jobs{margin-top:40px}.prev-jobs h3{font-size:16px;font-weight:600;margin-bottom:12px;color:#94a3b8}.prev-jobs-list{display:flex;flex-direction:column;gap:6px}.prev-job-row{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#111827;border:1px solid #1e293b;border-radius:8px}.prev-job-id{font-family:monospace;font-weight:700;color:#818cf8;cursor:pointer;min-width:70px}.prev-job-id:hover{text-decoration:underline}.prev-job-count{font-size:12px;color:#64748b}.prev-job-date{font-size:12px;color:#475569;margin-left:auto}.status-stopped,.status-interrupted{background:#eab30833;color:#eab308}.qc-review-view{display:flex;flex-direction:column;gap:16px}.qc-list{background:#111827;border:1px solid #1e293b;border-radius:10px;overflow:hidden;margin-top:16px}.qc-list-header{display:flex;padding:8px 12px;background:#334155;font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;gap:8px;align-items:center}.qc-list-row{display:flex;padding:8px 12px;border-top:1px solid #1e293b;align-items:center;font-size:12px;gap:8px;transition:transform .4s ease,opacity .4s ease,max-height .4s ease,padding .4s ease;max-height:80px;overflow:hidden}.qc-list-row:hover{background:#1e293b44}.qc-list-row.qc-downloading{opacity:.7}.qc-list-row.qc-row-deleting{transform:translate(100%);opacity:0;max-height:0;padding-top:0;padding-bottom:0;border-top-color:transparent}.qc-col-sno{flex:0 0 30px;font-weight:700;color:#818cf8;text-align:center}.qc-col-id{flex:0 0 65px;font-family:monospace;color:#94a3b8;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qc-col-status{flex:0 0 85px;overflow:hidden}.qc-col-url{flex:1 1 120px;color:#94a3b8;font-size:11px;overflow:hidden;min-width:0;display:flex;align-items:center;gap:4px}.qc-col-url .url-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.copy-link-btn{flex-shrink:0;padding:1px 5px;font-size:9px;border:1px solid #334155;border-radius:3px;background:transparent;color:#94a3b8;cursor:pointer;transition:all .15s}.copy-link-btn:hover{border-color:#6366f1;color:#e2e8f0}.qc-col-anns{flex:0 0 35px;text-align:center;color:#e2e8f0;font-weight:600;font-size:12px}.qc-col-frames{flex:0 0 55px;text-align:center;font-size:10px}.qc-col-qcstatus{flex:0 0 85px;text-align:center}.qc-col-accuracy{flex:0 0 45px;text-align:center}.qc-col-edits{flex:0 0 35px;text-align:center;font-size:11px}.qc-col-date{flex:0 0 105px;color:#64748b;font-size:10px;white-space:nowrap}.qc-col-actions{flex:0 0 90px;display:flex;gap:4px}.qc-status-select{background:#0f172a;border:1px solid #334155;border-radius:4px;color:#e2e8f0;font-size:10px;font-weight:600;padding:3px 4px;cursor:pointer;text-transform:uppercase;width:100%}.qc-status-select:focus{border-color:#6366f1;outline:none}.qc-sel-pending{color:#818cf8;border-color:#6366f144}.qc-sel-approved{color:#4ade80;border-color:#22c55e44}.qc-sel-rejected{color:#f87171;border-color:#ef444444}.qc-filter-bar{display:flex;align-items:center;gap:10px;margin:12px 0 8px;flex-wrap:wrap}.qc-search{flex:1;min-width:200px;background:#111827;border:1px solid #334155;border-radius:6px;color:#e2e8f0;padding:7px 12px;font-size:12px}.qc-search:focus{border-color:#6366f1;outline:none}.qc-search::placeholder{color:#475569}.qc-status-filters{display:flex;gap:4px;align-items:center}.qc-filter-btn{padding:4px 10px;font-size:10px;font-weight:600;text-transform:uppercase;border-radius:12px;cursor:pointer;transition:all .15s;border:1px solid #334155;background:transparent;color:#64748b}.qc-filter-btn.active{border-color:currentColor}.qc-filter-pending{color:#818cf8}.qc-filter-pending.active{background:#6366f126;border-color:#6366f1}.qc-filter-approved{color:#4ade80}.qc-filter-approved.active{background:#22c55e26;border-color:#22c55e}.qc-filter-rejected{color:#f87171}.qc-filter-rejected.active{background:#ef444426;border-color:#ef4444}.qc-filter-clear{padding:4px 8px;font-size:10px;border:none;background:transparent;color:#64748b;cursor:pointer;text-decoration:underline}.qc-list-empty{padding:20px;text-align:center;color:#475569;font-size:13px}.accuracy-pill{font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px}.accuracy-pill.acc-perfect{color:#4ade80;background:#22c55e1f}.accuracy-pill.acc-good{color:#facc15;background:#facc151f}.accuracy-pill.acc-low{color:#f87171;background:#f871711f}.edits-pill{font-size:10px;color:#94a3b8;background:#1e293b;padding:2px 8px;border-radius:10px}.qc-dl-text{font-size:10px;color:#eab308}.status-downloading{background:#eab30833;color:#eab308}.status-extracting{background:#6366f133;color:#818cf8}.frames-ready{color:#4ade80;font-weight:600}.frames-extracting{color:#818cf8;display:flex;align-items:center;gap:4px;justify-content:center}.extract-spinner{width:10px;height:10px;border:2px solid #334155;border-top-color:#818cf8;border-radius:50%;animation:spin .8s linear infinite}.drag-handle{position:absolute;top:0;width:6px;height:100%;cursor:col-resize;z-index:10;opacity:0;transition:opacity .15s}.drag-handle:hover,.drag-handle:active{opacity:1}.drag-left{left:-1px;background:#fff;border-radius:3px 0 0 3px}.drag-right{right:-1px;background:#fff;border-radius:0 3px 3px 0}.timeline-segment:hover .drag-handle{opacity:.6}.timeline-segment .drag-handle:hover{opacity:1;background:#6366f1}.timeline-segment:before,.timeline-segment:after{content:"";position:absolute;top:0;width:4px;height:100%;z-index:2}.timeline-segment:before{left:0;background:linear-gradient(90deg,rgba(255,255,255,.3),transparent);border-radius:3px 0 0 3px}.timeline-segment:after{right:0;background:linear-gradient(270deg,rgba(255,255,255,.3),transparent);border-radius:0 3px 3px 0}.diff-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center}.diff-modal{background:#111827;border:1px solid #334155;border-radius:12px;padding:24px;min-width:400px;max-width:600px;max-height:80vh;overflow-y:auto}.diff-modal h3{color:#e2e8f0;margin-bottom:16px}.diff-content{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.diff-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:6px 8px;background:#1e293b;border-radius:6px}.diff-num{color:#818cf8;font-weight:700;width:30px}.diff-old{color:#f87171;font-family:monospace;text-decoration:line-through}.diff-arrow{color:#64748b}.diff-new{color:#4ade80;font-family:monospace;font-weight:600}.diff-text{color:#94a3b8;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.diff-fields{display:flex;flex-direction:column;gap:4px;flex:1}.diff-field{display:flex;align-items:center;gap:8px}.diff-added{border-left:3px solid #4ade80}.diff-removed{border-left:3px solid #f87171}.diff-empty{color:#64748b;text-align:center;padding:20px;font-style:italic}.diff-entry-info{display:flex;gap:10px;align-items:center;margin-bottom:12px;padding:8px 10px;background:#1e293b;border-radius:6px;font-size:12px}.diff-entry-type{color:#818cf8;font-weight:700;text-transform:uppercase;font-size:10px;background:#6366f126;padding:2px 6px;border-radius:4px}.diff-entry-desc{color:#e2e8f0;flex:1}.diff-entry-time{color:#475569;font-family:monospace;font-size:11px}.diff-summary{font-size:12px;color:#94a3b8;padding:8px 0;margin-bottom:8px;border-top:1px solid #1e293b}.diff-actions{display:flex;gap:10px;justify-content:flex-end}.btn-revert{background:#ef444426;color:#f87171;border:1px solid #f87171;border-radius:6px;padding:6px 14px;cursor:pointer;font-size:12px;font-weight:600;transition:background .15s}.btn-revert:hover{background:#ef44444d}.session-edits-list{display:flex;flex-direction:column;gap:3px;margin-bottom:12px;max-height:120px;overflow-y:auto;padding:8px;background:#0f172a;border-radius:6px;border:1px solid #1e293b}.session-edit-item{display:flex;align-items:center;gap:8px;font-size:11px;padding:3px 6px}.session-edit-type{color:#818cf8;font-weight:700;text-transform:uppercase;font-size:9px;background:#6366f126;padding:1px 5px;border-radius:3px;flex-shrink:0}.session-edit-desc{color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-actions{display:flex;align-items:center;gap:8px;margin-bottom:6px}.help-modal{background:#111827;border:1px solid #334155;border-radius:12px;padding:0;min-width:500px;max-width:650px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.help-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #1e293b}.help-header h3{color:#e2e8f0;margin:0;font-size:18px}.help-close{background:none;border:none;color:#64748b;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px}.help-close:hover{color:#e2e8f0;background:#1e293b}.help-content{overflow-y:auto;padding:16px 20px}.help-section{margin-bottom:16px}.help-section h4{color:#818cf8;font-size:13px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #1e293b}.help-item{display:flex;gap:12px;padding:5px 0;font-size:12px}.help-key{color:#facc15;font-weight:700;min-width:140px;flex-shrink:0;font-size:11px}.help-desc{color:#94a3b8;line-height:1.4}.accuracy-badge{font-size:11px;color:#4ade80;background:#22c55e1a;padding:3px 10px;border-radius:10px;margin-left:auto}.change-history{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px;align-items:center}.history-label{font-size:10px;color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-right:4px}.history-chip{font-size:10px;color:#94a3b8;background:#1e293b;padding:3px 8px;border-radius:10px;border:1px solid #334155;display:flex;align-items:center;gap:6px}.history-chip:hover{border-color:#6366f1}.history-chip-text{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-chip-time{color:#475569;font-size:9px;font-family:monospace}.history-eye-btn{background:none;border:none;cursor:pointer;font-size:12px;padding:0 2px;opacity:.6;transition:opacity .15s}.history-eye-btn:hover{opacity:1}.timecode-display{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.timecode{font-family:monospace;font-size:14px;color:#818cf8;font-weight:700;letter-spacing:1px}.timecode.drag-time{color:#4ade80;font-size:16px;background:#22c55e26;padding:2px 8px;border-radius:4px}.stats-bar{display:flex;gap:16px;padding:12px 16px;background:#111827;border-radius:10px;border:1px solid #1e293b;flex-wrap:nowrap}.stat{text-align:center;min-width:70px;white-space:nowrap}.stat-value{display:block;font-size:20px;font-weight:700;color:#6366f1}.stat-label{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.bulk-import{border-top:1px solid #1e293b;padding-top:12px;margin-top:8px}.bulk-results{margin-top:10px}.bulk-result-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:12px;border-bottom:1px solid #1e293b22}.bulk-ok{color:#4ade80}.bulk-fail{color:#f87171}.bulk-sno{width:24px;color:#64748b;font-weight:700}.bulk-filename{flex:1;color:#e2e8f0}.bulk-anns{color:#818cf8;font-weight:600}.bulk-msg{color:#94a3b8;font-size:11px}.bulk-expand{color:#6366f1;font-size:11px;cursor:pointer;font-weight:600;margin-left:auto}.bulk-result-item{border-bottom:1px solid #1e293b22}.bulk-result-row{cursor:pointer}.bulk-edit-panel{padding:8px 0 12px 34px}.bulk-edit-panel .import-textarea{font-size:11px}.bulk-edit-panel .import-actions{margin-top:6px}.bulk-link-row{display:flex;gap:6px;margin-bottom:6px;align-items:center}.bulk-link-row .testlab-url{flex:1}.summary-banner{background:#22c55e1a;color:#4ade80;padding:8px 14px;border-radius:6px;font-size:14px;margin-top:4px;border-left:3px solid #4ade80}.ai-review-run{border-color:#6366f1!important;color:#a5b4fc!important}.ai-review-run:disabled{opacity:.6;cursor:default}.ai-next-flagged{border-color:#f59e0b!important;color:#fbbf24!important}.review-summary-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0;align-items:center}.rev-chip{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;background:#1e293b;color:#cbd5e1;border:1px solid #334155}.rev-chip-flag{background:#f59e0b26;color:#fbbf24;border-color:#f59e0b66}.rev-chip-fail{background:#ef444426;color:#f87171;border-color:#ef444466}.rev-chip-model{background:#6366f126;color:#a5b4fc;border-color:#6366f166}.rev-chip-issue{background:#94a3b81f}.rev-status-running{background:#6366f12e;color:#a5b4fc;border-color:#6366f180}.rev-status-done{background:#22c55e26;color:#4ade80;border-color:#22c55e66}.rev-status-failed{background:#ef444426;color:#f87171;border-color:#ef444466}.timeline-segment.flagged{outline:2px solid #f59e0b;outline-offset:-1px;box-shadow:0 0 6px #f59e0b99}.timeline-segment.rev-failed-seg{outline:2px dashed #ef4444;outline-offset:-1px}.table-row.row-flagged{background:#f59e0b14;box-shadow:inset 3px 0 #f59e0b}.table-row.row-rev-failed{box-shadow:inset 3px 0 #ef4444}.flag-dot{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-right:4px;border-radius:50%;background:#f59e0b;color:#111827;font-size:10px;font-weight:800}.sev-badge{display:inline-block;padding:1px 7px;border-radius:8px;font-size:10px;font-weight:700;text-transform:uppercase;border:1px solid transparent}.sev-major{background:#e5484d2e;color:#f2555a;border-color:#e5484d73}.sev-minor{background:#f5a52429;color:#f5a524;border-color:#f5a52466}.sev-hint{background:#94a3b81f;color:#94a3b8;border-color:#94a3b84d}.timeline-segment.flagged.flag-hint{outline-color:#64748b;box-shadow:none}.table-row.row-flagged.row-flagged-hint{background:#94a3b80d;box-shadow:inset 3px 0 #64748b}.table-row.row-flagged-hint .flag-dot{background:#64748b;color:#e2e8f0}.sev-badge.auto-adj{background:#38bdf824;color:#38bdf8;border-color:#38bdf866;text-transform:none}.review-cell.review-autoadj{color:#38bdf8}.rev-chip-autoadj{background:#38bdf81f;color:#7dd3fc;border-color:#38bdf859}.timeline-segment.auto-adj-seg{outline:1px solid rgba(56,189,248,.55);outline-offset:-1px}.table-row.row-auto-adj{background:#38bdf80a;box-shadow:inset 3px 0 #38bdf873}.flag-dot.auto-adj-dot{background:#38bdf838;color:#7dd3fc}.ai-review-panel.rev-autoadj{border-color:#38bdf859}.ai-review-panel.rev-autoadj .ai-review-title{color:#7dd3fc}.autoadj-edges{display:flex;flex-direction:column;gap:2px}.autoadj-edge{font-size:12px;color:#bae6fd;font-family:ui-monospace,monospace}.autoadj-edge .autoadj-delta{color:#64748b}.autoadj-edge .autoadj-note{font-size:10px;font-weight:600;color:#7dd3fc;font-family:inherit;margin-left:4px}.ai-revert-btn{padding:3px 10px;border-radius:6px;border:1px solid rgba(56,189,248,.5);background:#38bdf81a;color:#7dd3fc;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}.ai-revert-btn:hover:not(:disabled){background:#38bdf838}.ai-revert-btn:disabled{opacity:.4;cursor:not-allowed}.autoadj-revert-ok{font-size:11px;font-weight:600;color:#4ade80}.sev-badge.auto-adj-reverted{background:#94a3b81a;color:#94a3b8;border-color:#94a3b84d;text-transform:none}.review-cell.review-autoadj-reverted{color:#94a3b8}.ai-review-panel.rev-autoadj-reverted{border-color:#94a3b84d}.autoadj-mixed{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin:4px 0 8px;padding:6px 8px;border:1px dashed rgba(56,189,248,.35);border-radius:6px}.autoadj-mixed .autoadj-edges{flex:1;min-width:0}.ai-review-panel{margin-top:10px;padding:10px;border-radius:8px;background:#0f172a;border:1px solid #334155}.ai-review-panel::-webkit-scrollbar{width:6px}.ai-review-panel::-webkit-scrollbar-track{background:transparent}.ai-review-panel::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}.ai-review-panel{scrollbar-width:thin;scrollbar-color:#334155 transparent}.ai-review-panel.rev-needsfix{border-color:#f59e0b80}.ai-review-panel.rev-failed{border-color:#ef444480}.ai-review-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.ai-review-title{font-size:12px;font-weight:700;color:#e2e8f0}.ai-verdict-badge{padding:1px 8px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase}.ai-verdict-badge.rev-needsfix{background:#f59e0b33;color:#fbbf24}.ai-verdict-badge.rev-ok{background:#22c55e33;color:#4ade80}.ai-verdict-badge.rev-failed{background:#ef444433;color:#f87171}.ai-review-conf{font-size:13px;font-weight:700;color:#cbd5e1;font-family:ui-monospace,monospace}.ai-review-conf .conf-suffix{font-size:9px;font-weight:600;color:#64748b;margin-left:1px}.ai-issue-badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.ai-issue-badge{padding:1px 7px;border-radius:8px;font-size:10px;font-weight:600;background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.35)}.ai-review-explain{font-size:12px;color:#cbd5e1;margin:4px 0 8px;line-height:1.4;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.ai-suggest-rows{display:flex;flex-direction:column;gap:6px}.ai-suggest-row{display:flex;align-items:center;gap:8px}.ai-suggest-diff{flex:1;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px}.ai-old{color:#f87171;text-decoration:line-through}.ai-new{color:#4ade80;font-weight:600}.ai-arrow{color:#64748b}.ai-accept-btn{padding:3px 10px;border-radius:6px;border:1px solid #22c55e;background:#22c55e1f;color:#4ade80;font-size:11px;font-weight:600;cursor:pointer}.ai-accept-btn:hover:not(:disabled){background:#22c55e40}.ai-accept-btn:disabled{opacity:.4;cursor:not-allowed}.ai-review-actions{display:flex;gap:6px;margin-left:auto;align-items:center}.ai-accept-all{padding:3px 12px;border-radius:6px;border:1px solid #22c55e;background:#22c55e2e;color:#4ade80;font-size:11px;font-weight:700;cursor:pointer}.ai-accept-all:disabled{opacity:.4;cursor:not-allowed}.ai-dismiss{padding:3px 12px;border-radius:6px;border:1px solid #475569;background:transparent;color:#94a3b8;font-size:11px;cursor:pointer}.ai-dismiss:hover{color:#e2e8f0;border-color:#64748b}.ai-dismiss:disabled{opacity:.4;cursor:not-allowed}.ai-missing-panel{margin-top:8px;max-height:none;overflow-y:visible}.ai-missing-row{align-items:flex-start}.ai-missing-body{flex:1;min-width:0}.ai-missing-text{font-size:12px;color:#e2e8f0;font-weight:600;line-height:1.4}.ai-missing-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:11px;color:#94a3b8}.ai-missing-time{color:#a5b4fc;font-weight:600}.ai-missing-after{color:#64748b}.ai-missing-actions{display:flex;gap:6px;flex-shrink:0}.pc-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:#f59e0b;color:#111827;font-size:12px;font-weight:800}.pc-error{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.4);border-radius:6px;padding:8px 12px;font-size:13px;margin:8px 0;white-space:pre-wrap}.pc-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.pc-item{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;background:#0f172a;border:1px solid #334155;border-radius:10px;padding:14px 16px}.pc-item-main{flex:1;min-width:0}.pc-item-title{font-size:14px;font-weight:600;color:#e2e8f0;margin-bottom:6px}.pc-item-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pc-tag{padding:1px 7px;border-radius:8px;font-size:11px;font-weight:700;background:#6366f126;color:#a5b4fc;border:1px solid rgba(99,102,241,.4)}.pc-meta-txt{font-size:11px;color:#94a3b8}.pc-status{padding:1px 8px;border-radius:8px;font-size:10px;font-weight:700;text-transform:uppercase}.pc-status-pending{background:#f59e0b26;color:#fbbf24}.pc-status-approved{background:#22c55e26;color:#4ade80}.pc-status-rejected{background:#ef444426;color:#f87171}.pc-evidence{margin-top:8px;font-size:12px;color:#cbd5e1;line-height:1.4;word-break:break-word}.pc-evidence-label{color:#94a3b8;font-weight:600}.pc-item-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.pc-item-actions button{white-space:nowrap}.pc-diff-block{margin:0;padding:8px 10px;border-radius:6px;font-size:12px;line-height:1.4;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow-y:auto;font-family:ui-monospace,monospace}.pc-diff-before{background:#ef444414;border:1px solid rgba(239,68,68,.35);color:#fca5a5}.pc-diff-after{background:#22c55e14;border:1px solid rgba(34,197,94,.35);color:#86efac}.pc-item-editing{gap:10px}.pc-edit-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.pc-edit-label{font-size:12px;color:#94a3b8;font-weight:600}.pc-edit-textarea{width:100%;box-sizing:border-box;background:#0b1220;color:#e2e8f0;border:1px solid #334155;border-radius:6px;padding:8px 10px;font-size:13px;line-height:1.4;font-family:ui-monospace,monospace;resize:vertical}.pc-edit-textarea:focus{outline:none;border-color:#6366f1}.pc-baseline-picker{display:flex;align-items:center;gap:8px;margin:4px 0 12px;font-size:13px;color:#94a3b8}.pc-baseline-select{background:#0f172a;color:#e2e8f0;border:1px solid #334155;border-radius:6px;padding:4px 8px;font-size:12px;max-width:260px}.pc-baseline-select:disabled{opacity:.6;cursor:not-allowed}.pc-current-section{margin-top:28px;padding-top:18px;border-top:1px solid #334155}.pc-current-header{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.pc-current-caret{color:#94a3b8;font-size:12px;width:12px}.pc-current-desc{font-size:13px;color:#e2e8f0}.pc-current-spacer{flex:1}.pc-current-body{border-top:1px solid #1e293b;padding-top:8px}.pc-auto-section{margin:14px 0 8px;padding:16px;background:#0f172a;border:1px solid #334155;border-radius:10px}.pc-auto-head{display:flex;align-items:center;gap:10px;margin-bottom:2px}.pc-auto-badge{padding:1px 8px;border-radius:8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;background:#a855f72e;color:#d8b4fe;border:1px solid rgba(168,85,247,.5)}.pc-auto-badge-off{background:#94a3b826;color:#94a3b8;border-color:#94a3b866}.pc-auto-grid{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;margin:10px 0 12px}.pc-auto-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#e2e8f0}.pc-auto-toggle-row{flex-direction:row;align-items:center;gap:8px;padding-top:20px;cursor:pointer}.pc-auto-label{font-size:12px;color:#94a3b8;font-weight:600}.pc-auto-hint{font-size:11px;color:#64748b}.pc-auto-input{width:130px;background:#0b1220;color:#e2e8f0;border:1px solid #334155;border-radius:6px;padding:5px 8px;font-size:13px}.pc-auto-actions{display:flex;align-items:center;gap:12px;margin-bottom:12px}.pc-auto-saved{font-size:12px;font-weight:700;color:#4ade80}.pc-auto-progress{border-top:1px solid #1e293b;padding-top:10px}.pc-auto-progress-txt{font-size:13px;color:#e2e8f0;margin-bottom:6px}.pc-auto-bar{height:8px;border-radius:6px;background:#1e293b;overflow:hidden}.pc-auto-bar-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,#6366f1,#a855f7);transition:width .3s ease}.pc-auto-progress-sub{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}@media (max-width: 768px){.features,.video-grid{grid-template-columns:1fr}.header{flex-direction:column;gap:8px}.stats-bar{flex-wrap:wrap}}.qc-workspace{display:flex;gap:14px;align-items:flex-start;margin:12px 0}.qc-workspace>.annotation-table{flex:1 1 auto;min-width:0;margin:0}.qc-workspace-tableonly{display:block}.qc-workspace-tableonly>.annotation-table{margin:0}.qc-body{display:flex;gap:16px;align-items:flex-start}.qc-main{flex:1 1 auto;min-width:0;max-height:calc(100vh - 96px);overflow-y:auto;padding-right:4px}.qc-main::-webkit-scrollbar{width:8px}.qc-main::-webkit-scrollbar-track{background:transparent}.qc-main::-webkit-scrollbar-thumb{background:#334155;border-radius:4px}.player-section{align-items:flex-start;flex-wrap:nowrap}.player-section>.video-player{flex:0 0 auto;width:46%;max-width:760px;min-width:340px;height:50vh;max-height:470px}.player-section>.video-player video{width:100%;height:100%;max-height:none;object-fit:contain}.player-section .active-panel{flex:1 1 0;min-width:0;max-width:none;height:50vh;max-height:470px;overflow:hidden}.player-section .active-panel>.active-annotation{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px}@media (max-width: 760px){.player-section{flex-wrap:wrap}.player-section>.video-player,.player-section .active-panel{width:100%;height:auto;max-height:none}}.player-section .active-panel>.active-annotation::-webkit-scrollbar{width:6px}.player-section .active-panel>.active-annotation::-webkit-scrollbar-track{background:transparent}.player-section .active-panel>.active-annotation::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}.active-panel>.uoa-panels{margin:0;max-height:none;overflow:visible}.uoa-panels.qc-filters-rail{flex:0 0 360px;width:360px;align-self:flex-start;max-height:calc(100vh - 96px);overflow-y:auto;margin:0;padding-right:4px}.qc-filters-rail::-webkit-scrollbar{width:6px}.qc-filters-rail::-webkit-scrollbar-track{background:transparent}.qc-filters-rail::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}@media (max-width: 1200px){.qc-body{flex-direction:column}.uoa-panels.qc-filters-rail{flex:1 1 100%;width:auto;align-self:stretch;position:static;max-height:none;overflow:visible}.player-section>.video-player{min-width:300px}}.uoa-panels{display:flex;flex-direction:column;gap:8px;margin:12px 0}.uoa-panels-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#64748b;padding:2px 2px 0}.uoa-active-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;background:#0f172a;border:1px solid #334155;border-radius:8px}.uoa-active-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:10px;font-size:12px;font-weight:700;background:#1e293b;border:1px solid #475569;color:#cbd5e1}.uoa-chip-x{border:none;background:transparent;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.uoa-chip-x:hover{color:#f87171}.uoa-count{font-size:12px;color:#94a3b8;font-weight:600}.uoa-play-btn{color:#4ade80;border-color:#22c55e66}.uoa-play-btn:hover{background:#22c55e1f}.uoa-clear-btn{padding:4px 12px;font-size:12px}.uoa-panel{background:#0f172a;border:1px solid #334155;border-radius:8px;overflow:hidden}.uoa-panel-head{width:100%;display:flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;border:none;color:#e2e8f0;font-size:13px;font-weight:700;cursor:pointer;text-align:left}.uoa-panel-head:hover{background:#172033}.uoa-caret{color:#64748b;font-size:11px;width:12px}.uoa-panel-count{font-size:11px;font-weight:700;color:#94a3b8;background:#1e293b;border:1px solid #334155;border-radius:10px;padding:1px 8px}.uoa-panel-body{padding:10px 12px;border-top:1px solid #1e293b;max-height:240px;overflow-y:auto}.uoa-panel-body::-webkit-scrollbar{width:6px}.uoa-panel-body::-webkit-scrollbar-track{background:transparent}.uoa-panel-body::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}.uoa-empty{font-size:12px;color:#64748b}.uoa-chips{display:flex;flex-wrap:wrap;gap:6px}.uoa-obj-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;background:transparent;border:1px solid #475569;cursor:pointer;transition:background .12s,color .12s}.uoa-obj-chip:hover{filter:brightness(1.15)}.uoa-obj-chip .uoa-x{font-size:11px;opacity:.85}.uoa-chip-active{font-weight:800}.uoa-combo-list{display:flex;flex-direction:column;gap:5px}.uoa-combo-chip{display:flex;align-items:center;flex-wrap:wrap;gap:5px;width:100%;text-align:left;padding:5px 8px;border-radius:8px;font-size:12px;background:#131b2e;border:1px solid #334155;cursor:pointer;color:#cbd5e1;transition:border-color .12s,background .12s}.uoa-combo-chip:hover{border-color:#6366f1;background:#172033}.uoa-combo-chip.uoa-chip-active{border-color:#6366f1;background:#6366f129;box-shadow:inset 2px 0 #6366f1}.uoa-combo-labels{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}.uoa-combo-token{display:inline-flex;align-items:center;padding:1px 7px;border-radius:9px;font-size:11px;font-weight:600;border:1px solid #475569;background:#0f172a99;white-space:nowrap}.uoa-combo-token.uoa-combo-none{color:#64748b;border-style:dashed}.uoa-combo-chip .uoa-x{margin-left:auto;font-size:11px;font-family:ui-monospace,monospace;color:#94a3b8}.uoa-actioncombo-chip .uoa-ac-verb{font-weight:800;color:#a5b4fc;text-transform:lowercase}.uoa-actioncombo-chip .uoa-ac-sep{color:#475569}.uoa-action-table{width:100%;border-collapse:collapse;font-size:12px}.uoa-action-table th{text-align:left;color:#64748b;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px 6px;border-bottom:1px solid #1e293b}.uoa-action-row{cursor:pointer}.uoa-action-row:hover{background:#172033}.uoa-action-row td{padding:5px 8px;border-bottom:1px solid #1e293b}.uoa-row-active{background:#6366f126}.uoa-row-active td{color:#c7d2fe}.uoa-verb{font-weight:700;color:#e2e8f0}.uoa-verb-count{color:#94a3b8;font-family:ui-monospace,monospace;width:60px}.uoa-verb-play{width:40px;text-align:right}.uoa-mini-play{border:1px solid #334155;background:transparent;color:#4ade80;border-radius:5px;padding:1px 8px;font-size:11px;cursor:pointer}.uoa-mini-play:hover{background:#22c55e1f}.timeline-segment.seg-dimmed{pointer-events:auto}.col-select{width:26px;display:flex;align-items:center;justify-content:center;flex:0 0 26px}.col-select input{cursor:pointer;accent-color:#6366f1}.table-row.row-selected{background:#6366f11a;box-shadow:inset 3px 0 #6366f1}.col-objs{width:200px;flex:0 0 200px;display:flex;flex-wrap:wrap;align-items:center;gap:4px;overflow:hidden}.col-objs-empty{color:#475569}.row-obj-chip{display:inline-flex;align-items:center;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:600;border:1px solid #475569;background:transparent;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-conf{gap:6px}.conf-val{font-size:11px;font-family:ui-monospace,monospace;color:#94a3b8;min-width:30px}.edit-objects{margin:6px 0}.edit-objects-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:700;margin-bottom:4px}.edit-obj-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}.edit-obj-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 8px;border-radius:12px;font-size:12px;font-weight:600;border:1px solid #475569;background:transparent}.edit-obj-name{cursor:pointer}.edit-obj-name:hover{text-decoration:underline}.edit-obj-x{border:none;background:transparent;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0;opacity:.8}.edit-obj-x:hover{color:#f87171;opacity:1}.edit-obj-empty{font-size:12px;color:#64748b}.edit-obj-add,.edit-obj-rename-input{background:#0f172a;border:1px solid #334155;border-radius:6px;color:#e2e8f0;font-size:12px;padding:4px 8px}.edit-obj-add{flex:1 1 130px;min-width:120px;width:auto}.edit-obj-rename-input{width:110px}.bulk-toolbar{background:#0f172a;border:1px solid #6366f1;border-radius:8px;padding:10px 12px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px}.bulk-toolbar-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.bulk-title{font-size:13px;font-weight:800;color:#c7d2fe}.bulk-target-group{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#94a3b8}.bulk-target-group label{display:inline-flex;align-items:center;gap:4px;cursor:pointer;color:#cbd5e1}.bulk-target-group input{accent-color:#6366f1}.bulk-count{font-size:12px;font-weight:700;color:#4ade80}.bulk-clear-sel{padding:3px 10px;font-size:11px}.bulk-controls{display:flex;flex-wrap:wrap;gap:10px}.bulk-ctrl{display:inline-flex;align-items:center;gap:6px;background:#131b2e;border:1px solid #1e293b;border-radius:7px;padding:5px 8px}.bulk-ctrl-label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.bulk-input{background:#0f172a;border:1px solid #334155;border-radius:6px;color:#e2e8f0;font-size:12px;padding:4px 8px;width:100px}.bulk-input-wide{width:200px}.bulk-arrow{color:#64748b}.bulk-apply{padding:4px 12px;font-size:12px}.bulk-apply:disabled{opacity:.4;cursor:not-allowed}.uoa-rename-scope{font-size:12px;color:#94a3b8;display:flex;align-items:center;gap:8px;margin-bottom:8px}.uoa-rename-scope label{display:inline-flex;align-items:center;gap:4px;cursor:pointer;color:#cbd5e1}.uoa-rename-scope input{accent-color:#6366f1}.uoa-obj-chip-wrap{display:inline-flex;align-items:center;gap:2px}.uoa-obj-rename-btn{border:1px solid #334155;background:transparent;color:#94a3b8;border-radius:6px;padding:2px 6px;font-size:11px;cursor:pointer;line-height:1}.uoa-obj-rename-btn:hover{color:#c7d2fe;border-color:#6366f1}.uoa-rename-wrap{display:inline-flex;align-items:center;gap:3px;padding:2px 4px;border:1px solid #475569;border-radius:12px}.uoa-rename-input{background:#0f172a;border:1px solid #334155;border-radius:6px;color:#e2e8f0;font-size:12px;padding:3px 6px;width:100px}.uoa-rename-ok,.uoa-rename-cancel{border:none;background:transparent;cursor:pointer;font-size:13px;line-height:1;padding:0 3px}.uoa-rename-ok{color:#4ade80}.uoa-rename-cancel{color:#f87171}.tl-field{margin:10px 0}.tl-field-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.tl-checkrow{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:6px}.tl-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#cbd5e1;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:8px;padding:4px 10px}.tl-check input{accent-color:#6366f1}.tl-video-list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto;margin-top:6px;border:1px solid #334155;border-radius:8px;padding:8px;background:#0b1220}.tl-video-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#cbd5e1;cursor:pointer;padding:3px 4px}.tl-video-item input{accent-color:#6366f1}.tl-video-label{color:#e2e8f0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-estimate-grid{display:flex;flex-wrap:wrap;gap:20px;margin-top:10px}.tl-estimate-cell{min-width:90px}.tl-estimate-num{font-size:20px;font-weight:800;color:#e2e8f0}.tl-confirm-est{background:#0b1220;border:1px solid #334155;border-radius:8px;padding:10px 12px;margin-bottom:12px;font-size:13px;color:#cbd5e1;display:flex;flex-direction:column;gap:4px}.tl-help{display:block;font-size:11px;line-height:1.35;color:#64748b;margin-top:2px;max-width:640px}.tl-label-info{cursor:help;border-bottom:1px dotted #475569}.tl-intro{font-size:12px;color:#64748b;margin:-4px 0 12px;max-width:720px}.tl-mode-toggle{display:inline-flex;gap:0;margin:4px 0 16px;border:1px solid #334155;border-radius:10px;overflow:hidden;background:#0b1220}.tl-mode-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#94a3b8;font-size:13px;font-weight:600;padding:8px 16px;cursor:pointer}.tl-mode-btn+.tl-mode-btn{border-left:1px solid #334155}.tl-mode-btn:hover{color:#e2e8f0}.tl-mode-btn.active{background:#6366f1;color:#fff}.tl-runcount{display:flex;flex-direction:column;gap:4px;background:#0b1220;border:1px solid #4c1d95;border-left:4px solid #8b5cf6;border-radius:8px;padding:12px 14px;margin-top:10px}.tl-runcount-line{font-size:15px;color:#e2e8f0}.tl-runcount-line strong{color:#a78bfa;font-size:17px}.tl-runcount-plus{color:#67e8f9;font-weight:700}.tl-runcount-total{font-size:13px;color:#94a3b8}.tl-runcount-total strong{color:#e2e8f0;font-size:15px}.tl-estimate-cost .tl-estimate-num{color:#fbbf24}.qc-stopwatch-inline{display:flex;align-items:center;margin-left:auto;min-width:0}.qc-stopwatch{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:8px;padding:4px 12px;border:1px solid #334155;border-radius:20px;background:#0f172a99;white-space:nowrap;max-width:100%;overflow:hidden}.qc-stopwatch .sw-time{font-family:monospace;font-size:15px;font-weight:700;color:#e2e8f0;min-width:48px;text-align:center}.qc-stopwatch .sw-target{font-size:10px;color:#64748b;white-space:nowrap}.sw-btn{padding:2px 10px;border:1px solid #475569;border-radius:12px;background:transparent;color:#cbd5e1;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}.sw-btn:hover{background:#1e293b}.sw-btn:disabled{opacity:.4;cursor:default}.sw-btn-done{border-color:#22c55e;color:#4ade80}.sw-btn-reset{border-color:#64748b;color:#94a3b8}.qc-stopwatch.sw-warn{border-color:#f59e0b}.qc-stopwatch.sw-warn .sw-time{color:#fbbf24}.qc-stopwatch.sw-over{border-color:#ef4444;box-shadow:0 0 6px #ef444459}.qc-stopwatch.sw-over .sw-time{color:#f87171;animation:sw-pulse 1.6s ease-in-out infinite}@keyframes sw-pulse{0%,to{opacity:1}50%{opacity:.55}}.sw-chip{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;white-space:nowrap}.sw-chip-saved{background:#22c55e26;color:#4ade80}.sw-chip-last{background:#64748b26;color:#94a3b8}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0e27;--bg-2: #0f1535;--bg-3: #1a2247;--border: #2a3458;--text: #e6ebff;--text-dim: #8b95c2;--text-muted: #5a6896;--cyan: #06b6d4;--cyan-glow: rgba(6, 182, 212, .4);--purple: #a78bfa;--green: #4ade80;--red: #f87171;--yellow: #facc15}html,body,#root,.app-root{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;min-height:100vh}a{color:var(--cyan);text-decoration:none}a:hover{color:var(--purple)}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-dim);font-size:14px}.header{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;background:#0a0e27d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header .brand{display:flex;align-items:center;gap:10px;text-decoration:none}.header .brand .logo-mark,.header .logo-mark{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--cyan),var(--purple));display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px var(--cyan-glow);font-weight:800;color:var(--bg);font-size:14px}.header h1{font-size:16px;font-weight:700;letter-spacing:-.3px}.header h1 .accent{color:var(--cyan);background:none!important;background-image:none!important;-webkit-text-fill-color:var(--cyan)!important}.header nav{display:flex;align-items:center;gap:18px}.header nav a,.header nav button{background:transparent;border:none;color:var(--text-dim);font-size:13px;cursor:pointer;font-weight:500}.header nav a:hover,.header nav button:hover{color:var(--cyan)}.header nav a.active{color:var(--text)}.credit-badge{display:flex;align-items:center;gap:6px;padding:5px 12px;background:#06b6d41f;border:1px solid rgba(6,182,212,.3);border-radius:20px;font-size:12px;font-weight:600;color:var(--cyan)}.credit-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.header nav a.nav-proposed{position:relative;display:inline-flex;align-items:center;gap:6px}.nav-pending-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#f59e0b;color:#111827;font-size:11px;font-weight:800;line-height:1}.btn-logout{padding:5px 14px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-size:12px;cursor:pointer;transition:all .15s}.btn-logout:hover{color:var(--red);border-color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;border:none;text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--cyan),var(--purple));color:var(--bg);box-shadow:0 4px 14px var(--cyan-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px var(--cyan-glow)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.btn-ghost:disabled:hover{border-color:var(--border);color:var(--text)}.landing{min-height:100vh;background:var(--bg);background-image:radial-gradient(circle at 20% 20%,rgba(6,182,212,.08),transparent 50%),radial-gradient(circle at 80% 60%,rgba(167,139,250,.08),transparent 50%)}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:20px 48px;max-width:1280px;margin:0 auto}.landing-nav .brand{display:flex;align-items:center;gap:12px;text-decoration:none}.landing-nav .brand .logo-mark,.landing-nav .logo-mark{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--cyan),var(--purple));display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px var(--cyan-glow);font-weight:800;color:var(--bg);font-size:16px;flex-shrink:0}.landing-nav h1{font-size:20px;font-weight:700;letter-spacing:-.3px;color:var(--text)}.landing-nav h1 .accent{color:var(--cyan);background:none!important;background-image:none!important;background-clip:initial!important;-webkit-background-clip:initial!important;-webkit-text-fill-color:var(--cyan)!important}.hero{max-width:1100px;margin:0 auto;padding:80px 48px 60px;text-align:center}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:#06b6d41a;border:1px solid rgba(6,182,212,.25);border-radius:20px;font-size:12px;color:var(--cyan);font-weight:600;margin-bottom:24px;text-transform:uppercase;letter-spacing:1px}.hero h2{font-size:64px;font-weight:800;line-height:1.05;letter-spacing:-2px;margin-bottom:24px}.hero h2 .gradient{background:linear-gradient(135deg,var(--cyan),var(--purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.hero p{font-size:18px;color:var(--text-dim);max-width:640px;margin:0 auto 40px;line-height:1.6}.hero-cta{display:flex;gap:12px;justify-content:center}.hero-meta{display:flex;gap:24px;justify-content:center;margin-top:40px;font-size:12px;color:var(--text-muted)}.hero-meta span{display:flex;align-items:center;gap:6px}.hero-meta .check{color:var(--green)}.services-section,.pricing-section{max-width:1100px;margin:0 auto;padding:60px 48px}.section-eyebrow{color:var(--cyan);font-size:12px;text-transform:uppercase;letter-spacing:2px;font-weight:700;margin-bottom:12px}.section-title{font-size:40px;font-weight:800;letter-spacing:-1px;margin-bottom:12px}.section-sub{color:var(--text-dim);font-size:16px;margin-bottom:40px;max-width:600px}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{padding:28px;background:var(--bg-2);border:1px solid var(--border);border-radius:14px;transition:all .2s}.service-card:hover{border-color:var(--cyan);transform:translateY(-2px);box-shadow:0 12px 40px #06b6d426}.service-card .icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:22px}.service-card .icon.icon-3d{background:#06b6d426;color:var(--cyan)}.service-card .icon.icon-semantic{background:#a78bfa26;color:var(--purple)}.service-card .icon.icon-qc{background:#4ade8026;color:var(--green)}.service-card h3{font-size:20px;margin-bottom:8px}.service-card p{color:var(--text-dim);font-size:14px;line-height:1.6;margin-bottom:16px}.service-card .price{font-size:13px;color:var(--text);font-weight:600}.service-card .price span{color:var(--cyan)}.pricing-table{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pricing-card{padding:24px;background:var(--bg-2);border:1px solid var(--border);border-radius:14px;text-align:center}.pricing-card .label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.pricing-card .credits{font-size:36px;font-weight:800;background:linear-gradient(135deg,var(--cyan),var(--purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.pricing-card .unit{font-size:13px;color:var(--text-dim);margin-top:4px}.footer{max-width:1100px;margin:80px auto 0;padding:60px 48px 40px;border-top:1px solid var(--border);text-align:center;color:var(--text-muted);font-size:13px}.login-page{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:40px}.login-card{width:100%;max-width:400px;padding:32px;background:var(--bg-2);border:1px solid var(--border);border-radius:14px}.login-card h2{font-size:24px;margin-bottom:8px;text-align:center}.login-card p{color:var(--text-dim);font-size:13px;text-align:center;margin-bottom:24px}.login-card label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:6px;font-weight:600}.login-card input{width:100%;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;margin-bottom:16px}.login-card input:focus{outline:none;border-color:var(--cyan)}.login-card .error{padding:8px 12px;background:#f871711a;border:1px solid rgba(248,113,113,.3);border-radius:6px;color:var(--red);font-size:12px;margin-bottom:12px}.page{max-width:1200px;margin:0 auto;padding:32px 48px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.page-header h2{font-size:28px;font-weight:700}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}.stat-card{padding:24px;background:var(--bg-2);border:1px solid var(--border);border-radius:12px}.stat-card .label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-card .value{font-size:36px;font-weight:800;margin:8px 0}.stat-card .value.cyan{background:linear-gradient(135deg,var(--cyan),var(--purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.jobs-table{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;overflow:hidden}.jobs-row{display:grid;grid-template-columns:100px 100px 1fr 120px 120px 100px;gap:12px;padding:14px 18px;align-items:center;font-size:13px}.jobs-row.head{background:var(--bg-3);color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}.jobs-row+.jobs-row{border-top:1px solid var(--border)}.jobs-row:not(.head):hover{background:#06b6d40a}.service-pill{display:inline-block;padding:3px 10px;border-radius:12px;font-size:10px;font-weight:700;text-transform:uppercase}.service-pill.s-3d{background:#06b6d426;color:var(--cyan)}.service-pill.s-semantic{background:#a78bfa26;color:var(--purple)}.service-pill.s-qc{background:#4ade8026;color:var(--green)}.status-pill{display:inline-block;padding:3px 10px;border-radius:12px;font-size:10px;font-weight:700;text-transform:uppercase}.status-pending{background:#facc1526;color:var(--yellow)}.status-processing{background:#06b6d426;color:var(--cyan)}.status-completed{background:#4ade8026;color:var(--green)}.status-failed{background:#f8717126;color:var(--red)}.jobs-row.qc-review-row>span{min-width:0}.qc-status-select{background:var(--bg-3);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:4px 8px;font-size:11px;font-weight:700;cursor:pointer;max-width:100%}.qc-status-select:disabled{opacity:.5;cursor:not-allowed}.qc-status-select.qc-sel-pending{border-color:var(--yellow);color:var(--yellow)}.qc-status-select.qc-sel-approved{border-color:var(--green);color:var(--green)}.qc-status-select.qc-sel-rejected{border-color:var(--red);color:var(--red)}.qc-status-select option{background:var(--bg-2);color:var(--text)}.accuracy-pill{display:inline-block;padding:3px 10px;border-radius:12px;font-size:10px;font-weight:700}.accuracy-pill.acc-perfect{background:#4ade8026;color:var(--green)}.accuracy-pill.acc-good{background:#06b6d426;color:var(--cyan)}.accuracy-pill.acc-low{background:#facc1526;color:var(--yellow)}.edits-pill{display:inline-block;padding:3px 10px;border-radius:12px;font-size:10px;font-weight:700;background:#a78bfa26;color:var(--purple)}.cost-pill{display:inline-block;padding:3px 10px;border-radius:12px;font-size:10px;font-weight:700;background:#34d39926;color:var(--green);cursor:help}.newjob-step{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:16px}.newjob-step h3{margin-bottom:12px}.newjob-step .step-num{display:inline-block;width:24px;height:24px;border-radius:50%;background:var(--cyan);color:var(--bg);font-weight:700;font-size:12px;line-height:24px;text-align:center;margin-right:8px}.newjob-input{width:100%;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px}.newjob-input:focus{outline:none;border-color:var(--cyan)}.service-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-pick{padding:18px;background:var(--bg);border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .15s}.service-pick:hover{border-color:var(--cyan)}.service-pick.selected{border-color:var(--cyan);background:#06b6d40f}.service-pick h4{font-size:14px;margin-bottom:6px}.service-pick p{font-size:11px;color:var(--text-dim)}.service-pick .pick-cost{font-size:11px;color:var(--cyan);margin-top:8px;font-weight:600}.model-picker{width:100%;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px}.cost-summary{padding:16px;background:#06b6d40f;border:1px solid rgba(6,182,212,.2);border-radius:8px;margin:16px 0;display:flex;justify-content:space-between;align-items:center}.cost-summary .lbl{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.cost-summary .val{font-size:24px;font-weight:800;color:var(--cyan)}.job-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.job-detail-header h2{font-size:24px}.qc-stopwatch-slot{flex:1 1 auto;min-width:0;display:flex;justify-content:center;align-items:flex-start;padding:2px 16px 0;overflow:hidden}.job-detail-meta{color:var(--text-muted);font-size:13px;margin-top:4px}.three-d-viewer{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;overflow:hidden}.three-d-processing{padding:80px 40px;text-align:center}.three-d-processing .spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--cyan);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{to{transform:rotate(360deg)}}.three-d-processing h3{margin-bottom:8px}.three-d-processing p{color:var(--text-dim);font-size:14px}.three-d-iframe{width:100%;height:70vh;border:none;background:#000}.three-d-actions{display:flex;gap:12px;padding:16px;border-top:1px solid var(--border);justify-content:flex-end}.three-d-ready{padding:80px 40px;text-align:center;background:radial-gradient(circle at 50% 30%,rgba(6,182,212,.08),transparent 60%)}.three-d-ready-icon{font-size:48px;margin-bottom:16px}.three-d-ready h2{margin-bottom:8px;font-size:24px}.three-d-cta{padding:14px 32px!important;font-size:16px!important;box-shadow:0 0 24px #06b6d459;display:inline-block}.three-d-secondary{display:flex;gap:12px;justify-content:center;margin-top:16px;flex-wrap:wrap}.btn-lg{padding:12px 28px;font-size:15px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:28px;min-width:400px;max-width:500px}.modal h3{color:var(--text);margin-bottom:4px;font-size:18px}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.video-card{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:14px;transition:border-color .15s}.video-card:hover{border-color:var(--cyan)}.video-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px}.video-card-name{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.video-card-services{display:flex;gap:6px;flex-wrap:wrap}.svc-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;border-radius:14px;cursor:pointer;text-decoration:none;transition:all .15s;border:1px solid transparent}.svc-pill-missing{background:transparent;border-color:var(--border);color:var(--text-muted);cursor:pointer}.svc-pill-missing:hover{border-color:var(--cyan);color:var(--cyan)}.svc-pill-done{background:#4ade801a;border-color:#4ade804d;color:var(--green)}.svc-pill-done:hover{background:#4ade802e}.svc-pill-failed{background:#f871711a;border-color:#f871714d;color:var(--red)}.svc-pill-processing{background:#06b6d41a;border-color:#06b6d44d;color:var(--cyan)}.svc-pill-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.logs-viewer{background:#0a0e27;border:1px solid var(--border);border-radius:12px;margin:16px 0;overflow:hidden}.logs-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--bg-3);border-bottom:1px solid var(--border);gap:12px}.logs-spinner{width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--cyan);border-radius:50%;animation:spin .9s linear infinite;flex-shrink:0}.logs-progress{display:flex;align-items:center;gap:8px;flex:1;max-width:280px}.logs-progress-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.logs-progress-fill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--purple));transition:width .4s}.logs-box{padding:12px 14px;max-height:320px;overflow-y:auto;font-family:SF Mono,Fira Code,monospace;font-size:11px;line-height:1.6;background:#050715}.logs-line{white-space:pre-wrap;word-break:break-word}.logs-box::-webkit-scrollbar{width:6px}.logs-box::-webkit-scrollbar-track{background:transparent}.logs-box::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.error-banner{padding:12px 16px;background:#f871711a;border:1px solid rgba(248,113,113,.3);border-radius:8px;color:var(--red);font-size:13px;margin-bottom:16px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}
