@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--color-bg-primary: #0a0e27;--color-bg-secondary: #151b3d;--color-bg-card: rgba(21, 27, 61, .6);--color-accent-primary: #6366f1;--color-accent-secondary: #8b5cf6;--color-accent-tertiary: #ec4899;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-border: rgba(148, 163, 184, .1);--color-bg-glass: rgba(21, 27, 61, .4);--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #ec4899 100%);--gradient-card: linear-gradient(135deg, rgba(99, 102, 241, .1) 0%, rgba(139, 92, 246, .1) 100%);--gradient-hover: linear-gradient(135deg, rgba(99, 102, 241, .2) 0%, rgba(139, 92, 246, .2) 100%);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--radius-sm: .5rem;--radius-md: 1rem;--radius-lg: 1.5rem;--radius-xl: 2rem;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .3);--shadow-glow: 0 0 40px rgba(99, 102, 241, .3);--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Space Grotesk", var(--font-primary)}[data-theme=light]{--color-bg-primary: #f8fafc;--color-bg-secondary: #f1f5f9;--color-bg-card: rgba(255, 255, 255, .8);--color-accent-primary: #4f46e5;--color-accent-secondary: #7c3aed;--color-accent-tertiary: #db2777;--color-text-primary: #0f172a;--color-text-secondary: #334155;--color-text-muted: #64748b;--color-border: rgba(148, 163, 184, .3);--color-bg-glass: rgba(255, 255, 255, .7);--gradient-primary: linear-gradient(135deg, #4338ca 0%, #6d28d9 50%, #be185d 100%);--gradient-card: linear-gradient(135deg, rgba(67, 56, 202, .05) 0%, rgba(109, 40, 217, .05) 100%);--gradient-hover: linear-gradient(135deg, rgba(67, 56, 202, .1) 0%, rgba(109, 40, 217, .1) 100%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .05);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .15);--shadow-glow: 0 0 40px rgba(79, 70, 229, .15)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}section[id],div[id],.content-section,.question-card[id],.question-section{scroll-margin-top:100px}body{font-family:var(--font-primary);background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;overflow-x:hidden;min-height:100vh}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 30%,rgba(99,102,241,.15) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(139,92,246,.15) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(236,72,153,.1) 0%,transparent 50%);pointer-events:none;z-index:0}#root{position:relative;z-index:1;max-width:100vw;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;margin-bottom:var(--spacing-md)}h1{font-size:clamp(2.5rem,5vw,4rem);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}p{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-family:var(--font-primary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff1a;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover:before{width:300px;height:300px}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.btn-secondary{background:var(--color-bg-card);color:var(--color-text-primary);border:2px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{border-color:var(--color-accent-primary);background:var(--gradient-hover);transform:translateY(-2px)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--gradient-card);opacity:0;transition:opacity .4s ease;pointer-events:none}.card:hover{transform:translateY(-8px);border-color:var(--color-accent-primary);box-shadow:var(--shadow-lg)}.card:hover:before{opacity:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in-up{animation:fadeInUp .6s ease-out forwards}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glassmorphism{background:var(--color-bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--color-border)}.overflow-x-auto{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:768px){:root{--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem}.container{padding:0 var(--spacing-sm)}}.user-header{position:relative}.user-avatar-btn{width:40px;height:40px;border-radius:50%;border:2px solid rgba(99,102,241,.5);background:linear-gradient(135deg,#6366f1,#8b5cf6);cursor:pointer;padding:0;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.user-avatar-btn:hover{border-color:#818cf8;transform:scale(1.05);box-shadow:0 4px 12px #6366f14d}.user-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-avatar-initials{color:#fff;font-weight:600;font-size:.875rem}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;background:#1e1e32fa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 20px 40px #0006;overflow:hidden;animation:dropdownSlide .2s ease-out;z-index:1000}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:1rem}.dropdown-user-info{display:flex;align-items:center;gap:.75rem}.dropdown-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.dropdown-avatar-placeholder{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1.125rem}.dropdown-user-details{display:flex;flex-direction:column;gap:2px;min-width:0}.dropdown-user-name{color:#fff;font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-user-email{color:#fff9;font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-divider{height:1px;background:#ffffff14;margin:0}.dropdown-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:none;border:none;color:#fffc;font-size:.875rem;cursor:pointer;transition:all .15s ease;text-align:left}.dropdown-item:hover{background:#ffffff0d;color:#fff}.dropdown-icon{font-size:1rem}.badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#ef4444;color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #ef444466}.notification-badge{background:#ef4444}.notification-badge-inline{position:static;margin-left:auto;min-width:18px;height:18px;font-size:.7rem}@media(max-width:480px){.user-dropdown{right:-60px;min-width:240px}.dropdown-user-info{flex-direction:column;align-items:flex-start;gap:.25rem}.dropdown-avatar{margin-bottom:.5rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f0f23,#1a1a3e,#0f0f23);padding:2rem}.login-container{width:100%;max-width:420px;background:#ffffff08;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:2.5rem;border:1px solid rgba(255,255,255,.08);box-shadow:0 25px 50px -12px #00000080,inset 0 1px #ffffff0d}.login-header{text-align:center;margin-bottom:2rem}.login-logo{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.login-logo .logo-icon{font-size:2rem}.login-logo .logo-text{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#6366f1,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-title{font-size:1.75rem;font-weight:700;color:#fff;margin-bottom:.5rem}.login-subtitle{color:#fff9;font-size:.95rem}.login-subtitle strong{color:#818cf8}.email-hint{display:inline-flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:8px;font-size:.8rem;color:#ffffffb3}.hint-icon{font-size:.9rem}.success-icon{font-size:3rem;margin-bottom:1rem}.request-access-box{background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.request-access-box h3{color:#a5b4fc;font-size:1rem;margin-bottom:.5rem}.request-access-box p{color:#fff9;font-size:.85rem;margin-bottom:1rem;line-height:1.5}.request-access-box textarea{width:100%;padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.9rem;resize:vertical;min-height:60px;font-family:inherit}.request-access-box textarea:focus{outline:none;border-color:#6366f1}.request-btn{width:100%;padding:.75rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:.75rem}.request-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #6366f14d}.request-btn:disabled{opacity:.7;cursor:not-allowed}.login-error{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;color:#fca5a5;font-size:.875rem;margin-bottom:1.5rem;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.error-icon{flex-shrink:0}.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1.5rem;background:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:500;color:#1f2937;cursor:pointer;transition:all .2s ease}.google-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px -5px #fff3}.google-btn:disabled{opacity:.7;cursor:not-allowed}.google-icon{width:20px;height:20px}.divider{display:flex;align-items:center;margin:1.5rem 0;color:#fff6;font-size:.875rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.divider span{padding:0 1rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:#fffc}.form-group input{width:100%;padding:.875rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;font-size:1rem;color:#fff;transition:all .2s ease}.form-group input::placeholder{color:#ffffff4d}.form-group input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.form-group input:disabled{opacity:.5;cursor:not-allowed}.submit-btn{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;font-size:1rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px -5px #6366f166}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.btn-loading{display:flex;align-items:center;justify-content:center;gap:.5rem}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{text-align:center;margin-top:1.5rem;color:#fff9;font-size:.875rem}.toggle-btn{background:none;border:none;color:#818cf8;font-weight:500;cursor:pointer;padding:0;margin-left:.25rem;transition:color .2s ease}.toggle-btn:hover:not(:disabled){color:#a5b4fc;text-decoration:underline}.toggle-btn:disabled{opacity:.5;cursor:not-allowed}.back-link{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}.back-link button{background:none;border:none;color:#ffffff80;font-size:.875rem;cursor:pointer;transition:color .2s ease}.back-link button:hover:not(:disabled){color:#fffc}.back-link button:disabled{cursor:not-allowed}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f0f23,#1a1a3e,#0f0f23);color:#ffffffb3;gap:1rem}.loading-spinner{width:40px;height:40px;border:3px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}@media(max-width:480px){.login-container{padding:2rem 1.5rem;border-radius:20px}.login-title{font-size:1.5rem}}.analytics-dashboard{padding:2rem 0}.analytics-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.analytics-header h2{margin:0;margin-bottom:.5rem;color:var(--color-text-primary)}.analytics-controls{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.source-selector{display:flex;align-items:center;gap:.5rem;background:var(--color-bg-card);padding:.5rem 1rem;border-radius:8px;border:1px solid var(--color-border)}.source-selector .label{font-size:.9rem;color:var(--color-text-muted);font-weight:500}.source-selector select{background:transparent;border:none;color:var(--color-text-primary);font-weight:600;cursor:pointer;outline:none;font-family:inherit;font-size:.9rem}.traffic-breakdown{display:flex;gap:1rem;font-size:.75rem;font-weight:500;color:var(--color-text-muted)}.breakdown-item{display:flex;align-items:center;gap:4px}.dot{width:6px;height:6px;border-radius:50%}.dot.cloudflare{background:#f58220}.dot.firebase{background:#ffca28}.overview-cards{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}.overview-card{background:var(--color-bg-card);padding:1rem 1.5rem;border-radius:12px;border:1px solid var(--color-border);display:flex;align-items:center;gap:1rem;flex:1;min-width:200px}.card-icon{font-size:2rem}.card-label{margin:0;font-size:.9rem;color:var(--color-text-muted)}.card-value{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.charts-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:2rem;margin-bottom:2rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1rem}.metric-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000000d}.metric-header{display:flex;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.metric-icon{font-size:1.5rem;margin-right:.75rem}.metric-header h3{margin:0;font-size:1.1rem;flex-grow:1;color:var(--color-text-primary)}.metric-total{background:var(--color-accent-primary);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500}.metric-list{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto}.metric-item{position:relative;display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#00000005;border-radius:6px;z-index:1;overflow:hidden}.metric-name{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80%;z-index:2;color:var(--color-text-secondary)}.metric-value{font-weight:600;font-size:.9rem;z-index:2;color:var(--color-text-primary)}.metric-bar{position:absolute;left:0;top:0;bottom:0;background:var(--color-accent-primary);opacity:.1;z-index:0;transition:width .3s ease}.analytics-loading,.analytics-error{padding:2rem;text-align:center;color:var(--color-text-muted)}.no-data{text-align:center;color:var(--color-text-muted);font-style:italic;padding:1rem}@media(prefers-color-scheme:dark){.recharts-default-tooltip{background-color:#1a1a1a!important;border-color:#333!important;color:#fff!important}}@media(max-width:768px){.analytics-dashboard{padding:1rem 0;max-width:100%;overflow-x:hidden}.analytics-header{flex-direction:column;align-items:stretch;gap:1rem}.analytics-controls{align-items:stretch;width:100%}.source-selector{width:100%;justify-content:space-between}.traffic-breakdown{justify-content:space-between;flex-wrap:wrap}.charts-container{grid-template-columns:1fr;gap:1.5rem;width:100%;max-width:100%}.chart-card{max-width:100%;overflow-x:hidden}.overview-cards{flex-direction:column;gap:.75rem;margin-bottom:1rem}.overview-card{width:100%;padding:.75rem 1rem}.metrics-grid{grid-template-columns:1fr;gap:1rem}.metric-card{padding:1rem;max-width:100%;overflow-x:hidden}.metric-list{max-height:250px;overflow-y:auto;overflow-x:hidden}.metric-item{padding:.4rem;font-size:.85rem}.metric-name{font-size:.85rem;max-width:70%}.metric-value{font-size:.85rem}.metric-header h3{font-size:1rem}.recent-activity-section{overflow-x:auto;max-width:100%;padding:1rem;-webkit-overflow-scrolling:touch}.recent-activity-section h3{font-size:1rem;margin-bottom:.75rem}.recent-activity-section>div{overflow-x:auto;-webkit-overflow-scrolling:touch}.recent-activity-section table{min-width:500px;font-size:.8rem}.recent-activity-section th,.recent-activity-section td{padding:.5rem .4rem;font-size:.8rem}.recent-activity-section th{font-size:.75rem}.recent-activity-section+div button{padding:.4rem .75rem;font-size:.85rem}}.admin-page{display:flex;height:100vh;overflow:hidden;background:var(--color-bg-primary);color:var(--color-text-primary)}.admin-sidebar{width:280px;background:var(--color-bg-card);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:1.5rem;height:100%;overflow-y:auto}.sidebar-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.sidebar-title{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#6366f1,#ec4899);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.sidebar-subtitle{font-size:.875rem;color:var(--color-text-muted)}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;flex:1}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;border:none;background:transparent;color:var(--color-text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.nav-item:hover{background:#6366f11a;color:var(--color-text-primary)}.nav-item.active{background:linear-gradient(135deg,#6366f11a,#8b5cf61a);color:var(--color-accent-primary);border:1px solid rgba(99,102,241,.2)}.nav-icon{font-size:1.25rem}.sidebar-footer{padding-top:1rem;border-top:1px solid var(--color-border)}.back-to-hub{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem;background:transparent;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.back-to-hub:hover{border-color:var(--color-text-primary);color:var(--color-text-primary)}.admin-content{flex:1;padding:2rem;overflow-y:auto;height:100%;position:relative}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;position:sticky;top:0;background:var(--color-bg-primary);z-index:10;padding-bottom:1rem;border-bottom:1px solid transparent;transition:border-color .3s ease}.admin-content:has(.content-header) .content-header{background:rgba(var(--color-bg-primary-rgb),.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.refresh-btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-secondary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000d;padding:0}.refresh-btn:hover:not(:disabled){background:#6366f11a;color:#6366f1;transform:translateY(-2px);box-shadow:0 8px 16px #6366f126;border-color:#6366f14d}.refresh-btn:disabled{opacity:.6;cursor:wait}.refresh-icon{width:20px;height:20px;stroke-width:2}.refresh-btn:hover:not(:disabled) .refresh-icon{transform:rotate(180deg);transition:transform .5s ease}.refresh-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.content-title h2{font-size:1.875rem;margin-bottom:.25rem}.content-title p{color:var(--color-text-muted)}.filters-bar{display:flex;gap:.75rem;margin-bottom:2rem;flex-wrap:wrap}.filter-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:12px;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-secondary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000d}.filter-btn:hover:not(.active){background:#6366f11a;color:#6366f1;transform:translateY(-2px);box-shadow:0 8px 16px #6366f126;border-color:#6366f14d}.filter-btn.active{background:linear-gradient(135deg,#6366f126,#8b5cf626);color:var(--color-accent-primary);border-color:var(--color-accent-primary);box-shadow:0 4px 12px #6366f133}.filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:.75rem;font-weight:700;background:var(--color-accent-primary);color:#fff}.filter-badge.pending{background:#f59e0b}.table-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.admin-table{width:100%;border-collapse:collapse}.admin-table thead{background:#6366f10d;border-bottom:1px solid var(--color-border)}.admin-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.admin-table tbody tr{border-bottom:1px solid var(--color-border);transition:all .2s ease}.admin-table tbody tr:last-child{border-bottom:none}.admin-table tbody tr:hover{background:#6366f108}.admin-table tbody tr.clickable-row{cursor:pointer}.admin-table td{padding:1rem;font-size:.9rem;color:var(--color-text-secondary)}.cell-topic{font-weight:500;color:var(--color-text-primary)}.cell-email{color:var(--color-text-muted);font-size:.85rem}.type-badge{display:inline-block;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase}.type-badge.course_suggestion{background:#6366f11a;color:var(--color-accent-primary);border:1px solid rgba(99,102,241,.3)}.type-badge.correction{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.pending{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.status-badge.reviewed{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.status-badge.approved{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.status-badge.rejected{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.status-badge.implemented{background:#8b5cf61a;color:#8b5cf6;border:1px solid rgba(139,92,246,.3)}.btn-view{padding:.5rem 1rem;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-accent-primary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-view:hover{background:#6366f11a;border-color:var(--color-accent-primary);transform:translateY(-1px)}.empty-filtered-state{padding:3rem 2rem;text-align:center;color:var(--color-text-muted)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--color-bg-card);padding:1.5rem;border-radius:12px;border:1px solid var(--color-border);display:flex;align-items:center;gap:1rem}.stat-icon{width:48px;height:48px;border-radius:12px;background:#6366f11a;color:var(--color-accent-primary);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.stat-info h3{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.25rem}.stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.requests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.request-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;transition:all .3s ease;position:relative;overflow:hidden}.request-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--color-accent-primary)}.request-card.pending:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:#f59e0b}.request-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.request-avatar-placeholder{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600}.request-info h4{font-size:1rem;margin-bottom:.25rem;color:var(--color-text-primary)}.request-email{font-size:.875rem;color:var(--color-text-muted)}.request-details{background:#ffffff08;padding:1rem;border-radius:8px;margin-bottom:1.25rem}.detail-row{margin-bottom:.5rem}.detail-label{font-size:.75rem;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.05em;display:block;margin-bottom:.25rem}.detail-content{font-size:.9rem;color:var(--color-text-secondary)}.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.btn-approve,.btn-deny{padding:.75rem;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-approve{background:#22c55e1a;color:#4ade80}.btn-approve:hover{background:#22c55e33;transform:translateY(-1px)}.btn-deny{background:#ef44441a;color:#f87171}.btn-deny:hover{background:#ef444433;transform:translateY(-1px)}.empty-state{text-align:center;padding:4rem 2rem;background:var(--color-bg-card);border-radius:12px;border:1px dashed var(--color-border)}.empty-icon{font-size:3rem;margin-bottom:1rem;display:block}.empty-state h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--color-text-primary)}.empty-state p{color:var(--color-text-muted)}@media(max-width:768px){.admin-page{flex-direction:column;height:100vh;overflow:hidden;max-width:100vw;overflow-x:hidden}.admin-sidebar{width:100%;height:auto;padding:.75rem 1rem;border-right:none;border-bottom:1px solid var(--color-border);flex-shrink:0;z-index:20}.sidebar-header{display:none}.sidebar-nav{flex-direction:row;overflow-x:auto;padding-bottom:0;gap:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.nav-item{white-space:nowrap;padding:.5rem .75rem;font-size:.9rem;border:1px solid var(--color-border);background:var(--color-bg-subtle)}.nav-item.active{background:#6366f126;border-color:var(--color-accent-primary)}.sidebar-footer{display:none}.admin-content{padding:1rem;flex:1;overflow-y:auto;overflow-x:hidden;max-width:100vw;box-sizing:border-box}.stats-grid{grid-template-columns:1fr;gap:1rem}.requests-grid{grid-template-columns:1fr}.content-header{flex-direction:column;align-items:flex-start;position:static;margin-bottom:1rem;padding-bottom:.5rem;gap:.5rem}.content-header .refresh-btn{align-self:flex-end;margin-top:-3rem;position:absolute;right:0;top:0}.content-title h2{font-size:1.25rem;margin-bottom:.25rem;padding-right:3rem}.content-title p{font-size:.85rem;margin:0}}.settings-content{width:100%}.settings-section{max-width:800px;margin:0 auto}.settings-section-title{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.settings-section-description{color:var(--color-text-secondary);margin-bottom:2rem;line-height:1.6}.settings-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.settings-option{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.settings-option-info{flex:1}.settings-option-label{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.settings-option-icon{font-size:1.5rem}.settings-option-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.settings-option-description{color:var(--color-text-secondary);font-size:.9rem;margin:0}.btn-toggle{padding:.75rem 1.5rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-toggle:hover{opacity:.9;transform:translateY(-1px)}.course-selection-header{display:flex;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.btn-text-small{background:none;border:none;color:var(--color-accent-primary);cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem;transition:opacity .2s ease}.btn-text-small:hover:not(:disabled){opacity:.8}.btn-text-small:disabled{opacity:.4;cursor:not-allowed}.courses-grid-settings{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.course-checkbox-card{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;background:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;position:relative;text-align:center}.course-checkbox-card:hover{border-color:var(--color-accent-primary);background:var(--color-surface-hover)}.course-checkbox-card input[type=checkbox]{position:absolute;top:.75rem;left:.75rem;width:18px;height:18px;cursor:pointer;accent-color:var(--color-accent-primary)}.course-icon-large{font-size:2.5rem}.course-title-settings{font-weight:500;color:var(--color-text-primary);font-size:.95rem}.checkmark-large{position:absolute;top:.75rem;right:.75rem;color:var(--color-accent-primary);font-size:1.25rem;font-weight:700}.settings-actions{display:flex;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--color-border)}.settings-actions .btn{padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.settings-actions .btn-primary{background:var(--gradient-primary);color:#fff}.settings-actions .btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.settings-actions .btn:disabled{opacity:.5;cursor:not-allowed}.alert{padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.9rem}.alert-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}.alert-success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e}.profile-info-grid{display:flex;flex-direction:column;gap:1.5rem}.profile-info-item{display:flex;flex-direction:column;gap:.5rem}.profile-info-label{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.profile-info-value{font-size:1rem;color:var(--color-text-primary);font-weight:500}.profile-id{font-family:monospace;font-size:.85rem;color:var(--color-text-muted)}.suggestions-filter-buttons{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-btn-small{padding:.5rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-btn-small:hover:not(.active){background:#6366f11a;color:var(--color-accent-primary);border-color:#6366f14d}.filter-btn-small.active{background:var(--gradient-primary);color:#fff;border-color:transparent}.suggestions-table-container{overflow-x:auto}.suggestions-table-settings{width:100%;border-collapse:collapse}.suggestions-table-settings thead{background:#6366f10d;border-bottom:1px solid var(--color-border)}.suggestions-table-settings th{padding:.75rem 1rem;text-align:left;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.suggestions-table-settings tbody tr{border-bottom:1px solid var(--color-border);transition:background .2s ease}.suggestions-table-settings tbody tr:last-child{border-bottom:none}.suggestions-table-settings tbody tr:hover{background:#6366f108}.suggestions-table-settings td{padding:1rem;font-size:.9rem;color:var(--color-text-secondary)}.type-badge-small{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.type-badge-small.course_suggestion{background:#6366f11a;color:var(--color-accent-primary)}.type-badge-small.correction{background:#f59e0b1a;color:#f59e0b}.status-badge-small{padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;border:1px solid}@media(max-width:768px){.settings-option{flex-direction:column;align-items:flex-start}.btn-toggle{width:100%;text-align:center}.courses-grid-settings{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.course-icon-large{font-size:2rem}.suggestions-table-settings{font-size:.85rem}.suggestions-table-settings th,.suggestions-table-settings td{padding:.5rem}}@media(max-width:480px){.courses-grid-settings{grid-template-columns:1fr}.suggestions-filter-buttons{gap:.25rem}.filter-btn-small{font-size:.8rem;padding:.4rem .75rem}}.app{min-height:100vh;display:flex;flex-direction:column;padding-top:80px}.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--color-bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) 0;transition:all .3s ease}.header-content{display:flex;justify-content:space-between;align-items:center}.mobile-nav-toggle{display:none;background:transparent;border:none;color:var(--color-text-primary);font-size:1.5rem;cursor:pointer;z-index:1001}.mobile-left-controls{display:none;gap:var(--spacing-xs);align-items:center}.mobile-right-controls{display:none}.mobile-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:var(--color-bg-primary);z-index:999;padding:80px var(--spacing-lg) var(--spacing-lg);transform:translateY(-100%);transition:transform .3s ease-in-out;display:flex;flex-direction:column}.mobile-menu-overlay.open{transform:translateY(0)}.mobile-nav{display:flex;flex-direction:column;gap:var(--spacing-lg);align-items:center}.mobile-nav-link{color:var(--color-text-primary);font-size:1.5rem;font-family:var(--font-display);font-weight:600;text-decoration:none}.logo{display:flex;align-items:center;gap:var(--spacing-xs);font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.logo-icon{font-size:1.5rem;animation:pulse 2s ease-in-out infinite}.logo-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav{display:flex;gap:var(--spacing-lg);align-items:center}.nav-link{color:var(--color-text-secondary);text-decoration:none;font-weight:500;transition:color .3s ease;position:relative}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--gradient-primary);transition:width .3s ease}.nav-link:hover{color:var(--color-text-primary)}.nav-link:hover:after{width:100%}.hero{position:relative;padding:calc(80px + var(--spacing-2xl)) 0 var(--spacing-2xl);min-height:100vh;display:flex;align-items:center;overflow:hidden}.hero-content{max-width:800px;margin:0 auto;text-align:center;position:relative;z-index:2}.hero-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:var(--gradient-card);border:1px solid var(--color-border);border-radius:50px;font-size:.875rem;font-weight:600;color:var(--color-accent-primary);margin-bottom:var(--spacing-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-title{margin-bottom:var(--spacing-md);animation:fadeInUp .8s ease-out}.hero-description{font-size:1.25rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);line-height:1.8;animation:fadeInUp 1s ease-out}.hero-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap;animation:fadeInUp 1.2s ease-out}.btn-icon{display:inline-flex;transition:transform .3s ease}.btn:hover .btn-icon{transform:translate(4px)}.floating-elements{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.floating-element{position:absolute;animation:float 6s ease-in-out infinite}.element-icon{font-size:3rem;opacity:.3;filter:blur(1px)}.courses-section{padding:var(--spacing-sm) 0 var(--spacing-md);position:relative;scroll-margin-top:80px}.section-header{text-align:center;margin-bottom:var(--spacing-sm)}.section-title{margin-bottom:var(--spacing-sm);animation:fadeInUp .6s ease-out}.section-description{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto;animation:fadeInUp .8s ease-out}.courses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-sm)}.course-card{position:relative;cursor:pointer;animation:fadeInUp .6s ease-out backwards;height:100%;display:flex;flex-direction:column}.course-card-inner{position:relative;z-index:2;flex:1;display:flex;flex-direction:column}.course-icon{width:50px;height:50px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-sm);box-shadow:var(--shadow-md);transition:transform .4s ease}.course-card:hover .course-icon{transform:scale(1.1) rotate(5deg)}.icon-emoji{font-size:1.75rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.course-title{font-size:1.25rem;margin-bottom:var(--spacing-xs);color:var(--color-text-primary);position:relative;z-index:2}.course-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);font-size:.9rem;line-height:1.5;position:relative;z-index:2;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.quick-links{display:flex;flex-direction:column;gap:.75rem;margin-top:auto;position:relative;z-index:10}.course-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6rem 1rem;border-radius:var(--radius-md);font-family:var(--font-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none}.course-button.primary{background:var(--course-color, var(--color-accent-primary));color:#fff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.course-button.primary:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.secondary-links{display:flex;gap:.5rem;position:relative;z-index:10}.course-button.secondary{background:#ffffff14;color:var(--color-text-primary);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.course-button.secondary:hover{background:#ffffff26;transform:translateY(-2px);border-color:#ffffff4d}[data-theme=light] .course-button.secondary{background:#0000000a;border-color:#00000014}[data-theme=light] .course-button.secondary:hover{background:#00000014;border-color:var(--color-accent-primary)}.course-button.small{font-size:.8rem;padding:.5rem;flex:1}.button-arrow,.button-icon{display:inline-block;transition:transform .3s ease}.course-button:hover .button-arrow{transform:translate(4px)}.course-gradient{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:var(--radius-lg);transition:opacity .4s ease;pointer-events:none;z-index:1}.resources-section{padding:var(--spacing-2xl) 0;background:var(--color-bg-secondary);position:relative;scroll-margin-top:100px}.resources-grid{display:flex;justify-content:center;margin-top:var(--spacing-xl)}.promo-card{display:flex;background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:var(--radius-lg);overflow:hidden;max-width:900px;width:100%;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.1);transition:transform .3s ease,box-shadow .3s ease}.promo-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.promo-content{padding:var(--spacing-xl);flex:1;display:flex;flex-direction:column;justify-content:center}.promo-badge{display:inline-block;padding:4px 12px;background:#6366f133;color:#818cf8;border-radius:50px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-md);align-self:flex-start}.promo-title{font-size:2rem;font-weight:800;margin-bottom:var(--spacing-sm);background:linear-gradient(to right,#fff,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.promo-description{color:#cbd5e1;font-size:1.125rem;line-height:1.6;margin-bottom:var(--spacing-lg)}.promo-stats{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.stat-item{display:flex;align-items:center;gap:8px;color:#94a3b8;font-weight:500;font-size:.875rem}.promo-button{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#6366f1;color:#fff;text-decoration:none;border-radius:var(--radius-md);font-weight:600;transition:all .3s ease;align-self:flex-start}.promo-button:hover{background:#4f46e5;padding-right:28px}.promo-visual{flex:0 0 40%;background:#1e1b4b;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.visual-icon{font-size:8rem;position:relative;z-index:2;animation:float 6s ease-in-out infinite}.visual-circle{position:absolute;width:300px;height:300px;background:radial-gradient(circle,#6366f14d,#6366f100 70%);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1}.footer{margin-top:auto;padding:var(--spacing-xl) 0 var(--spacing-lg);background:var(--color-bg-secondary);border-top:1px solid var(--color-border)}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.footer-title{font-size:1.125rem;margin-bottom:var(--spacing-xs);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-text{color:var(--color-text-muted);font-size:.875rem}.footer-bottom{padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);text-align:center}.footer-copyright{color:var(--color-text-muted);font-size:.875rem}@media(max-width:768px){.nav{display:none}.mobile-nav-toggle{display:block}.mobile-left-controls,.mobile-right-controls{display:flex}.hero{padding:calc(60px + var(--spacing-xl)) 0 var(--spacing-xl);min-height:auto}.hero-title{font-size:2rem}.hero-description{font-size:1rem}.hero-actions{flex-direction:column;align-items:stretch}.courses-grid{grid-template-columns:1fr}.floating-elements{display:none}.footer-content{grid-template-columns:1fr;text-align:center}.promo-card{flex-direction:column-reverse}.promo-visual{height:200px}.visual-icon{font-size:5rem}.visual-circle{width:200px;height:200px}.promo-content{text-align:center;align-items:center}.promo-badge{align-self:center}.promo-stats{justify-content:center;flex-wrap:wrap}.promo-button{align-self:stretch;justify-content:center}}@media(max-width:480px){.course-icon{width:60px;height:60px}.icon-emoji{font-size:2rem}.course-title{font-size:1.25rem}.courses-grid{grid-template-columns:1fr;margin-top:var(--spacing-lg)}.course-button{flex-wrap:wrap}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out}.modal-content{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0;position:relative;display:flex;flex-direction:column;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideIn .3s cubic-bezier(.16,1,.3,1)}.modal-header{padding:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-bg-secondary);z-index:10}.modal-close-btn{background:transparent;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer;transition:color .2s ease;padding:4px;line-height:1}.modal-close-btn:hover{color:var(--color-text-primary)}.modal-body{padding:var(--spacing-lg)}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--spacing-md);background:var(--color-bg-secondary);position:sticky;bottom:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.exam-schedule-modal{max-width:600px;width:90%}.header-title{display:flex;align-items:center;gap:1rem}.course-title-large{font-size:1.5rem;margin-bottom:.25rem;color:var(--color-text-primary)}.course-code{color:var(--color-text-secondary);font-family:Fira Code,monospace;font-size:.9rem;margin-bottom:1.5rem;padding:2px 6px;background:#ffffff0d;border-radius:4px;display:inline-block}.schedule-grid{display:grid;gap:1.5rem;margin-bottom:2rem}.exam-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;transition:transform .2s ease,box-shadow .2s ease}.exam-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-accent-primary)}.exam-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.exam-header h4{margin:0;color:var(--color-text-primary);font-size:1.1rem}.exam-duration{font-size:.8rem;color:var(--color-text-muted);background:#ffffff0d;padding:2px 8px;border-radius:12px}.exam-details{display:flex;flex-direction:column;gap:.75rem}.date-row{display:flex;justify-content:space-between;align-items:center}.date-row .label{color:var(--color-text-secondary);font-size:.9rem}.date-row .value{color:var(--color-text-primary);font-weight:500;font-family:Fira Code,monospace}.session-badge{align-self:flex-start;background:#6366f11a;color:var(--color-accent-primary);padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:600;margin-top:.5rem}.schedule-legend{background:#ffffff08;border-radius:var(--radius-sm);padding:1rem}.schedule-legend h4{margin:0 0 .75rem;font-size:.9rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.legend-items{display:flex;flex-direction:column;gap:.5rem}.legend-item{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--color-text-secondary)}.legend-item .badge{background:var(--color-bg-secondary);padding:2px 6px;border-radius:4px;font-weight:700;min-width:30px;text-align:center;border:1px solid var(--color-border)}@media(min-width:640px){.schedule-grid{grid-template-columns:1fr 1fr}}.update-notification{position:fixed;bottom:-200px;left:50%;transform:translate(-50%);z-index:9999;transition:bottom .3s cubic-bezier(.4,0,.2,1);max-width:90%;width:400px}.update-notification.show{bottom:20px}.update-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:1.25rem;box-shadow:0 10px 40px #00000026;display:flex;flex-direction:column;gap:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.update-icon{font-size:2rem;text-align:center}.update-text{text-align:center}.update-text h3{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--color-text-primary)}.update-text p{margin:0;font-size:.9rem;color:var(--color-text-secondary);line-height:1.4}.update-actions{display:flex;gap:.75rem;justify-content:center}.update-btn{padding:.65rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;font-family:inherit}.update-btn.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 12px #6366f14d}.update-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6366f166}.update-btn.secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.update-btn.secondary:hover{background:#6366f10d;border-color:var(--color-accent-primary);color:var(--color-text-primary)}@media(max-width:768px){.update-notification{width:calc(100% - 2rem);max-width:none}.update-notification.show{bottom:10px}.update-content{padding:1rem}.update-text h3{font-size:1rem}.update-text p{font-size:.85rem}.update-actions{flex-direction:column}.update-btn{width:100%}}
