.login-page{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#0a0a0a,#1a1a2e,#16213e);position:relative}.login-box{background:#fffffff2;padding:3rem;border-radius:16px;box-shadow:0 20px 60px #0006;text-align:center;max-width:420px;width:90%}.login-logo{margin-bottom:1.5rem}.aim-logo{max-width:140px;height:auto;border-radius:16px;box-shadow:0 4px 16px #00000026}.login-box h1{margin-bottom:.25rem;color:#1a1a2e;font-size:1.75rem;font-weight:700;letter-spacing:-.5px}.login-box h2{margin-bottom:1.5rem;color:#64748b;font-size:1.1rem;font-weight:400}.login-box p{color:#64748b;margin-bottom:1.5rem;font-size:.95rem}.login-button{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;border:none;padding:.875rem 2.5rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #1a1a2e4d}.login-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1a1a2e66}.login-button:active{transform:translateY(0)}.login-spinner{display:flex;justify-content:center;margin-top:1rem}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#1a1a2e;border-radius:50%;animation:spin 1s linear infinite}.login-footer{position:absolute;bottom:2rem;text-align:center}.login-footer a{color:#ffffffb3;text-decoration:none;font-size:.9rem;transition:color .2s ease}.login-footer a:hover{color:#fff;text-decoration:underline}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);color:#fff;position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;z-index:100;overflow:hidden}.sidebar-header{padding:1.25rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid rgba(255,255,255,.1);min-height:var(--header-height)}.sidebar-logo{font-size:1.75rem;flex-shrink:0}.sidebar-logo-img{height:42px;width:auto;flex-shrink:0;border-radius:10px;box-shadow:0 2px 8px #0003}.sidebar-title{font-size:1.1rem;font-weight:600;white-space:nowrap}.sidebar-nav{flex:1;padding:1rem .75rem;overflow-y:auto}.nav-section{margin-bottom:1.5rem}.nav-section-title{font-size:.7rem;text-transform:uppercase;color:#fff6;padding:0 .75rem;margin-bottom:.5rem;white-space:nowrap;overflow:hidden}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px;cursor:pointer;transition:all .2s;margin-bottom:.25rem;text-decoration:none;color:#ffffffb3}.nav-item:hover{background:var(--sidebar-hover);color:#fff}.nav-item.active{background:var(--sidebar-active);color:#fff}.nav-item-icon{font-size:1.25rem;flex-shrink:0;width:28px;text-align:center}.nav-item-text{white-space:nowrap}.nav-item-badge{margin-left:auto;background:#ef4444;color:#fff;font-size:.7rem;padding:.15rem .5rem;border-radius:10px;font-weight:600}.sidebar-footer{padding:1rem;border-top:1px solid rgba(255,255,255,.1)}.sidebar-user{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:8px;cursor:pointer;transition:background .2s}.sidebar-user:hover{background:var(--sidebar-hover)}.sidebar-user-avatar{width:36px;height:36px;background:var(--sidebar-active);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:.75rem;color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logout{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px;cursor:pointer;transition:all .2s;color:#ffffffb3;margin-top:.5rem;border:none;background:none;width:100%;font-size:.9rem}.sidebar-logout:hover{background:#ef444433;color:#fca5a5}@media (max-width: 768px){.sidebar{width:var(--sidebar-collapsed-width)}.sidebar .sidebar-title,.sidebar .nav-item-text,.sidebar .nav-item-badge,.sidebar .sidebar-user-info{display:none}}.main-header{background:#fff;height:var(--header-height);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;position:sticky;top:0;z-index:50}.header-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;margin:0}.header-title-icon{font-size:1.5rem}.header-actions{display:flex;align-items:center;gap:1rem}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh}.page-container{padding:1.5rem;max-width:1600px;margin:0 auto}@media (max-width: 768px){.main-content{margin-left:var(--sidebar-collapsed-width)}}.btn{padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;cursor:pointer;border:none;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:500;text-decoration:none}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.btn-lg{padding:1rem 2rem;font-size:1.1rem}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-light)}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.card-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.card-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.card-body{padding:1.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:200;opacity:0;visibility:hidden;transition:all .3s}.modal-overlay.active{opacity:1;visibility:visible}.modal{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;transform:translateY(20px);transition:all .3s}.modal-overlay.active .modal{transform:translateY(0)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-title{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:.25rem;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:.75rem}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffffff2;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:300}.loading-spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:1.1rem;color:var(--text-primary);margin-bottom:.25rem}.loading-subtext{font-size:.9rem;color:var(--text-secondary)}.empty-state{text-align:center;padding:4rem 2rem}.empty-state-icon{font-size:4rem;margin-bottom:1rem}.empty-state-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.empty-state-desc{color:var(--text-secondary);margin-bottom:1.5rem}.pp-results-section{display:grid;grid-template-columns:1fr 380px;gap:1.5rem}@media (max-width: 1024px){.pp-results-section{grid-template-columns:1fr}}.pp-video-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.pp-video-container{background:#000}.pp-video-player{width:100%;display:block}.pp-timeline{position:relative;height:36px;background:#1e293b;padding:0 1rem}.pp-timeline-bar{position:absolute;top:50%;left:1rem;right:1rem;height:6px;background:#475569;border-radius:3px;transform:translateY(-50%)}.pp-timeline-progress{height:100%;background:#3b82f6;border-radius:3px;width:0%}.pp-timeline-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;background:#f59e0b;border-radius:50%;cursor:pointer;z-index:2;border:2px solid white;transition:transform .2s}.pp-timeline-marker:hover{transform:translate(-50%,-50%) scale(1.3)}.pp-video-info{padding:1rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e5e7eb}.pp-video-filename{font-weight:600;color:#1e293b}.pp-video-time{font-size:.9rem;color:#64748b}.pp-detections-panel{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;max-height:calc(100vh - 200px)}.pp-detections-header{padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb}.pp-detections-title{font-size:1rem;font-weight:600;margin-bottom:.75rem}.pp-search{position:relative}.pp-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%)}.pp-search-input{width:100%;padding:.6rem 1rem .6rem 2.25rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;outline:none}.pp-search-input:focus{border-color:#3b82f6}.pp-filters{padding:.75rem 1.25rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.pp-filter-label{font-size:.8rem;color:#64748b}.pp-filter-toggles{display:flex;gap:.5rem}.pp-filter-toggle{padding:.35rem .75rem;border:1px solid #e2e8f0;border-radius:20px;background:#fff;font-size:.8rem;cursor:pointer;transition:all .2s;color:#64748b}.pp-filter-toggle:hover{background:#f8fafc}.pp-filter-toggle.active.visual{border-color:#f59e0b;background:#fef3c7;color:#92400e}.pp-filter-toggle.active.verbal{border-color:#3b82f6;background:#dbeafe;color:#1e40af}.pp-filter-toggle.active.hands{border-color:#8b5cf6;background:#f3e8ff;color:#6b21a8}.pp-summary{display:flex;padding:.75rem 1.25rem;gap:1rem;background:#f8fafc;border-bottom:1px solid #e5e7eb}.pp-summary-stat{text-align:center;flex:1}.pp-summary-value{font-size:1.5rem;font-weight:700;color:#2563eb}.pp-summary-label{font-size:.7rem;color:#64748b;text-transform:uppercase}.pp-detections-list{flex:1;overflow-y:auto;padding:.5rem}.pp-detection-item{padding:1rem;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:all .2s}.pp-detection-item:hover{border-color:#3b82f6;background:#f8fafc}.pp-detection-item.active{border-color:#3b82f6;background:#eff6ff}.pp-detection-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.pp-detection-brand{font-weight:600;color:#1e293b}.pp-detection-confidence{font-size:.75rem;padding:.2rem .5rem;border-radius:10px;background:#dbeafe;color:#1e40af}.pp-detection-confidence.high{background:#d1fae5;color:#065f46}.pp-detection-time{font-size:.85rem;color:#3b82f6;margin-bottom:.5rem}.pp-detection-types{display:flex;gap:.25rem;flex-wrap:wrap}.pp-type-tag{font-size:.7rem;padding:.15rem .5rem;border-radius:4px;background:#f1f5f9;color:#475569}.pp-type-tag.visual{background:#fef3c7;color:#92400e}.pp-type-tag.verbal{background:#dbeafe;color:#1e40af}.pp-type-tag.interaction{background:#f3e8ff;color:#6b21a8}.pp-detection-desc{font-size:.8rem;color:#64748b;margin-top:.5rem}.pp-download-section{padding:1rem;border-top:1px solid #e5e7eb}.pp-no-results{text-align:center;padding:2rem;color:#64748b}.pp-no-results-icon{font-size:2rem;margin-bottom:.5rem}.pp-upload-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.pp-upload-option{border:2px solid #e5e7eb;border-radius:12px;padding:1.5rem;text-align:center;cursor:pointer;transition:all .2s}.pp-upload-option:hover{border-color:#3b82f6}.pp-upload-option.active{border-color:#3b82f6;background:#eff6ff}.pp-upload-option-icon{font-size:2rem;margin-bottom:.5rem}.pp-upload-option-title{font-weight:600}.pp-upload-option-desc{font-size:.85rem;color:#64748b}.pp-drop-zone{border:2px dashed #d1d5db;border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s}.pp-drop-zone:hover,.pp-drop-zone.drag-over{border-color:#3b82f6;background:#f0f7ff}.pp-drop-zone-icon{font-size:3rem;margin-bottom:1rem}.pp-drop-zone-text{color:#64748b;margin-bottom:.5rem}.pp-drop-zone-hint{font-size:.85rem;color:#9ca3af}.pp-file-selected{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-top:1rem}.pp-file-icon{font-size:2rem}.pp-file-info{flex:1}.pp-file-name{font-weight:600;color:#166534}.pp-file-size{font-size:.85rem;color:#64748b}.pp-file-remove{background:none;border:none;color:#ef4444;font-size:1.5rem;cursor:pointer}.pp-recorder{text-align:center}.pp-recorder-preview{width:100%;max-height:300px;background:#1e293b;border-radius:8px;margin-bottom:1rem}.pp-recording-indicator{display:inline-flex;align-items:center;gap:.5rem;color:#ef4444;font-weight:600;margin-bottom:1rem}.pp-recording-dot{width:12px;height:12px;background:#ef4444;border-radius:50%;animation:pp-pulse 1s infinite}@keyframes pp-pulse{0%,to{opacity:1}50%{opacity:.5}}.pp-recorder-controls{display:flex;justify-content:center;gap:1rem}.script-scan{height:100%}.ss-main-card{height:calc(100vh - 60px);min-height:750px;display:flex;flex-direction:column}.ss-main-card .card-body{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:.75rem}.ss-workspace{display:flex;flex-direction:column;height:100%;gap:.75rem}.ss-toolbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;flex-wrap:wrap;gap:.75rem}.ss-toolbar-left{display:flex;flex-direction:column;gap:.25rem}.ss-script-title{margin:0;font-size:1.1rem;font-weight:600;color:#1e293b}.ss-stats-row{display:flex;gap:.75rem;font-size:.8rem}.ss-stat{color:#64748b}.ss-stat.safe{color:#16a34a}.ss-stat.caution{color:#ca8a04}.ss-stat.not-safe{color:#dc2626}.ss-toolbar-right{display:flex;align-items:center;gap:.75rem}.ss-view-toggle{display:flex;background:#f1f5f9;border-radius:6px;overflow:hidden}.ss-view-toggle button{padding:.4rem .75rem;border:none;background:transparent;font-size:.8rem;cursor:pointer;color:#64748b;transition:all .15s}.ss-view-toggle button:hover{background:#e2e8f0}.ss-view-toggle button.active{background:#3b82f6;color:#fff}.ss-filter-bar{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.ss-search-box{flex:1;min-width:200px;max-width:400px;position:relative}.ss-search-box input{width:100%;padding:.5rem 2rem .5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.85rem;outline:none;transition:border-color .15s}.ss-search-box input:focus{border-color:#3b82f6}.ss-clear-search{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.2rem;color:#9ca3af;cursor:pointer;line-height:1}.ss-filter-buttons{display:flex;gap:.25rem}.ss-filter-buttons button{padding:.4rem .6rem;border:1px solid #e2e8f0;background:#fff;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .15s;color:#64748b}.ss-filter-buttons button:hover{background:#f8fafc}.ss-filter-buttons button.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.ss-filter-buttons button.safe.active{background:#16a34a;border-color:#16a34a}.ss-filter-buttons button.caution.active{background:#ca8a04;border-color:#ca8a04}.ss-filter-buttons button.not-safe.active{background:#dc2626;border-color:#dc2626}.ss-main-content{flex:1;display:grid;gap:.75rem;overflow:hidden;min-height:0}.ss-main-content.pdf,.ss-main-content.scenes{grid-template-columns:280px 1fr}@media (max-width: 900px){.ss-main-content.pdf,.ss-main-content.scenes{grid-template-columns:240px 1fr}}@media (max-width: 700px){.ss-main-content.pdf,.ss-main-content.scenes{grid-template-columns:1fr}.ss-main-content.pdf .ss-scenes-panel,.ss-main-content.scenes .ss-scenes-panel{max-height:200px}}.ss-scenes-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.ss-scenes-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.85rem;font-weight:600;color:#475569}.ss-download-btn{font-size:.7rem;color:#3b82f6;text-decoration:none}.ss-download-btn:hover{text-decoration:underline}.ss-scene-list{flex:1;overflow-y:auto;padding:.5rem}.ss-scene-item{padding:.6rem .75rem;border-radius:6px;cursor:pointer;border-left:3px solid transparent;margin-bottom:.25rem;transition:all .15s}.ss-scene-item:hover{background:#f8fafc}.ss-scene-item.active{background:#eff6ff;border-left-color:#3b82f6}.ss-scene-item.safe{border-left-color:#22c55e}.ss-scene-item.caution{border-left-color:#eab308}.ss-scene-item.not-safe,.ss-scene-item.not-recommended{border-left-color:#ef4444}.ss-scene-item.active.safe{border-left-color:#22c55e;background:#f0fdf4}.ss-scene-item.active.caution{border-left-color:#eab308;background:#fefce8}.ss-scene-item.active.not-safe,.ss-scene-item.active.not-recommended{border-left-color:#ef4444;background:#fef2f2}.ss-scene-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.2rem}.ss-scene-num{font-size:.8rem;font-weight:600;color:#3b82f6}.ss-page-ref{font-size:.65rem;background:#e0e7ff;color:#4338ca;padding:.1rem .35rem;border-radius:3px;font-weight:600}.ss-scene-location{font-size:.8rem;color:#334155;display:flex;align-items:center;gap:.35rem}.ss-mini-tag{font-size:.6rem;background:#f1f5f9;color:#64748b;padding:.1rem .3rem;border-radius:2px;font-weight:600}.ss-scene-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.25rem;font-size:.7rem;color:#94a3b8}.ss-safety-dot{width:8px;height:8px;border-radius:50%;background:#22c55e}.ss-safety-dot.caution{background:#eab308}.ss-safety-dot.not-safe,.ss-safety-dot.not-recommended{background:#ef4444}.ss-no-results{text-align:center;padding:2rem;color:#94a3b8;font-size:.85rem}.ss-detail-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow-y:auto;padding:1.5rem}.ss-detail-panel.full{padding:2rem}.ss-detail-panel.full .ss-scene-detail-content{max-width:900px;margin:0 auto;gap:1.5rem}.ss-detail-panel.full .ss-scene-title h3{font-size:1.5rem}.ss-detail-panel.full .ss-detail-section h4{font-size:.85rem}.ss-detail-panel.full .ss-location{font-size:1.1rem}.ss-detail-panel.full .ss-chip{padding:.35rem .65rem;font-size:.85rem}.ss-detail-panel.full .ss-summary{font-size:1rem;padding:1.25rem;line-height:1.7;min-height:80px}.ss-empty{color:#94a3b8;text-align:center;padding:2rem}.ss-scene-detail-content{display:flex;flex-direction:column;gap:1rem}.ss-scene-header-detail{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.ss-scene-title{display:flex;align-items:center;gap:.75rem}.ss-scene-title h3{margin:0;font-size:1.1rem;color:#1e293b}.ss-page-btn{background:#e0e7ff;border:1px solid #c7d2fe;color:#4338ca;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s}.ss-page-btn:hover{background:#c7d2fe}.ss-safety-badge{padding:.25rem .6rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.ss-safety-badge.safe{background:#dcfce7;color:#166534}.ss-safety-badge.caution{background:#fef9c3;color:#854d0e}.ss-safety-badge.not-safe,.ss-safety-badge.not-recommended{background:#fee2e2;color:#991b1b}.ss-detail-section{display:flex;flex-direction:column;gap:.5rem}.ss-detail-section h4{margin:0;font-size:.75rem;text-transform:uppercase;color:#64748b;font-weight:600}.ss-setting-card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:.75rem}.ss-setting-tags{display:flex;gap:.35rem;margin-bottom:.35rem}.ss-tag{font-size:.65rem;padding:.15rem .4rem;border-radius:3px;font-weight:600;background:#e5e7eb;color:#374151}.ss-tag.int{background:#dbeafe;color:#1e40af}.ss-tag.ext{background:#fef3c7;color:#92400e}.ss-tag.time{background:#f3e8ff;color:#7c3aed}.ss-location{font-weight:600;color:#166534;font-size:.95rem}.ss-chip-list{display:flex;flex-wrap:wrap;gap:.35rem}.ss-chip{padding:.25rem .5rem;border-radius:4px;font-size:.75rem}.ss-chip.character{background:#ede9fe;color:#5b21b6}.ss-chip.prop{background:#fef3c7;color:#92400e}.ss-chip.placement{background:#d1fae5;color:#065f46}.ss-summary{margin:0;font-size:.85rem;line-height:1.5;color:#475569;background:#f8fafc;padding:.75rem;border-radius:6px;border-left:3px solid #3b82f6}.ss-pdf-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.ss-pdf-toolbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.ss-page-nav{display:flex;align-items:center;gap:.5rem}.ss-page-nav button{padding:.3rem .6rem;border:1px solid #e2e8f0;background:#fff;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .15s}.ss-page-nav button:hover:not(:disabled){background:#f1f5f9}.ss-page-nav button:disabled{opacity:.5;cursor:not-allowed}.ss-page-nav span{font-size:.8rem;color:#475569;min-width:60px;text-align:center}.ss-open-external{font-size:.75rem;color:#3b82f6;text-decoration:none}.ss-open-external:hover{text-decoration:underline}.ss-pdf-frame{flex:1;border:none;background:#f8fafc;min-height:calc(100vh - 250px)}.ss-no-pdf{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#94a3b8;gap:.5rem}.ss-no-pdf p{margin:0;font-size:.9rem}.ss-no-pdf small{font-size:.75rem}.ss-characters-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem;margin-top:.5rem}.ss-characters-section h4{margin:0 0 .5rem;font-size:.85rem;color:#475569}.ss-characters-grid{display:flex;flex-wrap:wrap;gap:.35rem}.ss-character-card{display:flex;align-items:center;gap:.35rem;padding:.3rem .5rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;font-size:.75rem}.ss-char-name{font-weight:600;color:#334155}.ss-char-role{color:#94a3b8;font-size:.65rem}.ss-character-card.more{background:#f1f5f9;color:#64748b}.ss-modal-desc{color:#64748b;margin-bottom:1.25rem;font-size:.9rem}.ss-drop-zone{border:2px dashed #d1d5db;border-radius:10px;padding:2.5rem 2rem;text-align:center;cursor:pointer;transition:all .2s;background:#fafafa}.ss-drop-zone:hover,.ss-drop-zone.drag-over{border-color:#3b82f6;background:#eff6ff}.ss-drop-icon{font-size:2.5rem;margin-bottom:.75rem}.ss-drop-text{color:#374151;font-size:1rem;margin-bottom:.35rem}.ss-drop-hint{font-size:.8rem;color:#9ca3af}.ss-file-selected{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px}.ss-file-icon{font-size:1.5rem}.ss-file-info{flex:1}.ss-file-name{font-weight:600;color:#166534;font-size:.9rem}.ss-file-size{font-size:.75rem;color:#64748b}.ss-file-remove{background:none;border:none;color:#ef4444;font-size:1.25rem;cursor:pointer;line-height:1}.ss-safety-notes{border-radius:8px;padding:1rem;margin-top:.5rem}.ss-safety-notes.caution{background:#fef9c3;border:1px solid #fde047}.ss-safety-notes.not-safe,.ss-safety-notes.not-recommended{background:#fee2e2;border:1px solid #fca5a5}.ss-safety-notes h4{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem!important;text-transform:none!important}.ss-safety-notes.caution h4{color:#854d0e}.ss-safety-notes.not-safe h4,.ss-safety-notes.not-recommended h4{color:#991b1b}.ss-safety-reason{margin:0;font-size:.9rem;line-height:1.6}.ss-safety-notes.caution .ss-safety-reason{color:#713f12}.ss-safety-notes.not-safe .ss-safety-reason,.ss-safety-notes.not-recommended .ss-safety-reason{color:#7f1d1d}.ss-user-notes{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.ss-notes-input{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.85rem;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .15s,box-shadow .15s}.ss-notes-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.ss-notes-input::placeholder{color:#94a3b8}.ss-report-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.ss-report-btn:hover{background:#059669}.ss-report-btn:disabled{background:#94a3b8;cursor:not-allowed}:root{--sidebar-width: 260px;--sidebar-collapsed-width: 70px;--header-height: 60px;--primary-color: #2563eb;--primary-hover: #1d4ed8;--sidebar-bg: #1e293b;--sidebar-hover: #334155;--sidebar-active: #3b82f6;--text-primary: #1e293b;--text-secondary: #64748b;--border-color: #e5e7eb;--bg-light: #f8fafc}*{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:var(--bg-light)}.hidden{display:none!important}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}
