.library-home{min-height:100vh;padding-bottom:40px}.text-muted{color:var(--text-muted);margin-top:4px}.empty-icon{font-size:4rem;margin-bottom:16px}.category-card{position:relative;background:var(--surface);border-radius:12px;border:1px solid var(--border);overflow:hidden;text-decoration:none;color:var(--text);transition:all .2s ease}.category-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d;text-decoration:none}.category-color-bar{height:4px;background:var(--category-color, var(--primary))}.category-content{padding:20px}.category-icon{font-size:2rem;margin-bottom:12px}.category-card h3{font-size:1.125rem;font-weight:600;margin-bottom:8px}.category-description{color:var(--text-muted);font-size:.875rem;line-height:1.5;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.category-meta{display:flex;align-items:center;gap:12px}.video-count{font-size:.875rem;color:var(--text-muted)}.delete-btn{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;background:var(--surface-light);border:none;color:var(--text-muted);font-size:1.25rem;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease}.category-card:hover .delete-btn{opacity:1}.delete-btn:hover{background:var(--danger);color:#fff}.color-picker{display:flex;gap:10px;flex-wrap:wrap}.color-option{width:36px;height:36px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s ease}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:#fff;box-shadow:0 0 0 2px var(--primary)}.category-view{min-height:100vh;padding-bottom:40px}.header-left{display:flex;flex-direction:column;gap:4px}.back-link{font-size:.875rem;color:var(--text-muted);margin-bottom:8px}.back-link:hover{color:var(--primary);text-decoration:none}.videos-list{display:flex;flex-direction:column;gap:16px}.video-card{display:flex;align-items:center;gap:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;transition:all .2s ease}.video-card:hover{border-color:var(--primary)}.video-thumbnail{position:relative;width:180px;min-width:180px;height:100px;border-radius:8px;overflow:hidden;background:var(--surface-light);cursor:pointer}.video-thumbnail img{width:100%;height:100%;object-fit:cover}.thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem}.play-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.video-thumbnail:hover .play-overlay{opacity:1}.play-icon{width:48px;height:48px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff}.video-info{flex:1;min-width:0}.video-info h3{font-size:1.125rem;font-weight:600;margin-bottom:4px;cursor:pointer}.video-info h3:hover{color:var(--primary)}.video-description{color:var(--text-muted);font-size:.875rem;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-meta{display:flex;align-items:center;gap:16px;font-size:.875rem;color:var(--text-muted)}.languages{display:flex;gap:4px}.lang-flag{font-size:1rem}.video-actions{display:flex;align-items:center;gap:8px}.btn-sm{padding:8px 12px;font-size:.875rem}.modal-subtitle{color:var(--text-muted);margin-bottom:20px}.language-options{display:flex;flex-direction:column;gap:12px}.language-option{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--surface-light);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}.language-option:hover{background:var(--primary);border-color:var(--primary)}.lang-flag-lg{font-size:2rem}.lang-name{font-size:1rem;font-weight:500}.kb-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:24px}.kb-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.kb-header h2{font-size:1rem;font-weight:600;margin:0;flex:1}.kb-error{color:#ef4444;font-size:.875rem;margin-bottom:12px}.kb-empty{color:var(--text-muted);font-size:.875rem;text-align:center;padding:16px 0}.kb-uploading{display:flex;align-items:center;gap:10px;padding:12px 0;color:var(--text-muted);font-size:.875rem}.spinner-small{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}.kb-doc-list{display:flex;flex-direction:column;gap:8px}.kb-doc-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--surface-light);border:1px solid var(--border);border-radius:8px}.kb-doc-icon{font-size:.7rem;font-weight:700;color:#ef4444;background:#ef44441a;padding:4px 6px;border-radius:4px;line-height:1}.kb-doc-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.kb-doc-name{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-doc-meta{font-size:.75rem;color:var(--text-muted)}.kb-doc-delete{opacity:.5;font-size:1.25rem;padding:4px 8px}.kb-doc-delete:hover{opacity:1;color:#ef4444}@media (max-width: 768px){.video-card{flex-direction:column;align-items:stretch}.video-thumbnail{width:100%;height:160px}.video-actions{justify-content:stretch}.video-actions .btn{flex:1}}.video-creator{min-height:100vh;padding-bottom:40px}.creator-content{max-width:800px}.upload-section,.config-section{margin-bottom:24px}.card-header h2{font-size:1rem;font-weight:600}.drop-zone{border:2px dashed var(--border);border-radius:12px;padding:40px;text-align:center;cursor:pointer;transition:all .2s ease}.drop-zone:hover,.drop-zone.active{border-color:var(--primary);background:#6366f11a}.drop-zone.has-file{border-style:solid;background:var(--surface-light)}.drop-content{display:flex;flex-direction:column;align-items:center;gap:8px}.drop-icon{font-size:3rem;margin-bottom:8px}.drop-content p{font-size:1.125rem;font-weight:500}.drop-hint{color:var(--text-muted);font-size:.875rem}.drop-formats{color:var(--text-muted);font-size:.75rem;margin-top:8px}.file-preview{display:flex;align-items:center;gap:16px}.file-icon{font-size:2.5rem}.file-info{display:flex;flex-direction:column;text-align:left}.file-name{font-weight:500}.file-size{font-size:.875rem;color:var(--text-muted)}.remove-file{margin-left:auto;width:32px;height:32px;border-radius:50%;background:var(--danger);border:none;color:#fff;font-size:1.25rem;cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.checkbox-option{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface-light);border-radius:8px}.checkbox-option input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.checkbox-option label{cursor:pointer}.error-message{background:#ef44441a;border:1px solid var(--danger);color:var(--danger);padding:12px 16px;border-radius:8px;margin-bottom:20px}.progress-section{margin-bottom:20px}.progress-bar{height:8px;background:var(--surface-light);border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:var(--primary);transition:width .3s ease}.progress-text{font-size:.875rem;color:var(--text-muted);text-align:center}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.script-editor{display:flex;flex-direction:column;height:100vh;overflow:hidden}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--surface);border-bottom:1px solid var(--border)}.editor-header h1{font-size:1.25rem;margin-top:4px}.header-right{display:flex;align-items:center;gap:12px}.language-select{padding:8px 12px;background:var(--surface-light);border:1px solid var(--border);border-radius:8px;color:var(--text)}.editor-content{flex:1;display:flex;overflow:hidden}.slides-nav{width:200px;min-width:200px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column}.slides-nav h3{padding:16px;font-size:.875rem;color:var(--text-muted);border-bottom:1px solid var(--border)}.slides-list{flex:1;overflow-y:auto;padding:8px}.slide-thumb{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:8px;color:var(--text);text-align:left;cursor:pointer;transition:all .2s ease}.slide-thumb:hover{background:var(--surface-light)}.slide-thumb.active{background:var(--primary)}.slide-num{width:24px;height:24px;background:var(--surface-light);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.slide-thumb.active .slide-num{background:#fff3}.slide-title{flex:1;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-main{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:24px;gap:24px}.slide-preview{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.preview-header h3{font-size:.875rem}.duration-badge{font-size:.75rem;padding:4px 8px;background:var(--surface-light);border-radius:4px;color:var(--text-muted)}.preview-content{height:200px;display:flex;align-items:center;justify-content:center;background:var(--surface-light)}.preview-content img{max-width:100%;max-height:100%;object-fit:contain}.preview-text{padding:20px;text-align:center}.preview-text h4{margin-bottom:8px}.preview-text p{color:var(--text-muted);font-size:.875rem;max-height:100px;overflow:hidden}.script-panel{flex:1;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.script-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.script-header h3{font-size:.875rem}.script-actions{display:flex;gap:8px}.script-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.script-textarea{flex:1;width:100%;padding:16px;background:transparent;border:none;color:var(--text);font-size:1rem;line-height:1.6;resize:none}.script-textarea:focus{outline:none}.original-script{padding:12px 16px;border-top:1px solid var(--border);background:var(--surface-light)}.original-script summary{cursor:pointer;font-size:.875rem;color:var(--text-muted)}.original-script p{margin-top:8px;font-size:.875rem;color:var(--text-muted);line-height:1.5}.corrections-panel{width:350px;min-width:350px;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column}.corrections-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.corrections-header h3{font-size:.875rem}.corrections-list{flex:1;overflow-y:auto;padding:12px}.correction-item{background:var(--surface-light);border-radius:8px;padding:12px;margin-bottom:12px}.correction-item.accepted{opacity:.6}.correction-content{margin-bottom:12px}.correction-original,.correction-suggested{margin-bottom:8px}.correction-original .label,.correction-suggested .label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:4px}.correction-original .text.deleted{color:var(--danger);text-decoration:line-through}.correction-suggested .text.added{color:var(--success)}.correction-reason{display:flex;align-items:center;gap:8px;font-size:.75rem}.reason-text{color:var(--text-muted)}.correction-actions{display:flex;gap:8px}.accepted-badge{color:var(--success);font-size:.875rem;font-weight:500}.editor-footer{display:flex;align-items:center;justify-content:center;gap:24px;padding:16px 24px;background:var(--surface);border-top:1px solid var(--border)}.slide-indicator{font-weight:500;color:var(--text-muted)}@media (max-width: 1200px){.corrections-panel{position:fixed;right:0;top:0;bottom:0;z-index:100;box-shadow:-4px 0 20px #0000004d}}.content-type-badge{display:inline-block;font-size:.625rem;padding:2px 6px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:var(--surface-light);color:var(--text-muted)}.badge-title-slide{background:#6366f120;color:#6366f1}.badge-intro{background:#8b5cf620;color:#8b5cf6}.badge-concept{background:#3b82f620;color:#3b82f6}.badge-example{background:#10b98120;color:#10b981}.badge-demo{background:#f59e0b20;color:#f59e0b}.badge-exercise{background:#ef444420;color:#ef4444}.badge-summary{background:#06b6d420;color:#06b6d4}.badge-conclusion{background:#6366f120;color:#6366f1}.badge-transition{background:#94a3b820;color:#94a3b8}.importance-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.importance-primary{background:#10b981}.importance-secondary{background:#3b82f6}.importance-detail{background:#94a3b8}.slide-thumb{flex-wrap:wrap}.slide-thumb .content-type-badge{margin-left:34px;margin-top:2px}.no-scripts-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;flex:1}.no-scripts-prompt h3{font-size:1.125rem;margin-bottom:12px}.no-scripts-prompt p{color:var(--text-muted);font-size:.875rem;max-width:400px;margin-bottom:24px;line-height:1.5}.key-concepts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.concept-tag{display:inline-block;font-size:.75rem;padding:3px 8px;background:var(--primary);color:#fff;border-radius:4px;opacity:.85}.teaching-notes{font-style:italic;font-size:.8rem;color:var(--text-muted);line-height:1.4}.preview-meta{padding:10px 16px;font-size:.75rem;color:var(--text-muted);border-top:1px solid var(--border)}@media (max-width: 768px){.slides-nav{display:none}.editor-main{padding:16px}}.interactive-player{height:100vh;display:flex;flex-direction:column;background:var(--background);color:var(--text)}.player-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--surface);border-bottom:1px solid var(--border)}.player-header h1{font-size:1.25rem;font-weight:500;margin:0;flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 16px}.btn-exit{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:8px 16px;border-radius:8px;transition:all .2s}.btn-exit:hover{background:var(--surface-light);color:var(--text)}.slide-counter{color:var(--text-muted);font-size:.9rem;min-width:80px;text-align:right}.slide-container{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden}.slide-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;box-shadow:0 8px 32px #0000004d}.slide-text{max-width:800px;text-align:center;padding:40px}.slide-text h2{font-size:2rem;margin-bottom:24px}.slide-text p{font-size:1.1rem;color:var(--text-muted);line-height:1.6}.player-controls{display:flex;align-items:center;justify-content:center;gap:24px;padding:24px;background:var(--surface);border-top:1px solid var(--border)}.btn-start-call{padding:20px 48px;font-size:1.25rem;font-weight:600;border:none;border-radius:50px;background:linear-gradient(135deg,var(--primary),#818cf8);color:#fff;cursor:pointer;box-shadow:0 4px 20px #6366f166;transition:all .3s}.btn-start-call:hover{transform:scale(1.05);box-shadow:0 6px 30px #6366f180}.btn-nav{width:56px;height:56px;border:none;border-radius:50%;background:var(--surface-light);color:var(--text);font-size:1.25rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-nav:hover:not(:disabled){background:var(--primary);color:#fff}.btn-nav:disabled{opacity:.3;cursor:not-allowed}.btn-ptt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:120px;height:120px;border:3px solid var(--border);border-radius:50%;background:var(--surface-light);color:var(--text);cursor:pointer;transition:all .15s ease;user-select:none;-webkit-user-select:none;touch-action:none}.btn-ptt:hover{border-color:var(--primary);background:#6366f114}.btn-ptt:active,.btn-ptt.active{border-color:#10b981;background:#10b98126;transform:scale(1.08);box-shadow:0 0 0 6px #10b98126,0 0 30px #10b98133}.ptt-icon{font-size:2rem;line-height:1}.ptt-label{font-size:.7rem;text-align:center;color:var(--text-muted);line-height:1.2}.btn-ptt.active .ptt-label{color:#10b981;font-weight:600}.btn-end-call{padding:12px 24px;border:none;border-radius:8px;background:var(--danger);color:#fff;font-size:.9rem;cursor:pointer;transition:all .2s}.btn-end-call:hover{opacity:.9}.player-loading,.player-error{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:var(--background);color:var(--text)}.player-error p{color:var(--text);margin-bottom:24px;max-width:400px;text-align:center;line-height:1.5}.error-buttons{display:flex;gap:16px}@media (max-width: 600px){.player-header h1{font-size:1rem}.player-controls{gap:12px;padding:16px}.btn-nav{width:48px;height:48px}.btn-ptt{width:96px;height:96px}.ptt-icon{font-size:1.6rem}}.pdf-chat{min-height:100vh;padding:40px 0;background:var(--background)}.pdf-chat .page-header{text-align:center;margin-bottom:40px}.pdf-chat .page-header h1{font-size:2.5rem;margin-bottom:8px}.pdf-chat .subtitle{color:var(--text-muted);font-size:1.1rem}.pdf-chat .upload-section{max-width:600px;margin:0 auto}.pdf-chat .drop-zone{border:2px dashed var(--border);border-radius:12px;padding:60px 40px;text-align:center;cursor:pointer;transition:all .2s ease;margin-bottom:24px}.pdf-chat .drop-zone:hover,.pdf-chat .drop-zone.active{border-color:var(--primary);background:#6366f10d}.pdf-chat .drop-zone.has-file{border-style:solid;border-color:var(--secondary);background:#10b9810d}.pdf-chat .drop-content{display:flex;flex-direction:column;align-items:center;gap:12px}.pdf-chat .drop-icon{font-size:48px}.pdf-chat .drop-hint{color:var(--text-muted);font-size:.9rem}.pdf-chat .file-preview{display:flex;align-items:center;gap:16px;justify-content:center}.pdf-chat .file-icon{font-size:40px}.pdf-chat .file-info{display:flex;flex-direction:column;text-align:left}.pdf-chat .file-name{font-weight:500;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-chat .file-size{color:var(--text-muted);font-size:.9rem}.pdf-chat .remove-file{width:32px;height:32px;border-radius:50%;border:none;background:var(--danger);color:#fff;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s}.pdf-chat .remove-file:hover{transform:scale(1.1)}.pdf-chat .upload-btn{width:100%}.pdf-chat .error-message{color:var(--danger);margin-bottom:16px;text-align:center;padding:12px;background:#ef44441a;border-radius:8px}.pdf-chat .session-error{max-width:400px;color:var(--text);background:#6366f11a;border:1px solid var(--primary)}.pdf-chat .loading-section,.pdf-chat .ready-section{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:24px}.pdf-chat .pdf-info-card{text-align:center;padding:24px 40px}.pdf-chat .pdf-icon{font-size:48px;display:block;margin-bottom:16px}.pdf-chat .pdf-info-card h3{margin-bottom:8px;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-chat .pdf-info-card p{color:var(--text-muted)}.pdf-chat .call-button{width:200px;height:200px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--primary),#818cf8);color:#fff;font-size:1.5rem;font-weight:600;cursor:pointer;box-shadow:0 0 40px #6366f166;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.pdf-chat .call-button:hover{transform:scale(1.05);box-shadow:0 0 60px #6366f199}.pdf-chat .reset-btn{margin-top:16px}.pdf-chat .call-section{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:20px}.pdf-chat .call-indicator{width:200px;height:200px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#818cf8);display:flex;align-items:center;justify-content:center;font-size:64px;transition:all .3s ease;box-shadow:0 0 30px #6366f166}.pdf-chat .call-indicator.listening{background:linear-gradient(135deg,var(--secondary),#34d399);box-shadow:0 0 60px #10b98199;animation:pulse 1.5s ease-in-out infinite}.pdf-chat .call-indicator.speaking{background:linear-gradient(135deg,var(--primary),#818cf8);box-shadow:0 0 40px #6366f180}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pdf-chat .call-status{font-size:1.25rem;font-weight:500}.pdf-chat .pdf-context{color:var(--text-muted);font-size:.9rem}.pdf-chat .end-call-btn{margin-top:20px;padding:12px 32px}.pdf-chat .error-section{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:24px}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #6366f1;--primary-dark: #4f46e5;--secondary: #10b981;--background: #0f172a;--surface: #1e293b;--surface-light: #334155;--text: #f8fafc;--text-muted: #94a3b8;--border: #475569;--danger: #ef4444;--warning: #f59e0b;--success: #22c55e}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--background);color:var(--text);line-height:1.6;min-height:100vh}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit}.container{max-width:1400px;margin:0 auto;padding:0 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:8px;font-weight:500;border:none;transition:all .2s ease}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--surface-light);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--surface)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-icon{padding:8px;border-radius:8px;background:transparent;border:none;color:var(--text-muted)}.btn-icon:hover{background:var(--surface-light);color:var(--text)}.input{width:100%;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);transition:border-color .2s ease}.input:focus{outline:none;border-color:var(--primary)}.input::placeholder{color:var(--text-muted)}.label{display:block;margin-bottom:8px;font-weight:500;color:var(--text)}.form-group{margin-bottom:20px}.card{background:var(--surface);border-radius:12px;border:1px solid var(--border);overflow:hidden}.card-header{padding:16px 20px;border-bottom:1px solid var(--border)}.card-body{padding:20px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--surface);border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:1.25rem;font-weight:600}.modal-body{padding:24px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;font-size:.75rem;font-weight:500}.badge-primary{background:#6366f133;color:var(--primary)}.badge-success{background:#22c55e33;color:var(--success)}.spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-page{display:flex;align-items:center;justify-content:center;min-height:50vh;flex-direction:column;gap:16px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding:24px 0}.page-header h1{font-size:2rem;font-weight:700}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state h3{font-size:1.25rem;margin-bottom:8px;color:var(--text)}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1200px){.grid-4{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
