@import url(https://fonts.googleapis.com/css2?family=Fraunces:wght@600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&family=Montserrat:wght@300;400;500;600;700;800&display=swap);.navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--card-bg);background-color:#fffffff2;border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:16px 0;position:-webkit-sticky;position:sticky;top:0;transition:all .3s ease;z-index:100}[data-theme=dark] .navbar{background-color:#0f172af2}.navbar-content{justify-content:space-between}.navbar-brand,.navbar-content{align-items:center;display:flex}.navbar-brand{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:700;gap:12px;text-decoration:none;transition:all .3s ease}.navbar-brand:hover{transform:scale(1.05)}.brand-icon{-webkit-text-fill-color:#fff;background:var(--gradient-primary);border-radius:8px;color:#fff;height:32px;padding:6px;width:32px}.brand-text{font-size:24px;font-weight:700}.navbar-menu{align-items:center;display:flex;gap:16px}.nav-link{border-radius:8px;color:var(--text-secondary);font-size:15px;font-weight:600;padding:8px 12px;position:relative;text-decoration:none;transition:all .3s ease}.nav-link:after{background:var(--gradient-primary);border-radius:999px;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);transition:width .3s ease;width:0}.nav-link:hover{background-color:var(--primary-light);color:var(--primary-color)}.nav-link:hover:after{width:80%}.nav-dropdown{position:relative}.nav-dropdown-toggle{align-items:center;background:#0000;border:none;cursor:pointer;display:inline-flex;gap:8px}.nav-dropdown-toggle svg:last-child{opacity:.7}.nav-dropdown-menu{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:6px;left:0;min-width:180px;opacity:0;padding:10px;pointer-events:none;position:absolute;top:calc(100% + 8px);transform:translateY(6px);transition:all .2s ease;z-index:20}.nav-dropdown.open .nav-dropdown-menu{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-dropdown-link{border-radius:8px;color:var(--text-secondary);font-size:14px;font-weight:600;padding:8px 10px;text-decoration:none}.nav-dropdown-link:hover{background:var(--primary-light);color:var(--primary-color)}.nav-user{align-items:center;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:999px;color:var(--text-primary);display:flex;font-size:14px;font-weight:600;gap:8px;padding:8px 16px;transition:all .3s ease}.nav-user:hover{border-color:var(--primary-color);transform:scale(1.05)}.nav-user-icon{align-items:center;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:999px;color:var(--text-primary);display:flex;height:44px;justify-content:center;text-decoration:none;transition:all .3s ease;width:44px}.nav-user-icon:hover{background-color:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color);transform:scale(1.1)}.theme-toggle{align-items:center;background:none;border:2px solid var(--border-color);border-radius:999px;color:var(--text-primary);cursor:pointer;display:flex;height:44px;justify-content:center;padding:10px;transition:all .3s ease;width:44px}.theme-toggle:hover{background-color:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color);transform:rotate(180deg) scale(1.1)}.mobile-menu-toggle{background:none;border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:none;padding:8px;transition:all .3s ease}.mobile-menu-toggle:hover{background-color:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color)}.mobile-menu{display:none}@media (max-width:768px){.desktop-menu{display:none}.mobile-menu-toggle{align-items:center;display:flex;justify-content:center}.mobile-menu{animation:slideDown .3s ease;display:flex;flex-direction:column;gap:12px;padding-top:20px}.mobile-user-info{align-items:center;background:var(--gradient-primary);border-radius:12px;box-shadow:var(--shadow-md);color:#fff;display:flex;font-weight:600;gap:8px;padding:14px 16px}.user-role{font-size:13px;letter-spacing:.5px;margin-left:auto;opacity:.9;text-transform:uppercase}.mobile-nav-link{background-color:var(--bg-secondary);border:2px solid #0000;border-radius:12px;color:var(--text-secondary);font-weight:600;padding:14px 16px;text-decoration:none;transition:all .3s ease}.mobile-submenu{display:flex;flex-direction:column;gap:8px}.mobile-submenu-title{background-color:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-primary)}.mobile-submenu-link{background:#94a3b829;border-radius:12px;color:var(--text-secondary);font-weight:600;margin-left:18px;padding:12px 16px;text-decoration:none}.mobile-nav-link:hover,.mobile-submenu-link:hover{background-color:var(--primary-light);color:var(--primary-color)}.mobile-nav-link:hover{border-color:var(--primary-color);transform:translateX(4px)}.theme-toggle-mobile{align-items:center;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;color:var(--text-primary);cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:12px;padding:14px 16px;transition:all .3s ease}.theme-toggle-mobile:hover{background-color:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color)}.mobile-logout-btn{margin-top:8px;width:100%}}@media (max-width:480px){.navbar-brand{font-size:20px}.brand-icon{height:28px;width:28px}.brand-text{font-size:20px}.logout-text{display:none}.btn-secondary{padding:10px 12px!important}.nav-user-icon,.theme-toggle{height:40px;width:40px}}.auth-container{align-items:center;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.auth-container:before{animation:float 20s ease-in-out infinite;background:var(--gradient-primary);left:-50%;top:-50%}.auth-container:after,.auth-container:before{border-radius:50%;content:"";filter:blur(100px);height:100%;opacity:.1;position:absolute;width:100%}.auth-container:after{animation:float 25s ease-in-out infinite reverse;background:var(--gradient-secondary);bottom:-50%;right:-50%}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(50px,50px) scale(1.1)}}.auth-card{background-color:var(--card-bg);border:2px solid var(--border-color);border-radius:24px;box-shadow:var(--shadow-xl);max-width:520px;padding:48px;position:relative;transition:all .3s ease;width:min(100%,520px);z-index:1}.auth-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.auth-logo{align-items:center;background:var(--gradient-primary);border-radius:20px;box-shadow:var(--shadow-lg);display:flex;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.auth-logo svg{color:#fff;height:48px;width:48px}.auth-title{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:700;line-height:1.2;margin-bottom:8px;text-align:center}.auth-subtitle{color:var(--text-secondary);font-size:16px;line-height:1.5;margin-bottom:32px;text-align:center}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-footer{color:var(--text-secondary);font-size:15px;margin-top:24px;text-align:center}.auth-footer a{color:var(--primary-color);font-weight:600;text-decoration:none;transition:all .3s ease}.auth-footer a:hover{color:var(--primary-hover);text-decoration:underline}.btn-block{width:100%}.role-selection{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:8px}.role-option{background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;color:var(--text-secondary);cursor:pointer;font-weight:600;padding:16px;text-align:center;transition:all .3s ease}.role-option:hover{background-color:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color)}.role-option.active{background:var(--gradient-primary);border-color:var(--primary-color);box-shadow:var(--shadow-md);color:#fff}.role-option input[type=radio]{display:none}.role-icon{font-size:24px;margin-bottom:8px}.auth-divider{align-items:center;color:var(--text-tertiary);display:flex;font-size:14px;margin:24px 0;text-align:center}.auth-divider:after,.auth-divider:before{border-bottom:1px solid var(--border-color);content:"";flex:1 1}.auth-divider span{padding:0 16px}.password-strength{background-color:var(--bg-tertiary);border-radius:999px;height:4px;margin-top:-12px;overflow:hidden}.password-strength-bar{border-radius:999px;height:100%;transition:all .3s ease}.password-strength-weak{background-color:var(--danger-color);width:33%}.password-strength-medium{background-color:var(--warning-color);width:66%}.password-strength-strong{background-color:var(--success-color);width:100%}.input-group{position:relative}.input-icon{color:var(--text-tertiary);height:22px;left:22px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:22px;z-index:1}.input-group .password-input{padding-right:56px}.password-toggle{align-items:center;background:none;border:none;color:var(--text-tertiary);cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:16px;top:50%;transform:translateY(-50%);transition:all .3s ease;z-index:2}.password-toggle:hover{color:var(--primary-color)}.btn-loading{pointer-events:none;position:relative}.btn-loading:after{animation:spin .6s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:initial;content:"";height:16px;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:16px}.auth-features{border-top:1px solid var(--border-color);margin-top:32px;padding-top:32px}.feature-item{color:var(--text-secondary);font-size:14px;gap:12px;margin-bottom:12px}.feature-icon,.feature-item{align-items:center;display:flex}.feature-icon{background:var(--gradient-success);border-radius:50%;color:#fff;flex-shrink:0;height:24px;justify-content:center;width:24px}.success-state{padding:40px 20px;text-align:center}.success-icon{align-items:center;animation:scaleIn .5s ease-out;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;height:100px;justify-content:center;margin:0 auto 24px;width:100px}.success-icon svg{color:#fff}.success-state h2{color:#333;font-size:24px;font-weight:700;margin-bottom:12px}.success-state p{color:#666;font-size:16px;line-height:1.6;margin-bottom:12px}.success-state p strong{color:#667eea;font-weight:600}.back-to-login{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:inline-flex;font-weight:600;gap:8px;margin-top:24px;padding:12px 24px;text-decoration:none;transition:all .3s ease}.back-to-login:hover{box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.auth-header{margin-bottom:32px;text-align:center}.auth-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:700;margin-bottom:8px}.auth-header p{color:#666;font-size:16px}.form-group>input{border:2px solid #e0e0e0;border-radius:12px;font-size:15px;padding:14px 16px;transition:all .3s ease;width:100%}.auth-card .form-group{margin-bottom:16px}.auth-card .form-label{font-size:13px}.form-group>input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group .input-group .form-control{line-height:1.4;padding-left:80px}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:10px;padding:16px;transition:all .3s ease;width:100%}.submit-button:hover{box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.auth-link{align-items:center;color:#667eea;display:inline-flex;font-weight:600;gap:6px;text-decoration:none;transition:all .3s ease}.auth-link:hover{color:#764ba2;text-decoration:underline}@media (max-width:640px){.auth-container{align-items:flex-start;padding:24px 16px 32px}.auth-card{padding:32px 24px}.auth-logo{height:64px;margin-bottom:20px;width:64px}.auth-logo svg{height:36px;width:36px}.auth-title{font-size:28px}.auth-subtitle{font-size:14px}.role-selection{grid-template-columns:1fr}.input-icon{left:18px}.input-group .form-control{padding-left:76px}.password-toggle{right:12px}}@media (max-width:480px){.auth-container{padding:20px 12px 28px}.auth-card{border-radius:20px;padding:24px 16px}.auth-title{font-size:22px}.auth-subtitle{font-size:13px;margin-bottom:24px}.auth-logo{height:56px;width:56px}.auth-logo svg{height:32px;width:32px}.form-control{font-size:15px;min-height:44px}.btn.btn-primary,.submit-button{font-size:15px;padding:14px 16px}}.explore-container{--explore-accent:#1d4ed8;--explore-accent-strong:#1e3a8a;--explore-accent-blue:#1d4ed8;--explore-accent-2:#f59e0b;--explore-ink:#0f172a;--explore-mute:#475569;--explore-line:#0f172a14;background:radial-gradient(circle at 12% 18%,#1d4ed838,#0000 45%),radial-gradient(circle at 82% 12%,#2563eb47,#0000 40%),radial-gradient(circle at 70% 80%,#f59e0b24,#0000 45%),var(--bg-primary);font-family:Space Grotesk,Helvetica Neue,sans-serif;min-height:calc(100vh - 80px);padding:64px 0 72px}[data-theme=dark] .explore-container{--explore-ink:#e2e8f0;--explore-mute:#94a3b8;--explore-line:#94a3b82e;background:radial-gradient(circle at 12% 18%,#1d4ed842,#0000 45%),radial-gradient(circle at 82% 12%,#2563eb52,#0000 40%),radial-gradient(circle at 70% 80%,#f59e0b24,#0000 45%),var(--bg-primary)}.explore-header{animation:fadeInUp .6s ease-out;background:var(--card-bg);border:1px solid var(--explore-line);border-radius:24px;box-shadow:var(--shadow-lg);margin-bottom:28px;overflow:hidden;padding:28px 32px;position:relative;text-align:left}.explore-header:after{background:radial-gradient(circle,#0ea5a440,#0000 65%);content:"";height:180px;pointer-events:none;position:absolute;right:-40px;top:-30px;width:180px}.explore-header h1{color:var(--explore-ink);font-family:Fraunces,Space Grotesk,serif;font-size:46px;font-weight:700;margin-bottom:12px}.explore-header p{color:var(--explore-mute);font-size:17px;margin:0;max-width:620px}.summary-cta{animation:fadeInUp .6s ease-out .05s backwards;margin:0 auto 40px}.summary-cta-card{background:linear-gradient(135deg,#1d4ed833,#2563eb1f);border:1px solid #1d4ed84d;border-radius:22px;padding:26px 30px}.summary-cta-kicker{color:var(--explore-accent-strong)}.summary-cta-card h2{color:var(--explore-ink);font-size:24px}.summary-cta-card p{color:var(--explore-mute)}.summary-cta-button{background:linear-gradient(135deg,#1d4ed8,#2563eb);text-decoration:none}.search-section{animation:fadeInUp .6s ease-out .1s backwards;margin-bottom:40px}.search-bar{align-items:center;background-color:var(--card-bg);border:1px solid var(--explore-line);border-radius:18px;box-shadow:0 18px 32px #0f172a14;display:flex;gap:12px;margin:0;max-width:820px;padding:16px 24px;transition:all .3s ease}.search-bar:focus-within{border-color:#0ea5a480;box-shadow:0 0 0 4px #0ea5a41f,var(--shadow-lg)}.search-icon{color:var(--explore-mute);flex-shrink:0;font-size:22px}.search-input{background:none;border:none;color:var(--explore-ink);flex:1 1;font-size:16px;font-weight:500;outline:none}.search-input::placeholder{color:var(--explore-mute)}.search-btn{background:linear-gradient(135deg,#1d4ed8,#2563eb);border:none;border-radius:999px;color:#fff;cursor:pointer;font-weight:700;padding:10px 18px;transition:transform .2s ease}.search-btn:hover{transform:translateY(-1px)}.faculties-section{animation:fadeInUp .6s ease-out .2s backwards;margin-bottom:48px}.faculties-section h2{color:var(--explore-ink);font-size:24px;font-weight:700;margin-bottom:20px}.faculty-chips{display:flex;flex-wrap:wrap;gap:12px}.faculty-chip{align-items:center;background-color:var(--card-bg);border:1px solid var(--explore-line);border-radius:999px;color:var(--explore-mute);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.faculty-chip:hover{background:linear-gradient(135deg,#0ea5a433,#f59e0b29);transform:translateY(-2px)}.faculty-chip.active,.faculty-chip:hover{border-color:#0000;box-shadow:var(--shadow-md);color:#fff}.faculty-chip.active{background:linear-gradient(135deg,#0ea5a4,#0f766e)}.courses-section{animation:fadeInUp .6s ease-out .3s backwards}.courses-section h2{color:var(--explore-ink);font-size:28px;font-weight:700;margin-bottom:32px}.course-card{background-color:var(--card-bg);border:1px solid var(--explore-line);border-radius:24px;color:var(--explore-ink);display:flex;flex-direction:column;gap:16px;height:100%;overflow:hidden;padding:30px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.course-card:before{background:linear-gradient(90deg,#1d4ed8,#2563eb);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.course-card:hover:before{transform:scaleX(1)}.course-card:hover{border-color:#0ea5a459;box-shadow:var(--shadow-xl);transform:translateY(-6px)}.course-header{align-items:flex-start;display:flex;gap:16px}.course-icon{align-items:center;background:linear-gradient(135deg,#1d4ed838,#2563eb2e);border-radius:16px;box-shadow:var(--shadow-md);color:var(--explore-accent-strong);display:flex;flex-shrink:0;font-size:28px;font-weight:700;height:64px;justify-content:center;transition:all .3s ease;width:64px}.course-card:hover .course-icon{transform:rotate(5deg) scale(1.1)}.course-info{flex:1 1}.course-code{color:var(--explore-mute);font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.course-card h3{color:var(--explore-ink);font-size:20px;font-weight:700;line-height:1.3;margin:0}.course-name{color:var(--explore-mute);flex:1 1;font-size:14px;line-height:1.6;margin:12px 0}.course-footer{align-items:center;border-top:1px solid var(--explore-line);display:flex;justify-content:space-between;margin-top:auto;padding-top:16px}.course-meta{align-items:center;gap:16px}.course-credits{align-items:center;background-color:#1d4ed81f;border-radius:8px;color:var(--explore-mute);display:flex;font-size:14px;font-weight:600;gap:6px;padding:6px 12px}.course-arrow{color:var(--explore-ink);font-size:24px;transition:all .3s ease}.course-card:hover .course-arrow{transform:translateX(4px)}.course-stats{display:flex;gap:16px;margin-top:8px}.stat-item{align-items:center;display:flex;font-size:13px;gap:6px}.no-results,.stat-item{color:var(--explore-mute)}.no-results{padding:80px 20px;text-align:center}.no-results-icon{color:var(--explore-mute);font-size:64px;margin-bottom:24px;opacity:.5}.no-results p{color:var(--explore-mute);font-size:18px;margin-top:16px}.loading-container{gap:24px;padding:40px 10px}.loading-header{align-items:center;background:var(--card-bg);border:1px solid var(--explore-line);border-radius:18px;display:flex;justify-content:space-between;padding:20px 24px}.loading-header h3{font-size:20px;margin:0 0 6px}.loading-header p{color:var(--explore-mute);margin:0}.loading-pulse{background:#1d4ed833;border-radius:16px;height:56px;overflow:hidden;position:relative;width:56px}.loading-pulse:after{animation:shimmer 1.4s infinite;background:linear-gradient(120deg,#0000,#fff9,#0000);content:"";inset:0;position:absolute}.loading-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.course-skeleton{grid-gap:12px;background:var(--card-bg);border:1px solid var(--explore-line);border-radius:20px;display:grid;gap:12px;padding:24px}.skeleton-icon{background:#94a3b833;height:56px;width:56px}.skeleton-line{background:#94a3b833;border-radius:999px;height:12px;overflow:hidden;position:relative}.skeleton-line.wide{height:16px;width:80%}.skeleton-chip{background:#94a3b833;border-radius:999px;height:24px;overflow:hidden;position:relative;width:120px}.skeleton-chip:after,.skeleton-icon:after,.skeleton-line:after{animation:shimmer 1.4s infinite;background:linear-gradient(120deg,#0000,#fff9,#0000);content:"";inset:0;position:absolute}.empty-state{background-color:var(--card-bg);border:2px dashed var(--explore-line);border-radius:20px}.empty-state-icon{align-items:center;background:linear-gradient(135deg,#1d4ed8,#2563eb);border-radius:20px;color:#fff;display:flex;font-size:40px;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.empty-state h3{color:var(--explore-ink)}.empty-state p{color:var(--explore-mute);margin:0 auto;max-width:400px}@media (max-width:1024px){.explore-header h1{font-size:40px}.courses-section h2{font-size:24px}}@media (max-width:768px){.explore-container{padding:40px 0}.explore-header{padding:22px 20px}.summary-cta-card{align-items:flex-start;flex-direction:column}.summary-cta-button{justify-content:center;width:100%}.explore-header h1{font-size:34px}.explore-header p{font-size:15px}.search-bar{flex-wrap:wrap;gap:14px;padding:18px 20px}.search-btn{font-size:16px;padding:14px 18px;width:100%}.search-input{font-size:16px;min-height:48px}.faculty-chips{gap:10px}.faculty-chip{font-size:13px;padding:10px 20px}.course-card{padding:24px}.course-icon{font-size:24px;height:56px;width:56px}.course-card h3{font-size:18px}}@media (max-width:480px){.explore-header{padding:20px 18px}.search-bar{padding:18px}.search-input{font-size:16px}.search-btn{padding:14px 18px}.explore-header h1{font-size:28px}.explore-header p{font-size:14px}.search-bar{padding:12px 16px}.faculty-chip{font-size:12px;padding:8px 16px}.course-card{padding:20px}.course-header{gap:12px}.course-icon{font-size:20px;height:48px;width:48px}.course-card h3{font-size:16px}.course-name{font-size:13px}.course-footer{align-items:flex-start;flex-direction:column;gap:12px}}.practice-container{min-height:calc(100vh - 80px);padding:40px 0}.practice-header{margin-bottom:40px;text-align:center}.practice-header h1{font-size:42px;font-weight:700;margin-bottom:8px}.practice-header p{color:var(--text-secondary);font-size:18px}.practice-course-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:24px}.practice-course-card h3{font-size:20px;font-weight:700}.practice-course-card p{color:var(--text-secondary);flex:1 1}.exam-header{margin-bottom:32px}.exam-progress{color:var(--text-secondary);font-weight:600;justify-content:space-between;margin-bottom:12px}.exam-progress,.exam-timer{align-items:center;display:flex}.exam-timer{animation:slideDown .5s ease-out;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea4d;gap:12px;margin-bottom:16px;padding:16px 24px}.exam-timer.warning{animation:pulse 1s ease-in-out infinite;background:linear-gradient(135deg,#f59e0b,#d97706)}.exam-timer.critical{animation:shake .5s ease-in-out infinite;background:linear-gradient(135deg,#ef4444,#dc2626)}.timer-label{color:#fff;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.timer-value{color:#fff;font-family:Courier New,monospace;font-size:28px;font-weight:900;letter-spacing:2px;text-shadow:0 2px 4px #0003}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.progress-bar{background-color:var(--border-color);border-radius:4px}.progress-fill{background-color:var(--primary-color)}.exam-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:220px minmax(0,1fr)}.question-nav{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:16px;position:-webkit-sticky;position:sticky;top:100px}.question-nav-title{font-weight:700;margin-bottom:12px}.question-nav-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(40px,1fr))}.question-nav-item{background:var(--dark-bg);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;font-weight:600;padding:8px 0}.question-nav-item.placeholder{background:#94a3b81f;border-style:dashed;color:var(--text-secondary);cursor:not-allowed;opacity:.7}.question-nav-item.active{background:#2563eb1f;border-color:var(--primary-color)}.question-nav-item.answered{background:#10b9811f;border-color:var(--success-color)}.question-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;margin:0 auto;max-width:800px;padding:32px}.question-header{margin-bottom:32px}.question-placeholder{background:#94a3b814;border:1px dashed var(--border-color);border-radius:12px;padding:18px 20px}.question-placeholder-title{color:var(--text-primary);font-size:20px;font-weight:700;margin-bottom:8px}.question-placeholder-body{align-items:center;color:var(--text-secondary);display:flex;font-size:15px;gap:12px}.spinner.small{border-width:3px;height:24px;width:24px}.question-text{font-size:24px;line-height:1.5;margin-bottom:12px}.question-sync-status{color:var(--text-secondary);font-size:13px;margin-top:6px}.question-hint{background-color:#2563eb1a;border:1px solid var(--primary-color);border-radius:6px;color:var(--primary-color);display:inline-block;font-size:14px;font-weight:600;margin-top:8px;padding:6px 12px}.multi-select-hint{align-items:center;animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid #667eea;color:#667eea;display:flex;gap:8px}.multi-select-hint,.pop-hint{border-radius:12px;font-size:14px;font-weight:600;margin-top:16px;padding:12px 16px}.pop-hint{background:#10b9811a;border:1px solid #10b98166;color:#10b981}.pop-instructions{align-items:baseline;background:#0f172a99;border:1px solid var(--border-color);border-radius:12px;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:14px;font-weight:600;gap:8px;margin-bottom:16px;padding:12px 16px}.pop-instructions-label{color:var(--text-secondary);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.pop-instructions-text{color:var(--text-primary)}.pop-question-title{font-size:22px;font-weight:800;letter-spacing:.5px;margin-bottom:16px}.pop-paper{display:flex;flex-direction:column;gap:24px}.pop-part{border-bottom:1px dashed var(--border-color);padding-bottom:20px}.pop-part:last-child{border-bottom:none;padding-bottom:0}.pop-part-row{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:auto 1fr auto;margin-bottom:12px}.pop-part-label{font-weight:700}.pop-part-text{line-height:1.6}.pop-part-marks{color:var(--text-secondary);font-weight:700;white-space:nowrap}.pop-paper textarea{background:var(--dark-bg);border:2px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:16px;line-height:1.6;min-height:160px;padding:16px;resize:vertical;width:100%}.pop-paper textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb33;outline:none}.exam-mode-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:32px}.exam-mode-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:16px;cursor:pointer;padding:24px;text-align:left;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.exam-mode-card:hover{border-color:var(--primary-color);box-shadow:0 12px 24px #00000026;transform:translateY(-4px)}.exam-mode-title{font-size:20px;font-weight:800;margin-bottom:6px}.exam-mode-tag{background:#2563eb1a;border-radius:999px;color:var(--primary-color);display:inline-block;font-size:12px;font-weight:700;margin-bottom:12px;padding:4px 10px}.options-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.option-button{align-items:center;background-color:var(--dark-bg);border:2px solid var(--border-color);border-radius:12px;color:var(--text-primary);cursor:pointer;display:flex;font-size:16px;gap:16px;min-height:60px;padding:16px 20px;text-align:left;transition:all .3s ease}.option-button.selected,.option-button:hover:not(:disabled){background-color:#2563eb1a;border-color:var(--primary-color)}.option-button.correct{background-color:#10b9811a;border-color:var(--success-color)}.option-button.incorrect{background-color:#ef44441a;border-color:var(--danger-color)}.option-button:disabled{cursor:not-allowed}.option-letter{align-items:center;background-color:var(--card-bg);border-radius:50%;display:flex;flex-shrink:0;font-weight:700;height:32px;justify-content:center;width:32px}.option-text{flex:1 1}.option-icon{flex-shrink:0;font-size:24px}.correct-icon{color:var(--success-color)}.incorrect-icon{color:var(--danger-color)}.result-feedback{align-items:center;border-radius:12px;display:flex;font-weight:500;gap:12px;margin-bottom:24px;padding:16px 20px}.result-feedback.correct{background-color:#10b9811a;border:1px solid var(--success-color);color:var(--success-color)}.result-feedback.incorrect{background-color:#ef44441a;border:1px solid var(--danger-color);color:var(--danger-color)}.result-feedback p{align-items:center;display:flex;gap:8px;margin:0}.question-actions{display:flex;justify-content:flex-end}.exam-results{margin:0 auto;max-width:600px;padding:60px 20px;text-align:center}.exam-results-pop{max-width:980px}.result-icon{color:var(--primary-color);margin-bottom:24px}.score-display{align-items:center;display:flex;font-size:72px;font-weight:700;gap:8px;justify-content:center;margin:24px 0}.score-number{color:var(--primary-color)}.score-total{color:var(--text-secondary);font-size:48px}.percentage-display{color:var(--text-secondary);font-size:32px;font-weight:600;margin-bottom:24px}.result-message{font-size:18px;margin-bottom:32px}.pop-score-sheet{background:linear-gradient(135deg,#2563eb1f,#10b9811f);border:1px solid #2563eb33;border-radius:20px;margin:24px 0 32px;padding:24px;text-align:left}.pop-score-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.pop-score-header h2{font-size:22px;margin:0 0 6px}.pop-score-header p{color:var(--text-secondary);font-size:14px;margin:0}.pop-score-chip{background:var(--primary-color);border-radius:999px;color:#fff;font-weight:700;padding:10px 14px}.pop-score-metrics{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.pop-metric{background:#0f172a0f;border-radius:14px;display:flex;flex-direction:column;font-weight:600;gap:6px;padding:12px 14px}.pop-metric span{color:var(--text-secondary);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.pop-feedback{margin-top:28px;text-align:left}.pop-feedback h3{font-size:20px;margin-bottom:16px}.pop-feedback-list{grid-gap:16px;display:grid;gap:16px}.pop-feedback-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:18px}.pop-feedback-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.pop-feedback-header p{color:var(--text-secondary);margin:6px 0 0}.pop-question-label{color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.pop-score-pill{border-radius:999px;font-size:12px;font-weight:700;padding:6px 10px;white-space:nowrap}.pop-score-pill.success{background:#10b98126;color:#10b981}.pop-score-pill.warning{background:#f9731626;color:#f97316}.pop-feedback-body{grid-gap:12px;display:grid;gap:12px}.pop-feedback-body h4{color:var(--text-secondary);font-size:14px;letter-spacing:.5px;margin:0 0 6px;text-transform:uppercase}.pop-feedback-body p{color:var(--text-primary);line-height:1.6;margin:0}.my-rank-card{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid #667eea;border-radius:16px;margin:32px auto;max-width:600px;padding:24px}.my-rank-card h3{color:#667eea;font-size:20px;font-weight:700;margin-bottom:20px;text-align:center}.rank-details{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.rank-item{text-align:center}.rank-label{color:var(--text-secondary);display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.rank-value{color:var(--text-primary);display:block;font-size:24px;font-weight:900}.leaderboard-section{margin:40px auto;max-width:900px}.leaderboard-section h2{font-size:28px;font-weight:800;margin-bottom:24px;text-align:center}.leaderboard-table{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.leaderboard-header{background-color:#667eea1a;border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:14px;font-weight:700;text-transform:uppercase}.leaderboard-header,.leaderboard-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:80px 1fr 150px 120px;padding:16px 20px}.leaderboard-row{border-bottom:1px solid var(--border-color);transition:all .3s ease}.leaderboard-row:last-child{border-bottom:none}.leaderboard-row:hover{background-color:#667eea0d}.leaderboard-row.top-rank{background-color:#ffd7001a;font-weight:600}.leaderboard-row.my-rank-row{background-color:#667eea26;border:2px solid #667eea;font-weight:700}.rank-col{align-items:center;display:flex;font-size:20px;font-weight:800;justify-content:center}.name-col,.score-col{align-items:center;display:flex;font-weight:600}.score-col{color:var(--primary-color);justify-content:center}.time-col{align-items:center;color:var(--text-secondary);font-size:14px}.exam-actions,.time-col{display:flex;justify-content:center}.exam-actions{flex-wrap:wrap;gap:16px;margin-top:32px}.no-questions{color:var(--text-secondary);padding:60px 20px;text-align:center}.no-questions p{font-size:18px;margin-bottom:24px}.loading-text{color:var(--text-secondary);margin-top:16px;text-align:center}.timer-setup-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 10px 40px #0000001a;margin:40px auto;max-width:900px;padding:48px}.timer-setup-header{margin-bottom:40px;text-align:center}.timer-setup-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:800;margin-bottom:12px}.timer-setup-header p{color:var(--text-secondary);font-size:16px;line-height:1.6;margin:0 auto;max-width:600px}.timer-options-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:32px}.timer-option-card{background:var(--card-bg);border:3px solid var(--border-color);border-radius:16px;cursor:pointer;padding:24px 16px;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.timer-option-card:hover{border-color:#667eea;box-shadow:0 8px 24px #667eea33;transform:translateY(-4px)}.timer-option-card.selected{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-color:#667eea;box-shadow:0 8px 24px #667eea4d}.timer-option-value{color:var(--text-primary);font-size:20px;font-weight:800;margin-bottom:8px}.timer-option-desc{color:var(--text-secondary);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.timer-option-check{align-items:center;animation:scaleIn .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:900;height:28px;justify-content:center;position:absolute;right:8px;top:8px;width:28px}.timer-setup-info{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-radius:12px;margin-bottom:32px;padding:24px;text-align:center}.timer-setup-info p{color:var(--text-secondary);font-size:15px;margin:8px 0}.timer-setup-info strong{color:var(--text-primary);font-weight:700}.timer-setup-error{color:#f97316;font-weight:600}.timer-setup-actions{display:flex;gap:16px;justify-content:center}.btn-lg{font-size:18px!important;font-weight:700!important;padding:16px 48px!important}@media (max-width:980px){.exam-layout{display:flex;flex-direction:column;gap:16px}.question-nav{order:2;position:static}.question-card{max-width:100%;order:1}}@media (max-width:768px){.exam-header{padding-bottom:10px}.exam-progress{align-items:flex-start;flex-direction:column;gap:6px}.exam-layout{display:flex;flex-direction:column;gap:16px}.question-nav{order:2;padding:12px;position:static}.question-nav-list{grid-template-columns:repeat(auto-fill,minmax(36px,1fr))}.question-card{max-width:100%;order:1;padding:20px}.question-text{font-size:20px}.option-button{font-size:14px;gap:12px;padding:12px 16px}.option-letter{font-size:13px;height:28px;width:28px}.option-icon{font-size:20px}.question-actions{flex-direction:column;gap:12px}.question-actions .btn{width:100%}.pop-paper textarea{font-size:14px;min-height:140px}.pop-part-row{grid-template-columns:1fr}.pop-part-marks{justify-self:start}.score-display{font-size:56px}.score-total{font-size:36px}.percentage-display{font-size:24px}.timer-setup-card{margin:20px auto;padding:24px 16px}.timer-setup-header h1{font-size:28px}.timer-setup-header p{font-size:14px}.timer-options-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.timer-option-card{padding:16px 12px}.timer-option-value{font-size:16px}.timer-option-desc{font-size:10px}.timer-setup-info{padding:16px}.timer-setup-info p{font-size:13px}.timer-setup-actions{flex-direction:column}.timer-setup-actions button{width:100%}.btn-lg{font-size:16px!important;padding:14px 24px!important}.exam-timer{flex-direction:column;gap:8px;padding:12px 16px;text-align:center}.timer-value{font-size:24px}.timer-label{font-size:12px}.leaderboard-header,.leaderboard-row{font-size:13px;gap:8px;grid-template-columns:60px 1fr 100px 80px;padding:12px}.rank-col{font-size:16px}.rank-details{gap:12px;grid-template-columns:1fr}.my-rank-card{padding:16px}.exam-actions{flex-direction:column}.exam-actions button{width:100%}}@media (max-width:480px){.question-nav{padding:10px}.question-nav-title{font-size:14px;margin-bottom:8px}.exam-header{gap:10px}.exam-progress{font-size:13px}.question-nav-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.question-nav-item{min-width:42px}.question-card{padding:16px}.question-text{font-size:18px}.options-list{gap:12px}.option-button,.result-feedback{font-size:13px;padding:12px 14px}.question-placeholder-title{font-size:16px}.timer-options-grid{grid-template-columns:1fr}.timer-setup-header h1{font-size:24px}.timer-option-check{font-size:14px;height:24px;width:24px}.leaderboard-header,.leaderboard-row{font-size:12px;gap:4px;grid-template-columns:50px 1fr 80px;padding:8px}.leaderboard-header .time-col,.time-col{display:none}.score-col{font-size:12px}}.admin-container{background:radial-gradient(circle at 12% 12%,#2563eb1f,#0000 45%),radial-gradient(circle at 85% 10%,#10b9811f,#0000 40%),var(--bg-primary);min-height:calc(100vh - 80px);padding:48px 0 64px}.admin-header{align-items:center;animation:fadeInUp .6s ease-out;background:var(--card-bg);border:1px solid var(--border-color);border-radius:22px;box-shadow:var(--shadow-lg);display:flex;gap:24px;justify-content:space-between;margin-bottom:32px;padding:28px 32px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.admin-header-icon{align-items:center;background:var(--gradient-primary);border-radius:18px;box-shadow:var(--shadow-lg);color:#fff;display:flex;flex-shrink:0;font-size:36px;height:72px;justify-content:center;width:72px}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.admin-header h1{color:var(--text-primary);font-size:32px;font-weight:800;margin:0 0 8px}.admin-header p{color:var(--text-secondary);font-size:15px;margin:0;max-width:520px}.admin-tabs{animation:fadeInUp .6s ease-out .1s backwards;background-color:var(--bg-secondary);border-radius:16px;display:flex;gap:12px;margin-bottom:40px;overflow-x:auto;padding:8px}.admin-tab{align-items:center;background-color:initial;border:2px solid #0000;border-radius:12px;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-size:15px;font-weight:600;gap:8px;justify-content:center;min-width:150px;padding:16px 24px;transition:all .3s ease;white-space:nowrap}.admin-tab:hover{background-color:var(--card-bg);color:var(--primary-color)}.admin-tab.active{background:var(--gradient-primary);box-shadow:var(--shadow-md);color:#fff}.admin-content{animation:fadeInUp .6s ease-out .2s backwards}.admin-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr}.admin-form-card,.admin-list-card{background-color:var(--card-bg);border:2px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-md);padding:32px;transition:all .3s ease}.admin-form-card:hover,.admin-list-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.admin-form-card h2,.admin-list-card h2{align-items:center;color:var(--text-primary);display:flex;font-size:24px;font-weight:700;gap:12px;margin-bottom:24px}.item-list{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto;padding-right:8px}.item-card{align-items:center;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;display:flex;gap:16px;padding:16px;transition:all .3s ease}.item-card:hover{background-color:var(--primary-light);border-color:var(--primary-color);transform:translateX(4px)}.item-icon{align-items:center;background:var(--gradient-primary);border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:24px;height:48px;justify-content:center;width:48px}.item-info{flex:1 1}.item-info h3{color:var(--text-primary);font-size:16px;font-weight:700;margin:0 0 4px}.item-info p{color:var(--text-secondary);font-size:14px;margin:0}.item-meta{color:var(--text-tertiary);margin-top:6px}.item-meta.archived{background:#f59e0b29;border-radius:999px;color:#b45309;margin-left:8px;padding:4px 10px}.item-actions{display:flex;flex-direction:column;gap:8px;margin-left:auto}.admin-filter-row{display:flex;justify-content:flex-end;margin-bottom:12px}.admin-toggle{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:13px;gap:8px}.admin-toggle input{height:16px;width:16px}.item-meta{background-color:var(--bg-tertiary);border-radius:20px;color:var(--text-secondary);display:inline-block;font-size:12px;font-weight:600;margin-top:8px;padding:4px 12px}.empty-state-small{color:var(--text-tertiary);padding:48px 20px;text-align:center}.empty-state-small svg{color:var(--text-tertiary);margin-bottom:16px;opacity:.5}.empty-state-small p{color:var(--text-secondary);font-size:14px}.upload-card-modern{background-color:var(--card-bg);border:2px solid var(--border-color);border-radius:24px;box-shadow:var(--shadow-xl);margin:0 auto;max-width:800px;padding:48px}.upload-header{margin-bottom:40px;text-align:center}.upload-header svg{color:var(--primary-color);margin-bottom:20px}.upload-header h2{color:var(--text-primary);font-size:32px;font-weight:700;margin-bottom:12px}.upload-header p{color:var(--text-secondary);font-size:16px}.file-drop-zone{margin-bottom:24px;position:relative}.file-input{height:0;opacity:0;position:absolute;width:0}.file-drop-label{align-items:center;background-color:var(--bg-secondary);border:3px dashed var(--border-color);border-radius:16px;cursor:pointer;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:280px;padding:48px 32px;transition:all .3s ease}.file-drop-label:hover{background-color:var(--primary-light);border-color:var(--primary-color)}.file-drop-label svg{color:var(--primary-color);opacity:.5}.file-drop-label h3{color:var(--text-primary);font-size:20px;font-weight:700;margin:0}.file-drop-label p{color:var(--text-secondary);font-size:16px;margin:0}.file-types{background-color:var(--bg-tertiary);border-radius:20px;color:var(--text-tertiary);display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 16px;text-transform:uppercase}.processing-card-modern{background-color:var(--card-bg);border:2px solid var(--border-color);border-radius:24px;box-shadow:var(--shadow-xl);margin:0 auto;max-width:700px;padding:48px;text-align:center}.success-animation{margin-bottom:40px}.success-icon-large{align-items:center;animation:scaleIn .5s cubic-bezier(.68,-.55,.265,1.55);background:var(--gradient-success);border-radius:50%;box-shadow:var(--shadow-lg);color:#fff;display:flex;font-size:64px;height:120px;justify-content:center;margin:0 auto 32px;width:120px}.processing-card-modern h2{color:var(--text-primary);font-size:28px;font-weight:700;margin-bottom:12px}.processing-card-modern p{color:var(--text-secondary);font-size:16px;margin-bottom:32px}.processing-actions{display:flex;gap:16px;margin-bottom:24px}.spinner-small{animation:spin .6s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:initial;display:inline-block;height:16px;width:16px}@media (max-width:1024px){.admin-grid{grid-template-columns:1fr}.admin-header h1{font-size:40px}}@media (max-width:768px){.admin-container{padding:40px 0}.admin-header{align-items:flex-start;flex-direction:column}.admin-header h1{font-size:36px}.admin-header p{font-size:16px}.admin-tabs{gap:8px}.admin-tab{font-size:14px;min-width:120px;padding:12px 16px}.admin-tab span{display:none}.admin-form-card,.admin-list-card,.processing-card-modern,.upload-card-modern{padding:24px}.processing-actions{flex-direction:column}.file-drop-label{min-height:220px;padding:32px 24px}}@media (max-width:480px){.admin-header-icon{font-size:32px;height:64px;width:64px}.admin-header h1{font-size:28px}.admin-header p{font-size:14px}.admin-form-card,.admin-list-card,.processing-card-modern,.upload-card-modern{padding:20px}.upload-header h2{font-size:24px}.file-drop-label h3{font-size:16px}.success-icon-large{font-size:48px;height:96px;width:96px}.processing-card-modern h2{font-size:24px}}.ai-processing-info{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin:30px 0}.info-card{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:12px;display:flex;gap:15px;padding:20px;transition:transform .2s ease}.info-card:hover{transform:translateY(-2px)}.info-card svg{color:#4a90e2;flex-shrink:0}.info-card h4{color:#2c3e50;font-size:16px;font-weight:600;margin:0 0 8px}.info-card p{color:#546e7a;font-size:14px;line-height:1.5;margin:0}.upload-success-subtitle{color:#546e7a;font-size:16px;margin-top:10px}.upload-success-subtitle strong{color:#2c3e50}.btn-action{align-items:center;display:flex;font-size:16px;font-weight:500;gap:10px;justify-content:center;padding:14px 28px!important;transition:all .3s ease}.btn-action:hover:not(:disabled){box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.btn-action:active:not(:disabled){transform:translateY(0)}.btn-action span{display:inline-block}.btn-outline-secondary{background:#0000;border:2px solid #95a5a6;color:#546e7a;font-weight:500;padding:12px 24px;transition:all .3s ease}.btn-outline-secondary:hover{background:#ecf0f1;border-color:#7f8c8d;color:#2c3e50}@media (max-width:768px){.ai-processing-info{grid-template-columns:1fr}.info-card{padding:16px}.info-card h4{font-size:15px}.info-card p{font-size:13px}}.admin-dashboard-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:calc(100vh - 70px);padding:32px 0 48px}[data-theme=dark] .admin-dashboard-container{background:linear-gradient(135deg,#0f172a,#1e293b)}.dashboard-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-lg);padding:32px}.dashboard-header h1{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;font-family:Montserrat,sans-serif;font-weight:800;margin-bottom:8px}.dashboard-header p{font-weight:500}.stats-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:32px}.stat-card{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-md);gap:20px;overflow:hidden;padding:28px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:before{background:var(--gradient-primary);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.stat-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-xl);transform:translateY(-8px)}.stat-card:hover:before{opacity:1}.stat-icon{align-items:center;border-radius:16px;box-shadow:var(--shadow-md);color:#fff;display:flex;flex-shrink:0;font-size:32px;height:72px;justify-content:center;position:relative;width:72px}.stat-card-purple .stat-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.stat-card-blue .stat-icon{background:linear-gradient(135deg,#3b82f6,#2563eb)}.stat-card-green .stat-icon{background:linear-gradient(135deg,#10b981,#059669)}.stat-card-orange .stat-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-card-teal .stat-icon{background:linear-gradient(135deg,#14b8a6,#0d9488)}.stat-card-pink .stat-icon{background:linear-gradient(135deg,#ec4899,#db2777)}.stat-card-indigo .stat-icon{background:linear-gradient(135deg,#6366f1,#4f46e5)}.stat-card-cyan .stat-icon{background:linear-gradient(135deg,#06b6d4,#0891b2)}.stat-details{flex:1 1}.stat-details h3{color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:36px;font-weight:800;line-height:1;margin-bottom:4px}.stat-details p{color:var(--text-secondary);font-size:14px;font-weight:600;margin-bottom:8px}.stat-badge,.stat-details p{letter-spacing:.5px;text-transform:uppercase}.stat-badge{background:var(--primary-light);border-radius:20px;color:var(--primary-color);display:inline-block;font-size:11px;font-weight:700;padding:4px 10px}.api-usage-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-lg);margin-bottom:32px;padding:32px}.api-usage-section h2{align-items:center;color:var(--text-primary);display:flex;font-family:Montserrat,sans-serif;font-size:24px;font-weight:800;gap:12px;margin-bottom:24px}.api-usage-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:32px}.api-stat-card{background:linear-gradient(135deg,var(--bg-secondary) 0,var(--bg-tertiary) 100%);border:2px solid var(--border-color);border-radius:16px;overflow:hidden;padding:24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.api-stat-card:before{background:var(--gradient-primary);bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:4px}.api-stat-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.api-stat-card:hover:before{opacity:1}.api-stat-card h3{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;font-family:Montserrat,sans-serif;font-size:32px;font-weight:800;line-height:1;margin-bottom:8px}.api-stat-card p{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.usage-by-type{margin-top:24px}.usage-by-type h3{color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:18px;font-weight:700;margin-bottom:16px}.usage-type-list{display:flex;flex-direction:column;gap:12px}.usage-type-item{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;overflow:hidden;padding:20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.usage-type-item:before{background:linear-gradient(135deg,#10b981,#3b82f6);bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:4px}.usage-type-item:hover{background:var(--card-hover);border-color:var(--success-color);transform:translateX(8px)}.usage-type-item:hover:before{opacity:1}.usage-type-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.operation-name{color:var(--text-primary);font-size:16px;font-weight:700}.operation-count{background:var(--primary-light);border-radius:20px;color:var(--primary-color);font-size:14px;font-weight:700;padding:4px 12px}.usage-type-stats{color:var(--text-secondary);display:flex;font-size:13px;font-weight:500;gap:16px}.dashboard-content-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));margin-bottom:32px}.dashboard-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-lg);padding:32px}.dashboard-card h2{align-items:center;color:var(--text-primary);display:flex;font-family:Montserrat,sans-serif;font-size:20px;font-weight:800;gap:12px;margin-bottom:24px}.materials-list,.top-courses-list{display:flex;flex-direction:column;gap:16px}.material-row{background:var(--bg-secondary);border:2px solid #0000;border-radius:16px;display:flex;gap:16px;overflow:hidden;padding:18px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.material-row:before{background:var(--gradient-primary);bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:4px}.material-row:hover{background:var(--card-hover);border-color:var(--primary-color);transform:translateX(8px)}.material-row:hover:before{opacity:1}.material-row-icon{align-items:center;background:var(--gradient-primary);border-radius:14px;box-shadow:var(--shadow-md);color:#fff;display:flex;flex-shrink:0;font-size:24px;height:56px;justify-content:center;width:56px}.material-row-content{flex:1 1}.material-row-content h4{color:var(--text-primary);font-size:16px;font-weight:700;margin-bottom:6px}.material-row-content p{color:var(--text-secondary);font-size:14px;font-weight:500;margin-bottom:6px}.material-row-meta{color:var(--text-tertiary);font-size:12px;font-weight:500}.top-course-row{align-items:center;background:var(--bg-secondary);border:2px solid #0000;border-radius:16px;display:flex;gap:16px;padding:18px;transition:all .3s cubic-bezier(.4,0,.2,1)}.top-course-row:hover{background:var(--card-hover);border-color:var(--primary-color);transform:scale(1.02)}.rank-badge{align-items:center;background:var(--gradient-primary);border-radius:50%;box-shadow:var(--shadow-md);color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:800;height:48px;justify-content:center;width:48px}.top-course-content{flex:1 1}.top-course-content h4{color:var(--text-primary);font-size:16px;font-weight:700;margin-bottom:4px}.top-course-content p{color:var(--text-secondary);font-size:14px;font-weight:500;margin:0}.material-count-badge{background:var(--gradient-primary);border-radius:24px;box-shadow:var(--shadow-md);color:#fff;font-size:13px;font-weight:700;padding:8px 16px;white-space:nowrap}.empty-message{color:var(--text-tertiary);font-weight:500;padding:48px 32px}.quick-actions-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-lg);padding:32px}.quick-actions-section h2{color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:24px;font-weight:800;margin-bottom:24px}.quick-actions-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.quick-action-card{align-items:center;background:var(--gradient-primary);border:2px solid #0000;border-radius:20px;box-shadow:var(--shadow-lg);color:#fff;display:flex;flex-direction:column;gap:16px;padding:36px;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.quick-action-card:hover{border-color:#ffffff4d;box-shadow:0 24px 48px -12px #6366f166;transform:translateY(-8px) scale(1.02)}.quick-action-card h3{-webkit-text-fill-color:#fff;color:#fff;font-family:Montserrat,sans-serif;font-size:20px;font-weight:800;margin:0}.quick-action-card p{color:#fff;font-size:14px;font-weight:500;margin:0;opacity:.95}.loading-container{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:60vh}.loading-container p{color:var(--text-secondary);font-size:16px;font-weight:600}@media (max-width:1024px){.stats-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.dashboard-content-grid{grid-template-columns:1fr}.api-usage-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}.dashboard-header{align-items:flex-start;flex-direction:column;gap:20px;padding:24px}.dashboard-header h1{font-size:28px}.stat-card{padding:24px}.stat-icon{font-size:28px;height:64px;width:64px}.stat-details h3{font-size:32px}.api-usage-grid,.quick-actions-grid{grid-template-columns:1fr}}@media (max-width:480px){.admin-dashboard-container{padding:20px 0 32px}.dashboard-header{padding:20px}.dashboard-header h1{font-size:24px}.stat-card{padding:20px}.stat-icon{font-size:24px;height:56px;width:56px}.stat-details h3{font-size:28px}.api-usage-section,.dashboard-card,.quick-actions-section{padding:24px}}.admin-materials-container{--admin-bg:#f6f7fb;--admin-panel:#fff;--admin-panel-soft:#f1f5f9;--admin-border:#e2e8f0;--admin-text:#0f172a;--admin-muted:#64748b;--admin-accent:#2563eb;--admin-accent-2:#0ea5a4;--admin-shadow:0 16px 40px #0f172a14;background:radial-gradient(circle at top left,#2563eb24,#0000 45%),radial-gradient(circle at 80% 20%,#0ea5a41f,#0000 45%),var(--admin-bg);color:var(--admin-text);min-height:calc(100vh - 70px);padding:32px 0 48px}[data-theme=dark] .admin-materials-container{--admin-bg:#0b1120;--admin-panel:#101827;--admin-panel-soft:#111b2e;--admin-border:#1f2a44;--admin-text:#e2e8f0;--admin-muted:#94a3b8;--admin-shadow:0 18px 40px #02061766;background:radial-gradient(circle at top left,#2563eb33,#0000 45%),radial-gradient(circle at 80% 20%,#0ea5a42e,#0000 45%),var(--admin-bg)}.materials-hero{align-items:center;background:var(--admin-panel);border:1px solid var(--admin-border);border-radius:24px;box-shadow:var(--admin-shadow);display:flex;gap:24px;justify-content:space-between;overflow:hidden;padding:28px 32px;position:relative}.materials-hero:after{background:radial-gradient(circle,#2563eb2e,#0000 70%);content:"";height:160px;pointer-events:none;position:absolute;right:-40px;top:-30px;width:160px}.materials-hero-text h1{font-family:Montserrat,sans-serif;font-size:32px;font-weight:800;margin-bottom:6px}.materials-hero-text p{color:var(--admin-muted);font-size:15px;margin:0}.materials-hero-actions{display:flex;flex-wrap:wrap;gap:12px}.materials-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:24px}.stat-card{background:var(--admin-panel);border:1px solid var(--admin-border);border-radius:18px;box-shadow:0 8px 20px #0f172a14;display:flex;flex-direction:column;gap:8px;padding:20px}.stat-label{color:var(--admin-muted);font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.stat-value{color:var(--admin-text);font-size:26px;font-weight:800}.materials-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-top:24px}.materials-search{align-items:center;background:var(--admin-panel);border:1px solid var(--admin-border);border-radius:14px;box-shadow:0 8px 16px #0f172a0f;display:flex;flex:1 1 280px;gap:10px;padding:12px 16px}.materials-search input{background:#0000;border:none;color:var(--admin-text);font-size:14px;outline:none;width:100%}.materials-filters{display:flex;flex-wrap:wrap;gap:10px}.filter-chip{background:var(--admin-panel);border:1px solid var(--admin-border);border-radius:999px;color:var(--admin-muted);cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.4px;padding:8px 14px;transition:all .2s ease}.filter-chip.active{background:#2563eb29;border-color:var(--admin-accent);color:var(--admin-text)}.materials-status-row{align-items:center;color:var(--admin-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:16px;justify-content:space-between;margin-top:16px}.materials-status-row strong{color:var(--admin-text)}.status-chips{display:flex;flex-wrap:wrap;gap:8px}.status-chip{background:#2563eb14;border:1px solid #2563eb2e;border-radius:999px;color:var(--admin-text);font-weight:600;padding:6px 12px}.materials-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:24px}.material-card{animation:fadeUp .4s ease both;animation-delay:0ms;animation-delay:calc(var(--delay, 0)*60ms);background:var(--admin-panel);border:1px solid var(--admin-border);border-radius:20px;border-top:4px solid #2563eb3d;box-shadow:0 12px 24px #0f172a14;display:flex;flex-direction:column;gap:16px;padding:20px 22px}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.material-card-header{align-items:flex-start;gap:16px}.material-title{align-items:center;display:flex;gap:12px}.material-title-icon{align-items:center;background:#2563eb1f;border-radius:14px;color:var(--admin-accent);display:flex;font-size:18px;height:42px;justify-content:center;width:42px}.material-title h3{font-size:16px;margin:0 0 4px}.material-title p{color:var(--admin-muted);font-size:13px;margin:0}.material-meta{align-items:center;color:var(--admin-muted);display:flex;font-size:12px;gap:6px;white-space:nowrap}.material-status{display:flex;flex-wrap:wrap;gap:10px}.status-pill{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.4px;padding:6px 12px}.status-success{background:#10b98129;border-color:#10b98166;color:#0f766e}.status-pending{background:#f9731626;border-color:#f9731666;color:#c2410c}.material-actions{display:flex;flex-wrap:wrap;gap:10px}.loading-container{color:var(--admin-muted);padding:60px 0;text-align:center}.empty-state{background:var(--admin-panel);border:1px solid var(--admin-border);border-radius:24px;box-shadow:var(--admin-shadow);margin-top:24px}.empty-state p{color:var(--admin-muted);margin-top:12px}@media (max-width:900px){.materials-hero{align-items:flex-start;flex-direction:column}.materials-toolbar{align-items:stretch;flex-direction:column}}@media (max-width:768px){.materials-hero{padding:24px}.materials-hero-text h1{font-size:26px}.materials-stats{grid-template-columns:repeat(2,1fr)}.materials-grid{grid-template-columns:1fr}.material-card-header{flex-direction:column}.material-meta{justify-content:flex-start}.materials-search{width:100%}}@media (max-width:520px){.materials-stats{grid-template-columns:1fr}.material-actions{flex-direction:column}.material-actions .btn{width:100%}.materials-status-row{align-items:flex-start;flex-direction:column}}.admin-users-container{background:radial-gradient(circle at 12% 8%,#2563eb1f,#0000 45%),radial-gradient(circle at 80% 10%,#10b9811f,#0000 40%),var(--bg-primary);min-height:calc(100vh - 70px);padding:32px 0 48px}.admin-users-hero{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-lg);display:flex;gap:24px;justify-content:space-between;margin-bottom:24px;padding:28px}.admin-users-kicker{color:var(--primary-color);font-size:12px;font-weight:700;letter-spacing:2px;margin-bottom:8px;text-transform:uppercase}.admin-users-hero h1{font-family:Montserrat,sans-serif;font-size:30px;margin:0 0 8px}.admin-users-hero p{color:var(--text-secondary);margin:0}.admin-users-stat{align-items:center;background:#2563eb1f;border:1px solid #2563eb33;border-radius:16px;display:flex;gap:14px;padding:16px 20px}.admin-users-stat svg{color:var(--primary-color);font-size:28px}.admin-users-stat span{color:var(--text-secondary);font-size:12px;letter-spacing:1px;text-transform:uppercase}.admin-users-stat strong{display:block;font-size:24px}.admin-users-toolbar{align-items:center;display:flex;gap:16px;margin-bottom:20px}.admin-invite-card{grid-gap:16px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-lg);display:grid;gap:16px;margin-bottom:24px;padding:24px}.admin-invite-card h2{margin:0 0 6px}.admin-invite-card p{color:var(--text-secondary);margin:0}.admin-invite-form{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.admin-invite-form input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);padding:12px 14px}.invite-status{border-radius:10px;font-size:14px;font-weight:600;padding:10px 14px}.invite-status.success{background:#10b98126;color:#0f766e}.invite-status.error{background:#ef444426;color:#b91c1c}.admin-users-search{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;display:flex;flex:1 1;gap:10px;padding:12px 16px}.admin-users-search input{background:#0000;border:none;color:var(--text-primary);outline:none;width:100%}.admin-users-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:360px 1fr}.admin-users-list{grid-gap:12px;display:grid;gap:12px}.user-card{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;cursor:pointer;display:flex;gap:12px;padding:16px;text-align:left;transition:all .2s ease}.user-card:hover{border-color:#2563eb59;box-shadow:var(--shadow-md);transform:translateY(-2px)}.user-card.active{background:#2563eb1f;border-color:var(--primary-color)}.user-avatar{align-items:center;background:#2563eb1a;border-radius:14px;color:var(--primary-color);display:flex;height:48px;justify-content:center;overflow:hidden;width:48px}.user-avatar img{height:100%;object-fit:cover;width:100%}.user-info h4{font-size:16px;margin:0 0 6px}.user-email{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:6px}.user-meta{color:var(--text-tertiary);display:flex;font-size:12px;gap:10px;margin-top:6px}.admin-user-profile{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-lg);padding:24px}.profile-header{gap:16px;margin-bottom:20px}.profile-avatar-large{align-items:center;background:#2563eb1f;border-radius:18px;color:var(--primary-color);display:flex;height:72px;justify-content:center;overflow:hidden;width:72px}.profile-avatar-large img{height:100%;object-fit:cover;width:100%}.role-chip{background:#10b9811f;border-radius:999px;color:#0f766e;display:inline-flex;font-size:12px;font-weight:700;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.profile-details{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-details h4{margin:0 0 12px}.profile-details ul{grid-gap:10px;color:var(--text-secondary);display:grid;gap:10px;list-style:none;margin:0;padding:0}.profile-details li{align-items:center;display:flex;gap:8px}.admin-users-loading .user-skeleton-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.user-skeleton-card{grid-gap:12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;display:grid;gap:12px;padding:18px}.user-skeleton-card .skeleton-line{background:#94a3b833;border-radius:999px;height:12px;overflow:hidden;position:relative}.user-skeleton-card .skeleton-line.wide{height:16px;width:75%}.skeleton-avatar{background:#94a3b833;border-radius:14px;height:48px;overflow:hidden;position:relative;width:48px}.admin-users-empty{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:40px;text-align:center}.admin-users-empty h3{margin:12px 0 6px}.skeleton-avatar:after,.user-skeleton-card .skeleton-line:after{animation:shimmer 1.4s infinite;background:linear-gradient(120deg,#0000,#fff9,#0000);content:"";inset:0;position:absolute}@media (max-width:1024px){.admin-users-grid,.profile-details{grid-template-columns:1fr}}@media (max-width:768px){.admin-users-hero{align-items:flex-start;flex-direction:column}.admin-users-toolbar{align-items:stretch;flex-direction:column}.admin-invite-form{grid-template-columns:1fr}}.student-dashboard-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:calc(100vh - 70px);padding:32px 0 48px}[data-theme=dark] .student-dashboard-container{background:linear-gradient(135deg,#0f172a,#1e293b)}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.dashboard-header h1{color:var(--text-primary);font-size:32px;font-weight:700;margin:0 0 8px}.dashboard-header p{color:var(--text-secondary);font-size:16px;margin:0}.summary-cta{margin-bottom:28px}.summary-cta-card{align-items:center;background:linear-gradient(135deg,#6366f11f,#0ea5e914);border:1px solid #6366f12e;border-radius:20px;box-shadow:var(--shadow-lg);display:flex;gap:24px;justify-content:space-between;padding:24px 28px}.summary-cta-kicker{color:var(--primary-color);font-size:12px;font-weight:700;letter-spacing:2px;margin-bottom:6px;text-transform:uppercase}.summary-cta-card h2{color:var(--text-primary);font-size:22px;margin:0 0 8px}.summary-cta-card p{color:var(--text-secondary);font-size:15px;margin:0}.summary-cta-button{align-items:center;background:var(--gradient-primary);border:none;border-radius:12px;box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:10px;padding:12px 20px;transition:transform .2s ease,box-shadow .2s ease}.summary-cta-button:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.profile-link-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;display:flex;font-size:15px;font-weight:600;gap:8px;padding:12px 24px;text-decoration:none;transition:all .3s ease}.profile-link-button:hover{box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.progress-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));margin-bottom:32px}.progress-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-lg);padding:32px;transition:all .3s cubic-bezier(.4,0,.2,1)}.progress-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-xl);transform:translateY(-4px)}.progress-card h2{align-items:center;color:var(--text-primary);display:flex;font-family:Montserrat,sans-serif;font-size:20px;font-weight:800;gap:12px;margin-bottom:28px}.progress-items{gap:28px}.progress-item,.progress-items{display:flex;flex-direction:column}.progress-item{gap:14px}.progress-item-header{align-items:center;display:flex;font-size:14px;justify-content:space-between}.progress-item-header span{color:var(--text-secondary);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.progress-item-header strong{color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:20px;font-weight:800}.progress-bar{box-shadow:inset 0 2px 4px #0000000f;height:14px}.progress-fill{overflow:hidden;position:relative;transition:width .6s cubic-bezier(.4,0,.2,1)}.progress-fill:before{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.progress-fill-blue{background:linear-gradient(90deg,#3b82f6,#6366f1);box-shadow:0 2px 8px #3b82f666}.progress-fill-green{background:linear-gradient(90deg,#10b981,#14b8a6);box-shadow:0 2px 8px #10b98166}.recent-materials-list{display:flex;flex-direction:column;gap:16px}.recent-material-item{background:var(--bg-secondary);border:2px solid #0000;border-radius:16px;color:inherit;display:flex;gap:18px;overflow:hidden;padding:20px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.recent-material-item:before{background:var(--gradient-primary);bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:4px}.recent-material-item:hover{background:var(--card-hover);border-color:var(--primary-color);transform:translateX(8px)}.recent-material-item:hover:before{opacity:1}.recent-material-icon{align-items:center;background:var(--gradient-primary);border-radius:14px;box-shadow:var(--shadow-md);color:#fff;display:flex;flex-shrink:0;font-size:24px;height:56px;justify-content:center;width:56px}.recent-material-content{flex:1 1}.recent-material-content h4{color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:16px;font-weight:700;margin-bottom:6px}.recent-material-content p{color:var(--text-secondary);font-size:14px;font-weight:500;margin-bottom:8px}.recent-material-date{align-items:center;color:var(--text-tertiary);display:inline-flex;font-size:12px;font-weight:500;gap:6px}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:16px}.profile-link-button{justify-content:center;width:100%}.summary-cta-card{align-items:flex-start;flex-direction:column}.summary-cta-button{justify-content:center;width:100%}.progress-section{grid-template-columns:1fr}.progress-card{padding:24px}.progress-card h2{font-size:18px}.recent-material-item{padding:16px}.recent-material-icon{font-size:20px;height:48px;width:48px}}@media (max-width:480px){.student-dashboard-container{padding:20px 0 32px}.progress-card{padding:20px}.progress-items{gap:24px}.progress-item-header strong{font-size:18px}.progress-bar{height:12px}}.contributions-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:24px;box-shadow:0 10px 40px #00000014;margin-bottom:32px;padding:32px}.contributions-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:24px}.contributions-title{align-items:center;display:flex;gap:16px}.contributions-icon{animation:pulse-glow 2s ease-in-out infinite;color:#f59e0b}@keyframes pulse-glow{0%,to{filter:drop-shadow(0 0 8px rgba(245,158,11,.4))}50%{filter:drop-shadow(0 0 16px rgba(245,158,11,.6))}}.contributions-title h2{color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:28px;font-weight:800;margin:0}.contributions-title p{color:var(--text-secondary);font-size:14px;margin:4px 0 0}.contribution-badge{align-items:center;animation:slideInRight .5s ease-out;background:linear-gradient(135deg,#10b981,#059669);border-radius:50px;box-shadow:0 4px 12px #10b9814d;color:#fff;display:flex;font-size:14px;font-weight:700;gap:8px;padding:10px 20px}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.contributions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.contribution-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;overflow:hidden;padding:24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.contribution-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.contribution-card:hover{border-color:#667eea;box-shadow:0 12px 30px #0000001a;transform:translateY(-4px)}.contribution-card:hover:before{opacity:1}.card-materials:before{background:linear-gradient(90deg,#3b82f6,#2563eb)}.card-points:before{background:linear-gradient(90deg,#f59e0b,#d97706)}.card-processed:before{background:linear-gradient(90deg,#10b981,#059669)}.card-pending:before{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.contribution-icon-wrapper{align-items:center;border-radius:14px;display:flex;height:56px;justify-content:center;margin-bottom:16px;transition:all .3s ease;width:56px}.card-materials .contribution-icon-wrapper{background:linear-gradient(135deg,#3b82f61a,#2563eb1a);color:#3b82f6}.card-points .contribution-icon-wrapper{background:linear-gradient(135deg,#f59e0b1a,#d977061a);color:#f59e0b}.card-processed .contribution-icon-wrapper{background:linear-gradient(135deg,#10b9811a,#0596691a);color:#10b981}.card-pending .contribution-icon-wrapper{background:linear-gradient(135deg,#8b5cf61a,#7c3aed1a);color:#8b5cf6}.contribution-card:hover .contribution-icon-wrapper{transform:scale(1.1) rotate(5deg)}.contribution-content h3{color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:36px;font-weight:800;line-height:1;margin:0 0 8px}.contribution-content p{color:var(--text-secondary);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.contribution-progress{margin-top:16px}.progress-bar{background:var(--bg-tertiary);margin-bottom:8px}.progress-fill{background:linear-gradient(90deg,#3b82f6,#2563eb);box-shadow:0 0 10px #3b82f680;transition:width .5s ease}.points-breakdown{align-items:center;display:flex;gap:8px}.points-rate{background:#f59e0b1a;border-radius:20px;color:#f59e0b;font-size:12px;font-weight:700;padding:6px 12px}.success-rate{align-items:center;display:flex}.rate-badge{background:#10b9811a;border-radius:20px;color:#10b981;font-size:12px;font-weight:700;padding:6px 12px}.pending-info{align-items:center;display:flex}.pending-label{background:#8b5cf61a;border-radius:20px;color:#8b5cf6;font-size:12px;font-weight:700;padding:6px 12px}.achievement-notification{align-items:center;animation:bounceIn .6s ease-out;background:linear-gradient(135deg,#f59e0b1a,#d977061a);border:2px solid #f59e0b;border-radius:12px;color:#f59e0b;display:flex;font-size:15px;font-weight:700;gap:12px;margin-top:24px;padding:16px 24px}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.achievement-notification svg{animation:spin 2s linear infinite}.upload-card{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;cursor:pointer;text-align:center;transition:all .3s ease;width:100%}.upload-card:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 12px 24px #667eea66;transform:translateY(-8px)}.modal-overlay{animation:modalFadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:modalSlideUp .3s ease-out;border-radius:24px;box-shadow:0 25px 80px #0006;max-height:95vh;max-width:1100px}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{background:linear-gradient(180deg,#fff 0,#f8fafc);border-bottom:2px solid #e2e8f0;border-radius:24px 24px 0 0;padding:28px 32px}.modal-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:26px;font-weight:800}.modal-close{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:50%;color:#718096;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;padding:0;transition:all .2s ease;width:40px}.modal-close:hover{background:#fee;border-color:#fcc;color:#c00;transform:rotate(90deg)}.upload-form{padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#1a202c;font-size:14px}.form-group input[type=text],.form-group select{border:2px solid #e2e8f0;border-radius:8px;font-size:16px;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input[type=text]:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input[type=file]{border:2px dashed #e2e8f0;border-radius:8px;cursor:pointer;padding:12px;transition:all .2s ease;width:100%}.form-group input[type=file]:hover{border-color:#667eea}.file-selected{color:#667eea;font-size:14px;font-weight:500;margin-top:8px}.upload-error{background:#fee;border:2px solid #fcc;border-radius:8px;color:#c00}.upload-error,.upload-success{align-items:center;display:flex;gap:8px;margin-bottom:16px;padding:12px 16px}.upload-success{background:#efe;border:2px solid #cfc;border-radius:8px;color:#060}.upload-info{background:#f7fafc;border-top:2px solid #e2e8f0;padding:16px 24px 24px}.upload-info p{color:#718096;font-size:14px;line-height:1.6;margin:0}.upload-wizard{max-width:1100px;width:100%}.upload-steps{background:linear-gradient(180deg,#f8fafc 0,#fff);border-bottom:2px solid #e2e8f0;display:flex;gap:12px;justify-content:space-between;padding:24px 32px}.upload-steps .step{background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000d;color:#718096;flex:1 1;font-size:14px;font-weight:700;padding:14px 12px;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.upload-steps .step.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;box-shadow:0 6px 20px #667eea66;color:#fff;transform:translateY(-2px)}.upload-steps .step:not(:last-child):after{color:#cbd5e0;content:"→";font-size:16px;font-weight:700;position:absolute;right:-16px;top:50%;transform:translateY(-50%);z-index:1}.step-content{background:#fafbfc;border-radius:0 0 24px 24px;min-height:480px;padding:40px 32px}.step-content h3{color:#1a202c;font-size:24px;font-weight:800;margin-bottom:10px}.step-description{color:#718096;font-size:15px;line-height:1.6;margin-bottom:32px}.step-content p:not(.step-description){color:#718096;font-size:15px;margin-bottom:16px}.selection-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:28px}.selection-card{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #0000000f;color:#1a202c;cursor:pointer;display:flex;flex-direction:column;gap:14px;overflow:hidden;padding:28px 24px;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.selection-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.selection-card:hover{background:linear-gradient(180deg,#fff 0,#f8fafc);border-color:#667eea;box-shadow:0 8px 24px #667eea33;transform:translateY(-4px)}.selection-card:hover:before{opacity:1}.selection-card.selected{background:linear-gradient(135deg,#667eea14,#764ba214);border-color:#667eea;box-shadow:0 8px 24px #667eea40}.selection-card.selected:before{opacity:1}.selection-card svg{color:#667eea;height:32px;width:32px}.selection-card span{color:#1a202c;font-size:16px;font-weight:700;line-height:1.4}.selection-card small{color:#718096;font-size:13px;font-weight:500}.selection-card.create-new{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px dashed #cbd5e0}.selection-card.create-new:hover{background:linear-gradient(135deg,#667eea14,#764ba214);border-color:#667eea}.selection-card.create-new svg{color:#667eea}.create-form{animation:slideDown .3s ease-out;background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px solid #cbd5e0;border-radius:12px;margin-top:24px;padding:28px}.create-form h4{align-items:center;color:#1a202c;display:flex;font-size:17px;font-weight:700;gap:8px;margin-bottom:20px}.form-input{background:#fff;border:2px solid #cbd5e0;border-radius:8px;font-size:14px;margin-bottom:14px;padding:12px 16px;transition:all .2s ease;width:100%}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none}.form-input::placeholder{color:#a0aec0}.form-actions{margin-top:20px}.create-form .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.empty-message{background:#fff;border:2px dashed #cbd5e0;border-radius:12px;color:#718096;font-size:14px;margin-top:20px;padding:48px 24px;text-align:center}.empty-message svg{color:#cbd5e0;display:block;margin:0 auto 16px}.empty-message p{line-height:1.6;margin:0}.btn-back{align-items:center;background:#fff;border:2px solid #cbd5e0;border-radius:8px;color:#1a202c;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;margin-top:24px;padding:12px 24px;transition:all .2s ease}.btn-back:hover{background:#f7fafc;border-color:#667eea;color:#667eea}.btn-back:disabled{cursor:not-allowed;opacity:.5}@media (max-width:968px){.upload-wizard{max-width:95%}.selection-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:768px){.upload-wizard{margin:0;max-width:100%}.modal-overlay{padding:10px}.upload-steps{gap:6px;padding:12px 16px}.upload-steps .step{font-size:11px;padding:8px 6px}.upload-steps .step:not(:last-child):after{font-size:11px;right:-10px}.selection-grid{gap:12px;grid-template-columns:1fr}.step-content{min-height:280px;padding:20px 16px}.step-content h3{font-size:18px}.create-form,.selection-card{padding:20px}.empty-message{padding:32px 16px}}@media (max-width:480px){.modal-overlay{padding:0}.upload-wizard{border-radius:0;max-height:100vh}.upload-steps{gap:4px;padding:10px 12px}.upload-steps .step{font-size:9px;padding:6px 4px}.upload-steps .step:not(:last-child):after{font-size:10px;right:-8px}.step-content{min-height:auto;padding:16px 12px}.step-content h3{font-size:16px}.step-description{font-size:13px}.selection-card{padding:16px}.selection-card span{font-size:14px}.create-form{padding:16px}.form-input{font-size:13px;padding:10px 14px}.btn-back{font-size:13px;padding:10px 18px}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}@media (max-width:768px){.contributions-section{padding:24px 20px}.contributions-header{gap:16px}.contributions-header,.contributions-title{align-items:flex-start;flex-direction:column}.contributions-title{gap:12px}.contributions-title h2{font-size:24px}.contribution-badge{align-self:flex-start}.contributions-grid{grid-template-columns:1fr}}@media (max-width:480px){.contributions-section{border-radius:16px;padding:20px 16px}.contributions-title h2{font-size:22px}.contribution-card{padding:20px}.contribution-content h3{font-size:32px}.contribution-icon-wrapper{height:48px;width:48px}.achievement-notification{font-size:14px;padding:14px 18px}}.modern-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:24px;box-shadow:0 10px 40px #00000014;margin-bottom:32px;padding:32px}.section-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:20px}.section-title-group{align-items:center;display:flex;gap:16px}.section-icon{animation:float-icon 3s ease-in-out infinite;color:#667eea}@keyframes float-icon{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.section-title-group h2{color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:26px;font-weight:800;margin:0}.section-title-group p{color:var(--text-secondary);font-size:14px;margin:4px 0 0}.view-all-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;display:flex;font-size:14px;font-weight:700;gap:8px;padding:12px 24px;text-decoration:none;transition:all .3s ease}.view-all-button:hover{box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.progress-cards-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.modern-progress-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;overflow:hidden;padding:24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.modern-progress-card:before{content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.modern-progress-card:hover{border-color:#0000;box-shadow:0 12px 30px #0000001a;transform:translateY(-4px)}.modern-progress-card:hover:before{opacity:1}.card-summaries:before{background:linear-gradient(90deg,#3b82f6,#2563eb)}.card-questions:before{background:linear-gradient(90deg,#10b981,#059669)}.card-courses:before{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.progress-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.modern-progress-card .progress-icon-wrapper{align-items:center;border-radius:12px;display:flex;height:48px;justify-content:center;transition:all .3s ease;width:48px}.card-summaries .progress-icon-wrapper{background:linear-gradient(135deg,#3b82f61a,#2563eb1a);color:#3b82f6}.card-questions .progress-icon-wrapper{background:linear-gradient(135deg,#10b9811a,#0596691a);color:#10b981}.card-courses .progress-icon-wrapper{background:linear-gradient(135deg,#8b5cf61a,#7c3aed1a);color:#8b5cf6}.modern-progress-card:hover .progress-icon-wrapper{transform:scale(1.1) rotate(5deg)}.progress-stats{text-align:right}.progress-percentage{color:var(--text-primary);display:block;font-family:Montserrat,sans-serif;font-size:32px;font-weight:800;line-height:1}.processing-step{align-items:center;display:flex;justify-content:center;min-height:450px}.processing-container{max-width:500px;padding:40px 20px;text-align:center}.processing-icon{align-items:center;border-radius:50%;display:flex;height:120px;justify-content:center;margin:0 auto 32px;width:120px}.processing-icon.loading{background:linear-gradient(135deg,#667eea1a,#764ba21a);color:#667eea}.processing-icon.success{animation:scaleIn .5s ease-out;background:linear-gradient(135deg,#10b9811a,#0596691a);color:#10b981}.processing-icon.error{background:linear-gradient(135deg,#ef44441a,#dc26261a);color:#ef4444}.processing-icon .spin{animation:spin 1.5s linear infinite}.processing-container h3{color:#1a202c;font-size:26px;font-weight:800;margin-bottom:12px}.processing-message{color:#718096;font-size:16px;line-height:1.6;margin-bottom:32px}.processing-progress-container{align-items:center;display:flex;gap:16px;margin-bottom:40px}.processing-progress-bar{background:#e2e8f0;border-radius:999px;flex:1 1;height:12px;overflow:hidden}.processing-progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:999px;height:100%;overflow:hidden;position:relative;transition:width .5s ease-out}.processing-progress-fill:before{animation:shimmer-slide 1.5s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}.processing-percentage{color:#667eea;font-size:18px;font-weight:800;min-width:50px}.processing-stages{background:#f7fafc;border-radius:16px;display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:24px;text-align:left}.processing-stage{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#a0aec0;display:flex;gap:12px;padding:12px 16px;transition:all .3s ease}.processing-stage.active{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-color:#667eea;color:#667eea}.processing-stage.active svg{animation:pulse 1s ease-in-out infinite}.processing-stage.completed{background:linear-gradient(135deg,#10b9810d,#0596690d);border-color:#10b981;color:#10b981}.processing-stage span{font-size:14px;font-weight:600}.processing-note{color:#a0aec0;font-size:13px;font-style:italic;margin:0}@media (max-width:768px){.processing-step{min-height:380px}.processing-container{padding:24px 16px}.processing-icon{height:100px;margin-bottom:24px;width:100px}.processing-icon svg{height:48px!important;width:48px!important}.processing-container h3{font-size:22px}.processing-message{font-size:14px;margin-bottom:24px}.processing-progress-container{flex-direction:column;gap:8px;margin-bottom:32px}.processing-progress-bar{width:100%}.processing-stages{gap:12px;padding:16px}.processing-stage{padding:10px 14px}}@media (max-width:480px){.processing-container h3{font-size:20px}.processing-icon{height:80px;width:80px}.processing-icon svg{height:40px!important;width:40px!important}}.progress-label{color:var(--text-secondary);display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.modern-progress-card h3{color:var(--text-primary);font-size:15px;font-weight:700;margin:0 0 16px}.modern-progress-bar{background:var(--bg-tertiary);border-radius:999px;height:10px;margin-bottom:12px;overflow:hidden;width:100%}.modern-progress-fill{border-radius:999px;height:100%;overflow:hidden;position:relative;transition:width .8s cubic-bezier(.4,0,.2,1)}.fill-blue{background:linear-gradient(90deg,#3b82f6,#2563eb)}.fill-green{background:linear-gradient(90deg,#10b981,#059669)}.fill-purple{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.progress-shimmer{animation:shimmer-slide 2s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer-slide{0%{left:-100%}to{left:100%}}.progress-footer{color:var(--text-secondary);font-size:13px;font-weight:600}.modern-materials-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.modern-material-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;display:block;overflow:hidden;padding:20px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.modern-material-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.modern-material-card:hover{border-color:#667eea;box-shadow:0 12px 30px #0000001a;transform:translateY(-4px)}.modern-material-card:hover:before{opacity:1}.material-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.material-icon-wrapper{align-items:center;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:12px;color:#667eea;display:flex;height:48px;justify-content:center;transition:all .3s ease;width:48px}.modern-material-card:hover .material-icon-wrapper{transform:scale(1.1) rotate(5deg)}.material-badge{background:linear-gradient(135deg,#10b981,#059669);border-radius:20px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.material-card-content h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:16px;font-weight:700;line-height:1.4;margin:0 0 8px;overflow:hidden}.material-course{color:var(--text-secondary);font-size:13px;font-weight:600;margin:0 0 16px}.material-card-footer{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.material-date{color:var(--text-secondary);font-size:12px;font-weight:600;gap:6px}.material-tag{align-items:center;border-radius:20px;display:flex;font-size:11px;font-weight:700;gap:4px;padding:4px 10px}.summary-tag{background:#3b82f61a;color:#3b82f6}.questions-tag{background:#8b5cf61a;color:#8b5cf6}.empty-state{color:var(--text-secondary);grid-column:1/-1;padding:60px 20px}.empty-state svg{margin-bottom:20px}.empty-state h3{color:var(--text-primary);font-size:20px;font-weight:700;margin:0 0 8px}.empty-state p{font-size:14px;margin:0 0 24px}.empty-state-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:700;gap:8px;padding:14px 28px;transition:all .3s ease}.empty-state-button:hover{box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}@media (max-width:768px){.modern-section{padding:24px 20px}.section-header{align-items:flex-start;flex-direction:column;gap:16px}.section-title-group h2{font-size:22px}.modern-materials-grid,.progress-cards-grid{grid-template-columns:1fr}}@media (max-width:480px){.modern-section{border-radius:16px;padding:20px 16px}.section-title-group{align-items:flex-start;flex-direction:column;gap:12px}.section-title-group h2{font-size:20px}.view-all-button{font-size:13px;padding:10px 20px}.modern-progress-card{padding:20px}.progress-percentage{font-size:28px}}.course-detail-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:calc(100vh - 70px);padding:40px 0}.course-loading{grid-gap:24px;display:grid;gap:24px}.skeleton-card{align-items:center;background:#ffffffe6;border-radius:16px;box-shadow:0 10px 30px #00000014;display:flex;gap:20px;padding:28px}.skeleton-icon{background:#94a3b840;border-radius:16px;height:72px;overflow:hidden;position:relative;width:72px}.skeleton-lines{grid-gap:10px;display:grid;flex:1 1;gap:10px}.skeleton-line,.skeleton-pill{background:#94a3b840;border-radius:999px;height:14px;overflow:hidden;position:relative}.skeleton-line.medium{width:70%}.skeleton-line.short{width:45%}.skeleton-line.wide{height:18px;width:85%}.skeleton-tabs{display:flex;gap:12px}.skeleton-pill{height:38px;width:140px}.skeleton-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:320px 1fr}.skeleton-panel{grid-gap:12px;background:#ffffffeb;border-radius:16px;display:grid;gap:12px;min-height:280px;padding:24px}.skeleton-list-item{grid-gap:8px;background:#94a3b81f;border-radius:12px;display:grid;gap:8px;padding:12px}.skeleton-icon:after,.skeleton-line:after,.skeleton-pill:after{animation:shimmer 1.4s infinite;background:linear-gradient(120deg,#0000,#ffffffb3,#0000);content:"";inset:0;position:absolute}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.breadcrumb{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:8px;color:#fff;display:inline-flex;font-size:14px;gap:8px;margin-bottom:24px;padding:8px 16px;text-decoration:none;transition:all .3s ease}.breadcrumb:hover{background:#fff3;transform:translateX(-4px)}.course-detail-header{background:#fff;box-shadow:0 10px 40px #0000001a;gap:24px;margin-bottom:32px;padding:32px}.course-detail-header,.course-detail-icon{align-items:center;border-radius:16px;display:flex}.course-detail-icon{flex-shrink:0;height:80px;justify-content:center;width:80px}.course-code-badge,.course-detail-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.course-code-badge{border-radius:20px;display:inline-block;font-size:14px;font-weight:600;margin-bottom:8px;padding:6px 16px}.course-detail-header h1{color:#1a202c;font-size:28px;margin:8px 0}.course-meta{color:#718096;display:flex;font-size:14px;gap:24px;margin-top:8px}.course-meta span{align-items:center;display:flex;gap:6px}.detail-tabs{display:flex;gap:12px;margin-bottom:32px}.detail-tab{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #0000;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;padding:12px 24px;text-decoration:none;transition:all .3s ease}.detail-tab:hover{background:#fff3;transform:translateY(-2px)}.detail-tab.active{background:#fff;box-shadow:0 4px 20px #0000001a;color:#667eea}.summaries-content{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a;min-height:500px;padding:32px}.summaries-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:350px 1fr}.materials-sidebar h3{border-bottom:2px solid #e2e8f0;color:#1a202c;font-size:18px;margin-bottom:16px;padding-bottom:12px}.materials-list{gap:12px}.material-item,.materials-list{display:flex;flex-direction:column}.material-item{background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;gap:8px;padding:16px;text-align:left;transition:all .3s ease;width:100%}.material-item:hover{background:#edf2f7;border-color:#667eea;transform:translateX(4px)}.material-item.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.material-item.no-summary{opacity:.7}.material-item-header{align-items:center;display:flex;font-size:14px;font-weight:600;gap:12px}.material-item-header svg{flex-shrink:0}.material-title{line-height:1.4}.material-item-meta{align-items:center;display:flex;font-size:12px;justify-content:space-between;opacity:.8}.material-date{align-items:center;display:flex;gap:4px}.no-summary-badge,.summary-badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 10px}.summary-badge{background:#48bb7833;color:#22543d}.material-item.active .summary-badge{background:#fff3;color:#fff}.no-summary-badge{background:#ed893633;color:#7c2d12}.material-item.active .no-summary-badge{background:#fff3;color:#fff}.summary-display{flex:1 1}.summary-header{align-items:flex-start;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.summary-header h2{color:#1a202c;flex:1 1;font-size:24px}.summary-actions{display:flex;gap:12px}.summary-meta{color:#718096;display:flex;font-size:14px;gap:24px;margin-bottom:24px}.summary-meta span{align-items:center;display:flex;gap:6px}.summary-badge-top{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;display:inline-flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:24px;padding:8px 16px}.summary-content{animation:fadeIn .3s ease-in}.summary-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;margin-bottom:28px;padding:22px 20px}.section-title{border-bottom:2px solid #e2e8f0;color:#1a202c;font-size:20px;font-weight:600;margin-bottom:16px;padding-bottom:8px}.section-content{color:#2d3748;font-size:16px;line-height:1.8}.module-title{color:#0f172a;font-size:20px;font-weight:800;margin:18px 0 10px}.unit-title{color:#1f2937;font-size:17px;font-weight:800;margin:14px 0 8px}.simple-explain{background:#667eea14;border-left:4px solid #667eea;border-radius:10px;color:#1f2937;margin:10px 0 14px;padding:10px 14px}.key-term{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:12px;padding:10px 12px}.key-term .term{color:#1d4ed8;font-weight:700}.bullet-block .term{color:#111827;font-weight:700;margin-bottom:6px}.bullet-block .bullet-body{color:#2d3748;line-height:1.7}.section-content p{margin-bottom:14px;text-align:left}.bullet-point{align-items:flex-start;display:flex;gap:12px;line-height:1.6;margin-bottom:8px;padding-left:4px;position:relative}.bullet-point:before{color:#667eea;content:"•";font-weight:700;position:static}.numbered-item{align-items:flex-start;color:#2d3748;display:flex;gap:10px;line-height:1.6;margin-bottom:12px;padding-left:4px}.numbered-item .number{color:#667eea;font-weight:600;min-width:22px}.no-summary-placeholder,.select-material-placeholder{align-items:center;color:#718096;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:48px;text-align:center}.no-summary-placeholder svg,.select-material-placeholder svg{margin-bottom:24px;opacity:.3}.no-summary-placeholder h3,.select-material-placeholder h3{color:#2d3748;font-size:24px;margin-bottom:12px}.no-summary-placeholder p,.select-material-placeholder p{font-size:16px;margin-bottom:8px}.empty-state{align-items:center;color:#718096;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.empty-state svg{margin-bottom:24px;opacity:.3}.empty-state h3{color:#2d3748;font-size:24px;margin-bottom:12px}.empty-state p{font-size:16px}@media (max-width:968px){.skeleton-content,.summaries-grid{grid-template-columns:1fr}.materials-sidebar{order:2}.summary-display{order:1}}@media (max-width:768px){.course-detail-header{align-items:flex-start;flex-direction:column;padding:24px}.course-detail-icon{height:60px;width:60px}.course-detail-header h1{font-size:22px}.course-meta{flex-direction:column;gap:8px}.summary-header{flex-direction:column;gap:16px}.skeleton-card{align-items:flex-start;flex-direction:column}.skeleton-pill{width:120px}}.profile-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.profile-wrapper{margin:0 auto;max-width:1200px}.profile-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px 0}.profile-header h1{color:#fff;font-size:32px;font-weight:700;margin:0}.back-button,.logout-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.back-button:hover,.logout-button:hover{background:#ffffff4d;transform:translateY(-2px)}.message-banner{animation:slideDown .3s ease-out;border-radius:12px;font-weight:600;margin-bottom:20px;padding:16px 20px}.message-banner.success{background:#d4edda;border:2px solid #c3e6cb;color:#155724}.message-banner.error{background:#f8d7da;border:2px solid #f5c6cb;color:#721c24}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-content{grid-gap:30px;display:grid;gap:30px;grid-template-columns:320px 1fr}.profile-sidebar{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;padding:30px}.profile-avatar-section{border-bottom:2px solid #f0f0f0;margin-bottom:30px;padding-bottom:30px;text-align:center}.avatar-wrapper{height:160px;margin:0 auto 20px;position:relative;width:160px}.profile-avatar{border:5px solid #f0f0f0;border-radius:50%;box-shadow:0 8px 20px #0000001a;height:100%;object-fit:cover;width:100%}.avatar-upload-label{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;bottom:10px;box-shadow:0 4px 12px #667eea66;cursor:pointer;display:flex;height:45px;justify-content:center;position:absolute;right:10px;transition:all .3s ease;width:45px}.avatar-upload-label:hover{box-shadow:0 6px 16px #667eea99;transform:scale(1.1)}.avatar-upload-label svg{color:#fff}.profile-sidebar h2{color:#333;font-size:24px;font-weight:700;margin:0 0 8px}.profile-email{color:#666;font-size:14px;margin:0}.profile-nav{display:flex;flex-direction:column;gap:10px}.nav-item{align-items:center;background:#0000;border:none;border-radius:12px;color:#666;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:12px;padding:14px 18px;text-align:left;transition:all .3s ease}.nav-item:hover{background:#f8f9ff;color:#667eea}.nav-item.active{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-left:4px solid #667eea;color:#667eea}.profile-main{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;padding:40px}.profile-form h3{border-bottom:3px solid #f0f0f0;color:#333;font-size:26px;font-weight:700;margin-bottom:30px;padding-bottom:15px}.form-group label{align-items:center;color:#555;display:flex;font-size:15px;gap:8px;margin-bottom:10px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;font-family:inherit;font-size:15px;padding:14px 16px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.form-group textarea{min-height:100px;resize:vertical}.review-form .form-group textarea{min-height:110px}.review-sentiment{display:flex;flex-wrap:wrap;gap:12px}.sentiment-chip{align-items:center;border:2px solid #e0e0e0;border-radius:999px;color:#555;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;padding:10px 14px;transition:all .2s ease}.sentiment-chip input{display:none}.sentiment-chip.active{background:#667eea1f;border-color:#667eea;color:#667eea}.review-rating{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.star-button{align-items:center;background:#667eea1a;border:2px solid #0000;border-radius:12px;color:#cbd5f5;cursor:pointer;display:inline-flex;height:42px;justify-content:center;transition:all .2s ease;width:42px}.star-button.active{background:#ffb70326;border-color:#ffb70380;color:#ffb703}.rating-label{color:#666;font-weight:600}.form-group small{color:#999;display:block;font-size:13px;margin-top:6px}.form-row{grid-gap:20px;gap:20px}.save-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;gap:10px;justify-content:center;margin-top:20px;max-width:250px;padding:16px 32px;transition:all .3s ease;width:100%}.save-button:hover{box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.save-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.loading-spinner{align-items:center;color:#fff;display:flex;font-size:20px;font-weight:600;justify-content:center;min-height:50vh}@media (max-width:768px){.profile-content{gap:20px;grid-template-columns:1fr}.profile-header{flex-direction:column;gap:15px;text-align:center}.profile-header h1{font-size:26px}.profile-main{padding:30px 20px}.form-row{gap:0;grid-template-columns:1fr}.save-button{max-width:100%}}@media (max-width:480px){.profile-container{padding:15px}.profile-main,.profile-sidebar{padding:20px}.avatar-wrapper{height:120px;width:120px}.profile-form h3{font-size:22px}}.it-placement-page{--it-bg:#f4f2ee;--it-surface:#fff;--it-surface-alt:#f1f5f9;--it-ink:#0f172a;--it-muted:#6b7280;--it-accent:#2563eb;--it-accent-2:#14b8a6;--it-border:#e2e8f0;--it-shadow:0 18px 40px #0f172a1f;background:radial-gradient(circle at 15% 10%,#2563eb26,#0000 40%),radial-gradient(circle at 85% 0,#14b8a626,#0000 45%),var(--it-bg);color:var(--it-ink);min-height:100vh}[data-theme=dark] .it-placement-page{--it-bg:#0b1120;--it-surface:#0f172a;--it-surface-alt:#101c34;--it-ink:#e2e8f0;--it-muted:#94a3b8;--it-border:#1f2a44;--it-shadow:0 18px 40px #02061780;background:radial-gradient(circle at 15% 10%,#2563eb33,#0000 45%),radial-gradient(circle at 85% 0,#14b8a62e,#0000 50%),var(--it-bg)}.it-hero-section{background:linear-gradient(120deg,#0f172a,#1e293b 35%,#1d4ed8);color:#f8fafc;overflow:hidden;padding:96px 0 80px;position:relative}.it-hero-section:after,.it-hero-section:before{background:radial-gradient(circle at 20% 30%,#3b82f659,#0000 45%),radial-gradient(circle at 80% 20%,#14b8a659,#0000 50%);content:"";inset:0;opacity:.6;position:absolute}.it-hero-section:after{background:radial-gradient(circle at 30% 60%,#0e74904d,#0000 55%);opacity:.5}.hero-content{max-width:720px;position:relative;text-align:left;z-index:1}.hero-title{color:#fff;font-family:Montserrat,sans-serif;font-size:52px;font-weight:800;letter-spacing:-.5px;line-height:1.1;margin:0 0 18px}.hero-subtitle{color:#f8fafcd9;font-size:18px;line-height:1.7;margin:0 0 32px}.status-badge{align-items:center;background:#0f172a80;border:1px solid #94a3b866;border-radius:999px;display:inline-flex;font-size:13px;font-weight:700;gap:8px;margin-bottom:20px;padding:10px 18px}.it-placement-page .cta-button{align-items:center;background:linear-gradient(135deg,#38bdf8,#22c55e);border:none;border-radius:999px;box-shadow:0 12px 30px #0f172a59;color:#0f172a;cursor:pointer;display:inline-flex;font-size:16px;font-weight:800;gap:10px;padding:16px 36px;transition:transform .2s ease,box-shadow .2s ease}.it-placement-page .cta-button:hover{box-shadow:0 18px 40px #0f172a73;transform:translateY(-2px)}.container{max-width:1200px;padding:40px 20px}.section{margin-bottom:56px}.it-hero-section+.container{padding-top:64px}.section-title{color:var(--it-ink);font-size:32px;font-weight:800;margin-bottom:24px;text-align:left}.tracks-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.track-card{background:var(--it-surface);border:1px solid var(--it-border);border-radius:20px;box-shadow:0 12px 26px #0f172a14;overflow:hidden;padding:24px;position:relative;transition:transform .2s ease,box-shadow .2s ease,border .2s ease}.track-card:before{background:linear-gradient(135deg,#3b82f614,#0000 60%);content:"";inset:0;opacity:0;position:absolute;transition:opacity .2s ease}.track-card:hover{border-color:#2563eb66;box-shadow:0 20px 40px #0f172a1f;transform:translateY(-6px)}.track-card:hover:before{opacity:1}.track-icon{font-size:38px;margin-bottom:16px}.track-card h3{font-size:20px;margin-bottom:10px}.track-card p{color:var(--it-muted);line-height:1.6;margin-bottom:18px}.skills-list{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{background:#0f172a0a;border:1px solid var(--it-border);border-radius:999px;color:var(--it-muted);font-size:12px;font-weight:600;padding:6px 12px}.benefits-section{background:var(--it-surface);border:1px solid var(--it-border);border-radius:24px;box-shadow:var(--it-shadow);padding:48px 36px}.benefits-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:28px}.benefit-card{background:var(--it-surface-alt);border:1px solid var(--it-border);border-radius:18px;padding:24px}.benefit-card svg{color:var(--it-accent);margin-bottom:14px}.benefit-card h3{font-size:18px;margin:0 0 8px}.benefit-card p{color:var(--it-muted);line-height:1.6;margin:0}.form-container{background:var(--it-surface);border:1px solid var(--it-border);border-radius:24px;box-shadow:var(--it-shadow);margin:40px auto;max-width:960px;overflow:hidden}.form-header{align-items:center;background:linear-gradient(120deg,#1e293b,#0f766e);color:#fff;display:flex;justify-content:space-between;padding:32px}.form-header h1{font-size:28px;margin:0}.close-button{align-items:center;background:#ffffff26;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;width:40px}.it-placement-form{padding:36px}.form-section{border-bottom:1px solid var(--it-border);margin-bottom:32px;padding-bottom:28px}.form-section:last-of-type{border-bottom:none}.form-section h3{font-size:20px;margin-bottom:20px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1/-1}.form-group label{color:var(--it-muted);font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background:var(--it-surface-alt);border:1px solid var(--it-border);border-radius:12px;color:var(--it-ink);font-size:14px;padding:12px 14px;transition:border .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2563eb99;box-shadow:0 0 0 3px #2563eb26;outline:none}.checkbox-group{grid-gap:12px;display:grid;gap:12px}.checkbox-label{align-items:center;color:var(--it-muted);display:flex;font-size:14px;gap:10px}.checkbox-label input[type=checkbox]{height:18px;width:18px}.form-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.it-placement-page .btn-primary,.it-placement-page .btn-secondary{border:none;border-radius:999px;cursor:pointer;font-size:14px;font-weight:700;padding:12px 28px}.it-placement-page .btn-primary{background:linear-gradient(135deg,#38bdf8,#22c55e);color:#0f172a}.it-placement-page .btn-secondary{background:#0000;border:1px solid var(--it-border);color:var(--it-muted)}.application-details-grid{grid-gap:20px;display:grid;gap:20px;margin-top:32px}.application-card{background:var(--it-surface);border:1px solid var(--it-border);border-radius:18px;box-shadow:0 10px 24px #0f172a14;padding:24px}.card-header{align-items:center;border-bottom:1px solid var(--it-border);display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px}.card-header h2{font-size:20px;margin:0}.detail-row{grid-gap:12px;align-items:center;color:var(--it-muted);display:grid;font-size:14px;gap:12px;grid-template-columns:auto 140px 1fr;padding:12px 0}.detail-row strong{color:var(--it-ink)}.placement-card{background:linear-gradient(135deg,#22c55e33,#10b98166);border:1px solid #10b98166}.success-header{border-bottom-color:#10b98166}.alert{border:1px solid #0000;border-radius:14px;font-weight:600;margin-bottom:24px;padding:14px 18px}.alert-success{background:#22c55e26;border-color:#22c55e66;color:#166534}.alert-error{background:#ef444426;border-color:#ef444466;color:#991b1b}@media (max-width:900px){.hero-title{font-size:40px}.section-title{font-size:28px}.detail-row{grid-template-columns:auto 1fr}}@media (max-width:768px){.hero-content{text-align:left}.hero-subtitle{font-size:16px}.benefits-section{padding:32px 24px}.it-placement-form{padding:24px}.form-actions{align-items:stretch;flex-direction:column}.it-placement-page .btn-primary,.it-placement-page .btn-secondary{width:100%}}@media (max-width:520px){.hero-title{font-size:32px}.tracks-grid{grid-template-columns:1fr}}.reminders-container{background:linear-gradient(135deg,#667eea0d,#764ba20d);min-height:calc(100vh - 80px);padding:40px 0;position:relative}.alarm-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.alarm-card{animation:scaleIn .4s cubic-bezier(.175,.885,.32,1.275);background:linear-gradient(135deg,#667eea,#764ba2);border-radius:24px;box-shadow:0 20px 60px #667eea66;max-width:500px;padding:48px 40px;text-align:center;width:90%}.alarm-icon{animation:pulsing 1s ease-in-out infinite;color:#fff;margin-bottom:24px}@keyframes pulsing{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.alarm-card h2{color:#fff;font-size:32px;font-weight:800;margin-bottom:16px}.alarm-card p{color:#ffffffe6;font-size:18px;margin-bottom:32px}.stop-alarm-btn{animation:pulse 2s ease-in-out infinite;background:#ef4444!important;border:none!important;border-radius:12px!important;color:#fff!important;cursor:pointer;font-size:18px!important;font-weight:700!important;padding:16px 48px!important;transition:all .3s ease}.stop-alarm-btn:hover{background:#dc2626!important;box-shadow:0 8px 24px #ef444466;transform:scale(1.05)}@keyframes pulse{0%,to{box-shadow:0 0 0 0 #ef4444b3}50%{box-shadow:0 0 0 20px #ef444400}}.reminders-header{margin-bottom:48px;position:relative;text-align:center}.header-content{margin-bottom:24px}.header-icon{animation:ring 2s ease-in-out infinite;color:#667eea;margin-bottom:16px}@keyframes ring{0%,to{transform:rotate(0deg)}10%,30%{transform:rotate(-10deg)}20%,40%{transform:rotate(10deg)}50%,to{transform:rotate(0deg)}}.reminders-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:42px;font-weight:800;margin-bottom:12px}.reminders-header p{color:var(--text-secondary);font-size:18px;margin-bottom:16px}.music-note{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:20px;color:#667eea;font-size:14px;font-weight:600;padding:8px 16px}.btn-add,.music-note{align-items:center;display:inline-flex;gap:8px}.btn-add{font-size:16px!important;padding:14px 32px!important}.reminders-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.reminder-card{background:#fff;border:2px solid var(--border-color);border-radius:16px;padding:24px;position:relative;transition:all .3s ease}.reminder-card:hover{border-color:#667eea;box-shadow:0 8px 24px #667eea26;transform:translateY(-4px)}.reminder-card.inactive{background:var(--card-bg);border-color:var(--border-color);opacity:.6}.reminder-card.inactive:hover{opacity:.8}.reminder-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.reminder-header h3{color:var(--text-primary);font-size:20px;font-weight:700;margin:0}.reminder-actions{display:flex;gap:8px}.delete-btn,.toggle-btn{background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;padding:6px;transition:all .2s ease}.delete-btn:hover,.toggle-btn:hover{background:#667eea1a}.toggle-btn.active{color:#10b981}.delete-btn:hover{background:#ef44441a;color:#ef4444}.reminder-time{align-items:center;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:12px;display:flex;gap:12px;margin-bottom:16px;padding:16px}.time-icon{font-size:24px}.time-value{color:#667eea;font-family:Courier New,monospace;font-size:28px;font-weight:900}.reminder-days{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.day-badge{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:12px;font-weight:600;padding:6px 12px}.day-badge.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.reminder-footer{align-items:center;border-top:1px solid var(--border-color);color:var(--text-secondary);display:flex;font-size:13px;gap:8px;padding-top:16px}.no-reminders{color:var(--text-secondary);grid-column:1/-1;padding:80px 20px;text-align:center}.no-reminders svg{color:#667eea;margin-bottom:20px;opacity:.3}.no-reminders p{font-size:16px}.modal-overlay{animation:fadeIn .3s ease;background:#000000b3;padding:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background:var(--card-bg);border-radius:20px;max-height:90vh}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border-color);padding:24px 24px 16px}.modal-header h2{font-size:24px;font-weight:700}.close-btn{align-items:center;border-radius:6px;color:var(--text-secondary);display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:32px}.close-btn:hover{background:#ef44441a;color:#ef4444}.reminder-form{padding:24px}.form-group label{color:var(--text-primary);font-weight:600;margin-bottom:8px}.form-group input[type=text],.form-group input[type=time]{background:var(--dark-bg);border:2px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:16px;padding:12px 16px;transition:all .3s ease;width:100%}.form-group input:focus{background:var(--card-bg);border-color:#667eea;outline:none}.days-selector{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.day-btn{background:var(--dark-bg);border:2px solid var(--border-color);border-radius:12px;color:var(--text-secondary);cursor:pointer;font-weight:600;padding:12px 16px;transition:all .3s ease}.day-btn:hover{border-color:#667eea;transform:translateY(-2px)}.day-btn.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.reminder-info{align-items:center;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:12px;color:#667eea;display:flex;font-size:14px;gap:12px;margin-bottom:24px;padding:16px}.reminder-info svg{flex-shrink:0;font-size:20px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}@media (max-width:768px){.reminders-header h1{font-size:32px}.reminders-grid{grid-template-columns:1fr}.days-selector{grid-template-columns:repeat(2,1fr)}.modal-content{border-radius:20px 20px 0 0;margin:0;max-height:95vh}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}@media (max-width:480px){.reminders-header h1{font-size:28px}.reminder-time{flex-direction:column;text-align:center}.time-value{font-size:24px}}.plagiarism-checker-container{margin:0 auto;max-width:1200px;min-height:calc(100vh - 80px);padding:2rem}.plagiarism-header{margin-bottom:2rem;text-align:center}.plagiarism-header h1{color:#1f2937;font-size:2rem;margin-bottom:.5rem}.plagiarism-header p{color:#6b7280;font-size:1.1rem}.plagiarism-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:.5rem;margin-bottom:2rem;padding-bottom:0}.tab-btn{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;margin-bottom:-2px;padding:.75rem 1.5rem;transition:all .2s}.tab-btn:hover{color:#667eea}.tab-btn.active{border-bottom-color:#667eea;color:#667eea}.tab-btn:disabled{cursor:not-allowed;opacity:.5}.upload-section{margin:0 auto;max-width:700px}.form-group{margin-bottom:1.5rem}.form-group label{color:#374151;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:8px;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.file-upload-zone{border:2px dashed #d1d5db;border-radius:12px;cursor:pointer;margin-bottom:1.5rem;padding:2rem;text-align:center;transition:all .2s}.file-upload-zone.drag-active,.file-upload-zone:hover{background:#667eea0d;border-color:#667eea}.file-upload-zone.has-file{background:#10b9810d;border-color:#10b981}.file-upload-zone input{display:none}.file-upload-zone label{cursor:pointer;display:block}.upload-prompt{color:#6b7280}.upload-prompt svg{color:#667eea;margin-bottom:1rem}.upload-prompt p{margin:.5rem 0}.upload-hint{color:#9ca3af;font-size:.9rem}.file-types{color:#9ca3af;font-size:.8rem;margin-top:1rem}.file-selected{color:#1f2937}.file-selected svg{color:#10b981;margin-bottom:.5rem}.file-name{font-weight:600;margin:.5rem 0 .25rem}.file-size{color:#6b7280;font-size:.9rem}.remove-file-btn{align-items:center;background:#fee2e2;border:none;border-radius:6px;color:#dc2626;cursor:pointer;display:inline-flex;font-size:.9rem;gap:.25rem;margin-top:1rem;padding:.5rem 1rem}.remove-file-btn:hover{background:#fecaca}.error-message{background:#fee2e2;border-radius:8px;color:#dc2626;margin-bottom:1rem}.check-btn,.error-message{align-items:center;display:flex;gap:.5rem;padding:1rem}.check-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;justify-content:center;transition:transform .2s,box-shadow .2s;width:100%}.check-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.check-btn:disabled{cursor:not-allowed;opacity:.7}.spinning{animation:spin 1s linear infinite}.info-box{background:#eff6ff;border-radius:12px;display:flex;gap:1rem;margin-top:2rem;padding:1.5rem}.info-box svg{color:#3b82f6;flex-shrink:0;margin-top:.25rem}.info-box strong{color:#1e40af;display:block;margin-bottom:.5rem}.info-box ul{color:#1e40af;margin:0;padding-left:1.25rem}.info-box li{margin:.25rem 0}.result-section{margin:0 auto;max-width:900px}.result-header{margin-bottom:2rem}.result-header h2{color:#1f2937;font-size:1.5rem;margin-bottom:.5rem}.result-date{color:#6b7280}.scores-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:2rem}@media (max-width:768px){.scores-grid{grid-template-columns:1fr}}.score-card{background:#fff;border-radius:16px;box-shadow:0 2px 10px #00000014;padding:1.5rem;text-align:center}.score-card h3{color:#374151;font-size:1rem;margin:1rem 0 .5rem}.score-circle{height:120px;margin:0 auto;width:120px}.score-circle,.score-inner{align-items:center;border-radius:50%;display:flex;justify-content:center}.score-inner{background:#fff;flex-direction:column;height:90px;width:90px}.score-value{color:#1f2937;font-size:1.5rem;font-weight:700}.score-label{color:#6b7280;font-size:.8rem}.score-badge{border-radius:20px;display:inline-block;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.score-badge.excellent{background:#d1fae5;color:#065f46}.score-badge.moderate{background:#fef3c7;color:#92400e}.score-badge.high-risk{background:#fee2e2;color:#991b1b}.score-icon{margin-bottom:.5rem}.score-percent{color:#1f2937;font-size:1.25rem;font-weight:600;margin:.5rem 0}.score-detail{color:#6b7280;font-size:.9rem}.analysis-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-bottom:1.5rem;padding:1.5rem}.analysis-section h3{align-items:center;color:#1f2937;display:flex;font-size:1.1rem;gap:.5rem;margin-bottom:1rem}.indicators-list{margin:0;padding-left:1.5rem}.indicators-list li{color:#dc2626;margin:.5rem 0}.analysis-details{background:#f9fafb;border-radius:8px;color:#4b5563;line-height:1.6;margin-top:1rem;padding:1rem}.matches-list{display:flex;flex-direction:column;gap:.75rem}.match-item{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.match-header{align-items:center;background:#f9fafb;cursor:pointer;display:flex;justify-content:space-between;padding:1rem}.match-header:hover{background:#f3f4f6}.match-info{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.match-type{border-radius:4px;font-size:.75rem;font-weight:600;padding:.2rem .6rem;text-transform:uppercase}.match-type.exact{background:#fee2e2;color:#dc2626}.match-type.paraphrase{background:#fef3c7;color:#d97706}.match-type.similar{background:#dbeafe;color:#2563eb}.match-title{color:#374151;font-weight:500}.match-percent{color:#6b7280;font-size:.9rem}.match-details{background:#fff;border-top:1px solid #e5e7eb;padding:1rem}.matched-text{color:#4b5563;font-style:italic;line-height:1.5;margin-bottom:.75rem}.source-link{align-items:center;color:#667eea;display:inline-flex;font-size:.9rem;gap:.25rem;text-decoration:none}.source-link:hover{text-decoration:underline}.suggestions-list{margin:0;padding-left:1.5rem}.suggestions-list li{color:#1e40af;line-height:1.5;margin:.75rem 0}.history-section{margin:0 auto;max-width:900px}.empty-state,.loading-state{color:#6b7280;padding:3rem;text-align:center}.empty-state svg{color:#d1d5db;margin-bottom:1rem}.empty-state h3{color:#374151;margin-bottom:.5rem}.primary-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;gap:.5rem;margin-top:1rem;padding:.75rem 1.5rem}.reports-list{display:flex;flex-direction:column;gap:1rem}.report-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;display:flex;gap:1.5rem;padding:1.25rem}.report-info{flex:1 1}.report-info h4{color:#1f2937;font-size:1rem;margin-bottom:.5rem}.report-meta{color:#6b7280;display:flex;font-size:.85rem;gap:1rem}.report-meta span{align-items:center;display:flex;gap:.25rem}.report-score{text-align:center}.mini-score{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:.9rem;font-weight:700;height:50px;justify-content:center;margin-bottom:.25rem;width:50px}.score-text{color:#6b7280;font-size:.75rem}.report-actions{display:flex;gap:.5rem}.delete-btn,.view-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;gap:.25rem;padding:.5rem 1rem;transition:background .2s}.view-btn{background:#eff6ff;color:#2563eb}.view-btn:hover{background:#dbeafe}.delete-btn{background:#fee2e2;color:#dc2626;padding:.5rem}.delete-btn:hover{background:#fecaca}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;max-height:80vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:#1f2937;font-size:1.25rem;margin:0}.close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:.5rem}.close-btn:hover{color:#1f2937}.modal-body{padding:1.5rem}.modal-scores{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem}.modal-score-item{background:#f9fafb;border-radius:8px;padding:1rem;text-align:center}.modal-score-item .label{color:#6b7280;display:block;font-size:.85rem;margin-bottom:.25rem}.modal-score-item .value{color:#1f2937;display:block;font-size:1.25rem;font-weight:600}.modal-suggestions h4{color:#374151;font-size:1rem;margin-bottom:.75rem}.modal-suggestions ul{color:#4b5563;margin:0;padding-left:1.25rem}.modal-suggestions li{line-height:1.5;margin:.5rem 0}@media (max-width:600px){.plagiarism-checker-container{padding:1rem}.plagiarism-tabs{flex-wrap:wrap}.tab-btn{font-size:.9rem;padding:.5rem 1rem}.report-card{flex-direction:column;text-align:center}.report-meta{flex-wrap:wrap;justify-content:center}.modal-scores{grid-template-columns:1fr}}.projects-page{--projects-bg:#f5f3ef;--projects-panel:#fff;--projects-muted:#6b7280;--projects-accent:#0f766e;--projects-accent-2:#f97316;background:radial-gradient(circle at 12% 10%,#0f766e26,#0000 40%),radial-gradient(circle at 90% 5%,#f9731633,#0000 45%),var(--projects-bg);min-height:calc(100vh - 70px);padding:36px 0 60px}[data-theme=dark] .projects-page{--projects-bg:#0f172a;--projects-panel:#0b1220;--projects-muted:#94a3b8;background:radial-gradient(circle at 12% 10%,#2dd4bf2e,#0000 40%),radial-gradient(circle at 90% 5%,#f9731626,#0000 45%),var(--projects-bg)}.projects-hero{grid-gap:24px;align-items:stretch;display:grid;gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);margin-bottom:32px}.projects-hero-copy{background:var(--projects-panel);border:1px solid #0f172a14;border-radius:24px;box-shadow:0 18px 36px #0f172a1f;padding:32px}.projects-hero-copy h1{font-family:Montserrat,sans-serif;font-size:34px;margin-bottom:12px}.projects-hero-copy p{color:var(--projects-muted);font-size:16px}.hero-kicker{color:var(--projects-accent)}.projects-hero-card{background:linear-gradient(140deg,#0f766e29,#f9731624);border:1px solid #0f766e33;border-radius:24px;display:flex;flex-direction:column;gap:20px;justify-content:space-between;padding:24px}.hero-card-header{align-items:center;display:flex;gap:16px}.hero-card-header h3{font-size:20px;margin:0 0 6px}.hero-card-header p{color:var(--projects-muted);font-size:14px;margin:0}.hero-card-header svg{color:var(--projects-accent);height:36px;width:36px}.projects-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}.topic-card,.topics-result{background:var(--projects-panel);border:1px solid #0f172a14;border-radius:24px;box-shadow:0 12px 30px #0f172a1f;padding:28px}.topic-card-header{gap:16px;margin-bottom:24px}.topic-card-header,.topic-icon{align-items:center;display:flex}.topic-icon{background:#0f766e2e;border-radius:16px;color:var(--projects-accent);font-size:22px;height:48px;justify-content:center;width:48px}.topic-card h2{margin:0 0 6px}.topic-card p{color:var(--projects-muted);margin:0}.topic-form .form-control{background:#0000}.helper-text{color:var(--projects-muted);font-size:12px;margin-top:6px}.topics-header{align-items:center;display:flex;gap:12px;margin-bottom:20px}.topics-header h3{margin:0 0 4px}.topics-header p{color:var(--projects-muted);font-size:13px;margin:0}.topics-empty{background:#94a3b81f;border-radius:16px;color:var(--projects-muted);padding:24px;text-align:center}.topics-list{display:flex;flex-direction:column;gap:16px;margin:0;padding-left:20px}.topics-list li{background:#0f766e14;border:1px solid #0f766e33;border-radius:14px;font-weight:600;padding:12px 16px}@media (max-width:1024px){.projects-grid,.projects-hero{grid-template-columns:1fr}}@media (max-width:768px){.projects-hero-copy h1{font-size:28px}.projects-hero-card,.projects-hero-copy,.topic-card,.topics-result{padding:22px}}@media (max-width:540px){.projects-hero-copy h1{font-size:24px}.hero-card-header,.topic-card-header{align-items:flex-start;flex-direction:column}}.consult-terms-page{--terms-bg:#f8fafc;--terms-card:#fff;--terms-muted:#64748b;--terms-accent:#0f766e;background:radial-gradient(circle at 15% 15%,#0f766e1f,#0000 45%),radial-gradient(circle at 85% 10%,#3b82f61f,#0000 40%),var(--terms-bg);min-height:calc(100vh - 70px);padding:40px 0 70px}[data-theme=dark] .consult-terms-page{--terms-bg:#0f172a;--terms-card:#0b1220;--terms-muted:#94a3b8;background:radial-gradient(circle at 15% 15%,#14b8a629,#0000 45%),radial-gradient(circle at 85% 10%,#3b82f62e,#0000 40%),var(--terms-bg)}.consult-terms-card{background:var(--terms-card);border:1px solid #0f172a14;border-radius:24px;box-shadow:0 16px 36px #0f172a1f;padding:36px}.consult-terms-kicker{color:var(--terms-accent);font-size:12px;font-weight:700;letter-spacing:2px;margin-bottom:12px;text-transform:uppercase}.consult-terms-card h1{font-family:Montserrat,sans-serif;font-size:32px;margin:0 0 16px}.consult-terms-intro{color:var(--terms-muted);font-size:16px;line-height:1.7;margin-bottom:24px}.consult-terms-section{margin-bottom:24px}.consult-terms-section h2{font-size:20px;margin-bottom:10px}.consult-terms-section ul{grid-gap:8px;color:var(--terms-muted);display:grid;gap:8px;margin:0;padding-left:20px}.consult-terms-note{border-top:1px solid #94a3b866;color:var(--terms-muted);font-size:14px;padding-top:12px}@media (max-width:768px){.consult-terms-card{padding:24px}.consult-terms-card h1{font-size:26px}}.project-consult-page{--consult-bg:#f5f3ef;--consult-panel:#fff;--consult-muted:#6b7280;--consult-accent:#0f766e;background:radial-gradient(circle at 12% 10%,#0f766e26,#0000 40%),radial-gradient(circle at 90% 5%,#f9731633,#0000 45%),var(--consult-bg);min-height:calc(100vh - 70px);padding:36px 0 70px}[data-theme=dark] .project-consult-page{--consult-bg:#0f172a;--consult-panel:#0b1220;--consult-muted:#94a3b8;background:radial-gradient(circle at 12% 10%,#2dd4bf2e,#0000 40%),radial-gradient(circle at 90% 5%,#f9731626,#0000 45%),var(--consult-bg)}.consultation-header{background:var(--consult-panel);border:1px solid #0f172a14;border-radius:24px;box-shadow:0 12px 30px #0f172a1f;margin-bottom:28px;padding:28px 32px}.hero-kicker{color:var(--consult-accent);font-size:12px;font-weight:700;letter-spacing:2px;margin-bottom:12px;text-transform:uppercase}.consultation-header h1{font-family:Montserrat,sans-serif;margin-bottom:10px}.consultation-header p{color:var(--consult-muted);margin:0}.consultation-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:minmax(0,.5fr) minmax(0,1fr) minmax(0,1fr)}.consultation-form-card,.consultation-info,.consultation-timeline{background:var(--consult-panel);border:1px solid #0f172a14;border-radius:24px;box-shadow:0 12px 30px #0f172a1f;padding:28px}.consultation-timeline{background:linear-gradient(180deg,#0f766e24,#0f172a00);border:1px solid #0f766e33;display:flex;flex-direction:column;gap:24px;height:-webkit-fit-content;height:fit-content;position:-webkit-sticky;position:sticky;top:100px}.timeline-step{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:40px minmax(0,1fr)}.timeline-step h4{font-size:16px;margin:0 0 6px}.timeline-step p{color:var(--consult-muted);font-size:13px;margin:0}.step-dot{align-items:center;background:#0f766e33;border:1px solid #0f766e59;border-radius:50%;color:var(--consult-accent);display:flex;font-weight:700;height:32px;justify-content:center;width:32px}.timeline-step.active .step-dot{background:var(--consult-accent);color:#fff}.consultation-details{grid-gap:16px;display:grid;gap:16px}.consultation-details ul{grid-gap:8px;color:var(--consult-muted);display:grid;gap:8px;margin:0;padding-left:20px}.consultation-meta{grid-gap:10px;background:#0f766e14;border:1px solid #0f766e33;border-radius:16px;display:grid;gap:10px;padding:16px}.consultation-meta .meta-item{color:var(--consult-muted);display:flex;font-size:14px;gap:12px;justify-content:space-between}.consultation-meta .meta-item strong{color:var(--text-primary)}.terms-link{color:var(--consult-accent);font-weight:600;text-decoration:none}.consultation-payment{background:#f973161f;border:1px solid #f9731640;border-radius:18px;margin-top:20px;padding:18px}.consultation-payment h3{margin-top:0}.consultation-form{grid-gap:16px;display:grid;gap:16px;margin-top:18px}.consultation-form .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.consultation-form textarea{resize:vertical}.form-check{align-items:flex-start;color:var(--consult-muted);display:flex;font-size:14px;gap:10px}.form-check input{margin-top:3px}@media (max-width:1024px){.consultation-section{grid-template-columns:1fr}.consultation-timeline{position:static}}@media (max-width:768px){.consultation-form-card,.consultation-header,.consultation-info,.consultation-timeline{padding:22px}.consultation-form .form-row{grid-template-columns:1fr}}.app-footer{background:linear-gradient(120deg,#0f766e1f,#0f172a05);border-top:1px solid #0f172a14;margin-top:40px;padding:32px 0}[data-theme=dark] .app-footer{background:linear-gradient(120deg,#2dd4bf1f,#0f172a66);border-top:1px solid #94a3b833}.footer-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.footer-copy h3{font-size:20px;margin:0 0 6px}.footer-copy p{color:var(--text-secondary);font-size:14px;margin:0;max-width:520px}.footer-cta{align-items:center;display:inline-flex;gap:8px}@media (max-width:768px){.footer-content{align-items:flex-start;flex-direction:column}.footer-copy h3{font-size:18px}}*{box-sizing:border-box;margin:0;padding:0}:root[data-theme=light]{--primary-color:#6366f1;--primary-hover:#4f46e5;--primary-light:#eef2ff;--secondary-color:#8b5cf6;--accent-color:#ec4899;--success-color:#10b981;--success-light:#d1fae5;--danger-color:#ef4444;--danger-light:#fee2e2;--warning-color:#f59e0b;--warning-light:#fef3c7;--info-color:#3b82f6;--info-light:#dbeafe;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--card-bg:#fff;--card-hover:#f8fafc;--text-primary:#1e293b;--text-secondary:#64748b;--text-tertiary:#94a3b8;--text-inverse:#fff;--border-color:#e2e8f0;--border-hover:#cbd5e1;--border-focus:#6366f1;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--gradient-primary:linear-gradient(135deg,#6366f1,#8b5cf6);--gradient-secondary:linear-gradient(135deg,#ec4899,#f59e0b);--gradient-success:linear-gradient(135deg,#10b981,#3b82f6)}:root[data-theme=dark]{--primary-color:#818cf8;--primary-hover:#6366f1;--primary-light:#312e81;--secondary-color:#a78bfa;--accent-color:#f472b6;--success-color:#34d399;--success-light:#064e3b;--danger-color:#f87171;--danger-light:#7f1d1d;--warning-color:#fbbf24;--warning-light:#78350f;--info-color:#60a5fa;--info-light:#1e3a8a;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--card-bg:#1e293b;--card-hover:#334155;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--text-inverse:#0f172a;--border-color:#334155;--border-hover:#475569;--border-focus:#818cf8;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #00000080,0 4px 6px -2px #0006;--shadow-xl:0 20px 25px -5px #0009,0 10px 10px -5px #00000080;--gradient-primary:linear-gradient(135deg,#6366f1,#8b5cf6);--gradient-secondary:linear-gradient(135deg,#ec4899,#f59e0b);--gradient-success:linear-gradient(135deg,#10b981,#3b82f6)}:root{--primary-color:#6366f1;--primary-hover:#4f46e5;--primary-light:#eef2ff;--secondary-color:#8b5cf6;--accent-color:#ec4899;--success-color:#10b981;--success-light:#d1fae5;--danger-color:#ef4444;--danger-light:#fee2e2;--warning-color:#f59e0b;--warning-light:#fef3c7;--info-color:#3b82f6;--info-light:#dbeafe;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--card-bg:#fff;--card-hover:#f8fafc;--text-primary:#1e293b;--text-secondary:#64748b;--text-tertiary:#94a3b8;--text-inverse:#fff;--border-color:#e2e8f0;--border-hover:#cbd5e1;--border-focus:#6366f1;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--gradient-primary:linear-gradient(135deg,#6366f1,#8b5cf6);--gradient-secondary:linear-gradient(135deg,#ec4899,#f59e0b);--gradient-success:linear-gradient(135deg,#10b981,#3b82f6)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1e293b;color:var(--text-primary);font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;transition:background-color .3s ease,color .3s ease}.App,body{background-color:#fff;background-color:var(--bg-primary)}.App{min-height:100vh;transition:background-color .3s ease}.container{margin:0 auto;max-width:1280px;padding:0 24px}h1,h2,h3,h4,h5,h6{color:#1e293b;color:var(--text-primary);font-family:Montserrat,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:16px}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{color:#64748b;color:var(--text-secondary);margin-bottom:16px}.btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;min-height:48px;overflow:hidden;padding:12px 24px;position:relative;text-decoration:none;transition:all .3s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);background:var(--gradient-primary);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background-color:#fff;background-color:var(--card-bg);border:2px solid #e2e8f0;border:2px solid var(--border-color);color:#1e293b;color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:#f8fafc;background-color:var(--card-hover);border-color:#cbd5e1;border-color:var(--border-hover);transform:translateY(-2px)}.btn-success{background-color:#10b981;background-color:var(--success-color);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);color:#fff}.btn-success:hover:not(:disabled){box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);filter:brightness(1.1);transform:translateY(-2px)}.btn-danger{background-color:#ef4444;background-color:var(--danger-color);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);color:#fff}.btn-danger:hover:not(:disabled){box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);filter:brightness(1.1);transform:translateY(-2px)}.btn-outline{background-color:initial;border:2px solid #6366f1;border:2px solid var(--primary-color);color:#6366f1;color:var(--primary-color)}.btn-outline:hover:not(:disabled){background-color:#6366f1;background-color:var(--primary-color);color:#fff}.btn-sm{font-size:14px;min-height:36px;padding:8px 16px}.btn-lg{font-size:18px;min-height:56px;padding:16px 32px}.card{background-color:#fff;background-color:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);padding:24px;transition:all .3s ease}.card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-flat{border:1px solid #e2e8f0;border:1px solid var(--border-color);box-shadow:none}.card-bordered{border:2px solid #e2e8f0;border:2px solid var(--border-color)}.form-group{margin-bottom:24px}.form-label{display:block;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.form-control,.form-label{color:#1e293b;color:var(--text-primary)}.form-control{background-color:#fff;background-color:var(--bg-primary);border:2px solid #e2e8f0;border:2px solid var(--border-color);border-radius:12px;font-size:16px;min-height:48px;padding:14px 16px;transition:all .3s ease;width:100%}.form-control:focus{border-color:#6366f1;border-color:var(--border-focus);box-shadow:0 0 0 4px #eef2ff;box-shadow:0 0 0 4px var(--primary-light);outline:none}.form-control::placeholder{color:#94a3b8;color:var(--text-tertiary)}select.form-control{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;cursor:pointer;padding-right:40px}textarea.form-control{min-height:120px;resize:vertical}.alert{align-items:center;border:2px solid;border-radius:12px;display:flex;font-weight:500;gap:12px;margin-bottom:20px;padding:16px 20px}.alert-success{background-color:#d1fae5;background-color:var(--success-light);border-color:#10b981;border-color:var(--success-color);color:#10b981;color:var(--success-color)}.alert-danger{background-color:#fee2e2;background-color:var(--danger-light);border-color:#ef4444;border-color:var(--danger-color);color:#ef4444;color:var(--danger-color)}.alert-warning{background-color:#fef3c7;background-color:var(--warning-light);border-color:#f59e0b;border-color:var(--warning-color);color:#f59e0b;color:var(--warning-color)}.alert-info{background-color:#dbeafe;background-color:var(--info-light);border-color:#3b82f6;border-color:var(--info-color);color:#3b82f6;color:var(--info-color)}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.badge-primary{background-color:#eef2ff;background-color:var(--primary-light);color:#6366f1;color:var(--primary-color)}.badge-success{background-color:#d1fae5;background-color:var(--success-light);color:#10b981;color:var(--success-color)}.badge-danger{background-color:#fee2e2;background-color:var(--danger-light);color:#ef4444;color:var(--danger-color)}.badge-warning{background-color:#fef3c7;background-color:var(--warning-light);color:#f59e0b;color:var(--warning-color)}.grid{grid-gap:24px;display:grid;gap:24px}.grid-2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-4{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.spinner{animation:spin 1s cubic-bezier(.4,0,.2,1) infinite;border:4px solid #e2e8f0;border-top:4px solid #6366f1;border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:48px;margin:20px auto;width:48px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.progress-bar{background-color:#f1f5f9;background-color:var(--bg-tertiary);border-radius:999px;height:8px;overflow:hidden;position:relative;width:100%}.progress-fill{background:linear-gradient(135deg,#6366f1,#8b5cf6);background:var(--gradient-primary);border-radius:999px;height:100%;transition:width .3s ease}.divider{background-color:#e2e8f0;background-color:var(--border-color);height:1px;margin:24px 0}::-webkit-scrollbar{height:12px;width:12px}::-webkit-scrollbar-track{background:#f8fafc;background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#e2e8f0;background:var(--border-color);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#cbd5e1;background:var(--border-hover)}@media (max-width:1024px){.container{max-width:960px}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}}@media (max-width:768px){.container{padding:0 16px}.card{padding:20px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.btn{font-size:15px;padding:12px 20px}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}}@media (max-width:480px){.container{padding:0 12px}.btn,.form-control{font-size:14px}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mt-5{margin-top:40px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.mb-5{margin-bottom:40px}.ml-1{margin-left:8px}.ml-2{margin-left:16px}.ml-3{margin-left:24px}.mr-1{margin-right:8px}.mr-2{margin-right:16px}.mr-3{margin-right:24px}.p-1{padding:8px}.p-2{padding:16px}.p-3{padding:24px}.p-4{padding:32px}.px-1{padding-left:8px;padding-right:8px}.px-2{padding-left:16px;padding-right:16px}.px-3{padding-left:24px;padding-right:24px}.py-1{padding-bottom:8px;padding-top:8px}.py-2{padding-bottom:16px;padding-top:16px}.py-3{padding-bottom:24px;padding-top:24px}.flex,.flex-col{display:flex}.flex-col{flex-direction:column}.flex-center{justify-content:center}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:8px}.gap-2{gap:16px}.gap-3{gap:24px}.gap-4{gap:32px}.w-full{width:100%}.h-full{height:100%}.rounded{border-radius:8px}.rounded-lg{border-radius:12px}.rounded-xl{border-radius:16px}.rounded-full{border-radius:999px}.text-primary{color:#6366f1;color:var(--primary-color)}.text-secondary{color:#64748b;color:var(--text-secondary)}.text-success{color:#10b981;color:var(--success-color)}.text-danger{color:#ef4444;color:var(--danger-color)}.text-warning{color:#f59e0b;color:var(--warning-color)}.text-info{color:#3b82f6;color:var(--info-color)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-sm{font-size:14px}.text-base{font-size:16px}.text-lg{font-size:18px}.text-xl{font-size:20px}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.cursor-pointer{cursor:pointer}.transition{transition:all .3s ease}.shadow-sm{box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl)}
/*# sourceMappingURL=main.7d616d41.css.map*/