*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#333}.app{max-width:2000px;margin:0 auto;padding:20px;min-height:100vh}.app-header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:18px 22px;border-radius:15px;margin-bottom:25px;box-shadow:0 5px 20px #00000014;border:1px solid rgba(102,126,234,.18);display:flex;align-items:center;justify-content:space-between;gap:16px}.mode-tabs{display:flex;gap:6px;background:#667eea14;border-radius:10px;padding:6px}.app-header h1{margin:0;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;letter-spacing:.02em;color:#2a2f46}.container{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:30px}@media (max-width: 1200px){.container{grid-template-columns:1fr}}.section{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:25px;border-radius:15px;box-shadow:0 5px 20px #00000014;transition:transform .3s ease,box-shadow .3s ease}.section:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000001f}.section h2{font-size:1.3rem;margin-bottom:18px;color:#333;font-weight:600;display:flex;align-items:center;gap:8px}button{font-family:inherit;cursor:pointer;transition:all .3s ease;border:none;border-radius:10px;font-weight:600;font-size:.95rem}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 24px;box-shadow:0 4px 15px #667eea4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:#f0f0f0;color:#333;padding:10px 20px;border:1px solid #e0e0e0}.btn-secondary:hover:not(:disabled){background:#e8e8e8;transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;padding:12px 24px;box-shadow:0 4px 15px #f5576c4d}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #f5576c66}.button-group{display:flex;gap:10px;flex-wrap:wrap}.status-message{padding:12px 18px;border-radius:10px;font-size:.9rem;margin-top:10px;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.status-message.success{background:linear-gradient(135deg,#a8edea,#fed6e3);color:#2d7a5e;border-left:4px solid #27ae60}.status-message.error{background:linear-gradient(135deg,#ffecd2,#fcb69f);color:#c0392b;border-left:4px solid #e74c3c}.status-message.warning{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#334155;border-left:4px solid #64748b}.btn-cancel{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;padding:12px 20px;box-shadow:0 4px 15px #ee5a244d}.btn-cancel:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ee5a2473}.btn-cancel:active:not(:disabled){transform:translateY(0)}input[type=text],input[type=number],textarea,select{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:10px;font-size:.95rem;font-family:inherit;transition:all .3s ease;background:#fff}input[type=text]:focus,input[type=number]:focus,textarea:focus,select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}textarea{resize:vertical;min-height:100px}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease}.mode-switcher{display:flex;gap:8px;margin-bottom:20px;background:#ffffffe6;border-radius:12px;padding:6px;box-shadow:0 3px 12px #00000014;width:fit-content}.mode-tab{padding:10px 24px;border-radius:8px;background:transparent;color:#555;font-size:.95rem;font-weight:600;border:none;cursor:pointer;transition:all .25s ease}.mode-tab:hover:not(.mode-tab--active){background:#667eea1a;color:#667eea}.mode-tab--active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 3px 10px #667eea59}.video-upload{width:100%;margin-bottom:15px}.video-upload .video-upload-label{display:block;width:100%;padding:40px 20px;background:linear-gradient(135deg,#f5f7fa,#e8eef5);border:3px dashed #667eea;border-radius:15px;text-align:center;cursor:pointer;transition:all .3s ease;font-weight:600;color:#667eea;font-size:1.1rem}.video-upload .video-upload-label:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#764ba2;transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.video-upload .video-upload-label.drag-over{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#4f5bd5;transform:translateY(-1px);box-shadow:0 10px 28px #667eea59}.video-upload .video-upload-label.disabled{opacity:.75;cursor:not-allowed;transform:none;box-shadow:none}.video-upload .video-upload-label.disabled:hover{background:linear-gradient(135deg,#f5f7fa,#e8eef5);color:#667eea;border-color:#667eea}.video-upload .video-upload-label small{display:block;margin-top:8px;font-size:.8rem;opacity:.8;font-weight:500}.video-upload input[type=file]{display:none}.video-upload .loading{font-size:1.1rem;color:#667eea;animation:pulse 1.5s ease-in-out infinite}.video-info{padding:15px 18px;background:linear-gradient(135deg,#a8edea,#fed6e3);border-radius:10px;margin-top:15px;font-size:.9rem;color:#333;border-left:4px solid #27ae60;line-height:1.8}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;z-index:9999}.auth-card{background:#fffffff7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;padding:48px 40px 40px;width:100%;max-width:380px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;align-items:center;gap:8px}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.auth-card--shake{animation:shake .5s ease}.auth-title{font-size:28px;font-weight:700;color:#1e1b4b;margin-bottom:4px}.auth-subtitle{font-size:14px;color:#64748b;margin-bottom:16px}.auth-form{width:100%;display:flex;flex-direction:column;gap:12px}.auth-input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;outline:none;transition:border-color .2s;box-sizing:border-box}.auth-input:focus{border-color:#667eea}.auth-input--error{border-color:#ef4444}.auth-error{font-size:13px;color:#ef4444;text-align:center}.auth-btn{padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s}.auth-btn:hover{opacity:.9}.long-form{display:grid;gap:12px}.long-field input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:10px;font-size:14px}.long-field select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:10px;font-size:14px;background:#fff}.long-label{font-size:13px;font-weight:600;color:#444;margin-bottom:6px}.long-label-row{display:flex;align-items:center;gap:8px}.severity-help{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1px solid #c2c2c2;background:#fff;color:#555;font-size:11px;line-height:1;cursor:help;-webkit-user-select:none;user-select:none}.severity-help:focus{outline:none;box-shadow:0 0 0 2px #667eea59}.severity-tooltip{position:absolute;top:50%;left:calc(100% + 8px);width:260px;padding:10px 12px;background:#fff;border-radius:10px;border:1px solid #e0e0e0;box-shadow:0 10px 22px #0000001f;opacity:0;transform:translateY(-50%);pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:10}.severity-help:hover .severity-tooltip,.severity-help:focus .severity-tooltip,.severity-help:focus-within .severity-tooltip{opacity:1;transform:translateY(0);pointer-events:auto}.severity-tooltip-title{font-weight:700;font-size:12px;color:#222;margin-bottom:6px}.severity-tooltip-item{font-size:12px;color:#444;line-height:1.35;margin-bottom:4px}.severity-tooltip-item:last-child{margin-bottom:0}.long-hint{font-size:12px;color:#777;margin-top:6px}.window-step-details{border:1px solid #e6e9f0;border-radius:12px;background:#f9fbff;overflow:hidden}.window-step-details summary{cursor:pointer;list-style:none;font-size:13px;font-weight:700;color:#2f3a48;padding:10px 12px;-webkit-user-select:none;user-select:none}.window-step-details summary::-webkit-details-marker{display:none}.window-step-details[open] summary{border-bottom:1px solid #e6e9f0;background:#f2f6ff}.window-step-content{display:grid;gap:8px;padding:12px}.window-step-description{font-size:12px;line-height:1.4;color:#4a5564}.window-step-examples{font-size:12px;line-height:1.4;color:#374151;background:#fff;border:1px dashed #d8dfeb;border-radius:8px;padding:8px 10px}.window-step-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.long-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.long-toggle-btn{border:1px solid #ddd;border-radius:10px;background:#fff;padding:10px 12px;font-size:14px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.long-toggle-btn:hover{border-color:#cfcfcf;box-shadow:0 4px 16px #0000000f}.long-toggle-btn.active{border-color:#667eea;background:#667eea14;box-shadow:0 6px 18px #667eea33}.report-summary-bar{display:flex;flex-wrap:nowrap;gap:12px;align-items:stretch;padding:12px;border:1px solid #e9ecf2;border-radius:14px;background:linear-gradient(135deg,#f7fafff2,#fffffff2);overflow-x:auto}.report-summary-item{min-width:0;display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:10px;border:1px solid #eef1f7;background:#fff;flex:1}.report-summary-item-video{flex:2}.report-summary-label{font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.report-summary-value{font-size:14px;font-weight:700;color:#1f2937;font-family:Avenir Next,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.3;overflow-wrap:anywhere}.report-summary-count{font-size:18px;line-height:1}.report-summary-count-risk{color:#c0392b}.report-summary-count-values{color:#8e44ad}.report-summary-count-promotion{color:#1e8449}.report-summary-note{margin-top:8px;font-size:12px;color:#5f6368}.report-tech-details{margin-top:12px;border:1px solid #e8ebf1;border-radius:12px;background:#fbfcff}.report-tech-details summary{cursor:pointer;padding:10px 12px;font-size:13px;font-weight:700;color:#2d3640;-webkit-user-select:none;user-select:none}.report-tech-grid{display:grid;gap:8px;padding:0 12px 12px;font-size:13px;color:#3f4a56}.age-legend{margin-top:12px;padding:12px;border-radius:12px;border:1px dashed #ddd;background:#fafafa}.age-legend-title{font-weight:600;margin-bottom:6px;color:#333}.age-legend-items{display:grid;gap:4px;font-size:12px;color:#666}.report-empty{color:#666;background:#fafafa;border:1px dashed #ddd;padding:18px;border-radius:12px}.finding-cards{display:grid;gap:12px}.finding-card{border:1px solid #e6e6e6;border-radius:14px;padding:14px;cursor:pointer;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.finding-card:hover{border-color:#cfcfcf;box-shadow:0 6px 20px #0000000f}.finding-card.active{border-color:#2ecc71;box-shadow:0 6px 22px #2ecc712e}.finding-card-panel{cursor:default;box-shadow:none}.finding-card-panel:hover{border-color:#e6e6e6;box-shadow:none}.finding-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.finding-title{font-weight:700;font-size:15px;color:#222}.finding-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;min-width:0;flex-shrink:1;max-width:60%}.badge{font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid #ddd;background:#f8f8f8;color:#333;white-space:nowrap}.badge-sev{border-color:#e74c3c59;background:#e74c3c14}.badge-conf{border-color:#3498db59;background:#3498db14}.badge-age{border-color:#27ae6059;background:#27ae6014}.badge-age-borderline{border-color:#64748b59;background:#64748b1f;color:#334155}.badge-age-disallowed{border-color:#e74c3c66;background:#e74c3c24}.badge-context{border-color:#7f8c8d59;background:#7f8c8d1f}.badge-category{background:#667eea;color:#fff;border-color:#667eea;font-weight:500}.badge-validation{font-weight:600}.badge-validation-unvalidated{background:#f6f7fb;border-color:#d8deea;color:#667085}.badge-validation-risk{background:#e74c3c1f;border-color:#e74c3c59;color:#c0392b}.badge-validation-good{background:#27ae601f;border-color:#27ae6059;color:#1e8449}.badge-validation-false{background:#95a5a629;border-color:#7f8c8d59;color:#566573}.finding-card.card-age-allowed{border-left:4px solid #27ae60}.finding-card.card-age-borderline{border-left:4px solid #64748b}.finding-card.card-age-disallowed{border-left:4px solid #e74c3c}.finding-metrics{display:flex;gap:16px;margin-top:8px;font-size:13px;color:#555}.metric{font-weight:500;padding:2px 8px;border-radius:4px}.metric-severity{background:#e74c3c1f;color:#c0392b}.metric-confidence{background:#3498db1f;color:#2980b9}.finding-time{margin-top:10px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:#333}.finding-window{font-size:12px;color:#777}.finding-desc{margin-top:10px;color:#333;line-height:1.4}.finding-age-reason{margin-top:8px;font-size:12px;color:#555;background:#f6f7fb;border:1px solid #e2e4f0;padding:6px 8px;border-radius:8px}.finding-uncertainty{margin-top:10px;font-size:12px;color:#475569;background:#f1f5f9;border:1px solid #cbd5e1;padding:8px 10px;border-radius:10px}.finding-actions{margin-top:12px;display:flex;justify-content:flex-end}.long-video-page{display:flex;flex-direction:column;gap:20px}.long-top-stack{display:grid;gap:20px}.long-settings-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;align-items:start}.long-run-row{display:grid;gap:12px}.long-results{display:grid;gap:20px}.long-video-layout{display:grid;grid-template-columns:minmax(240px,30%) minmax(0,1fr);gap:16px;align-items:start}.long-video-info-panel{border:1px solid #eee;border-radius:14px;padding:12px;background:#fff}.long-video-panel-title{font-weight:700;margin-bottom:10px;color:#222}.long-video-panel-empty{color:#666;background:#fafafa;border:1px dashed #ddd;padding:14px;border-radius:12px;font-size:13px}.long-video-player,.long-upload-stack{display:grid;gap:12px}.long-finish{display:flex;justify-content:center}.full-video-viewer{border:1px solid #eee;border-radius:14px;padding:12px;background:#fff}.full-video-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.full-video-title{font-weight:700}.full-video-meta{font-size:12px;color:#666}.full-video{width:100%;max-height:600px;object-fit:contain;border-radius:12px;background:#000}.full-video-timeline{margin-top:10px;cursor:pointer}.full-video-timeline-track{position:relative;height:12px;background:#f0f0f0;border-radius:999px}.full-video-timeline-highlight{position:absolute;top:0;height:12px;border-radius:999px;background:#f1c40f73;border:none;padding:0;cursor:pointer}.full-video-timeline-highlight.active{box-shadow:0 0 0 2px #2c3e504d}.full-video-timeline-highlight.sev-low{background:#f1c40f73}.full-video-timeline-highlight.sev-mid{background:#e67e2280}.full-video-timeline-highlight.sev-high{background:#e74c3c8c}.full-video-timeline-playhead{position:absolute;top:-4px;width:2px;height:20px;background:#2c3e50;border-radius:2px}.full-video-tooltip{position:absolute;top:-52px;transform:translate(-50%);min-width:180px;max-width:240px;padding:8px 10px;border-radius:10px;border:1px solid #e0e0e0;background:#fff;box-shadow:0 10px 22px #0000001f;pointer-events:none;z-index:2}.full-video-tooltip-title{font-weight:600;font-size:12px;color:#222;margin-bottom:4px}.full-video-tooltip-meta{font-size:12px;color:#666}.clip-video{width:100%;border-radius:12px;background:#000}.long-modal{max-width:900px}.progress-wrapper{margin-top:12px}.progress-track{width:100%;height:10px;border-radius:999px;background:#ececec;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);transition:width .3s ease}.progress-meta{margin-top:6px;display:flex;justify-content:space-between;font-size:12px;color:#666}@media (max-width: 980px){.long-video-layout{grid-template-columns:1fr}}.finding-card.reviewed{opacity:.5;border-color:#e0e0e0;background:#fafafa}.finding-card.reviewed:hover{opacity:.7}.finding-card.reviewed .finding-title,.finding-card.reviewed .finding-desc{color:#888}.btn-review{padding:8px 14px;border:1px solid #27ae60;border-radius:10px;background:#27ae6014;color:#27ae60;font-size:13px;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.btn-review:hover{background:#27ae6026;box-shadow:0 4px 12px #27ae6033}.btn-unmark{padding:8px 14px;border:1px solid #e67e22;border-radius:10px;background:#e67e2214;color:#e67e22;font-size:13px;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.btn-unmark:hover{background:#e67e2226;box-shadow:0 4px 12px #e67e2233}.finding-actions{gap:8px}.finding-actions-panel{margin-top:12px;justify-content:flex-start}.translation-controls{display:flex;align-items:center;gap:10px;margin-top:8px}.translation-status{margin-top:10px}.btn-translation{padding:6px 12px;background:#4a90e2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.btn-translation:hover:not(:disabled){background:#357abd;transform:translateY(-1px);box-shadow:0 2px 4px #0003}.btn-translation:disabled{opacity:.6;cursor:not-allowed}.btn-translation.active{background:#27ae60}.btn-translation.active:hover:not(:disabled){background:#229954}.translation-warning,.translation-error{padding:8px 10px;border-radius:8px;font-size:12px;font-weight:500}.translation-warning{background:#f1f5f9;border:1px solid #cbd5e1;color:#334155}.translation-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.long-toggle-3{grid-template-columns:repeat(3,minmax(0,1fr))}.findings-tabs{display:flex;flex-wrap:wrap;gap:0;margin-bottom:16px;border-bottom:2px solid #eee}.findings-tab{padding:12px 20px;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:14px;font-weight:600;color:#666;cursor:pointer;transition:all .15s ease}.findings-tab:hover{color:#333;background:#f8f8f8}.findings-tab.active{color:#667eea;border-bottom-color:#667eea}.findings-section{margin-top:12px}.findings-section h3{margin:0 0 8px;font-size:16px;color:#333}.findings-description{margin:0 0 16px;font-size:13px;color:#666}.findings-type-guide{display:grid;gap:6px;margin-bottom:14px;padding:10px 12px;border-radius:12px;border:1px solid #e5e7eb;background:#f9fafb}.findings-type-guide-item{font-size:13px;color:#374151;line-height:1.4}.findings-controls{margin-bottom:16px;padding:14px;border-radius:12px;border:1px solid #eceff5;background:#fcfdff}.finding-card-safety{border-left:4px solid #e74c3c}.finding-card-safety.card-age-allowed{border-left-color:#27ae60}.finding-card-safety.card-age-borderline{border-left-color:#64748b}.finding-card-safety.card-age-disallowed{border-left-color:#e74c3c}.finding-card-values{border-left:4px solid #9b59b6}.badge-safety{background:#e74c3c;color:#fff;border-color:#e74c3c;font-weight:500}.badge-values{background:#9b59b6;color:#fff;border-color:#9b59b6;font-weight:500}.badge-value{background:#8e44ad;color:#fff;border-color:#8e44ad;font-weight:500}.badge-harm{background:#c0392b;color:#fff;border-color:#c0392b;font-weight:500}.badge-violation{font-weight:500}.badge-violation-undermines{background:#9b59b61f;border-color:#9b59b666;color:#8e44ad}.badge-violation-contradicts{background:#e74c3c1f;border-color:#e74c3c66;color:#c0392b}.badge-value-combined{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:.875rem;font-weight:500;border:1px solid;white-space:normal;word-break:break-word}.badge-icon{font-size:.875rem;line-height:1}.badge-undermines{background:#e74c3c1f;border-color:#e74c3c66;color:#c0392b}.badge-undermines .badge-icon{color:#e74c3c}.badge-contradicts{background:#e74c3c1f;border-color:#e74c3c66;color:#c0392b}.badge-contradicts .badge-icon{color:#e74c3c}.badge-explicit{background:#e74c3c1f;border-color:#e74c3c66;color:#c0392b}.finding-proof{margin-top:10px;font-size:13px;color:#444;background:#f0f4f8;border:1px solid #d0dbe8;padding:10px 12px;border-radius:10px;line-height:1.4}.finding-proof strong{color:#333}.finding-context{margin-top:8px;font-size:12px;color:#555;background:#f9f9f9;border:1px solid #eee;padding:6px 8px;border-radius:8px}.full-video-timeline-highlight.source-safety{background:#e74c3c80}.full-video-timeline-highlight.source-values{background:#9b59b680}.full-video-timeline-highlight.source-safety.sev-low{background:#64748b73}.full-video-timeline-highlight.source-safety.sev-mid{background:#e67e2280}.full-video-timeline-highlight.source-safety.sev-high{background:#e74c3c8c}.full-video-timeline-highlight.source-values.sev-low{background:#9b59b659}.full-video-timeline-highlight.source-values.sev-mid{background:#9b59b680}.full-video-timeline-highlight.source-values.sev-high{background:#8e44ad99}.finding-card-promotion{border-left:4px solid #27ae60;background:linear-gradient(135deg,#27ae600d,#2ecc7108)}.finding-card-promotion.active{background:linear-gradient(135deg,#27ae601f,#2ecc7114);box-shadow:0 4px 18px #27ae6040}.finding-card-promotion.reviewed{opacity:.6;border-left-color:#95a5a6}.finding-card-promotion.promotion-low{border-left-color:#a8e6cf}.finding-card-promotion.promotion-mid{border-left-color:#27ae60}.finding-card-promotion.promotion-high{border-left-color:#1e8449}.badge-promotion-combined{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;margin-right:6px;margin-bottom:4px;background:#27ae6026;color:#1e8449;border:1px solid rgba(39,174,96,.3);white-space:normal;word-break:break-word}.badge-promotion-combined.badge-exemplifies{background:#a8e6cf4d;color:#16a085;border-color:#a8e6cf}.badge-promotion-combined.badge-demonstrates{background:#27ae6040;color:#27ae60;border-color:#27ae60}.badge-promotion-combined.badge-inspires{background:#1e844959;color:#1e8449;border-color:#1e8449;font-weight:700}.metric-promotion{color:#27ae60;font-weight:600}.full-video-timeline-highlight.source-promotion{background:#27ae6080}.full-video-timeline-highlight.source-promotion.promotion-low{background:#a8e6cf80}.full-video-timeline-highlight.source-promotion.promotion-mid{background:#27ae6099}.full-video-timeline-highlight.source-promotion.promotion-high{background:#1e8449b3}.findings-tabs button:nth-child(3){border-bottom:3px solid transparent}.findings-tabs button:nth-child(3).active{border-bottom-color:#27ae60;color:#27ae60}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:999;padding:20px;animation:modalFadeIn .2s ease-out}.modal-content{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;box-shadow:0 20px 60px #0000004d;width:100%;position:relative;animation:modalSlideIn .2s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #eee;gap:16px}.modal-header h2{margin:0;font-size:18px;font-weight:700;color:#222;flex:1}.modal-close{width:36px;height:36px;border-radius:50%;border:1px solid #e0e0e0;background:#f8f8f8;color:#666;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease;padding:0}.modal-close:hover{background:#e8e8e8;border-color:#cfcfcf;color:#333;transform:scale(1.05)}.modal-close:active{transform:scale(.98)}.modal-close:focus{outline:none;box-shadow:0 0 0 3px #667eea40}.modal-body{padding:20px}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 768px){.modal-overlay{padding:10px}.modal-header{padding:14px 16px}.modal-header h2{font-size:16px}.modal-body{padding:16px}.modal-close{width:32px;height:32px;font-size:22px}}.filters-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:16px}.filters-column{display:flex;flex-direction:column;gap:20px}.filter-field{display:flex;flex-direction:column;gap:8px}.filter-hint{font-size:12px;color:#777;line-height:1.4}.severity-slider{width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,#27ae60,#f39c12,#e74c3c);outline:none;cursor:pointer}.validation-filter-select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:10px;font-size:14px;background:#fff;cursor:pointer}.validation-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.validation-filter-chip{border:1px solid #d9dde8;border-radius:999px;background:#fff;color:#495263;padding:7px 12px;font-size:12px;font-weight:600;transition:all .15s ease}.validation-filter-chip:hover{border-color:#bfc7da;background:#f6f8ff}.validation-filter-chip.active{border-color:#667eea;background:#667eea1f;color:#4356b5}.validation-filter-description{font-size:12px;color:#5f6472;line-height:1.4}@media (max-width: 768px){.window-step-details summary{padding:10px}.window-step-content{padding:10px}.window-step-fields{grid-template-columns:1fr}.report-summary-bar{flex-wrap:wrap;overflow:visible}.report-summary-item{flex:1 1 calc(50% - 8px);min-width:150px}.report-summary-item-video{flex-basis:100%}.filters-grid{grid-template-columns:1fr}.findings-tab{padding:10px 12px;font-size:13px}.validation-filter-chip{font-size:11px;padding:6px 10px}.overall-progress-header{align-items:flex-start;flex-direction:column;gap:4px}.overall-progress-meta{align-items:flex-start;flex-direction:column}.stage-header{align-items:flex-start;flex-direction:column;gap:4px}}.finding-card.validation-confirmed_risky{border-left:4px solid #e74c3c;background:linear-gradient(135deg,#e74c3c14,#c0392b0a);box-shadow:0 2px 12px #e74c3c26}.finding-card.validation-false_positive{opacity:.35;background:#f9f9f9;border-color:#95a5a6}.finding-card.validation-false_positive .finding-title{text-decoration:line-through}.finding-card.validation-confirmed_good{border-left:4px solid #27ae60;background:linear-gradient(135deg,#27ae601a,#2ecc710d);box-shadow:0 2px 12px #27ae6033}.finding-actions-validation{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #eee}.btn-validate{flex:1;padding:8px 12px;border:1px solid;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-validate:disabled{opacity:.5;cursor:not-allowed}.btn-validate-danger{background:#fff;border-color:#e74c3c;color:#e74c3c}.btn-validate-danger:hover:not(:disabled){background:#e74c3c;color:#fff}.btn-validate-danger:disabled{background:#e74c3c;color:#fff}.btn-validate-safe{background:#fff;border-color:#27ae60;color:#27ae60}.btn-validate-safe:hover:not(:disabled){background:#27ae60;color:#fff}.btn-validate-safe:disabled{background:#27ae60;color:#fff}.btn-validate-good{background:#fff;border-color:#27ae60;color:#27ae60}.btn-validate-good:hover:not(:disabled){background:#27ae60;color:#fff}.btn-validate-good:disabled{background:#27ae60;color:#fff}.btn-validate-reject{background:#fff;border-color:#e74c3c;color:#e74c3c}.btn-validate-reject:hover:not(:disabled){background:#e74c3c;color:#fff}.btn-validate-reject:disabled{background:#e74c3c;color:#fff}.btn-validate-reset{flex:0 0 auto;padding:8px 12px;background:#fff;border-color:#95a5a6;color:#95a5a6}.btn-validate-reset:hover{background:#95a5a6;color:#fff}.detailed-progress-container{margin:20px 0;padding:16px;background:linear-gradient(135deg,#f8fafc,#eef3ff);border-radius:12px;border:1px solid #dbe4f2;box-shadow:0 4px 14px #21385a14}.detailed-progress-container.closed{border-color:#dbe4f2}.detailed-progress-container.open{border-color:#bccfff;box-shadow:0 8px 22px #3f64c42e}.overall-progress-toggle{width:100%;border:1px solid #d7e0ef;border-radius:12px;background:#fff;padding:12px;text-align:left;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.overall-progress-toggle:hover{border-color:#b9c9ea;box-shadow:0 6px 14px #3f64c41f}.overall-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.overall-progress-title{color:#1f2937;font-size:15px}.overall-progress-percent{font-size:18px;font-weight:700;color:#1e3a8a}.overall-progress-track{width:100%;height:16px;background:#e5eaf5;border-radius:999px;overflow:hidden}.overall-progress-fill{height:100%;background:linear-gradient(90deg,#2563eb,#4f46e5 55%,#10b981);transition:width .3s ease;border-radius:999px}.overall-progress-meta{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between;align-items:center;font-size:12px;color:#4b5563}.overall-progress-toggle-text{color:#1d4ed8;font-weight:600}.detailed-stages-list{margin-top:12px;padding-top:12px;border-top:1px solid #d9e3f5}.progress-stage{margin-bottom:16px;transition:all .3s ease}.progress-stage:last-child{margin-bottom:0}.progress-stage.active{background:#fff9;padding:8px;margin:-8px -8px 8px;border-radius:6px;border:2px solid #3b82f6}.progress-stage.completed{opacity:.7}.stage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:14px}.stage-name{font-weight:600;color:#1e293b}.stage-stats{color:#64748b;font-family:Monaco,Courier New,monospace;font-size:13px}.active-workers{color:#3b82f6;font-weight:600}.failed-count{color:#dc2626;font-weight:600}.stage-progress-track{width:100%;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;position:relative}.progress-stage.active .stage-progress-fill{animation:shimmer 2s infinite}.stage-progress-fill{height:100%;transition:width .3s ease;border-radius:4px}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.85}}.stage-meta{margin-top:4px;display:flex;gap:12px;font-size:12px;color:#64748b}.avg-time,.eta-time{display:inline-block}.overall-eta{color:#64748b;font-weight:500}.sort-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sort-btn{border:1px solid #ddd;border-radius:10px;background:#fff;padding:10px 12px;font-size:14px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.sort-btn:hover{border-color:#cfcfcf;box-shadow:0 4px 16px #0000000f}.sort-btn.active{border-color:#667eea;background:#667eea14;box-shadow:0 6px 18px #667eea33}.series-upload{width:100%;margin-bottom:15px}.series-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;padding:36px 20px;background:linear-gradient(135deg,#f5f7fa,#e8eef5);border:3px dashed #667eea;border-radius:15px;text-align:center;cursor:pointer;transition:all .3s ease;font-weight:600;color:#667eea;font-size:1rem;-webkit-user-select:none;user-select:none}.series-upload-label:hover:not(.disabled){background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#764ba2;transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.series-upload-label.drag-over{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#4f5bd5;transform:translateY(-1px);box-shadow:0 10px 28px #667eea59}.series-upload-label.disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.series-upload-label small{display:block;margin-top:4px;font-size:.8rem;opacity:.8;font-weight:500}.series-upload-uploading{display:flex;align-items:center;gap:12px;font-size:1rem;color:#667eea}.series-episode-list{margin-top:14px;border:1px solid #e0e0e0;border-radius:10px;overflow:hidden;background:#fafafa}.series-episode-list-header{padding:10px 14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;font-size:.9rem}.series-episode-item{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid #eee;font-size:.88rem}.series-episode-item:last-of-type{border-bottom:none}.series-episode-index{color:#888;font-weight:600;min-width:24px;flex-shrink:0}.series-episode-name{flex:1;color:#333;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.series-episode-meta{color:#888;font-size:.82rem;flex-shrink:0}.series-episode-progress-header{font-size:1.05rem;font-weight:700;color:#333;margin-bottom:14px}.series-episode-progress-name{font-weight:500;color:#667eea}.series-overall-progress-bar{width:100%;height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden;margin-bottom:6px}.series-overall-progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:6px;transition:width .4s ease}.series-overall-progress-label{font-size:.85rem;color:#555;font-weight:600;margin-bottom:16px}.episode-selector{padding:6px 12px;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb;font-size:.9rem;color:#333;font-weight:500;cursor:pointer;max-width:100%;transition:border-color .2s}.episode-selector:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.finding-episode-badge{display:inline-block;padding:2px 8px;border-radius:4px;background:#ede9fe;color:#5b21b6;font-size:.75rem;font-weight:600;white-space:nowrap;margin-left:2px;vertical-align:middle}
