@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{font-size:24px;font-weight:700;gap:12px;justify-content:center;text-decoration:none;transition:all .3s ease}.navbar-brand:hover{transform:scale(1.05)}.brand-icon{border-radius:8px;color:#fff;display:block;height:32px;padding:6px;width:32px}.brand-icon,.brand-text{background:var(--gradient-primary)}.brand-text{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:700}.navbar-menu{align-items:center;display:flex;gap:16px}.nav-link{align-items:center;border-radius:8px;color:var(--text-secondary);display:inline-flex;font-size:15px;font-weight:600;gap:6px;padding:8px 12px;position:relative;text-decoration:none;transition:all .3s ease;white-space:nowrap}.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:100%;transform:translateY(8px);transition:all .2s ease;z-index:20}.nav-profile-dropdown{position:relative}.nav-profile-toggle{background:none;cursor:pointer}.nav-profile-menu{left:auto;min-width:170px;right:0}.nav-profile-menu .nav-dropdown-link{align-items:center;display:inline-flex;gap:8px}.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)}.nav-icon-link{align-items:center;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-icon-link: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-controls,.mobile-menu{display:none}@media (max-width:768px){.desktop-menu{display:none}.mobile-controls{align-items:center;display:flex;gap:10px}.mobile-menu-toggle,.mobile-profile-icon{align-items:center;display:flex;justify-content:center}.mobile-profile-icon{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:10px;color:var(--text-primary);height:44px;text-decoration:none;transition:all .3s ease;width:44px}.mobile-profile-icon:hover{background:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color)}.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;white-space:nowrap}.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;gap:10px}.brand-icon{height:28px;width:28px}.brand-text{display:inline;font-size:20px}.logout-text{display:none}.btn-secondary{padding:10px 12px!important}.mobile-profile-icon,.nav-icon-link,.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}.signup-card{max-width:760px;width:min(100%,760px)}.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}.field-error{color:#c62828;font-weight:600}.field-error,.password-helper{font-size:12px;line-height:1.4;margin:8px 0 0}.password-helper{color:var(--text-secondary)}.password-checklist{grid-gap:8px 12px;display:grid;gap:8px 12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.password-check{font-size:12px;font-weight:600;line-height:1.4;margin:0}.password-check.passed{color:#15803d}.password-check.pending{color:var(--text-tertiary)}.signup-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.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}.signup-card{max-width:100%}.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}.signup-row{gap:0;grid-template-columns:1fr}}@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:#0f766e;--explore-accent-strong:#0b4f4a;--explore-accent-blue:#1d4ed8;--explore-accent-2:#f97316;--explore-ink:#0b1220;--explore-mute:#5b6577;--explore-line:#0f172a14;background:#fff;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,#0f766e1f,#0ea5e914);border:1px solid #0f766e3d;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,#0f766e,#0ea5e9);text-decoration:none}.search-section{animation:fadeInUp .6s ease-out .1s backwards;margin-bottom:40px}.search-shell{background:radial-gradient(circle at top right,#0ea5e91f,#0000 32%),linear-gradient(180deg,#0f766e0f,#ffffffe6);border:1px solid #0f766e2e;border-radius:24px;box-shadow:0 22px 44px #0f172a14;max-width:920px;padding:24px 26px}.search-shell-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.search-kicker{color:var(--explore-accent-strong);font-size:11px;font-weight:700;letter-spacing:.12em;margin:0 0 6px;text-transform:uppercase}.search-shell-header h2{color:var(--explore-ink);font-size:26px;margin:0}.search-results-pill{align-items:center;background:#0f766e1f;border-radius:999px;color:var(--explore-accent-strong);display:inline-flex;font-size:13px;font-weight:700;justify-content:center;padding:10px 14px;white-space:nowrap}.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:#0f766e66;box-shadow:0 0 0 4px #0f766e1f,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;padding-left:6px}.search-input::placeholder{color:var(--explore-mute);letter-spacing:.02em}.search-btn{background:linear-gradient(135deg,#0f766e,#0ea5e9);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)}.search-clear-btn{background:#0f172a0f;border:1px solid var(--explore-line);border-radius:999px;color:var(--explore-ink);cursor:pointer;font-weight:700;padding:10px 16px;transition:all .2s ease}.search-clear-btn:hover{background:#0f766e1a;border-color:#0f766e3d}.search-helper{color:var(--explore-mute);font-size:14px;margin:14px 2px 0}.search-error{color:#c62828;font-size:13px;font-weight:700;margin:14px 2px 0}.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:#0f766e1f;border-color:#0f766e66;box-shadow:var(--shadow-md);color:var(--explore-ink);transform:translateY(-2px)}.faculty-chip.active{background:linear-gradient(135deg,#0f766e,#0b4f4a);border-color:#0000;box-shadow:var(--shadow-md);color:#fff}.courses-section{animation:fadeInUp .6s ease-out .3s backwards;scroll-margin-top:110px}.courses-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:32px}.courses-section h2{color:var(--explore-ink);font-size:28px;font-weight:700;margin-bottom:0}.view-all-courses-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:999px;box-shadow:0 10px 20px #2563eb40;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 18px;transition:transform .2s ease,box-shadow .2s ease}.view-all-courses-btn:hover{box-shadow:0 12px 24px #2563eb4d;transform:translateY(-1px)}.view-all-courses-btn:disabled{box-shadow:0 8px 16px #2563eb33;cursor:not-allowed;opacity:.65;transform:none}.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,#0f766e,#0ea5e9);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:#0f766e59;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,#0f766e38,#0ea5e929);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:#0f766e1f;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-shell{padding:22px 20px}.search-shell-header{align-items:flex-start;flex-direction:column}.search-bar{flex-wrap:wrap;gap:14px;padding:18px 20px}.search-btn,.search-clear-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}.courses-header{align-items:flex-start;flex-direction:column}.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-shell{padding:18px 16px}.search-shell-header h2{font-size:22px}.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}}.ask-page{--ask-ink:#213547;--ask-mute:#64748b;--ask-line:#dbe4ec;--ask-accent:#2f6f66;--ask-accent-strong:#285f58;--ask-accent-soft:#eef5f3;--ask-highlight:#c96f4a;--ask-surface:#f8fbfc;--ask-surface-strong:#fff;background:#f3f6f8;font-family:Space Grotesk,Helvetica Neue,sans-serif;min-height:calc(100vh - 80px);padding:36px 0 72px}[data-theme=dark] .ask-page{--ask-ink:#e8eef5;--ask-mute:#9aabbe;--ask-line:#273447;--ask-accent:#7bc0b4;--ask-accent-strong:#99d0c6;--ask-accent-soft:#172230;--ask-highlight:#d7a07e;--ask-surface:#101926;--ask-surface-strong:#142030;background:#0b1320}.ask-page-container{display:flex;flex-direction:column;gap:24px}.ask-hero,.ask-thread-shell{background:var(--ask-surface);border:1px solid var(--ask-line);border-radius:30px;box-shadow:0 14px 32px #0f172a0f}.ask-hero{display:block;padding:28px}.ask-console-kicker,.ask-kicker{color:var(--ask-accent-strong);font-size:12px;font-weight:700;letter-spacing:.14em;margin:0 0 10px;text-transform:uppercase}.ask-hero-copy h1{color:var(--ask-ink);font-family:Fraunces,serif;font-size:clamp(2.4rem,5vw,4.4rem);line-height:.98;margin:0;max-width:12ch}.ask-example-stack{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:18px}.ask-example-card{align-items:center;background:var(--ask-surface-strong);border:1px solid var(--ask-line);border-radius:22px;box-shadow:0 10px 22px #0f172a0d;color:var(--ask-ink);cursor:pointer;display:flex;gap:14px;padding:18px;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;width:100%}.ask-example-card:hover:not(:disabled){border-color:#bfd0de;box-shadow:0 14px 28px #0f172a14;transform:translateY(-2px)}.ask-example-card:disabled{cursor:not-allowed;opacity:.65}.ask-example-icon{align-items:center;background:#edf4f8;border-radius:16px;color:#305f8c;display:inline-flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.ask-example-content{display:flex;flex-direction:column;gap:4px}.ask-example-content strong{color:var(--ask-ink);font-size:1rem;font-weight:700}.ask-example-content span{color:var(--ask-mute);font-size:.88rem}[data-theme=dark] .ask-example-card{background:#142030;border-color:#273447;box-shadow:0 12px 24px #02061747}[data-theme=dark] .ask-example-card:hover:not(:disabled){border-color:#35506a}[data-theme=dark] .ask-example-icon{background:#1b2b3f;color:#9fc3e4}.ask-thread-shell{overflow:hidden}.ask-thread-stage{display:flex;flex-direction:column;min-height:min(72vh,860px)}.ask-thread{display:flex;flex:1 1;flex-direction:column;gap:18px;overflow-y:auto;padding:24px}.ask-message{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:44px minmax(0,1fr)}.ask-avatar{align-items:center;border:1px solid var(--ask-line);border-radius:16px;display:inline-flex;height:44px;justify-content:center;width:44px}.ask-avatar-assistant{background:#edf6f4;color:var(--ask-accent-strong)}.ask-avatar-user{background:#fff1ea;color:var(--ask-highlight)}[data-theme=dark] .ask-avatar-assistant{background:#172433}[data-theme=dark] .ask-avatar-user{background:#2a1f1b}.ask-bubble{min-width:0}.ask-card,.ask-user-text{border:1px solid var(--ask-line);border-radius:24px;margin:0;padding:18px 20px}.ask-user-text{background:#f2f7f6;color:var(--ask-ink);font-weight:600;white-space:pre-wrap}[data-theme=dark] .ask-user-text{background:#162231}.ask-card{background:var(--ask-surface-strong)}.ask-card h3,.ask-card h4{color:var(--ask-ink);margin:0 0 10px}.ask-card-summary{color:var(--ask-mute);font-size:16px;line-height:1.7;margin:0}.ask-card-error,.ask-card-loading{align-items:center;display:flex;gap:12px}.ask-card-error{background:#fff4f4;border-color:#ef44442e}[data-theme=dark] .ask-card-error{background:#7f1d1d2e}.ask-followup-box{background:#f2f6fb;border:1px solid #d8e4f1;border-radius:18px}.ask-file-status,.ask-followup-box,.ask-mobile-file-note{align-items:flex-start;color:var(--ask-ink);display:flex;gap:10px;margin-top:16px;padding:14px 16px}.ask-file-status,.ask-mobile-file-note{border-radius:18px}.ask-file-status{background:#edf6f4;border:1px solid #d6e7e2}.ask-mobile-file-note{background:#f2f6fb;border:1px solid #d8e4f1}.ask-section-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:18px}.ask-section-card{background:var(--ask-accent-soft);border:1px solid var(--ask-line);border-radius:18px;padding:16px}.ask-section-card h4{color:var(--ask-ink);margin:0 0 10px}.ask-section-card ul{color:var(--ask-mute);margin:0;padding-left:18px}.ask-section-card li+li{margin-top:8px}.ask-download-btn,.ask-loading-pill,.ask-response-tag{align-items:center;border-radius:999px;display:inline-flex;font-size:13px;font-weight:700;gap:8px;padding:10px 14px;white-space:nowrap}.ask-response-tag{background:var(--ask-accent-soft);color:var(--ask-accent-strong);margin-bottom:14px}.ask-loading-pill{background:#edf6f4;color:var(--ask-accent-strong)}.ask-download-btn{background:#2f6f66;border:1px solid #2f6f66;color:#fff;cursor:pointer;text-decoration:none}.ask-whatsapp-btn{align-items:center;background:#1f8d53;border-radius:999px;color:#fff;display:inline-flex;font-weight:700;gap:8px;justify-content:center;padding:12px 16px;text-decoration:none}.ask-suggestion-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.ask-chip{background:#fff;border:1px solid #dbe4ec;border-radius:999px;color:var(--ask-ink);cursor:pointer;font:inherit;font-size:14px;font-weight:600;padding:10px 14px;transition:transform .18s ease,border-color .18s ease,background .18s ease}[data-theme=dark] .ask-chip{background:#142030}.ask-chip:hover:not(:disabled){background:#f5f9f8;border-color:#bdd3cd;transform:translateY(-1px)}.ask-chip:disabled{cursor:not-allowed;opacity:.6}.ask-community-card,.ask-pdf-panel{border-top:1px solid var(--ask-line);margin-top:18px;padding-top:18px}.ask-community-card{align-items:center;display:flex;gap:16px;justify-content:space-between}.ask-file-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.ask-file-row{align-items:center;background:var(--ask-accent-soft);border:1px solid var(--ask-line);border-radius:18px;display:flex;gap:16px;justify-content:space-between;padding:14px 16px}.ask-file-row h4{margin:0 0 4px}.ask-file-meta{color:var(--ask-mute);font-size:14px;margin:0}.ask-download-btn-button{min-width:124px}.ask-pdf-meta{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.ask-pdf-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.ask-pdf-frame{background:#fff;border:1px solid var(--ask-line);border-radius:20px;height:68vh;margin-top:16px;width:100%}.ask-composer{background:#f9fbfc;border-top:1px solid var(--ask-line);padding:18px 20px 20px}[data-theme=dark] .ask-composer{background:#101926}.ask-composer-label{color:var(--ask-ink);display:inline-block;font-weight:700;margin-bottom:12px}.ask-form{display:flex;flex-direction:column;gap:12px}.ask-input{background:#fff;border:1px solid var(--ask-line);border-radius:24px;color:var(--ask-ink);font:inherit;line-height:1.6;max-height:180px;min-height:72px;outline:none;padding:18px 20px;resize:vertical;width:100%}[data-theme=dark] .ask-input{background:#142030}.ask-input:focus{border-color:#9dbdb6;box-shadow:0 0 0 4px #7dc0b424}.ask-submit{align-items:center;background:#2f6f66;border:1px solid #2f6f66;border-radius:18px;box-shadow:0 8px 18px #2f6f661f;color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-size:16px;font-weight:700;gap:10px;justify-content:center;min-height:56px;width:100%}.ask-submit:disabled{box-shadow:none;cursor:not-allowed;opacity:.7}.ask-composer-hint{color:var(--ask-mute);font-size:14px;margin:0}.ask-error{background:#ef444414;border:1px solid #ef44442e;border-radius:18px;color:#b91c1c;margin-top:14px;padding:14px 16px}.spin{animation:askSpin 1s linear infinite}@keyframes askSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1080px){.ask-hero-copy h1{max-width:14ch}}@media (max-width:720px){.ask-page{padding:22px 0 48px}.ask-composer,.ask-hero,.ask-thread{padding:18px}.ask-message{grid-template-columns:38px minmax(0,1fr)}.ask-example-stack{grid-template-columns:1fr}.ask-avatar{border-radius:14px;height:38px;width:38px}.ask-form{display:flex;flex-direction:column}.ask-submit{border-radius:18px}.ask-community-card,.ask-file-row,.ask-pdf-meta{align-items:stretch;flex-direction:column}.ask-thread-stage{min-height:auto}.ask-pdf-frame{height:48vh}.ask-download-btn,.ask-download-btn-button,.ask-whatsapp-btn{justify-content:center;width:100%}}.all-courses-page{padding-bottom:60px}.all-courses-header-row{margin-bottom:24px}.all-courses-header-row h1{margin-bottom:8px}.all-courses-header-row p{margin-bottom:0}.all-courses-filters{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0 32px}.all-courses-filter-group{display:flex;flex-direction:column;gap:8px}.all-courses-filter-group label{color:var(--text-secondary);font-size:14px;font-weight:600}.all-courses-filter-group select{background:var(--card-bg);border:1px solid var(--explore-line);border-radius:12px;color:var(--text-primary);font-size:14px;padding:12px 14px;width:100%}.all-courses-count{color:var(--text-secondary);font-size:14px;font-weight:700}.pagination-row{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:28px}.pagination-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 16px}.pagination-btn:disabled{cursor:not-allowed;opacity:.55}.pagination-text{color:var(--text-secondary);font-size:14px;font-weight:600}@media (max-width:768px){.all-courses-filters{grid-template-columns:1fr}}.practice-container{min-height:calc(100vh - 80px);overflow-x:hidden;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);min-width:0}.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;min-width:0;overflow-x:hidden;padding:32px;width:100%}.question-header{margin-bottom:32px}.question-toolbar{align-items:end;border-bottom:1px solid var(--border-color);display:flex;gap:16px;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.current-question-indicator{display:flex;flex-direction:column;gap:6px}.current-question-label{color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.current-question-value{color:var(--text-primary);font-size:20px;line-height:1.2}.jump-question-control{color:var(--text-secondary);display:flex;flex-direction:column;font-size:13px;font-weight:700;gap:8px;min-width:220px}.jump-question-control select{background:var(--dark-bg);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:14px;padding:12px 14px;width:100%}.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;overflow-wrap:anywhere;word-break:break-word}.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;min-width:0;overflow-wrap:anywhere;word-break:break-word}.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-card.disabled{cursor:not-allowed;opacity:.72;transform:none}.exam-mode-card.disabled:hover{border-color:var(--border-color);box-shadow:none;transform:none}.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;min-width:0;padding:16px 20px;text-align:left;transition:all .3s ease;width:100%}.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;min-width:0;overflow-wrap:anywhere;word-break:break-word}.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;overflow-wrap:anywhere;padding:16px 20px;word-break:break-word}.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}.public-practice-note,.timer-setup-note{color:var(--text-secondary);font-size:14px;margin-top:10px}.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-toolbar{align-items:stretch;flex-direction:column}.jump-question-control{min-width:0}.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}.current-question-value,.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-list-header-modern{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:18px}.admin-list-header-modern h2{margin-bottom:0}.faculty-count-badge{align-items:center;background:var(--primary-light);border-radius:999px;color:var(--primary-color);display:inline-flex;font-size:12px;font-weight:700;justify-content:center;padding:6px 12px;white-space:nowrap}.faculty-toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.faculty-search-wrap{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;color:var(--text-tertiary);display:flex;flex:1 1;gap:8px;min-width:0;padding:10px 12px}.faculty-search-wrap:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.faculty-search-input{background:#0000;border:none;color:var(--text-primary);font-size:14px;outline:none;width:100%}.faculty-search-input::placeholder{color:var(--text-tertiary)}.faculty-item-card{background:linear-gradient(135deg,var(--bg-secondary) 0,#6366f10a 100%);border-radius:14px}.faculty-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.faculty-code-pill{background:#3b82f624;border-radius:999px;color:#1d4ed8!important;font-size:12px!important;font-weight:700;letter-spacing:.3px;margin-bottom:0!important;margin-top:8px!important;padding:5px 10px}.admin-toggle,.faculty-code-pill{align-items:center;display:inline-flex}.admin-toggle{color:var(--text-secondary);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}.faculty-toolbar{align-items:stretch;flex-direction:column}.admin-list-header-modern{align-items:flex-start;flex-direction:column}}@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-overview-page{grid-gap:16px;display:grid;gap:16px}.overview-hero{align-items:flex-start;background:radial-gradient(circle at 12% 20%,#3b82f62e,#0000 42%),radial-gradient(circle at 85% 0,#10b98124,#0000 38%),var(--card-bg);border:1px solid var(--border-color);border-radius:24px;box-shadow:var(--shadow-lg);display:flex;gap:16px;justify-content:space-between;padding:28px}.overview-kicker{color:var(--primary-color);font-size:12px;font-weight:700;letter-spacing:.11em;margin:0 0 6px;text-transform:uppercase}.overview-hero h1{margin:0 0 8px}.overview-hero p{margin:0}.overview-stat-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.overview-stat-card{background:linear-gradient(180deg,var(--card-bg),var(--bg-secondary));border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-md);padding:18px}.overview-stat-icon{align-items:center;border-radius:11px;color:#fff;display:inline-flex;font-size:18px;height:38px;justify-content:center;width:38px}.overview-stat-icon.purple{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.overview-stat-icon.blue{background:linear-gradient(135deg,#3b82f6,#0ea5e9)}.overview-stat-icon.green{background:linear-gradient(135deg,#10b981,#22c55e)}.overview-stat-icon.orange{background:linear-gradient(135deg,#f59e0b,#f97316)}.overview-stat-icon.pink{background:linear-gradient(135deg,#ec4899,#f43f5e)}.overview-stat-icon.indigo{background:linear-gradient(135deg,#6366f1,#4f46e5)}.overview-stat-card h3{font-size:30px;margin:10px 0 4px}.overview-stat-card p{font-weight:600;margin:0}.overview-content-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.overview-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-md);padding:20px}.overview-panel h2{align-items:center;display:flex;font-size:20px;gap:8px;margin-bottom:14px}.chart-panel{grid-gap:14px;display:grid;gap:14px}.chart-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.chart-toggle{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:11px;display:inline-flex;padding:4px}.chart-toggle button{background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:600;padding:6px 10px}.chart-toggle button.active{background:var(--gradient-primary);color:#fff}.bar-chart{grid-gap:6px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;display:grid;gap:6px;grid-template-columns:repeat(14,minmax(0,1fr));height:270px;padding:12px 10px 28px}.bar-chart-item{align-items:center;display:flex;flex-direction:column;justify-content:flex-end;min-width:0}.bar-chart-fill{background:linear-gradient(180deg,#6366f1,#4f46e5);border-radius:8px 8px 4px 4px;min-height:2px;transition:height .25s ease;width:100%}.bar-chart-label{color:var(--text-secondary);font-size:10px;margin-top:6px;white-space:nowrap}.bar-chart-value{color:var(--text-primary);font-size:10px;font-weight:700}.overview-list{grid-gap:10px;display:grid;gap:10px}.overview-row{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:12px}.overview-row h4{font-size:15px;margin:0 0 4px}.overview-row p,.overview-row span{color:var(--text-secondary);font-size:13px;margin:0}.overview-quick-actions{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.overview-action{background:var(--gradient-primary);border-radius:18px;box-shadow:var(--shadow-lg);color:#fff;padding:22px;text-decoration:none}.overview-action h3{color:#fff;margin:10px 0 6px}.overview-action p{color:#ffffffe6;margin:0}@media (max-width:900px){.overview-content-grid{grid-template-columns:1fr}.chart-head,.overview-hero{flex-direction:column}.chart-head{align-items:flex-start}}.admin-broadcast-page{grid-gap:16px;display:grid;gap:16px}.broadcast-hero{background:radial-gradient(circle at 10% 20%,#3b82f629,#0000 36%),radial-gradient(circle at 85% 0,#10b9811f,#0000 34%),var(--card-bg);border:1px solid var(--border-color);border-radius:24px;box-shadow:var(--shadow-lg);padding:28px}.broadcast-kicker{color:var(--primary-color);font-size:12px;font-weight:700;letter-spacing:.11em;margin:0 0 6px;text-transform:uppercase}.broadcast-hero h1{margin:0 0 8px}.broadcast-hero p{margin:0}.broadcast-form-panel{background:#0000;border:none;box-shadow:none;padding:0}.broadcast-modern-form{align-items:start;grid-template-columns:minmax(0,1fr) 330px}.broadcast-main-col,.broadcast-modern-form{grid-gap:14px;display:grid;gap:14px}.broadcast-side-col{min-width:0}.broadcast-card{background:linear-gradient(180deg,var(--card-bg),var(--bg-secondary));border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-md);padding:24px}.broadcast-card h2{font-size:20px;margin:0 0 14px}.broadcast-sticky{position:-webkit-sticky;position:sticky;top:94px}.broadcast-modern-field label{align-items:center;color:var(--text-primary);display:inline-flex;font-weight:700;gap:8px;margin-bottom:8px}.broadcast-channel-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:4px}.broadcast-check{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);cursor:pointer;display:flex;font-weight:700;gap:10px;justify-content:flex-start;min-height:52px;padding:12px 14px}.broadcast-check input{opacity:0;pointer-events:none;position:absolute}.check-indicator{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:6px;flex-shrink:0;height:18px;position:relative;width:18px}.check-indicator:after{border-bottom:2px solid #0000;border-right:2px solid #0000;content:"";height:9px;left:5px;opacity:0;position:absolute;top:1px;transform:rotate(45deg);width:4px}.broadcast-check.active .check-indicator{background:#fff;border-color:#fff}.broadcast-check.active .check-indicator:after{border-bottom-color:#1d4ed8;border-right-color:#1d4ed8;opacity:1}.broadcast-check.active{background:var(--gradient-primary);border-color:#0000;box-shadow:var(--shadow-md);color:#fff}.broadcast-target-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.broadcast-check.compact{flex:1 1;min-height:44px;min-width:180px;padding:10px 12px}.broadcast-email-grid{grid-gap:10px;display:grid;gap:10px;margin-top:10px}.broadcast-modern-field input,.broadcast-modern-field textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-family:inherit;font-size:15px;padding:12px 14px;width:100%}.broadcast-modern-field input:focus,.broadcast-modern-field textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light);outline:none}.broadcast-modern-field small{color:var(--text-secondary);display:inline-block;font-size:12px;margin-top:7px}.broadcast-preview-shell{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;margin-top:10px;padding:8px}.broadcast-preview-shell img{border-radius:8px;max-height:260px;object-fit:cover;width:100%}.broadcast-submit-btn{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:6px;width:100%}.admin-broadcast-page .btn.btn-primary{background:#0000;border:1px solid var(--primary-color);box-shadow:none;color:var(--primary-color)}.admin-broadcast-page .btn.btn-primary:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color)}.admin-broadcast-page .btn.btn-primary:disabled{background:#0000;border-color:var(--border-color);color:var(--text-secondary)}.broadcast-status{font-size:14px;font-weight:700;line-height:1.5;margin:12px 0 0}.broadcast-status.success{color:var(--success-color)}.broadcast-status.error{color:var(--danger-color)}.broadcast-summary{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;margin-top:6px;padding:12px}.broadcast-summary h3{font-size:14px;margin:0 0 8px}.broadcast-summary p{font-size:13px;margin:0 0 6px}.broadcast-summary p:last-child{margin-bottom:0}.broadcast-result-overlay{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:2000}.broadcast-result-dialog{background:var(--card-bg);border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-xl);padding:22px;width:min(720px,100%)}.broadcast-result-dialog h3{margin:0 0 10px}.result-main{margin:0}.result-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:8px}.result-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:12px}.result-card h4{font-size:14px;margin:0 0 6px}.result-card p{font-size:13px;margin:0 0 4px}.result-errors{background:#ef444414;border:1px solid #ef444459;border-radius:12px;margin-top:10px;padding:10px}.result-errors p{color:var(--danger-color);font-size:13px;margin:0 0 6px}.result-errors p:last-child{margin-bottom:0}.result-actions{display:flex;justify-content:flex-end;margin-top:14px}@media (max-width:768px){.broadcast-modern-form{grid-template-columns:1fr}.broadcast-sticky{position:static}.broadcast-channel-grid{grid-template-columns:1fr}.broadcast-check.compact{min-width:100%}.result-actions{justify-content:stretch}.result-actions .btn{width:100%}}.admin-api-page{grid-gap:18px;display:grid;gap:18px}.api-hero{align-items:flex-start;background:var(--card-bg);border:1px solid var(--border-color);border-radius:22px;box-shadow:var(--shadow-lg);display:flex;gap:16px;justify-content:space-between;padding:28px}.api-kicker{color:var(--primary-color);font-size:12px;font-weight:700;letter-spacing:.11em;margin:0 0 6px;text-transform:uppercase}.api-hero h1{margin:0 0 8px}.api-hero p{margin:0}.api-stat-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.api-stat-card{background:linear-gradient(180deg,var(--card-bg),var(--bg-secondary));border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-md);padding:20px}.api-stat-card h3{font-size:30px;margin:0 0 6px}.api-stat-card p{font-weight:600;margin:0}.api-panels{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.api-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-md);padding:20px}.api-panel h2{align-items:center;display:flex;font-size:20px;gap:8px;margin-bottom:14px}.api-op-list{grid-gap:10px;display:grid;gap:10px}.api-op-row{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:flex;gap:10px;justify-content:space-between;padding:12px}.api-op-row h4{font-size:15px;margin:0 0 3px}.api-op-row p{color:var(--text-secondary);font-size:13px;margin:0}.api-op-row span{color:var(--primary-color);font-weight:700}@media (max-width:980px){.api-panels{grid-template-columns:1fr}.api-hero{flex-direction:column}}.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;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;flex-wrap:wrap;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)}.stats-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-bottom:32px}.stat-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-md);gap:16px;padding:24px}.stat-card,.stat-icon{align-items:center;display:flex}.stat-icon{border-radius:14px;color:#fff;flex-shrink:0;font-size:28px;height:64px;justify-content:center;width:64px}.stat-card-blue .stat-icon{background:linear-gradient(135deg,#3b82f6,#2563eb)}.stat-card-purple .stat-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.stat-card-green .stat-icon{background:linear-gradient(135deg,#10b981,#059669)}.stat-card-orange .stat-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-details{flex:1 1;min-width:0}.stat-details h3{color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:32px;line-height:1;margin:0 0 4px}.stat-details p{color:var(--text-secondary);font-size:13px;font-weight:700;letter-spacing:.4px;margin:0;text-transform:uppercase}.stat-badge{background:var(--primary-light);border-radius:999px;color:var(--primary-color);display:inline-block;font-size:11px;font-weight:700;margin-top:8px;padding:4px 10px}.loading-container{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:60vh}.loading-container p{color:var(--text-secondary);font-weight:600;margin:0}.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){.quick-actions-grid,.stats-grid{grid-template-columns:1fr}.quick-actions-section{padding:24px 20px}.quick-action-card{padding:24px}.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}.stat-card{padding:20px}.stat-icon{font-size:24px;height:56px;width:56px}.stat-details h3{font-size:28px}.quick-actions-section{padding:20px 16px}.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)}.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;margin:0 0 24px}.quick-actions-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.quick-action-card{align-items:center;background:var(--gradient-primary);border-radius:18px;box-shadow:var(--shadow-md);color:#fff;display:flex;flex-direction:column;gap:14px;padding:28px;text-align:center;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.quick-action-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.quick-action-card h3{color:#fff;font-family:Montserrat,sans-serif;font-size:19px;margin:0}.quick-action-card p{color:#ffffffeb;font-size:14px;margin:0}.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:1240px}@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=number],.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=number]:focus,.form-group input[type=text]:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.profile-context-card{grid-gap:16px;background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px;padding:18px 20px}.profile-context-card div{display:flex;flex-direction:column;gap:6px}.profile-context-label{color:#718096;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.profile-context-card strong{color:#1a202c;font-size:15px}.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}.duplicate-dialog-overlay{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1100}.duplicate-dialog{background:#fff;border:2px solid #e2e8f0;border-radius:18px;box-shadow:0 25px 60px #0f172a59;max-width:520px;padding:28px 28px 24px;width:100%}.duplicate-dialog h3{color:#1a202c;font-size:20px;margin:0 0 10px}.duplicate-dialog p{color:#4a5568;line-height:1.6;margin:0 0 20px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end}.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:1240px;width:92vw}.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:540px;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-grid.create-only{grid-template-columns:minmax(260px,320px);justify-content:center}.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{border-radius:16px;margin:0;max-height:96dvh;max-width:100%}.modal-overlay{align-items:flex-end;padding:12px}.modal-header{padding:16px}.modal-header h2{font-size:20px;line-height:1.3;max-width:calc(100% - 52px)}.modal-close{flex-shrink:0;font-size:18px;height:36px;width:36px}.upload-steps{-webkit-overflow-scrolling:touch;gap:10px;justify-content:flex-start;overflow-x:auto;padding:12px 16px}.upload-steps .step{flex:0 0 auto;font-size:12px;min-width:110px;padding:10px 8px}.upload-steps .step:not(:last-child):after{font-size:12px;right:-12px}.selection-grid{gap:12px;grid-template-columns:1fr}.upload-form{padding:16px}.step-content{min-height:auto;padding:20px 16px}.step-content h3{font-size:20px}.create-form,.selection-card{padding:20px}.form-group label{font-size:15px}.form-group input[type=file],.form-group input[type=number],.form-group input[type=text],.form-group select,.form-input{font-size:16px}.profile-context-card{grid-template-columns:1fr}.form-actions,.modal-actions{flex-direction:column-reverse;gap:10px}.form-actions .btn,.modal-actions .btn{justify-content:center;width:100%}.upload-error{align-items:flex-start}.upload-info{padding:16px}.upload-info p{margin-bottom:10px}.upload-info p:last-child{margin-bottom:0}.dialog-actions{flex-direction:column-reverse}.dialog-actions .btn{width:100%}.empty-message{padding:32px 16px}}@media (max-width:480px){.modal-overlay{align-items:stretch;padding:0}.upload-wizard{border-radius:0;max-height:100dvh}.modal-header{padding:14px 12px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.modal-header h2{font-size:17px}.upload-form{padding:12px}.upload-steps{gap:8px;padding:10px 12px}.upload-steps .step{font-size:11px;min-width:100px;padding:8px 6px}.upload-steps .step:not(:last-child):after{font-size:10px;right:-10px}.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}}.gamification-section{margin-top:2rem}.gamification-totals-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1.5rem}.gamification-total-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:1rem}.gamification-total-card h3{color:#0f172a;font-size:1.5rem;margin:0}.gamification-total-card p{color:#475569;font-size:.9rem;margin:.35rem 0 0}.gamification-content-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1.7fr 1fr;margin-bottom:1rem}.gamification-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:1rem}.gamification-card h3{color:#0f172a;margin:0 0 .8rem}.gamification-activity-list{grid-gap:.65rem;display:grid;gap:.65rem}.gamification-activity-item{align-items:flex-start;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:.75rem;justify-content:space-between;padding:.7rem}.gamification-activity-item strong{color:#0f172a;display:block;font-size:.92rem}.gamification-activity-item p{color:#64748b;font-size:.82rem;margin:.2rem 0 0}.gamification-points-chip{background:#dcfce7;border-radius:999px;color:#166534;font-size:.82rem;font-weight:600;padding:.2rem .6rem;white-space:nowrap}.gamification-leaderboard-list{grid-gap:.5rem;display:grid;gap:.5rem;margin-bottom:1rem}.leaderboard-mini-row{align-items:center;border:1px solid #e5e7eb;border-radius:10px;color:#334155;display:flex;font-size:.9rem;gap:.5rem;justify-content:space-between;padding:.6rem .7rem}.leaderboard-mini-row strong{color:#0f172a}.leaderboard-mini-row.is-me{background:#eff6ff;border-color:#2563eb}.gamification-empty-text{color:#64748b;margin:0}.gamification-side-stack{grid-gap:1rem;display:grid;gap:1rem}.overall-toppers-header{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.75rem}.overall-toppers-header p{color:#64748b;font-size:.82rem;margin:0}.overall-toppers-table{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.overall-toppers-row{grid-gap:.5rem;align-items:center;border-bottom:1px solid #eef2f7;color:#334155;display:grid;font-size:.9rem;gap:.5rem;grid-template-columns:80px 1fr 90px 90px;padding:.65rem .75rem}.overall-toppers-row:last-child{border-bottom:none}.overall-toppers-head{background:#f8fafc;color:#475569;font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.overall-toppers-row strong{color:#0f172a}.overall-toppers-row.is-me{background:#eff6ff}@media (max-width:1024px){.gamification-totals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gamification-content-grid{grid-template-columns:1fr}.overall-toppers-row{grid-template-columns:65px 1fr 80px 70px}}.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}.detail-tab-practice{animation:detailTabBlink .45s ease-in-out 2}@keyframes detailTabBlink{0%,to{background:#ffffff1a;box-shadow:none;color:#fff}50%{background:#fff;box-shadow:0 0 0 6px #667eea2e;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-content,.summary-content *{-webkit-user-select:none;user-select:none}.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}}@media print{body.disable-course-print *{visibility:hidden!important}body.disable-course-print:before{color:#111827;content:"Printing is disabled for this summary page.";font-size:22px;font-weight:700;left:50%;position:fixed;text-align:center;top:30%;transform:translate(-50%,-50%);visibility:visible!important;width:80%}}.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{color:#fff;font-size:20px;font-weight:600;min-height:50vh}.loading-spinner,.study-center-dialog-overlay{align-items:center;display:flex;justify-content:center}.study-center-dialog-overlay{background:#0f172a80;inset:0;padding:20px;position:fixed;z-index:1200}.study-center-dialog{background:#fff;border-radius:18px;box-shadow:0 20px 45px #0003;max-width:520px;padding:24px;width:100%}.study-center-dialog h3{color:#1f2937;margin:0 0 10px}.study-center-dialog p{color:#4b5563;line-height:1.6;margin:0 0 18px}.study-center-dialog-btn{margin-top:0;max-width:100%}@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%}.study-center-dialog{padding:20px}}@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}.projects-hero-actions{display:flex;flex-wrap:wrap;gap:12px}.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}.projects-hero-actions .btn{justify-content:center;width:100%}}.my-fees-page{--fees-bg:#f5efe4;--fees-panel:#fffcf7eb;--fees-panel-strong:#fffdf9;--fees-text:#1f2937;--fees-muted:#6b7280;--fees-border:#94a3b838;--fees-accent:#0f766e;--fees-accent-strong:#115e59;--fees-accent-soft:#0f766e1c;--fees-highlight:#d97706;--fees-highlight-soft:#d977061f;background:radial-gradient(circle at top left,#0f766e1f,#0000 28%),radial-gradient(circle at top right,#d9770629,#0000 30%),linear-gradient(180deg,#ffffff59,#0000 45%),var(--fees-bg);color:var(--fees-text);min-height:calc(100vh - 70px);padding:34px 0 72px}[data-theme=dark] .my-fees-page{--fees-bg:#0f172a;--fees-panel:#0f172ae0;--fees-panel-strong:#111827;--fees-text:#e5eef9;--fees-muted:#9fb0c3;--fees-border:#94a3b82e;--fees-accent:#2dd4bf;--fees-accent-strong:#5eead4;--fees-accent-soft:#2dd4bf1a;--fees-highlight:#fbbf24;--fees-highlight-soft:#fbbf241f}.my-fees-hero,.my-fees-layout,.my-fees-results-grid,.my-fees-summary-grid{grid-gap:24px;display:grid;gap:24px}.my-fees-hero{grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);margin-bottom:28px}.my-fees-layout{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);margin-bottom:28px}.my-fees-results-grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr)}.my-fees-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.my-fees-empty,.my-fees-hero-card,.my-fees-hero-copy,.my-fees-loading,.my-fees-panel,.my-fees-summary-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--fees-panel);border:1px solid var(--fees-border);border-radius:28px;box-shadow:0 18px 40px #0f172a14}.my-fees-hero-card,.my-fees-hero-copy,.my-fees-panel,.my-fees-summary-card{padding:28px}.my-fees-kicker,.my-fees-section-kicker{color:var(--fees-accent);font-size:12px;font-weight:800;letter-spacing:.16em;margin:0 0 10px;text-transform:uppercase}.my-fees-empty h2,.my-fees-hero-copy h1,.my-fees-panel-header h2{font-family:Montserrat,sans-serif;letter-spacing:-.03em}.my-fees-hero-copy h1{font-size:clamp(2.4rem,4vw,3.6rem);line-height:.95;margin:0 0 14px}.my-fees-aside-copy,.my-fees-empty p,.my-fees-hero-card p,.my-fees-lead{color:var(--fees-muted);font-size:1rem;line-height:1.65;margin:0}.my-fees-progress{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.my-fees-progress-chip{align-items:center;background:#ffffff8c;border:1px solid var(--fees-border);border-radius:999px;color:var(--fees-muted);display:inline-flex;font-weight:700;gap:10px;padding:11px 14px}[data-theme=dark] .my-fees-progress-chip{background:#0f172a8c}.my-fees-progress-chip.complete{background:var(--fees-accent-soft);color:var(--fees-accent-strong)}.my-fees-progress-chip span:first-child{align-items:center;background:#0f766e24;border-radius:999px;display:inline-flex;font-size:13px;height:24px;justify-content:center;width:24px}.my-fees-hero-card{background:linear-gradient(155deg,#0f766e1a,#d9770614),var(--fees-panel)}.my-fees-hero-card-top{align-items:flex-start;display:flex;gap:16px}.my-fees-aside-icon,.my-fees-hero-card-top svg{color:var(--fees-accent);flex-shrink:0;height:38px;width:38px}.my-fees-hero-card-top h2{font-size:1.3rem;margin:0 0 8px}.my-fees-hero-meta{grid-gap:14px;display:grid;gap:14px;margin-top:24px}.my-fees-hero-meta div,.my-fees-mini-stats div,.my-fees-recap-list div,.my-fees-selection-summary div,.my-fees-tip-list div,.my-fees-total-stack div{grid-gap:4px;display:grid;gap:4px}.my-fees-hero-meta span,.my-fees-mini-stats span,.my-fees-recap-list span,.my-fees-selection-summary span,.my-fees-tip-list span,.my-fees-total-stack span{color:var(--fees-muted);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.my-fees-panel-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:22px}.my-fees-empty h2,.my-fees-panel-header h2{font-size:clamp(1.55rem,2.4vw,2.1rem);margin:0}.my-fees-reset,.my-fees-side-link{align-items:center;border-radius:999px;display:inline-flex;font-weight:700;gap:10px;padding:12px 18px}.my-fees-reset{background:#0000;border:1px solid var(--fees-border);color:var(--fees-text);cursor:pointer}.my-fees-reset:hover{background:var(--fees-accent-soft)}.my-fees-field-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.my-fees-field{grid-gap:10px;display:grid;gap:10px}.my-fees-field span{font-size:.9rem;font-weight:700}.my-fees-field select{background:var(--fees-panel-strong);border:1px solid var(--fees-border);border-radius:16px;color:var(--fees-text);font:inherit;padding:14px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.my-fees-field select:focus{border-color:var(--fees-accent);box-shadow:0 0 0 4px #0f766e1a;outline:none}.my-fees-field select:disabled{cursor:not-allowed;opacity:.65}.my-fees-mini-stats,.my-fees-recap-list,.my-fees-selection-summary,.my-fees-tip-list,.my-fees-total-stack{grid-gap:14px;display:grid;gap:14px}.my-fees-selection-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}.my-fees-mini-stats div,.my-fees-recap-list div,.my-fees-selection-summary div,.my-fees-total-stack div{background:#ffffff6b;border:1px solid var(--fees-border);border-radius:18px;padding:16px}[data-theme=dark] .my-fees-mini-stats div,[data-theme=dark] .my-fees-recap-list div,[data-theme=dark] .my-fees-selection-summary div,[data-theme=dark] .my-fees-total-stack div{background:#0f172a8f}.my-fees-tip-list div{background:var(--fees-highlight-soft);border-radius:18px;padding:16px 18px}.my-fees-tip-list strong{font-size:.95rem}.my-fees-tip-list span{font-size:.93rem;letter-spacing:normal;line-height:1.5;text-transform:none}.my-fees-side-link{background:var(--fees-accent-soft);color:var(--fees-accent-strong);justify-content:space-between;margin-top:20px;text-decoration:none}.my-fees-side-link:hover{transform:translateX(2px)}.my-fees-empty,.my-fees-error,.my-fees-loading,.my-fees-note{padding:18px 20px}.my-fees-error{background:#dc262614;border:1px solid #dc262624;border-radius:18px;color:#b91c1c;font-weight:600;margin-top:18px}[data-theme=dark] .my-fees-error{color:#fecaca}.my-fees-empty,.my-fees-loading{align-items:center;display:flex;gap:18px;margin-bottom:24px}.my-fees-loading{color:var(--fees-muted);font-weight:700;justify-content:center}.my-fees-empty svg,.my-fees-loading svg{color:var(--fees-accent);flex-shrink:0;height:32px;width:32px}.my-fees-summary-card{grid-gap:10px;display:grid;gap:10px}.my-fees-summary-card span{color:var(--fees-muted);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.my-fees-summary-card strong{font-size:clamp(1.55rem,2.8vw,2.2rem);line-height:1}.my-fees-summary-card p{color:var(--fees-muted);margin:0}.my-fees-summary-card.highlight{background:linear-gradient(150deg,#0f766e24,#d9770629),var(--fees-panel)}.my-fees-note{background:var(--fees-highlight-soft);border-radius:18px;color:var(--fees-text);margin-bottom:18px}.my-fees-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.my-fees-course-table{grid-gap:14px;display:grid;gap:14px}.my-fees-course-head,.my-fees-course-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(0,2fr) minmax(290px,1fr)}.my-fees-course-head{color:var(--fees-muted);font-size:.78rem;letter-spacing:.1em;padding:0 10px;text-transform:uppercase}.my-fees-course-head span:last-child,.my-fees-course-meta{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.my-fees-course-row{background:#ffffff7a;border:1px solid var(--fees-border);border-radius:22px;padding:18px}[data-theme=dark] .my-fees-course-row{background:#0f172a80}.my-fees-course-row.elective{border-color:#d9770638}.my-fees-course-row.muted{opacity:.58}.my-fees-course-main{grid-gap:8px;display:grid;gap:8px}.my-fees-course-main p{color:var(--fees-muted);line-height:1.55;margin:0}.my-fees-course-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.my-fees-course-title-row strong,.my-fees-elective-toggle span{font-size:1rem;font-weight:800;letter-spacing:.01em}.my-fees-course-title-row em{align-items:center;background:var(--fees-highlight-soft);border-radius:999px;color:var(--fees-highlight);display:inline-flex;font-size:.78rem;font-style:normal;font-weight:700;padding:6px 10px}.my-fees-elective-toggle{align-items:center;cursor:pointer;display:inline-flex;gap:10px}.my-fees-elective-toggle input{accent-color:var(--fees-accent);height:18px;width:18px}.my-fees-course-meta a,.my-fees-course-meta span{font-weight:700}.my-fees-course-meta a{align-items:center;color:var(--fees-accent-strong);display:inline-flex;gap:8px;text-decoration:none}.my-fees-course-meta a:hover{text-decoration:underline}.my-fees-link-muted{color:var(--fees-muted)}.my-fees-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.my-fees-badges span{background:var(--fees-accent-soft);border-radius:999px;color:var(--fees-accent-strong);font-size:.84rem;font-weight:700;padding:10px 12px}.my-fees-total-stack .grand-total{background:#0f766e1f;border-color:#0f766e38}.my-fees-hero-meta strong,.my-fees-mini-stats strong,.my-fees-recap-list strong,.my-fees-selection-summary strong,.my-fees-total-stack strong{font-size:1rem}@media (max-width:1200px){.my-fees-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.my-fees-course-head,.my-fees-course-row{grid-template-columns:1fr}}@media (max-width:980px){.my-fees-hero,.my-fees-layout,.my-fees-results-grid{grid-template-columns:1fr}}@media (max-width:720px){.my-fees-page{padding-top:24px}.my-fees-empty,.my-fees-hero-card,.my-fees-hero-copy,.my-fees-loading,.my-fees-panel,.my-fees-summary-card{border-radius:24px}.my-fees-hero-card,.my-fees-hero-copy,.my-fees-panel,.my-fees-summary-card{padding:22px}.my-fees-field-grid,.my-fees-mini-stats,.my-fees-selection-summary,.my-fees-summary-grid{grid-template-columns:1fr}.my-fees-panel-header{align-items:flex-start;flex-direction:column}.my-fees-badges{justify-content:flex-start}.my-fees-course-head{display:none}.my-fees-course-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.my-fees-progress{gap:10px}.my-fees-progress-chip{justify-content:flex-start;width:100%}.my-fees-course-meta{grid-template-columns:1fr}.my-fees-empty,.my-fees-loading{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}}.disclaimer-page{background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:calc(100vh - 70px);padding:32px 0 48px}[data-theme=dark] .disclaimer-page{background:linear-gradient(135deg,#0f172a,#1e293b)}.disclaimer-hero{background:var(--card-bg);border:1px solid var(--border-color);border-radius:22px;box-shadow:var(--shadow-lg);margin-bottom:28px;padding:32px}.disclaimer-icon-wrap{align-items:center;background:#f59e0b1f;border-radius:16px;color:#f59e0b;display:inline-flex;height:64px;justify-content:center;margin-bottom:16px;width:64px}.disclaimer-kicker{color:var(--primary-color);font-size:12px;font-weight:700;letter-spacing:1.5px;margin:0 0 8px;text-transform:uppercase}.disclaimer-hero h1{color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:34px;line-height:1.2;margin:0 0 16px}.disclaimer-hero p{color:var(--text-secondary);font-size:16px;line-height:1.7;margin:0}.disclaimer-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-md);margin-bottom:22px;padding:28px}.disclaimer-section h2{align-items:center;color:var(--text-primary);display:flex;font-family:Montserrat,sans-serif;font-size:22px;gap:10px;margin:0 0 12px}.disclaimer-section p{color:var(--text-secondary);font-size:15px;line-height:1.7;margin:0 0 12px}.disclaimer-section p:last-child{margin-bottom:0}.disclaimer-section ul{color:var(--text-secondary);line-height:1.7;margin:0 0 12px;padding-left:22px}.disclaimer-section li{margin-bottom:8px}@media (max-width:768px){.disclaimer-page{padding:22px 0 36px}.disclaimer-hero,.disclaimer-section{border-radius:16px;padding:22px 18px}.disclaimer-hero h1{font-size:28px}.disclaimer-section h2{font-size:20px}}@media (max-width:480px){.disclaimer-hero h1{font-size:24px}.disclaimer-hero p,.disclaimer-section p,.disclaimer-section ul{font-size:14px}}.seo-landing-page{background:radial-gradient(circle at top left,#0d94881f,#0000 34%),radial-gradient(circle at top right,#3b82f61a,#0000 28%),linear-gradient(180deg,#f7fbfb,#fff 48%,#f4f8ff);min-height:calc(100vh - 120px);padding:48px 0 72px}.seo-landing-hero{grid-gap:28px;align-items:stretch;display:grid;gap:28px;grid-template-columns:minmax(0,1.3fr) minmax(280px,.9fr);margin-bottom:32px}.seo-landing-aside,.seo-landing-copy,.seo-landing-panel{background:#ffffffdb;border:1px solid #0f172a14;border-radius:28px;box-shadow:0 24px 70px #0f172a14}.seo-landing-copy{padding:34px}.seo-landing-kicker{color:#0f766e;font-size:13px;font-weight:800;letter-spacing:.12em;margin:0 0 10px;text-transform:uppercase}.seo-landing-copy h1{color:#0f172a;font-size:clamp(2.2rem,4vw,4rem);line-height:1.02;margin:0 0 16px}.seo-landing-copy p{color:#334155;font-size:1.02rem;line-height:1.7;margin:0 0 18px;max-width:62ch}.seo-landing-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 24px}.seo-landing-actions .btn{align-items:center;display:inline-flex;gap:10px}.seo-landing-proofs{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.seo-proof-card{background:linear-gradient(180deg,#f1f5f9eb,#fffffff5);border:1px solid #94a3b840;border-radius:18px;padding:14px 16px}.seo-proof-value{color:#0f172a;display:block;font-size:1.1rem;font-weight:800;margin-bottom:6px}.seo-proof-label{color:#475569;display:block;font-size:.92rem}.seo-landing-aside{display:flex;flex-direction:column;gap:20px;justify-content:space-between;padding:28px}.seo-feature-list,.seo-panel-list{grid-gap:12px;display:grid;gap:12px;list-style:none;margin:0;padding:0}.seo-feature-list li,.seo-panel-list li{align-items:flex-start;color:#334155;display:flex;gap:12px}.seo-feature-list svg,.seo-panel-list svg{color:#0f766e;flex-shrink:0;margin-top:3px}.seo-landing-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}.seo-landing-panel{padding:28px}.seo-landing-panel h2{color:#0f172a;margin:0 0 12px}.seo-landing-panel p{color:#475569;line-height:1.7;margin:0 0 18px}.seo-panel-list strong{color:#0f172a;display:block;margin-bottom:2px}@media (max-width:960px){.seo-landing-grid,.seo-landing-hero,.seo-landing-proofs{grid-template-columns:1fr}.seo-landing-aside,.seo-landing-copy,.seo-landing-panel{padding:24px}}.news-page{background:radial-gradient(circle at top left,#3b82f614,#0000 35%),linear-gradient(180deg,#f8fbff,#fff 40%,#f7fbfb);min-height:calc(100vh - 120px);padding:48px 0 72px}.news-article,.news-grid,.news-hero{margin:0 auto;max-width:1100px}.news-hero{margin-bottom:28px}.news-kicker{color:#0f766e;font-size:13px;font-weight:800;letter-spacing:.12em;margin:0 0 10px;text-transform:uppercase}.news-article h1,.news-hero h1{color:#0f172a;line-height:1.05;margin:0 0 14px}.news-article p,.news-hero p{color:#475569;line-height:1.8}.news-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.news-article,.news-card{background:#ffffffeb;border:1px solid #0f172a14;border-radius:24px;box-shadow:0 20px 60px #0f172a14}.news-card{padding:24px}.news-article-meta,.news-card-meta{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:13px;gap:10px;margin-bottom:14px}.news-article-category,.news-card-category{background:#0f766e1f;border-radius:999px;color:#0f766e;display:inline-flex;font-weight:700;padding:4px 10px}.news-card h2{font-size:1.35rem;line-height:1.25;margin:0 0 12px}.news-card p{margin:0 0 18px}.news-back-link,.news-card a{color:#0f766e;font-weight:700;text-decoration:none}.news-back-link:hover,.news-card a:hover{text-decoration:underline}.news-article{padding:32px}.news-article-body{grid-gap:16px;display:grid;gap:16px;margin-top:20px}@media (max-width:768px){.news-page{padding:32px 0 56px}.news-article{padding:22px}}.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}}.admin-shell{grid-gap:20px;display:grid;gap:20px;grid-template-columns:290px minmax(0,1fr);margin:20px auto 32px;position:relative;width:min(1380px,calc(100% - 32px))}.admin-sidebar{align-self:start;background:radial-gradient(circle at 15% 15%,#3b82f62e,#0000 38%),radial-gradient(circle at 90% 0,#10b98124,#0000 40%),linear-gradient(175deg,var(--card-bg) 0,var(--bg-secondary) 100%);border:1px solid var(--border-color);border-radius:24px;box-shadow:var(--shadow-xl);padding:20px 16px;position:-webkit-sticky;position:sticky;top:88px}.admin-sidebar-head h2{font-size:22px;margin:0}.admin-sidebar-kicker{color:var(--primary-color);font-size:11px;font-weight:700;letter-spacing:.12em;margin:0 0 8px;text-transform:uppercase}.admin-sidebar-nav{grid-gap:7px;display:grid;gap:7px;margin-top:18px;max-height:min(62vh,560px);overflow-y:auto;padding-right:4px}.admin-nav-item{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #0000;border-radius:12px;color:var(--text-secondary);display:flex;font-weight:600;gap:10px;padding:11px 12px;text-decoration:none;transition:all .22s ease}.admin-nav-item:hover{background:var(--bg-primary);border-color:var(--border-color);color:var(--text-primary)}.admin-nav-item.active{background:var(--gradient-primary);box-shadow:var(--shadow-md);color:#fff}.admin-sidebar-foot{border-top:1px solid var(--border-color);margin-top:18px;padding-top:16px}.admin-user-chip{align-items:center;display:flex;gap:10px}.admin-user-avatar{align-items:center;background:var(--gradient-primary);border-radius:11px;color:#fff;display:inline-flex;font-weight:700;height:38px;justify-content:center;width:38px}.admin-user-chip strong{color:var(--text-primary);display:block;font-size:14px}.admin-user-chip p{margin:2px 0 0}.admin-sidebar-tip,.admin-user-chip p{color:var(--text-secondary);font-size:12px}.admin-sidebar-tip{align-items:center;display:flex;gap:7px;margin:14px 0 0}.admin-main-content{min-width:0;position:relative}.admin-main-content .container{max-width:none;padding:0}.admin-main-content .admin-container,.admin-main-content .admin-dashboard-container,.admin-main-content .admin-materials-container,.admin-main-content .admin-users-container{background:#0000;min-height:auto;padding:0}.admin-main-content .admin-header,.admin-main-content .admin-users-hero,.admin-main-content .dashboard-header,.admin-main-content .materials-hero{background:radial-gradient(circle at 8% 12%,#3b82f61f,#0000 34%),radial-gradient(circle at 90% 0,#10b9811a,#0000 34%),var(--card-bg);border:1px solid var(--border-color);border-radius:22px;box-shadow:var(--shadow-lg)}.admin-main-content .admin-form-card,.admin-main-content .admin-invite-card,.admin-main-content .admin-list-card,.admin-main-content .admin-user-profile,.admin-main-content .api-stat-card,.admin-main-content .api-usage-section,.admin-main-content .broadcast-section,.admin-main-content .dashboard-card,.admin-main-content .material-card,.admin-main-content .stat-card,.admin-main-content .upload-card-modern,.admin-main-content .user-card{border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-md)}.admin-main-content .admin-form-card,.admin-main-content .admin-list-card,.admin-main-content .admin-user-profile,.admin-main-content .material-card,.admin-main-content .upload-card-modern{background:linear-gradient(180deg,var(--card-bg),var(--bg-secondary))}.admin-main-content .material-card:hover,.admin-main-content .stats-grid .stat-card:hover,.admin-main-content .user-card:hover{transform:translateY(-4px)}.admin-main-content .admin-tabs{background:var(--card-bg);border:1px solid var(--border-color);border-radius:18px;padding:10px}.admin-main-content .admin-tab{border-radius:12px}.admin-main-content .admin-users-toolbar,.admin-main-content .materials-toolbar{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:14px}@media (max-width:1024px){.admin-shell{gap:14px;grid-template-columns:1fr;width:min(1380px,calc(100% - 24px))}.admin-sidebar{padding:14px;position:static}.admin-sidebar-foot,.admin-sidebar-head h2,.admin-sidebar-kicker{display:none}.admin-sidebar-nav{display:flex;gap:8px;margin-top:0;overflow-x:auto;padding-bottom:2px}.admin-nav-item{flex:0 0 auto;white-space:nowrap}}*{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)}.notification-permission-bar{align-items:center;background:#f8fafc;background:var(--bg-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:14px;display:flex;gap:16px;justify-content:space-between;margin:16px auto 8px;max-width:1280px;padding:12px 16px}.notification-permission-content{align-items:center;display:flex;gap:10px}.notification-permission-content p{color:#1e293b;color:var(--text-primary);font-weight:500;margin:0}.notification-permission-icon{align-items:center;background:#eef2ff;background:var(--primary-light);border-radius:10px;color:#6366f1;color:var(--primary-color);display:inline-flex;flex-shrink:0;font-size:18px;height:34px;justify-content:center;width:34px}.np-bottom-sheet-overlay{align-items:flex-end;background:#0f172a38;display:flex;inset:0;justify-content:center;padding:18px;pointer-events:none;position:fixed;z-index:180}.np-bottom-sheet{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:24px 24px 18px 18px;box-shadow:0 24px 48px #0f172a38;padding:22px 22px 18px;pointer-events:auto;position:relative;width:min(100%,560px)}.np-bottom-sheet-kicker{color:#6366f1;color:var(--primary-color);font-size:12px;font-weight:700;letter-spacing:.12em;margin:0 0 8px;text-transform:uppercase}.np-bottom-sheet h3{color:#1e293b;color:var(--text-primary);margin:0 0 8px}.np-bottom-sheet p{color:#64748b;color:var(--text-secondary);margin:0}.np-bottom-sheet-close{align-items:center;background:#f8fafc;background:var(--bg-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:999px;color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;height:38px;justify-content:center;position:absolute;right:14px;top:14px;width:38px}.np-bottom-sheet-close:hover{border-color:#cbd5e1;border-color:var(--border-hover);color:#1e293b;color:var(--text-primary)}.np-bottom-sheet-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.np-bottom-sheet-dismiss{background:#0000;border:none;color:#64748b;color:var(--text-secondary);cursor:pointer;font-weight:700;padding:8px 0}.np-bottom-sheet-dismiss:hover{color:#6366f1;color:var(--primary-color)}.global-ask-bubble{align-items:center;background:#2563eb;border:1px solid #ffffff24;border-radius:999px;bottom:26px;box-shadow:0 12px 28px #0f172a2e;color:#fff;display:inline-flex;font-weight:700;gap:10px;padding:14px 18px;position:fixed;right:22px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;z-index:120}.global-ask-bubble:hover{background:#1d4ed8;box-shadow:0 16px 30px #0f172a38;transform:translateY(-2px)}@media (max-width:768px){.notification-permission-bar{align-items:stretch;flex-direction:column;margin:12px 16px 4px}.np-bottom-sheet-overlay{padding:12px}.np-bottom-sheet{border-radius:22px 22px 16px 16px;padding:20px 18px 16px;width:100%}.global-ask-bubble{bottom:18px;padding:13px 16px;right:16px}}.np-notification-prompt-overlay{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:2000}.np-notification-prompt-card{background:#fff;background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:18px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl);max-width:520px;padding:24px;position:relative;width:100%}.np-notification-prompt-card h3{margin-bottom:8px;text-align:center}.np-notification-prompt-card p{margin-bottom:12px;text-align:center}.np-notification-hint{color:#f59e0b;color:var(--warning-color);font-weight:600}.np-notification-error{color:#ef4444;color:var(--danger-color);font-weight:600}.np-notification-actions{display:flex;gap:10px;justify-content:flex-end}.np-notification-close{align-items:center;background:#f8fafc;background:var(--bg-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:10px;color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;position:absolute;right:10px;top:10px;width:34px}.np-notification-close:hover:not(:disabled){border-color:#cbd5e1;border-color:var(--border-hover);color:#1e293b;color:var(--text-primary)}.np-notification-icon-shell{display:flex;justify-content:center;margin-bottom:14px}.np-notification-icon{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);background:var(--gradient-primary);border-radius:20px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);color:#fff;display:inline-flex;font-size:32px;height:68px;justify-content:center;width:68px}.np-notification-benefits{grid-gap:10px;display:grid;gap:10px;margin:14px 0 10px}.np-benefit-item{align-items:center;background:#f8fafc;background:var(--bg-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;color:#1e293b;color:var(--text-primary);display:flex;font-weight:600;gap:10px;padding:10px 12px}.np-benefit-item svg{color:#6366f1;color:var(--primary-color);flex-shrink:0}@media (max-width:600px){.np-bottom-sheet-actions{align-items:stretch;flex-direction:column}.np-bottom-sheet .btn{justify-content:center;width:100%}.np-notification-actions{flex-direction:column}.global-ask-bubble{bottom:14px;font-size:14px;gap:8px;padding:12px 14px;right:12px}}.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}.welcome-landing{background:radial-gradient(circle at 10% 20%,#38bdf838,#0000 42%),radial-gradient(circle at 88% 14%,#14b8a633,#0000 40%),radial-gradient(circle at 50% 100%,#2563eb1f,#0000 45%),linear-gradient(180deg,#f8fbff,#ecf4ff 42%,#f8fafc);min-height:calc(100vh - 80px);padding:32px 0 56px}.welcome-hero-shell{margin:0 auto;max-width:980px;position:relative}.welcome-glow{border-radius:999px;filter:blur(24px);position:absolute;z-index:0}.welcome-glow-one{background:#3b82f640;height:220px;left:-28px;top:-12px;width:220px}.welcome-glow-two{background:#10b98133;bottom:-18px;height:200px;right:-20px;width:200px}.welcome-glow-three{background:#2563eb1f;height:240px;left:44%;top:42%;width:240px}.welcome-landing-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(145deg,#fffffff0,#f1f5f9e6),linear-gradient(120deg,#3b82f614,#14b8a614);border:1px solid #94a3b84d;border-radius:30px;box-shadow:0 30px 60px #0f172a24,inset 0 1px 0 #fffc;margin:0 auto;max-width:100%;overflow:hidden;padding:52px 44px;position:relative;text-align:center;z-index:1}.welcome-landing-card:after{background:radial-gradient(circle,#2563eb24,#0000 65%);content:"";height:220px;inset:auto -18% -140px;pointer-events:none;position:absolute}.welcome-kicker{align-items:center;background:#2563eb1a;border-radius:999px;box-shadow:inset 0 0 0 1px #2563eb1f;color:#1d4ed8;display:inline-flex;font-size:13px;font-weight:700;justify-content:center;letter-spacing:.1em;margin-bottom:14px;padding:8px 14px;text-transform:uppercase}.welcome-landing-card h1{color:#0f172a;font-size:clamp(2rem,4vw,3.1rem);margin-bottom:14px}.welcome-lead{color:#475569;font-size:1.08rem;margin:0 auto;max-width:740px}.welcome-proof-strip{align-items:center;display:inline-flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:20px auto 0}.welcome-proof-strip span{background:#0f172a0f;border:1px solid #94a3b840;border-radius:999px;color:#334155;font-size:12px;font-weight:600;padding:6px 10px}.welcome-feature-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:26px}.welcome-feature{align-items:center;background:#fffc;border:1px solid #94a3b840;border-radius:16px;color:#1e293b;display:flex;font-weight:600;gap:8px;justify-content:center;padding:13px 14px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.welcome-feature:hover{border-color:#2563eb59;box-shadow:0 10px 18px #0f172a14;transform:translateY(-2px)}.welcome-feature svg{color:#2563eb}.welcome-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}.welcome-actions .btn{min-width:220px}.welcome-actions .btn-primary{background:linear-gradient(135deg,#2563eb,#0ea5e9)}.welcome-actions .btn-outline{background:#ffffffbf;border:1px solid #2563eb59}.welcome-footnote{color:#64748b;font-size:.95rem;margin-bottom:0;margin-top:16px}@media (max-width:768px){.welcome-landing{padding:22px 0 42px}.welcome-landing-card{border-radius:20px;padding:34px 20px}.welcome-actions{flex-direction:column}.welcome-actions .btn{min-width:auto;width:100%}.welcome-feature-grid{grid-template-columns:1fr}.welcome-proof-strip{display:flex}}.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)}