.signin-container{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background-color:var(--gray-100)}.signin-form-panel{display:flex;align-items:center;justify-content:center;padding:2rem;background-color:var(--white)}.signin-form-content{width:100%;max-width:400px}.signin-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.logo-image{height:50px;width:50px;object-fit:cover;border-radius:50%}.logo-text{font-size:1.5rem;font-weight:700;color:var(--gray-800)}.signin-tagline{font-size:.875rem;color:var(--gray-500);margin-bottom:2rem}.signin-title{font-size:2rem;font-weight:700;color:var(--gray-900);margin-bottom:.5rem}.signin-subtitle{font-size:1rem;color:var(--gray-500);margin-bottom:1.5rem}.signin-error{background-color:#fef2f2;border:1px solid #FECACA;color:var(--error-red);padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.875rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.oauth-buttons{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.875rem 1.25rem;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;transition:all var(--transition-fast);border:1px solid var(--gray-200);background-color:var(--white);color:var(--gray-700)}.oauth-btn:hover:not(:disabled){background-color:var(--gray-50);border-color:var(--gray-300);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.oauth-btn:disabled{opacity:.6;cursor:not-allowed}.oauth-icon{width:20px;height:20px;flex-shrink:0}.signin-divider{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.signin-divider:before,.signin-divider:after{content:"";flex:1;height:1px;background-color:var(--gray-200)}.signin-divider span{font-size:.875rem;color:var(--gray-400)}.signin-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:var(--gray-700)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--gray-400);pointer-events:none;z-index:2}.input-wrapper input{width:100%;padding:.875rem 1rem;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.9375rem;color:var(--gray-800);background-color:var(--gray-50);transition:all var(--transition-fast)}.input-wrapper input::placeholder{color:var(--gray-400)}.input-wrapper input:focus{outline:none;border-color:var(--primary-purple);background-color:var(--white);box-shadow:0 0 0 3px #7c3aed1a}.input-wrapper input:disabled{opacity:.6;cursor:not-allowed}.password-toggle{position:absolute;right:1rem;display:flex;align-items:center;justify-content:center;padding:.25rem;color:var(--gray-400);transition:color var(--transition-fast)}.password-toggle:hover{color:var(--gray-600)}.password-toggle svg{width:18px;height:18px}.form-options{display:flex;align-items:center;justify-content:space-between}.checkbox-wrapper{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--gray-600);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-wrapper input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{width:18px;height:18px;border:2px solid var(--gray-300);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.checkbox-wrapper input:checked~.checkmark{background-color:var(--primary-purple);border-color:var(--primary-purple)}.checkbox-wrapper input:checked~.checkmark:after{content:"";width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-wrapper:hover .checkmark{border-color:var(--primary-purple-light)}.forgot-password-link{font-size:.875rem;color:var(--primary-purple);font-weight:500;transition:color var(--transition-fast)}.forgot-password-link:hover{color:var(--primary-purple-dark)}.signin-btn{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--primary-purple) 0%,var(--primary-purple-light) 100%);color:var(--white);font-size:1rem;font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-fast);box-shadow:0 4px 14px #7c3aed4d}.signin-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed66}.signin-btn:active:not(:disabled){transform:translateY(0)}.signin-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.signup-prompt{text-align:center;margin-top:1.5rem;font-size:.9375rem;color:var(--gray-600)}.signup-link{color:var(--primary-purple);font-weight:600;transition:color var(--transition-fast)}.signup-link:hover{color:var(--primary-purple-dark);text-decoration:underline}.signin-features-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(145deg,#e8e0fb,#f5e6fa,#e0d4fc);overflow:hidden}.features-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2rem;max-width:420px}.decorative-circle{position:absolute;border-radius:50%;opacity:.5}.circle-1{width:200px;height:200px;background:linear-gradient(135deg,#a78bfa66,#c4b5fd33);top:5%;right:10%;animation:float 8s ease-in-out infinite}.circle-2{width:150px;height:150px;background:linear-gradient(135deg,#fbcfe866,#f472b633);bottom:20%;left:5%;animation:float 10s ease-in-out infinite reverse}.circle-3{width:80px;height:80px;background:linear-gradient(135deg,#c4b5fd80,#a78bfa4d);bottom:40%;right:15%;animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}.mascot-container{width:280px;height:280px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 20px 40px rgba(0,0,0,.15));animation:mascotBounce 4s ease-in-out infinite}.mascot-image{width:100%;height:100%;object-fit:contain}@keyframes mascotBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.feature-cards{display:flex;flex-direction:column;gap:.875rem;width:100%}.feature-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);box-shadow:0 4px 15px #0000000d;transition:all var(--transition-fast)}.feature-card:hover{transform:translate(5px);box-shadow:0 6px 20px #00000014}.feature-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.feature-icon svg{width:22px;height:22px;color:#fff}.ai-icon{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.progress-icon{background:linear-gradient(135deg,#ec4899,#f472b6)}.goals-icon{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.feature-text h3{font-size:.9375rem;font-weight:600;color:var(--gray-800);margin-bottom:.125rem}.feature-text p{font-size:.8125rem;color:var(--gray-500)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.modal-content{background-color:var(--white);border-radius:var(--radius-xl);padding:2rem;width:100%;max-width:400px;position:relative;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--gray-400);transition:all var(--transition-fast)}.modal-close:hover{background-color:var(--gray-100);color:var(--gray-600)}.modal-close svg{width:20px;height:20px}.modal-content h2{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin-bottom:.5rem}.modal-content>p{font-size:.9375rem;color:var(--gray-500);margin-bottom:1.5rem}.modal-content form{display:flex;flex-direction:column;gap:1.25rem}.modal-success{text-align:center}.success-icon{width:64px;height:64px;margin:0 auto 1rem;background:linear-gradient(135deg,var(--success-green) 0%,#34D399 100%);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.success-icon svg{width:32px;height:32px;color:#fff}.modal-success h2{margin-bottom:.5rem}.modal-success p{color:var(--gray-600);margin-bottom:1.5rem}@media(max-width:1024px){.signin-container{grid-template-columns:1fr}.signin-features-panel{display:none}.signin-form-panel{padding:3rem 1.5rem}}@media(max-width:480px){.signin-form-content{max-width:100%}.signin-title{font-size:1.75rem}.form-options{flex-direction:column;align-items:flex-start;gap:.75rem}.forgot-password-link{align-self:flex-end}}[data-theme=dark] .signin-container{background-color:#0f1117}[data-theme=dark] .signin-form-panel{background:#0f1117}[data-theme=dark] .signin-title{color:#f1f5f9}[data-theme=dark] .signin-subtitle{color:#94a3b8}[data-theme=dark] .logo-text{color:#f1f5f9}[data-theme=dark] .error-message-box{background-color:#ef44441a;border-color:#ef44444d}[data-theme=dark] .oauth-btn{background:#1a1f2e;border-color:#2d3348;color:#e2e8f0}[data-theme=dark] .oauth-btn:hover{background:#252b3d;border-color:#475569}[data-theme=dark] .divider span{color:#64748b;background:#0f1117}[data-theme=dark] .input-wrapper input{background:#1a1f2e;border-color:#2d3348;color:#e2e8f0}[data-theme=dark] .input-wrapper input:focus{background:#141824;border-color:var(--primary-purple)}[data-theme=dark] .input-wrapper input::placeholder{color:#475569}[data-theme=dark] .input-icon{color:#475569}[data-theme=dark] .password-toggle{color:#64748b}[data-theme=dark] .password-toggle:hover,[data-theme=dark] .checkbox-wrapper{color:#94a3b8}[data-theme=dark] .custom-checkbox{border-color:#475569;background:#141824}[data-theme=dark] .signup-prompt{color:#94a3b8}[data-theme=dark] .signin-features-panel{background:linear-gradient(145deg,#1a1329,#201530,#1a1329)}[data-theme=dark] .feature-card{background:#1e293bcc;border-color:#2d3348}[data-theme=dark] .feature-text h3{color:#f1f5f9}[data-theme=dark] .feature-text p{color:#94a3b8}[data-theme=dark] .modal-card{background:#1a1f2e}[data-theme=dark] .modal-close{background-color:#141824;color:#94a3b8}[data-theme=dark] .modal-close:hover{background-color:#334155}[data-theme=dark] .modal-content h2{color:#f1f5f9}[data-theme=dark] .modal-content>p{color:#94a3b8}.signup-container{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background-color:var(--gray-100)}.signup-branding-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:2rem;background-color:var(--white);overflow:hidden}.branding-content{position:relative;z-index:1;max-width:400px}.signup-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.signup-logo .logo-image{height:50px;width:50px;object-fit:cover;border-radius:50%}.signup-logo .logo-text{font-size:1.5rem;font-weight:700;color:var(--primary-purple)}.signup-tagline{font-size:.875rem;color:var(--gray-500);margin-bottom:2rem}.signup-title{font-size:2rem;font-weight:700;color:var(--gray-900);margin-bottom:.5rem}.signup-subtitle{font-size:1rem;color:var(--gray-500);margin-bottom:1.5rem}.signup-branding-panel .oauth-buttons{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.signup-branding-panel .oauth-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.875rem 1.25rem;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;transition:all var(--transition-fast);border:1px solid var(--gray-200);background-color:var(--white);color:var(--gray-700)}.signup-branding-panel .oauth-btn:hover:not(:disabled){background-color:var(--gray-50);border-color:var(--gray-300);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.signup-branding-panel .oauth-btn:disabled{opacity:.6;cursor:not-allowed}.signup-branding-panel .oauth-icon{width:20px;height:20px;flex-shrink:0}.brain-container{width:280px;height:200px;margin:0 auto;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);overflow:hidden;animation:brainFloat 4s ease-in-out infinite}.brain-image{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg);filter:drop-shadow(0 0 20px rgba(59,130,246,.5));animation:brainGlow 3s ease-in-out infinite alternate}@keyframes brainFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes brainGlow{0%{filter:drop-shadow(0 0 15px rgba(59,130,246,.4))}to{filter:drop-shadow(0 0 30px rgba(139,92,246,.6))}}.signup-branding-panel .decorative-circle{position:absolute;border-radius:50%;opacity:.5}.signup-branding-panel .circle-1{width:150px;height:150px;background:linear-gradient(135deg,#a78bfa4d,#c4b5fd33);top:-50px;left:-50px;animation:float 8s ease-in-out infinite}.signup-branding-panel .circle-2{width:100px;height:100px;background:linear-gradient(135deg,#fbcfe866,#f472b633);bottom:10%;right:10%;animation:float 10s ease-in-out infinite reverse}.signup-form-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(145deg,#f5f3ff,#fdf4ff,#ede9fe);overflow:hidden}.signup-form-content{position:relative;z-index:1;width:100%;max-width:420px}.form-decorative-circle{position:absolute;top:-80px;right:-80px;width:200px;height:200px;background:linear-gradient(135deg,#c084fc4d,#8b5cf626);border-radius:50%;z-index:0}.signup-error{background-color:#fef2f2;border:1px solid #FECACA;color:var(--error-red);padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.875rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.signup-message{padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.875rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;line-height:1.5}.signup-message.info{background-color:#eff6ff;border:1px solid #BFDBFE;color:#1d4ed8}.signup-message.success{background-color:#f0fdf4;border:1px solid #BBF7D0;color:#15803d}.signup-form{display:flex;flex-direction:column;gap:1rem}.signup-form .form-group{display:flex;flex-direction:column;gap:.375rem}.signup-form .form-group label{font-size:.8125rem;font-weight:500;color:var(--gray-700)}.input-with-button{display:flex;gap:.5rem}.input-with-button .input-wrapper{flex:1}.otp-btn{padding:.75rem 1rem;background:linear-gradient(135deg,var(--primary-purple) 0%,var(--primary-purple-light) 100%);color:var(--white);font-size:.8125rem;font-weight:600;border-radius:var(--radius-md);white-space:nowrap;transition:all var(--transition-fast)}.otp-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.otp-btn:disabled{opacity:.7;cursor:not-allowed}.otp-btn.verified{background:linear-gradient(135deg,#22c55e,#16a34a);cursor:default}.signup-form .input-wrapper{position:relative;display:flex;align-items:center}.signup-form .input-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--gray-400);pointer-events:none;z-index:2}.signup-form .input-wrapper input{width:100%;padding:.75rem .875rem .75rem 2.75rem;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.875rem;color:var(--gray-800);background-color:var(--white);transition:all var(--transition-fast)}.signup-form .input-wrapper input.otp-input{padding-left:.875rem;letter-spacing:.25rem;text-align:center}.signup-form .input-wrapper input::placeholder{color:var(--gray-400)}.signup-form .input-wrapper input:focus{outline:none;border-color:var(--primary-purple);box-shadow:0 0 0 3px #7c3aed1a}.signup-form .input-wrapper input:disabled{opacity:.6;cursor:not-allowed;background-color:var(--gray-50)}.verify-otp-btn{position:absolute;right:.5rem;padding:.25rem .5rem;background-color:var(--primary-purple);color:#fff;font-size:.75rem;font-weight:500;border-radius:4px}.otp-verified{position:absolute;right:.75rem;color:var(--success-green);font-size:1.25rem;font-weight:700}.signup-form .password-toggle{position:absolute;right:.875rem;display:flex;align-items:center;justify-content:center;padding:.25rem;color:var(--gray-400);transition:color var(--transition-fast)}.signup-form .password-toggle:hover{color:var(--gray-600)}.signup-form .password-toggle svg{width:16px;height:16px}.field-error{font-size:.75rem;color:var(--error-red)}.signup-form .checkbox-wrapper{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--gray-600);cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:.25rem}.signup-form .checkbox-wrapper input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.signup-form .checkmark{width:16px;height:16px;border:2px solid var(--gray-300);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.signup-form .checkbox-wrapper input:checked~.checkmark{background-color:var(--primary-purple);border-color:var(--primary-purple)}.signup-form .checkbox-wrapper input:checked~.checkmark:after{content:"";width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.signup-btn{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--primary-purple) 0%,var(--primary-purple-light) 100%);color:var(--white);font-size:1rem;font-weight:600;border-radius:var(--radius-xl);transition:all var(--transition-fast);box-shadow:0 4px 14px #7c3aed4d;margin-top:.5rem}.signup-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed66}.signup-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.signin-prompt-container{position:relative;margin-top:1.5rem;text-align:center}.signin-prompt-decoration{position:absolute;top:-1rem;left:50%;transform:translate(-50%);width:100px;height:60px;background:linear-gradient(135deg,#c4b5fd4d,#a78bfa26);border-radius:50px 50px 0 0;z-index:0}.signin-prompt{position:relative;z-index:1;padding-top:1rem;font-size:.875rem;color:var(--gray-600)}.signin-link{color:var(--primary-purple);font-weight:600;transition:color var(--transition-fast)}.signin-link:hover{color:var(--primary-purple-dark);text-decoration:underline}@media(max-width:1024px){.signup-container{grid-template-columns:1fr}.signup-branding-panel{display:none}.signup-form-panel{padding:2rem 1.5rem}}@media(max-width:480px){.signup-form-content{max-width:100%}.input-with-button{flex-direction:column}.otp-btn{width:100%}}@keyframes float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.03)}}[data-theme=dark] .signup-container{background-color:#0f1117}[data-theme=dark] .signup-branding-panel{background:linear-gradient(145deg,#0f1117,#141824)}[data-theme=dark] .signup-title{color:#f1f5f9}[data-theme=dark] .signup-subtitle{color:#94a3b8}[data-theme=dark] .signup-branding-panel .oauth-btn{background:#1a1f2e;border-color:#2d3348;color:#e2e8f0}[data-theme=dark] .signup-branding-panel .oauth-btn:hover{background:#252b3d;border-color:#475569}[data-theme=dark] .signup-form-panel{background:linear-gradient(145deg,#141824,#1a1f2e,#141824)}[data-theme=dark] .signup-form-panel .form-title{color:#f1f5f9}[data-theme=dark] .signup-form .form-group label{color:#e2e8f0}[data-theme=dark] .signup-form .input-wrapper input{background:#141824;border-color:#2d3348;color:#e2e8f0}[data-theme=dark] .signup-form .input-wrapper input:focus{background:#0f1117;border-color:var(--primary-purple)}[data-theme=dark] .signup-form .input-wrapper input::placeholder{color:#475569}[data-theme=dark] .signup-form .input-icon{color:#475569}[data-theme=dark] .signup-form .password-toggle{color:#64748b}[data-theme=dark] .signup-form .checkbox-wrapper{color:#94a3b8}[data-theme=dark] .signup-form .custom-checkbox{border-color:#475569;background:#141824}[data-theme=dark] .field-error{color:#f87171}[data-theme=dark] .signin-prompt{color:#94a3b8}[data-theme=dark] .divider span{color:#64748b;background:#141824}[data-theme=dark] .divider:before,[data-theme=dark] .divider:after{background:#2d3348}.logout-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1300;animation:logoutFadeIn .2s ease}.logout-confirm-modal{width:min(420px,90vw);background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:24px;box-shadow:0 20px 50px #0000002e;animation:logoutScaleIn .22s ease;text-align:center}.logout-confirm-icon{width:52px;height:52px;margin:0 auto 12px;border-radius:14px;background:#fff1f2;color:#dc2626;display:flex;align-items:center;justify-content:center}.logout-confirm-icon svg{width:24px;height:24px}.logout-confirm-modal h3{margin:0 0 8px;font-size:1.1rem;color:#111827}.logout-confirm-modal p{margin:0;color:#6b7280;font-size:.92rem;line-height:1.5}.logout-confirm-actions{margin-top:20px;display:flex;gap:10px;justify-content:center}.logout-cancel-btn,.logout-confirm-btn{min-width:120px;height:40px;border-radius:10px;border:1px solid transparent;font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease}.logout-cancel-btn{background:#f9fafb;border-color:#e5e7eb;color:#374151}.logout-cancel-btn:hover{background:#f3f4f6}.logout-confirm-btn{background:#dc2626;color:#fff}.logout-confirm-btn:hover{background:#b91c1c}@keyframes logoutFadeIn{0%{opacity:0}to{opacity:1}}@keyframes logoutScaleIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}[data-theme=dark] .logout-confirm-modal{background:#111827;border-color:#1f2937}[data-theme=dark] .logout-confirm-modal h3{color:#f3f4f6}[data-theme=dark] .logout-confirm-modal p{color:#9ca3af}[data-theme=dark] .logout-cancel-btn{background:#1f2937;border-color:#374151;color:#d1d5db}[data-theme=dark] .logout-cancel-btn:hover{background:#273244}.sidebar{width:70px;background-color:var(--white);display:flex;flex-direction:column;align-items:center;padding:1rem 0;border-right:1px solid var(--gray-200);position:fixed;height:100vh;z-index:100;top:0;left:0}.sidebar-logo{margin-bottom:2rem}.sidebar-logo-img{width:40px;height:40px;border-radius:50%;object-fit:cover}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;flex:1;width:100%;align-items:center}.nav-item{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--gray-400);transition:all var(--transition-fast);border:none;background:none;cursor:pointer}.nav-item:hover{background-color:var(--gray-100);color:var(--gray-600)}.nav-item.active{background-color:var(--primary-purple);color:#fff}.nav-item svg{width:22px;height:22px}.sidebar-bottom{margin-top:auto;margin-bottom:1rem;display:flex;flex-direction:column;align-items:center;gap:.6rem}.user-avatar-btn{width:44px;height:44px;background:linear-gradient(135deg,var(--primary-purple) 0%,var(--primary-purple-light) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem;border:none;cursor:pointer;overflow:hidden;transition:all .2s ease;padding:0}.user-avatar-btn:hover{transform:scale(1.08);box-shadow:0 0 0 3px #6366f140}.user-avatar-btn.active{box-shadow:0 0 0 3px var(--primary-purple)}.user-avatar-photo{width:100%;height:100%;object-fit:cover}.user-avatar-initial{font-size:1rem;font-weight:600}.logout-btn{width:40px;height:40px;border-radius:10px;border:none;background:none;color:#ef4444;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.logout-btn svg{width:20px;height:20px}.logout-btn:hover{background-color:#fee2e2}@media(max-width:600px){.sidebar{width:100%;height:60px;flex-direction:row;top:auto;bottom:0;padding:0;border-right:none;border-top:1px solid var(--gray-200);justify-content:space-around;background-color:var(--white)}.sidebar-logo,.sidebar-bottom{display:none}.sidebar-nav{flex-direction:row;width:100%;height:100%;justify-content:space-around;gap:0;padding:0 .5rem}.nav-item{width:50px;height:100%;border-radius:0}.nav-item.active{background-color:transparent;color:var(--primary-purple);border-bottom:3px solid var(--primary-purple)}}[data-theme=dark] .sidebar{background-color:#0f1117;border-right-color:#1e293b}[data-theme=dark] .nav-item{color:#64748b}[data-theme=dark] .nav-item:hover{background-color:#1e293b;color:#e2e8f0}[data-theme=dark] .nav-item.active{background-color:var(--primary-purple);color:#fff}[data-theme=dark] .user-avatar-btn{box-shadow:0 0 0 2px #1e293b}[data-theme=dark] .logout-btn{color:#f87171}[data-theme=dark] .logout-btn:hover{background-color:#3f1d1d}@media(max-width:600px){[data-theme=dark] .sidebar{background-color:#0f1117;border-top-color:#1e293b}}.dashboard-container{display:flex;min-height:100vh;background-color:var(--gray-100)}.main-content{flex:1;margin-left:70px;padding:1.5rem 2rem;overflow-y:auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.header-left h1{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin-bottom:.25rem}.header-left p{font-size:.875rem;color:var(--gray-500)}.header-right{display:flex;align-items:center;gap:.75rem}.notification-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--white);border:1px solid var(--gray-200);color:var(--gray-500);transition:all var(--transition-fast)}.notification-btn:hover{background-color:var(--gray-50);color:var(--gray-700)}.notification-btn svg{width:20px;height:20px}.ai-assistant-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:linear-gradient(135deg,var(--primary-purple) 0%,var(--primary-purple-light) 100%);color:#fff;font-size:.875rem;font-weight:500;border-radius:var(--radius-full);transition:all var(--transition-fast)}.ai-assistant-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.ai-assistant-btn svg{width:18px;height:18px}.stats-section{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--white);border-radius:var(--radius-lg);padding:1rem;display:flex;align-items:center;gap:.875rem;border:1px solid var(--gray-100);transition:all var(--transition-fast)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-ring{position:relative;width:48px;height:48px;flex-shrink:0}.stat-ring svg{width:100%;height:100%;transform:rotate(0)}.stat-ring svg circle:last-child{transition:stroke-dasharray .6s ease}.ring-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1rem}.stat-content{display:flex;flex-direction:column;min-width:0}.stat-value{font-size:1.5rem;font-weight:700;color:var(--gray-900);line-height:1.2}.stat-value small{font-size:.75rem;font-weight:500;color:var(--gray-500);margin-left:2px}.stat-label{font-size:.75rem;color:var(--gray-500);font-weight:500}.stat-badge{position:absolute;top:.75rem;right:.75rem;padding:.25rem .5rem;border-radius:var(--radius-full);font-size:.625rem;font-weight:600}.stat-badge.green{background-color:#d1fae5;color:#059669}.stat-badge.blue{background-color:#dbeafe;color:#2563eb}.stat-badge.gray{background-color:var(--gray-100);color:var(--gray-600)}.stat-badge.purple{background-color:#ede9fe;color:var(--primary-purple)}.middle-section{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.tasks-panel,.progress-panel,.sessions-panel,.achievements-panel{background-color:var(--white);border-radius:var(--radius-lg);padding:1rem;border:1px solid var(--gray-100);max-height:280px;overflow-y:auto}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--gray-100)}.panel-header h2{font-size:.875rem;font-weight:600;color:var(--gray-900)}.view-all-btn{font-size:.75rem;color:var(--primary-purple);font-weight:500}.tasks-list{display:flex;flex-direction:column;gap:.5rem}.task-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;border-radius:var(--radius-sm);background-color:var(--gray-50);transition:all var(--transition-fast)}.task-item:hover{background-color:var(--gray-100)}.task-checkbox{width:16px;height:16px;border:2px solid var(--gray-300);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.task-checkbox svg{width:10px;height:10px;color:var(--primary-purple)}.task-checkbox svg{width:14px;height:14px;color:var(--primary-purple)}.task-item:first-child .task-checkbox{background-color:var(--primary-purple);border-color:var(--primary-purple)}.task-item:first-child .task-checkbox svg{color:#fff}.task-info{flex:1;display:flex;flex-direction:column;min-width:0}.task-title{font-size:.8125rem;font-weight:500;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-meta{font-size:.6875rem;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-status{padding:.1875rem .5rem;border-radius:var(--radius-full);font-size:.5625rem;font-weight:600;white-space:nowrap}.status-completed{background-color:#d1fae5;color:#059669}.status-progress{background-color:#dbeafe;color:#2563eb}.status-pending{background-color:var(--gray-100);color:var(--gray-500)}.progress-panel h2{font-size:.875rem;font-weight:600;color:var(--gray-900);margin-bottom:.75rem}.progress-overall{display:flex;justify-content:space-between;margin-bottom:.625rem;font-size:.75rem;color:var(--gray-600)}.progress-percent{font-weight:600;color:var(--primary-purple)}.progress-bars{display:flex;flex-direction:column;gap:.375rem}.progress-day{display:flex;align-items:center;gap:.5rem}.day-label{width:24px;font-size:.6875rem;color:var(--gray-500)}.progress-bar-container{flex:1;height:6px;background-color:var(--gray-100);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary-purple) 0%,var(--primary-purple-light) 100%);border-radius:var(--radius-full);transition:width .5s ease}.hours-label{width:24px;font-size:.6875rem;color:var(--gray-600);text-align:right}.weekly-goal{display:flex;justify-content:space-between;margin-top:.625rem;padding-top:.625rem;border-top:1px solid var(--gray-100);font-size:.75rem}.weekly-goal span:first-child{color:var(--gray-500)}.goal-value{font-weight:700;color:var(--primary-purple)}.shortcuts-section{margin-bottom:1.5rem}.shortcuts-section h2{font-size:1rem;font-weight:600;color:var(--gray-900);margin-bottom:1rem}.shortcuts-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.shortcut-card{padding:1.25rem;border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;color:#fff;transition:all var(--transition-fast)}.shortcut-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.shortcut-card.purple{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.shortcut-card.blue{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.shortcut-card.green{background:linear-gradient(135deg,#10b981,#34d399)}.shortcut-card.pink{background:linear-gradient(135deg,#ec4899,#f472b6)}.shortcut-card.yellow{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.shortcut-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center}.shortcut-icon svg{width:24px;height:24px}.shortcut-title{font-size:.875rem;font-weight:600}.shortcut-subtitle{font-size:.6875rem;opacity:.85}.bottom-section{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.sessions-list{display:flex;flex-direction:column;gap:.5rem}.session-item{display:flex;align-items:center;gap:.625rem;padding:.375rem;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.session-item:hover{background-color:var(--gray-50)}.session-date{width:40px;height:44px;border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.session-date.blue{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.session-date.green{background:linear-gradient(135deg,#10b981,#34d399)}.session-date.orange{background:linear-gradient(135deg,#f97316,#fb923c)}.session-date.purple{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.session-date.pink{background:linear-gradient(135deg,#ec4899,#f472b6)}.session-day{font-size:.5rem;font-weight:600;text-transform:uppercase}.session-date-num{font-size:1rem;font-weight:700}.session-info{flex:1;display:flex;flex-direction:column;min-width:0}.session-title{font-size:.8125rem;font-weight:500;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-time{font-size:.6875rem;color:var(--gray-500)}.session-arrow{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--gray-400)}.session-arrow svg{width:14px;height:14px}.achievements-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.75rem}.achievement-card{padding:.625rem;border-radius:var(--radius-sm);background-color:var(--gray-50);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.125rem;transition:all var(--transition-fast)}.achievement-card:hover{background-color:var(--gray-100);transform:scale(1.02)}.achievement-icon{font-size:1.125rem;margin-bottom:.125rem}.achievement-title{font-size:.6875rem;font-weight:600;color:var(--gray-800)}.achievement-subtitle{font-size:.5625rem;color:var(--gray-500)}.next-achievement{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;background:linear-gradient(135deg,var(--primary-purple) 0%,var(--primary-purple-light) 100%);border-radius:var(--radius-sm);color:#fff}.next-achievement-info span{font-size:.625rem;opacity:.85}.next-achievement-info strong{display:block;font-size:.75rem;font-weight:600}.next-achievement-progress{text-align:right}.progress-text{font-size:.9375rem;font-weight:700}.progress-subtext{display:block;font-size:.5625rem;opacity:.85}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem .75rem;text-align:center}.empty-icon{font-size:2rem;margin-bottom:.5rem;opacity:.7}.empty-state h3{font-size:.8125rem;font-weight:600;color:var(--gray-700);margin-bottom:.25rem}.empty-state p{font-size:.6875rem;color:var(--gray-500);margin-bottom:.75rem}.setup-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:linear-gradient(135deg,var(--primary-purple) 0%,var(--primary-purple-light) 100%);color:#fff;font-size:.75rem;font-weight:500;border-radius:var(--radius-full);transition:all var(--transition-fast)}.setup-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed4d}@media(max-width:1200px){.stats-section{grid-template-columns:repeat(2,1fr)}.shortcuts-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.middle-section,.bottom-section{grid-template-columns:1fr}.shortcuts-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.main-content{margin-left:0;padding:1rem;padding-bottom:80px}.stats-section,.shortcuts-grid,.achievements-grid{grid-template-columns:1fr}}[data-theme=dark] .dashboard-container{background-color:#0f1117}[data-theme=dark] .main-content{background:#0f1117}[data-theme=dark] .header-left h1{color:#f1f5f9}[data-theme=dark] .header-left p{color:#94a3b8}[data-theme=dark] .notification-btn{background-color:#1a1f2e;border-color:#2d3348;color:#94a3b8}[data-theme=dark] .notification-btn:hover{background-color:#1e293b;color:#e2e8f0}[data-theme=dark] .stat-card:hover{box-shadow:0 4px 16px #0006;border-color:#3d4560}[data-theme=dark] .stat-value{color:#f1f5f9}[data-theme=dark] .stat-value small,[data-theme=dark] .stat-label{color:#94a3b8}[data-theme=dark] .stat-ring svg circle:first-child{stroke:#2d3348}[data-theme=dark] .stat-badge.green{background-color:#10b98126;color:#34d399}[data-theme=dark] .stat-badge.blue{background-color:#3b82f626;color:#60a5fa}[data-theme=dark] .stat-badge.gray{background-color:#1e293b;color:#94a3b8}[data-theme=dark] .stat-badge.purple{background-color:#7c3aed26;color:#a78bfa}[data-theme=dark] .tasks-panel,[data-theme=dark] .progress-panel,[data-theme=dark] .sessions-panel,[data-theme=dark] .achievements-panel{background-color:#1a1f2e;border-color:#2d3348}[data-theme=dark] .panel-header{border-bottom-color:#2d3348}[data-theme=dark] .panel-header h2{color:#f1f5f9}[data-theme=dark] .task-item{background-color:#141824}[data-theme=dark] .task-item:hover{background-color:#1e293b}[data-theme=dark] .task-title{color:#e2e8f0}[data-theme=dark] .task-meta{color:#64748b}[data-theme=dark] .task-checkbox{border-color:#475569}[data-theme=dark] .status-completed{background-color:#10b98126;color:#34d399}[data-theme=dark] .status-progress{background-color:#3b82f626;color:#60a5fa}[data-theme=dark] .status-pending{background-color:#1e293b;color:#94a3b8}[data-theme=dark] .progress-panel h2{color:#f1f5f9}[data-theme=dark] .progress-overall,[data-theme=dark] .day-label{color:#94a3b8}[data-theme=dark] .progress-bar-container{background-color:#1e293b}[data-theme=dark] .hours-label{color:#94a3b8}[data-theme=dark] .weekly-goal{border-top-color:#2d3348}[data-theme=dark] .weekly-goal span:first-child{color:#94a3b8}[data-theme=dark] .shortcuts-section h2{color:#f1f5f9}[data-theme=dark] .shortcut-card:hover{box-shadow:0 8px 24px #0006}[data-theme=dark] .session-item:hover{background-color:#1e293b}[data-theme=dark] .session-title{color:#e2e8f0}[data-theme=dark] .session-time{color:#64748b}[data-theme=dark] .session-arrow{color:#475569}[data-theme=dark] .achievement-card{background-color:#141824}[data-theme=dark] .achievement-card:hover{background-color:#1e293b}[data-theme=dark] .achievement-title{color:#e2e8f0}[data-theme=dark] .achievement-subtitle{color:#64748b}[data-theme=dark] .empty-state h3{color:#e2e8f0}[data-theme=dark] .empty-state p{color:#64748b}.scheduling-container{display:flex;min-height:100vh;background-color:var(--gray-100)}.scheduling-main{flex:1;margin-left:70px;padding:0;overflow-y:auto}.scheduling-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--white);border-bottom:1px solid var(--gray-100)}.header-logo{display:flex;align-items:center;gap:.5rem}.header-logo img{width:32px;height:32px;border-radius:50%}.header-logo span{font-size:1.25rem;font-weight:700;color:var(--gray-900)}.header-nav{display:flex;align-items:center;gap:1.5rem}.header-nav a{font-size:.875rem;color:var(--gray-600);transition:color var(--transition-fast)}.header-nav a:hover{color:var(--primary-purple)}.plan-history-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;font-size:.875rem;font-weight:500;border-radius:var(--radius-full);transition:all var(--transition-fast)}.plan-history-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.plan-history-btn svg{width:16px;height:16px}.hero-section{text-align:center;padding:2.5rem 2rem 1.5rem;background-color:var(--white)}.ai-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#ede9fe;color:var(--primary-purple);font-size:.8125rem;font-weight:500;border-radius:var(--radius-full);margin-bottom:1rem}.ai-badge svg{width:16px;height:16px}.hero-section h1{font-size:2rem;font-weight:700;color:var(--gray-900);margin-bottom:.5rem}.hero-section p{font-size:.9375rem;color:var(--gray-500);max-width:500px;margin:0 auto}.step-indicator{display:flex;align-items:center;justify-content:center;gap:0;padding:2rem;background-color:var(--white)}.step{display:flex;flex-direction:column;align-items:center;gap:.5rem}.step-number{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9375rem;background-color:var(--gray-100);color:var(--gray-400);border:2px solid var(--gray-200);transition:all var(--transition-fast)}.step.active .step-number{background-color:var(--primary-purple);color:#fff;border-color:var(--primary-purple)}.step.completed .step-number{background-color:#10b981;color:#fff;border-color:#10b981}.step span{font-size:.8125rem;color:var(--gray-400);font-weight:500}.step.active span,.step.completed span{color:var(--gray-700)}.step-line{width:80px;height:2px;background-color:var(--gray-200);margin:0 .5rem 1.5rem}.content-area{display:grid;grid-template-columns:1fr 350px;gap:1.5rem;padding:1.5rem 2rem 2rem;max-width:1200px;margin:0 auto}.form-panel{background-color:var(--white);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--gray-100)}.step-content h2{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.8125rem;font-weight:600;color:var(--gray-700);margin-bottom:.5rem}.form-group input[type=text],.form-group input[type=date],.form-group select{width:100%;padding:.75rem 1rem;font-size:.9375rem;border:1px solid var(--gray-200);border-radius:var(--radius-md);background-color:var(--white);color:var(--gray-800);transition:all var(--transition-fast)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-purple);box-shadow:0 0 0 3px #7c3aed1a}.autocomplete-wrapper{position:relative}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background-color:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;max-height:250px;overflow-y:auto;margin-top:4px}.suggestion-item{width:100%;padding:.75rem 1rem;text-align:left;font-size:.875rem;color:var(--gray-700);transition:all var(--transition-fast)}.suggestion-item:hover{background-color:#ede9fe;color:var(--primary-purple)}.selected-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.tag{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background-color:#ede9fe;color:var(--primary-purple);font-size:.8125rem;font-weight:500;border-radius:var(--radius-full)}.tag button{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--primary-purple);opacity:.7}.tag button:hover{opacity:1}.subject-tag{background-color:#dbeafe;color:#2563eb}.topic-tag{background-color:#d1fae5;color:#059669}.date-input-wrapper{position:relative}.date-input-wrapper svg{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--gray-400);pointer-events:none}.level-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.level-btn{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:1rem;border:2px solid var(--gray-200);border-radius:var(--radius-md);background-color:var(--white);transition:all var(--transition-fast)}.level-btn:hover{border-color:var(--primary-purple)}.level-btn.active{border-color:var(--primary-purple);background-color:#ede9fe}.level-icon{font-size:1.25rem}.level-btn span:last-child{font-size:.75rem;font-weight:500;color:var(--gray-700)}.topic-input-wrapper{display:flex;gap:.5rem}.topic-input-wrapper input{flex:1}.add-topic-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-purple) 0%,var(--primary-purple-light) 100%);color:#fff;font-size:1.5rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.add-topic-btn:hover{transform:scale(1.05)}.slider-group{display:flex;align-items:center;gap:1rem}.slider-group input[type=range]{flex:1;height:8px;border-radius:var(--radius-full);background:var(--gray-200);-webkit-appearance:none;-moz-appearance:none;appearance:none}.slider-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary-purple);cursor:pointer}.slider-value{min-width:60px;padding:.5rem;background-color:var(--gray-100);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;color:var(--gray-700);text-align:center}.time-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.time-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;border:2px solid var(--gray-200);border-radius:var(--radius-md);background-color:var(--white);transition:all var(--transition-fast)}.time-btn:hover{border-color:var(--primary-purple)}.time-btn.active{border-color:var(--primary-purple);background-color:#ede9fe}.time-label{font-size:.875rem;font-weight:600;color:var(--gray-800)}.time-range{font-size:.6875rem;color:var(--gray-500)}.days-options{display:flex;gap:.5rem}.day-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:2px solid var(--gray-200);border-radius:var(--radius-md);background-color:var(--white);font-weight:600;color:var(--gray-600);transition:all var(--transition-fast)}.day-btn:hover{border-color:var(--primary-purple)}.day-btn.active{border-color:var(--primary-purple);background-color:var(--primary-purple);color:#fff}.grade-options{display:flex;gap:.5rem}.grade-btn{padding:.625rem 1.25rem;border:2px solid var(--gray-200);border-radius:var(--radius-full);background-color:var(--white);font-weight:600;color:var(--gray-600);transition:all var(--transition-fast)}.grade-btn:hover{border-color:var(--primary-purple)}.grade-btn.active{border-color:var(--primary-purple);background-color:var(--primary-purple);color:#fff}.focus-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.focus-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem;border:2px solid var(--gray-200);border-radius:var(--radius-md);background-color:var(--white);transition:all var(--transition-fast)}.focus-btn:hover{border-color:var(--primary-purple)}.focus-btn.active{border-color:var(--primary-purple);background-color:#ede9fe}.focus-btn span:first-child{font-size:1.25rem}.focus-btn span:last-child{font-size:.8125rem;font-weight:500;color:var(--gray-700)}.form-navigation{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--gray-100)}.nav-btn{padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;border-radius:var(--radius-full);transition:all var(--transition-fast)}.prev-btn{background-color:var(--white);color:var(--gray-600);border:1px solid var(--gray-200)}.prev-btn:hover{background-color:var(--gray-50)}.next-btn,.submit-btn{background:linear-gradient(135deg,var(--primary-purple) 0%,var(--primary-purple-light) 100%);color:#fff}.next-btn:hover,.submit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed4d}.preview-panel{background-color:var(--white);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--gray-100);height:fit-content;position:sticky;top:1rem}.preview-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-100)}.preview-icon{width:40px;height:40px;background:linear-gradient(135deg,#f97316,#fb923c);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem}.preview-header h3{font-size:1rem;font-weight:600;color:var(--gray-900)}.preview-header p{font-size:.75rem;color:var(--gray-500)}.preview-section{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--gray-100)}.preview-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.preview-section h4{font-size:.8125rem;font-weight:600;color:var(--gray-500);margin-bottom:.75rem}.preview-subject{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.subject-icon{width:36px;height:36px;background:linear-gradient(135deg,#3b82f6,#60a5fa);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1rem}.subject-info h4{font-size:.9375rem;font-weight:600;color:var(--gray-900);margin-bottom:.125rem}.level-badge{font-size:.6875rem;color:var(--gray-500);text-transform:capitalize}.preview-topics{display:flex;flex-wrap:wrap;gap:.375rem}.topic-chip{padding:.25rem .625rem;background-color:var(--gray-100);color:var(--primary-purple);font-size:.6875rem;font-weight:500;border-radius:var(--radius-full)}.topic-chip.more{background-color:var(--primary-purple);color:#fff}.schedule-info{display:flex;flex-direction:column;gap:.5rem}.info-row{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--gray-600)}.target-goal{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.grade-badge{padding:.25rem .75rem;background:linear-gradient(135deg,#10b981,#34d399);color:#fff;font-size:.6875rem;font-weight:600;border-radius:var(--radius-full)}.focus-list{display:flex;flex-direction:column;gap:.375rem}.focus-item{font-size:.8125rem;color:#10b981;font-weight:500}.exam-section{display:flex;align-items:flex-start;gap:.75rem;background-color:var(--gray-50);padding:1rem;border-radius:var(--radius-md);border-bottom:none!important}.exam-icon{font-size:1.25rem}.exam-label{font-size:.6875rem;color:var(--gray-500);display:block}.exam-section strong{font-size:.9375rem;font-weight:600;color:var(--gray-900);display:block;margin:.125rem 0}.days-remaining{font-size:.6875rem;color:var(--primary-purple);font-weight:500}.preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.preview-empty .empty-icon{font-size:3rem;margin-bottom:.75rem;opacity:.6}.preview-empty p{font-size:.8125rem;color:var(--gray-500)}.review-summary{display:flex;flex-direction:column;gap:1.5rem}.review-section{padding:1rem;background-color:var(--gray-50);border-radius:var(--radius-md)}.review-section h3{font-size:.875rem;font-weight:600;color:var(--gray-800);margin-bottom:.75rem}.review-section p{font-size:.8125rem;color:var(--gray-600);margin-bottom:.25rem}.review-tags{display:flex;flex-wrap:wrap;gap:.5rem}.added-subjects-list{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--gray-100)}.added-subjects-list>label{display:block;font-size:.8125rem;font-weight:600;color:var(--gray-700);margin-bottom:.75rem}.subjects-cards{display:flex;flex-direction:column;gap:.75rem}.subject-card{padding:1rem;background-color:var(--gray-50);border:2px solid var(--gray-200);border-radius:var(--radius-md);transition:all var(--transition-fast)}.subject-card:hover{border-color:var(--gray-300)}.subject-card.editing{border-color:var(--primary-purple);background-color:#ede9fe}.subject-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.subject-name{font-size:.9375rem;font-weight:600;color:var(--gray-900)}.subject-card-actions{display:flex;gap:.25rem}.subject-card-actions button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:.8125rem;transition:all var(--transition-fast)}.edit-btn{background-color:var(--white);color:var(--gray-600)}.edit-btn:hover{background-color:var(--primary-purple);color:#fff}.remove-btn{background-color:var(--white);color:var(--gray-400);font-size:1.25rem}.remove-btn:hover{background-color:#fee2e2;color:#dc2626}.subject-card-details{display:flex;gap:1rem;font-size:.75rem;color:var(--gray-500)}.subject-form-section{padding:1.25rem;background-color:var(--gray-50);border-radius:var(--radius-md);border:1px dashed var(--gray-300)}.subject-form-section>label{display:block;font-size:.9375rem;font-weight:600;color:var(--gray-800);margin-bottom:1rem}.subject-config{padding-top:.5rem}.subject-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px dashed var(--gray-300)}.cancel-btn{padding:.625rem 1.25rem;background-color:var(--white);color:var(--gray-600);font-size:.875rem;font-weight:500;border:1px solid var(--gray-200);border-radius:var(--radius-full);transition:all var(--transition-fast)}.cancel-btn:hover{background-color:var(--gray-100)}.save-subject-btn{padding:.625rem 1.25rem;background:linear-gradient(135deg,#10b981,#34d399);color:#fff;font-size:.875rem;font-weight:600;border-radius:var(--radius-full);transition:all var(--transition-fast)}.save-subject-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.preview-editing{background-color:#fef3c7;border:1px dashed #F59E0B;border-radius:var(--radius-md);padding:1rem}.editing-badge{font-size:.6875rem;font-weight:600;color:#92400e;margin-bottom:.5rem}.preview-exam-date{margin-top:.5rem;font-size:.75rem;color:var(--gray-600)}.review-subject-item{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:.75rem;background-color:var(--white);border-radius:var(--radius-sm);margin-bottom:.5rem}.review-subject-item strong{width:100%;font-size:.875rem;font-weight:600;color:var(--gray-900)}.review-subject-item span{font-size:.75rem;color:var(--gray-500)}.nav-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}@media(max-width:1000px){.content-area{grid-template-columns:1fr}.preview-panel{position:static}.level-options{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.scheduling-main{margin-left:0;padding-bottom:80px}.hero-section h1{font-size:1.5rem}.step-indicator{padding:1rem;gap:0}.step-line{width:30px}.step span{display:none}.content-area{padding:1rem}.time-options,.focus-options{grid-template-columns:1fr}.subject-card-details{flex-direction:column;gap:.25rem}}.history-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.history-modal{background:var(--white, #FFFFFF);border-radius:16px;width:100%;max-width:500px;max-height:80vh;overflow:hidden;box-shadow:0 25px 50px -12px #00000040;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.history-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-100, #F3F4F6)}.history-modal-header h2{font-size:1.25rem;font-weight:600;color:var(--gray-900, #111827)}.history-modal-header .close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--gray-500, #6B7280);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.history-modal-header .close-btn:hover{background:var(--gray-100, #F3F4F6);color:var(--gray-700, #374151)}.history-modal-content{padding:1rem 1.5rem 1.5rem;max-height:60vh;overflow-y:auto}.loading-history{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.loading-history .spinner{width:40px;height:40px;border:3px solid var(--gray-200, #E5E7EB);border-top-color:#7c3aed;border-radius:50%;animation:spin .8s linear infinite}.loading-history p{color:var(--gray-500, #6B7280);font-size:.9375rem}.empty-history{display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 1rem}.empty-history h3{font-size:1.125rem;font-weight:600;color:var(--gray-800, #1F2937);margin-bottom:.5rem}.empty-history p{font-size:.875rem;color:var(--gray-500, #6B7280);max-width:300px}.history-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--gray-50, #F9FAFB);border-radius:12px;border:1px solid var(--gray-100, #F3F4F6);transition:all .2s ease}.history-item:hover{background:#ede9fe;border-color:#ddd6fe}.history-item-info h3{font-size:.9375rem;font-weight:600;color:var(--gray-800, #1F2937);margin-bottom:.25rem}.history-item-info .subjects-list{font-size:.8125rem;color:var(--gray-600, #4B5563);margin-bottom:.25rem;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item-info .history-date{font-size:.75rem;color:var(--gray-400, #9CA3AF)}.restore-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;font-size:.8125rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.restore-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed59}.delete-history-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#ef4444,#f87171);color:#fff;font-size:.8125rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.delete-history-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef444459}[data-theme=dark] .scheduling-container{background-color:#0f1117}[data-theme=dark] .scheduling-main{background:#0f1117}[data-theme=dark] .scheduling-header{background-color:#141824;border-bottom-color:#2d3348}[data-theme=dark] .header-logo span{color:#f1f5f9}[data-theme=dark] .header-nav a{color:#94a3b8}[data-theme=dark] .header-nav a:hover{color:var(--primary-purple)}[data-theme=dark] .hero-section{background-color:#141824;border-color:#2d3348}[data-theme=dark] .hero-section h1{color:#f1f5f9}[data-theme=dark] .hero-section p{color:#94a3b8}[data-theme=dark] .ai-badge{background-color:#7c3aed26;color:#a78bfa}[data-theme=dark] .step-indicator{background-color:#141824}[data-theme=dark] .step-number{background-color:#1a1f2e;color:#64748b;border-color:#2d3348}[data-theme=dark] .step span{color:#64748b}[data-theme=dark] .step.active span,[data-theme=dark] .step.completed span{color:#e2e8f0}[data-theme=dark] .step-line{background-color:#2d3348}[data-theme=dark] .form-panel{background-color:#1a1f2e;border-color:#2d3348}[data-theme=dark] .step-content h2{color:#f1f5f9}[data-theme=dark] .form-group input[type=text],[data-theme=dark] .form-group input[type=date],[data-theme=dark] .form-group select{background-color:#141824;border-color:#2d3348;color:#e2e8f0}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus{border-color:var(--primary-purple);background-color:#0f1117;box-shadow:0 0 0 3px #7c3aed26}[data-theme=dark] .form-group input::placeholder{color:#475569}[data-theme=dark] .suggestions-dropdown{background-color:#1a1f2e;border-color:#2d3348;box-shadow:0 8px 24px #0006}[data-theme=dark] .suggestion-item{color:#e2e8f0}[data-theme=dark] .suggestion-item:hover{background-color:#7c3aed1f;color:#a78bfa}[data-theme=dark] .tag{background-color:#7c3aed26;color:#a78bfa}[data-theme=dark] .tag button{color:#a78bfa}[data-theme=dark] .subject-tag{background-color:#3b82f626;color:#60a5fa}[data-theme=dark] .topic-tag{background-color:#10b98126;color:#34d399}[data-theme=dark] .level-btn{border-color:#2d3348;background-color:#141824}[data-theme=dark] .level-btn:hover{border-color:var(--primary-purple);background-color:#1a1f2e}[data-theme=dark] .level-btn.active{background-color:#7c3aed1f;border-color:var(--primary-purple)}[data-theme=dark] .level-btn span:last-child{color:#94a3b8}[data-theme=dark] .slider-group input[type=range]{background:#2d3348}[data-theme=dark] .time-btn{background-color:#141824;border-color:#2d3348}[data-theme=dark] .time-btn:hover{border-color:var(--primary-purple);background-color:#1a1f2e}[data-theme=dark] .time-btn.active{background-color:#7c3aed1f;border-color:var(--primary-purple)}[data-theme=dark] .time-label{color:#e2e8f0}[data-theme=dark] .time-range{color:#64748b}[data-theme=dark] .day-btn{border-color:#2d3348;background-color:#141824;color:#94a3b8}[data-theme=dark] .day-btn:hover{border-color:var(--primary-purple);background-color:#1a1f2e}[data-theme=dark] .grade-btn{border-color:#2d3348;background-color:#141824;color:#94a3b8}[data-theme=dark] .grade-btn:hover{border-color:var(--primary-purple);background-color:#1a1f2e}[data-theme=dark] .focus-btn{border-color:#2d3348;background-color:#141824}[data-theme=dark] .focus-btn:hover{border-color:var(--primary-purple);background-color:#1a1f2e}[data-theme=dark] .focus-btn.active{background-color:#7c3aed1f;border-color:var(--primary-purple)}[data-theme=dark] .focus-btn span:last-child{color:#94a3b8}[data-theme=dark] .form-navigation{border-top-color:#2d3348}[data-theme=dark] .prev-btn{background-color:#141824;color:#94a3b8;border-color:#2d3348}[data-theme=dark] .prev-btn:hover{background-color:#1e293b;color:#e2e8f0}[data-theme=dark] .preview-panel{background-color:#1a1f2e;border-color:#2d3348}[data-theme=dark] .preview-header{border-bottom-color:#2d3348}[data-theme=dark] .preview-header h3{color:#f1f5f9}[data-theme=dark] .preview-header p{color:#64748b}[data-theme=dark] .preview-section{border-bottom-color:#2d3348}[data-theme=dark] .preview-section h4{color:#94a3b8}[data-theme=dark] .subject-info h4{color:#f1f5f9}[data-theme=dark] .level-badge{color:#94a3b8}[data-theme=dark] .topic-chip{background-color:#141824;color:#a78bfa}[data-theme=dark] .info-row{color:#94a3b8}[data-theme=dark] .preview-empty p{color:#64748b}[data-theme=dark] .exam-section{background-color:#141824}[data-theme=dark] .exam-label{color:#64748b}[data-theme=dark] .exam-section strong{color:#f1f5f9}[data-theme=dark] .days-remaining{color:#a78bfa}[data-theme=dark] .added-subjects-list{border-bottom-color:#2d3348}[data-theme=dark] .added-subjects-list>label{color:#e2e8f0}[data-theme=dark] .subject-card{background-color:#141824;border-color:#2d3348}[data-theme=dark] .subject-card:hover{border-color:#3d4560}[data-theme=dark] .subject-card.editing{border-color:var(--primary-purple);background-color:#7c3aed14}[data-theme=dark] .subject-name{color:#f1f5f9}[data-theme=dark] .subject-card-details{color:#64748b}[data-theme=dark] .edit-btn{background-color:#1a1f2e;color:#94a3b8}[data-theme=dark] .edit-btn:hover{background-color:var(--primary-purple);color:#fff}[data-theme=dark] .remove-btn{background-color:#1a1f2e;color:#64748b}[data-theme=dark] .remove-btn:hover{background-color:#dc262626;color:#f87171}[data-theme=dark] .subject-form-section{background-color:#141824;border-color:#3d4560}[data-theme=dark] .subject-form-section>label{color:#e2e8f0}[data-theme=dark] .subject-actions{border-top-color:#3d4560}[data-theme=dark] .cancel-btn{background-color:#141824;color:#94a3b8;border-color:#2d3348}[data-theme=dark] .cancel-btn:hover{background-color:#1e293b;color:#e2e8f0}[data-theme=dark] .preview-editing{background-color:#f59e0b14;border-color:#f59e0b4d}[data-theme=dark] .editing-badge{color:#fbbf24}[data-theme=dark] .preview-exam-date{color:#94a3b8}[data-theme=dark] .review-section{background-color:#141824}[data-theme=dark] .review-section h3{color:#f1f5f9}[data-theme=dark] .review-section p{color:#94a3b8}[data-theme=dark] .review-subject-item{background-color:#1a1f2e}[data-theme=dark] .review-subject-item strong{color:#f1f5f9}[data-theme=dark] .review-subject-item span{color:#64748b}[data-theme=dark] .history-modal-overlay{background:#000000b3}[data-theme=dark] .history-modal{background:#1a1f2e;box-shadow:0 25px 50px -12px #0009}[data-theme=dark] .history-modal-header .close-btn{color:#94a3b8}[data-theme=dark] .history-modal-header .close-btn:hover{background:#1e293b;color:#f1f5f9}[data-theme=dark] .loading-history .spinner{border-color:#2d3348;border-top-color:#a78bfa}[data-theme=dark] .loading-history p{color:#94a3b8}[data-theme=dark] .empty-history h3{color:#e2e8f0}[data-theme=dark] .empty-history p{color:#64748b}[data-theme=dark] .history-item{background:#141824;border-color:#2d3348}[data-theme=dark] .history-item:hover{background:#7c3aed14;border-color:#7c3aed40}[data-theme=dark] .history-item-info h3{color:#f1f5f9}[data-theme=dark] .history-item-info .subjects-list{color:#94a3b8}[data-theme=dark] .date-input-wrapper svg{color:#64748b}.study-plan-container{display:flex;min-height:100vh;background-color:#f8fafc}.study-plan-main{flex:1;margin-left:70px;padding:1.5rem 2rem;overflow-y:auto}.study-plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;background-color:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.header-logo{width:40px;height:40px;border-radius:50%;object-fit:cover}.header-title h1{font-size:1.125rem;font-weight:700;color:var(--gray-900);margin-bottom:.125rem}.header-title p{font-size:.75rem;color:var(--gray-500)}.export-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;font-size:.875rem;font-weight:600;border-radius:var(--radius-full);transition:all .3s ease}.export-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f973164d}.export-btn:disabled{opacity:.7;cursor:not-allowed;transform:none!important}.export-btn.exporting{background:linear-gradient(135deg,#9ca3af,#d1d5db)}.export-btn svg{width:16px;height:16px}.export-btn svg.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.plan-summary{background-color:var(--white);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.summary-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem}.summary-header h2{font-size:1.25rem;font-weight:700;color:var(--gray-900);margin-bottom:.25rem}.summary-header p{font-size:.8125rem;color:var(--gray-500)}.summary-actions{display:flex;gap:.75rem}.regenerate-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,var(--primary-purple) 0%,var(--primary-purple-light) 100%);border:none;font-size:.8125rem;font-weight:600;color:#fff;border-radius:var(--radius-full);transition:all .3s ease}.regenerate-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed4d}.regenerate-btn svg{width:14px;height:14px;stroke:#fff}.history-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;font-size:.8125rem;font-weight:600;color:#fff;border-radius:var(--radius-full);transition:all .3s ease}.history-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.history-btn svg{width:14px;height:14px;stroke:#fff}.subject-hours{display:flex;gap:1rem;flex-wrap:wrap}.subject-hour-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-radius:var(--radius-lg);min-width:140px}.subject-icon{font-size:1.25rem}.subject-hour-info{display:flex;flex-direction:column}.subject-name{font-size:.8125rem;font-weight:600}.subject-hours-text{font-size:1rem;font-weight:700}.weekly-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:.75rem}.day-column{background-color:var(--white);border-radius:var(--radius-lg);padding:1rem;min-height:400px;box-shadow:var(--shadow-sm)}.day-header{text-align:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--gray-100)}.day-name{display:block;font-size:.9375rem;font-weight:700;color:var(--gray-900)}.day-date{display:block;font-size:.75rem;color:var(--gray-500);margin-top:.125rem}.day-sessions{display:flex;flex-direction:column;gap:.75rem}.session-card{padding:.875rem;border-radius:var(--radius-md);transition:all var(--transition-fast)}.session-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.session-subject{font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.session-link{font-size:.6875rem;opacity:.6}.session-time{font-size:.6875rem;color:var(--gray-500);margin-bottom:.375rem}.session-topics{font-size:.6875rem;color:var(--gray-600);font-weight:500}.rest-day-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;background-color:#f3e8ff;border-radius:var(--radius-md);text-align:center;height:100%;min-height:150px}.rest-icon{font-size:1.5rem;margin-bottom:.5rem}.rest-title{font-size:.875rem;font-weight:600;color:#7c3aed;margin-bottom:.25rem}.rest-desc{font-size:.6875rem;color:#a78bfa}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1rem;color:var(--gray-500)}@media(max-width:1200px){.weekly-calendar{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.weekly-calendar{grid-template-columns:repeat(2,1fr)}.summary-header{flex-direction:column;gap:1rem}.summary-actions{width:100%}.regenerate-btn,.history-btn{flex:1;justify-content:center}}@media(max-width:600px){.study-plan-main{margin-left:0;padding:1rem;padding-bottom:80px}.weekly-calendar{grid-template-columns:1fr}.day-column{min-height:auto}.subject-hours{flex-direction:column}.subject-hour-card{width:100%}.study-plan-header{flex-direction:column;gap:1rem;text-align:center}.header-left{flex-direction:column}}.session-header-icons{display:flex;align-items:center;gap:.25rem}.edited-badge{font-size:.625rem;opacity:.7}.session-card.session-edited{outline:2px solid rgba(124,58,237,.3);outline-offset:-2px}.time-edit-modal{background:var(--white);border-radius:var(--radius-xl);width:90%;max-width:400px;overflow:hidden;box-shadow:0 25px 50px #00000040;animation:modalIn .3s ease}.time-edit-content{padding:1.5rem}.time-edit-day{font-size:.875rem;font-weight:600;color:var(--gray-600);margin-bottom:1.25rem;text-align:center}.time-input-group{display:flex;gap:1rem;margin-bottom:1.5rem}.time-field{flex:1;display:flex;flex-direction:column;gap:.375rem}.time-field label{font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}.time-field input[type=time]{padding:.625rem .75rem;border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:1rem;font-weight:600;color:var(--gray-900);background:var(--gray-50);transition:all .2s ease;width:100%}.time-field input[type=time]:focus{outline:none;border-color:var(--primary-purple);background:#fff;box-shadow:0 0 0 3px #7c3aed1a}.time-edit-actions{display:flex;gap:.75rem;justify-content:flex-end}.time-cancel-btn{padding:.625rem 1.25rem;background:var(--gray-100);color:var(--gray-600);font-size:.8125rem;font-weight:600;border-radius:var(--radius-full);transition:all .2s ease}.time-cancel-btn:hover{background:var(--gray-200)}.time-save-btn{padding:.625rem 1.25rem;background:linear-gradient(135deg,var(--primary-purple) 0%,var(--primary-purple-light) 100%);color:#fff;font-size:.8125rem;font-weight:600;border-radius:var(--radius-full);transition:all .2s ease}.time-save-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.history-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.history-modal{background:var(--white);border-radius:var(--radius-xl);width:90%;max-width:500px;max-height:80vh;overflow:hidden;box-shadow:0 25px 50px #00000040;animation:modalIn .3s ease}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.history-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-100)}.history-modal-header h2{font-size:1.125rem;font-weight:700;color:var(--gray-900)}.history-modal-header .close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:1.5rem;color:var(--gray-400);transition:all var(--transition-fast)}.history-modal-header .close-btn:hover{background:var(--gray-100);color:var(--gray-600)}.history-modal-content{padding:1.5rem;max-height:60vh;overflow-y:auto}.loading-history{display:flex;flex-direction:column;align-items:center;padding:3rem;color:var(--gray-500)}.loading-history .spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--primary-purple);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.empty-history{text-align:center;padding:3rem 1rem}.empty-history .empty-icon{font-size:3rem;margin-bottom:1rem}.empty-history h3{font-size:1.125rem;font-weight:600;color:var(--gray-700);margin-bottom:.5rem}.empty-history p{font-size:.875rem;color:var(--gray-500)}.history-list{display:flex;flex-direction:column;gap:.75rem}.history-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--gray-50);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.history-item:hover{background:var(--gray-100)}.history-item-info h3{font-size:.9375rem;font-weight:600;color:var(--gray-800);margin-bottom:.25rem}.history-item-info .subjects-list{font-size:.75rem;color:var(--gray-500);margin-bottom:.25rem;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item-info .history-date{font-size:.6875rem;color:var(--gray-400)}.history-item .restore-btn{padding:.5rem 1rem;background:linear-gradient(135deg,var(--primary-purple) 0%,var(--primary-purple-light) 100%);color:#fff;font-size:.75rem;font-weight:600;border-radius:var(--radius-full);transition:all var(--transition-fast)}.history-item .restore-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.history-item-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.history-item .delete-history-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#ef4444,#f87171);color:#fff;font-size:.75rem;font-weight:600;border-radius:var(--radius-full);transition:all var(--transition-fast)}.history-item .delete-history-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}[data-theme=dark] .study-plan-container{background-color:#0f1117}[data-theme=dark] .study-plan-main{background:#0f1117}[data-theme=dark] .study-plan-header h1{color:#f1f5f9}[data-theme=dark] .study-plan-header p{color:#94a3b8}[data-theme=dark] .plan-summary{background:#1a1f2e;border-color:#2d3348}[data-theme=dark] .summary-header h2{color:#f1f5f9}[data-theme=dark] .summary-header p{color:#94a3b8}[data-theme=dark] .day-column{background:#1a1f2e;border-color:#2d3348}[data-theme=dark] .day-header{color:#f1f5f9;border-bottom-color:#2d3348}[data-theme=dark] .session-card{border-color:#2d3348}[data-theme=dark] .session-card:hover{box-shadow:0 4px 12px #0006}[data-theme=dark] .session-time,[data-theme=dark] .empty-day{color:#64748b}[data-theme=dark] .topic-chip{background-color:#141824}[data-theme=dark] .slider-value{background-color:#141824;color:#e2e8f0}[data-theme=dark] .loading-state{background:#0f1117;color:#94a3b8}[data-theme=dark] .history-modal{background:#1a1f2e;box-shadow:0 25px 50px #00000080}[data-theme=dark] .history-modal-header{border-bottom-color:#2d3348}[data-theme=dark] .history-modal-header h2{color:#f1f5f9}[data-theme=dark] .history-modal-close{color:#94a3b8}[data-theme=dark] .history-item{border-color:#2d3348}[data-theme=dark] .history-item:hover{background:#141824}[data-theme=dark] .history-item-info .history-subjects{color:#94a3b8}[data-theme=dark] .history-item-info .history-date{color:#64748b}[data-theme=dark] .empty-history,[data-theme=dark] .loading-history{color:#94a3b8}[data-theme=dark] .loading-history .spinner{border-color:#2d3348;border-top-color:var(--primary-purple)}[data-theme=dark] .time-edit-modal{background:#1a1f2e;box-shadow:0 25px 50px #00000080}[data-theme=dark] .time-edit-day,[data-theme=dark] .time-field label{color:#94a3b8}[data-theme=dark] .time-field input[type=time]{background:#141824;border-color:#2d3348;color:#f1f5f9}[data-theme=dark] .time-field input[type=time]:focus{background:#1a1f2e;border-color:var(--primary-purple)}[data-theme=dark] .time-cancel-btn{background:#2d3348;color:#94a3b8}[data-theme=dark] .time-cancel-btn:hover{background:#3d4358}.sticky-notes-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.8rem;font-weight:600;border-radius:8px;cursor:pointer;border:none;transition:all .25s ease}.sticky-notes-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b59}.sticky-notes-btn svg{width:15px;height:15px}.sticky-notes-modal{background:#fff;border-radius:16px;width:520px;max-width:92vw;max-height:85vh;overflow-y:auto;box-shadow:0 25px 60px #0003;animation:modalFadeIn .25s ease}.sticky-notes-content{padding:1.25rem 1.5rem 1.5rem}.sticky-subject-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.sticky-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .9rem;font-size:.8rem;font-weight:500;border-radius:20px;border:1.5px solid #e2e8f0;background:#f8fafc;color:#475569;cursor:pointer;transition:all .2s ease}.sticky-chip:hover{border-color:#f59e0b;color:#92400e;background:#fffbeb}.sticky-chip.active{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;color:#92400e;font-weight:600}.sticky-chip.has-note{border-color:#fbbf24}.sticky-chip-dot{color:#f59e0b;font-size:1.1rem;line-height:1}.sticky-note-editor{background:#fffbeb;border:1px solid #FDE68A;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.25rem}.sticky-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.sticky-editor-header h3{font-size:.95rem;font-weight:700;color:#92400e;margin:0}.sticky-char-count{font-size:.7rem;color:#b45309;opacity:.7}.sticky-topics{font-size:.72rem;color:#b45309;opacity:.8;margin:0 0 .75rem}.sticky-textarea{width:100%;padding:.75rem;border:1.5px solid #FDE68A;border-radius:10px;background:#fff;color:#1e293b;font-size:.85rem;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s;box-sizing:border-box}.sticky-textarea:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1f}.sticky-textarea::placeholder{color:#d97706;opacity:.5}.sticky-editor-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.sticky-save-btn{padding:.45rem 1rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.8rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.sticky-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 8px #f59e0b4d}.sticky-save-btn:disabled{opacity:.5;cursor:not-allowed}.sticky-delete-btn{padding:.45rem 1rem;background:#ef44441a;color:#dc2626;font-size:.8rem;font-weight:500;border:1px solid rgba(239,68,68,.2);border-radius:8px;cursor:pointer;transition:all .2s}.sticky-delete-btn:hover{background:#ef444433}.sticky-empty-state{text-align:center;padding:2rem 1rem;color:#94a3b8}.sticky-empty-icon{font-size:2.5rem;display:block;margin-bottom:.5rem}.sticky-empty-state p{font-size:.85rem;margin:0}.sticky-saved-section{border-top:1px solid #e2e8f0;padding-top:1rem}.sticky-saved-section h4{font-size:.85rem;font-weight:600;color:#475569;margin:0 0 .75rem}.sticky-saved-list{display:flex;flex-direction:column;gap:.5rem}.sticky-saved-card{background:#fffbeb;border:1px solid #FDE68A;border-left:3px solid #F59E0B;border-radius:8px;padding:.65rem .85rem}.sticky-saved-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.sticky-saved-subject{font-size:.78rem;font-weight:700;color:#92400e}.sticky-saved-delete{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#dc2626;font-size:1rem;cursor:pointer;border-radius:50%;transition:background .2s;padding:0}.sticky-saved-delete:hover{background:#ef44441f}.sticky-saved-text{font-size:.78rem;color:#78350f;margin:0;line-height:1.5;white-space:pre-wrap;word-break:break-word}[data-theme=dark] .sticky-notes-btn{background:linear-gradient(135deg,#d97706,#b45309)}[data-theme=dark] .sticky-notes-modal{background:#1a1f2e;box-shadow:0 25px 60px #00000080}[data-theme=dark] .sticky-chip{background:#141824;border-color:#2d3348;color:#94a3b8}[data-theme=dark] .sticky-chip:hover{border-color:#d97706;color:#fde68a;background:#d977061a}[data-theme=dark] .sticky-chip.active{background:#d9770626;border-color:#d97706;color:#fde68a}[data-theme=dark] .sticky-note-editor{background:#d9770614;border-color:#d9770633}[data-theme=dark] .sticky-editor-header h3{color:#fde68a}[data-theme=dark] .sticky-char-count,[data-theme=dark] .sticky-topics{color:#fbbf24}[data-theme=dark] .sticky-textarea{background:#141824;border-color:#2d3348;color:#f1f5f9}[data-theme=dark] .sticky-textarea:focus{border-color:#d97706;box-shadow:0 0 0 3px #d977061f}[data-theme=dark] .sticky-textarea::placeholder{color:#d97706}[data-theme=dark] .sticky-empty-state{color:#64748b}[data-theme=dark] .sticky-saved-section{border-color:#2d3348}[data-theme=dark] .sticky-saved-section h4{color:#94a3b8}[data-theme=dark] .sticky-saved-card{background:#d9770614;border-color:#d9770633;border-left-color:#d97706}[data-theme=dark] .sticky-saved-subject{color:#fde68a}[data-theme=dark] .sticky-saved-text{color:#e2e8f0}.ai-assistant-container{display:flex;min-height:100vh;background-color:var(--gray-100, #F3F4F6)}.ai-main{flex:1;margin-left:70px;display:flex;flex-direction:column;position:relative;background:#f8f9fa}.ai-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#f8f9fa,#e9ecef,#dee2e6);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;gap:1rem}.ai-loading-overlay p{color:var(--gray-600, #4B5563);font-size:1rem}.ai-loading-spinner{width:50px;height:50px;border:3px solid var(--gray-200, #E5E7EB);border-top-color:var(--primary-purple, #7C3AED);border-radius:50%;animation:spin 1s linear infinite}.ai-fullscreen-iframe{width:100%;height:100vh;border:none;background:#fff}@media(max-width:600px){.ai-main{margin-left:0;padding-bottom:80px}}[data-theme=dark] .ai-assistant-container{background-color:#0f1117}[data-theme=dark] .ai-main{background:#0f1117}[data-theme=dark] .ai-loading-overlay{background:linear-gradient(135deg,#0f1117,#141824,#1a1f2e)}[data-theme=dark] .ai-loading-overlay p{color:#94a3b8}[data-theme=dark] .ai-loading-spinner{border-color:#2d3348;border-top-color:#7c3aed}[data-theme=dark] .ai-fullscreen-iframe{background:#0f1117}.analytics-container{display:flex;min-height:100vh;background-color:var(--gray-100, #F3F4F6)}.analytics-main{flex:1;margin-left:70px;padding:1.5rem 2rem;overflow-y:auto}.analytics-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.analytics-header .header-left h1{font-size:1.5rem;font-weight:700;color:var(--gray-900, #111827);margin-bottom:.25rem}.analytics-header .header-left p{font-size:.875rem;color:var(--gray-500, #6B7280)}.analytics-header .header-right{display:flex;align-items:center;gap:1rem}.date-range{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--white, #FFFFFF);border-radius:10px;border:1px solid var(--gray-200, #E5E7EB);font-size:.875rem;color:var(--gray-700, #374151)}.date-range svg{width:18px;height:18px;color:var(--gray-500, #6B7280)}.export-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1.25rem;background:linear-gradient(135deg,#7c3aed,#a78bfa);border:none;border-radius:10px;color:#fff;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.export-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed59}.export-btn:disabled{opacity:.5;cursor:not-allowed}.export-btn svg{width:18px;height:18px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--white, #FFFFFF);border-radius:16px;margin-top:2rem}.empty-icon{font-size:4rem;margin-bottom:1.5rem}.empty-state h2{font-size:1.5rem;font-weight:600;color:var(--gray-800, #1F2937);margin-bottom:.5rem}.empty-state p{font-size:.9375rem;color:var(--gray-500, #6B7280);margin-bottom:1.5rem;max-width:400px}.create-plan-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;font-size:.9375rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease}.create-plan-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #7c3aed66}.stats-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--white, #FFFFFF);border-radius:16px;padding:1.25rem;display:flex;align-items:flex-start;gap:1rem;position:relative;border:1px solid var(--gray-100, #F3F4F6);transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.stat-card .stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-card .stat-icon svg{width:24px;height:24px;color:#fff}.stat-card.blue .stat-icon{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.stat-card.green .stat-icon{background:linear-gradient(135deg,#10b981,#34d399)}.stat-card.orange .stat-icon{background:linear-gradient(135deg,#f97316,#fb923c)}.stat-card.purple .stat-icon{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.stat-card .stat-info{display:flex;flex-direction:column}.stat-card .stat-label{font-size:.75rem;color:var(--gray-500, #6B7280);margin-bottom:.25rem}.stat-card .stat-value{font-size:1.75rem;font-weight:700;color:var(--gray-900, #111827);line-height:1;margin-bottom:.25rem}.stat-card .stat-period{font-size:.6875rem;color:var(--gray-400, #9CA3AF)}.stat-badge{position:absolute;top:1rem;right:1rem;padding:.25rem .5rem;border-radius:6px;font-size:.625rem;font-weight:600}.stat-badge.green{background:#d1fae5;color:#059669}.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.chart-card{background:var(--white, #FFFFFF);border-radius:16px;padding:1.5rem;border:1px solid var(--gray-100, #F3F4F6)}.chart-card.small{max-width:100%}.chart-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:1rem}.chart-header h3{font-size:1rem;font-weight:600;color:var(--gray-800, #1F2937)}.chart-subtitle{font-size:.75rem;color:var(--gray-500, #6B7280)}.view-details-btn{margin-left:auto;font-size:.75rem;color:#7c3aed;background:none;border:none;cursor:pointer}.view-details-btn:hover{text-decoration:underline}.chart-goal{font-size:.75rem;color:#10b981;margin-bottom:1rem}.chart-legend{display:flex;gap:1rem;margin-bottom:1rem;font-size:.75rem}.legend-item{display:flex;align-items:center;gap:.25rem;color:var(--gray-600, #4B5563)}.legend-item .dot{width:8px;height:8px;border-radius:50%}.legend-item .dot.completed{background:#7c3aed}.legend-item .dot.pending{background:#e5e7eb}.line-chart{position:relative;height:200px;padding-left:30px}.chart-grid{position:absolute;top:0;left:30px;right:0;bottom:30px;display:flex;flex-direction:column;justify-content:space-between}.grid-line{border-bottom:1px solid var(--gray-100, #F3F4F6);position:relative;height:0}.grid-label{position:absolute;left:-25px;top:-8px;font-size:.625rem;color:var(--gray-400, #9CA3AF)}.chart-line{position:absolute;top:0;left:30px;right:0;bottom:30px;display:flex;justify-content:space-around}.chart-point-wrapper{position:relative;flex:1}.chart-point{position:absolute;width:10px;height:10px;background:#7c3aed;border-radius:50%;left:50%;transform:translate(-50%)}.chart-labels{position:absolute;bottom:0;left:30px;right:0;display:flex;justify-content:space-around}.chart-labels span{font-size:.6875rem;color:var(--gray-500, #6B7280)}.area-chart{position:relative;height:200px;padding-left:30px}.area-fill{position:absolute;top:0;left:30px;right:0;bottom:30px;background:linear-gradient(180deg,#7c3aed33,#7c3aed00);border-top:2px solid #7C3AED;clip-path:polygon(0% 30%,20% 20%,40% 35%,60% 15%,80% 25%,100% 10%,100% 100%,0% 100%)}.bar-chart{display:flex;justify-content:space-between;align-items:flex-end;height:150px;padding-top:1rem;gap:.5rem}.bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.bar{width:100%;max-width:40px;border-radius:4px 4px 0 0;transition:all .3s ease}.bar-label{font-size:.625rem;color:var(--gray-500, #6B7280);margin-top:.5rem}.subject-bars{display:flex;justify-content:space-around;align-items:flex-end;height:180px;padding:1rem 0}.subject-bar-wrapper{display:flex;flex-direction:column;align-items:center;flex:1;max-width:60px}.subject-bar{width:40px;border-radius:6px 6px 0 0;transition:all .3s ease}.subject-label{font-size:.625rem;color:var(--gray-600, #4B5563);margin-top:.5rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60px}.pie-chart-container{display:flex;gap:2rem;align-items:center}.pie-chart{position:relative;width:180px;height:180px;border-radius:50%;background:conic-gradient(#7c3aed,#7c3aed 72deg,#3b82f6 72deg,#3b82f6 144deg,#10b981 144deg,#10b981 216deg,#f97316 216deg,#f97316 288deg,#ef4444 288deg,#ef4444 360deg);display:flex;align-items:center;justify-content:center}.pie-center{width:100px;height:100px;background:var(--white, #FFFFFF);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.pie-total{font-size:1.5rem;font-weight:700;color:var(--gray-800, #1F2937)}.pie-label{font-size:.75rem;color:var(--gray-500, #6B7280)}.pie-legend{flex:1}.legend-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--gray-100, #F3F4F6)}.legend-color{width:12px;height:12px;border-radius:4px}.legend-name{flex:1;font-size:.8125rem;color:var(--gray-700, #374151)}.legend-value{font-size:.8125rem;font-weight:600;color:var(--gray-800, #1F2937)}.performance-list{display:flex;flex-direction:column;gap:.75rem}.performance-item{display:flex;align-items:center;gap:.75rem}.perf-color{width:16px;height:16px;border-radius:4px}.perf-name{width:100px;font-size:.8125rem;color:var(--gray-700, #374151)}.perf-bar-container{flex:1;height:8px;background:var(--gray-100, #F3F4F6);border-radius:4px;overflow:hidden}.perf-bar{height:100%;border-radius:4px;transition:width .5s ease}.perf-value{width:40px;text-align:right;font-size:.8125rem;font-weight:600;color:var(--gray-800, #1F2937)}.loading-state{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gray-100, #F3F4F6);gap:1rem;z-index:1000}.loading-spinner{width:48px;height:48px;border:4px solid var(--gray-200, #E5E7EB);border-top-color:#7c3aed;border-radius:50%;animation:spin .8s linear infinite}.loading-state p{color:var(--gray-600, #4B5563);font-size:1rem;font-weight:500}@media(max-width:1200px){.stats-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.charts-row{grid-template-columns:1fr}.analytics-header{flex-direction:column;gap:1rem}.analytics-header .header-right{width:100%;flex-wrap:wrap}}@media(max-width:600px){.analytics-main{margin-left:0;margin-bottom:60px;padding:1rem}.stats-cards{grid-template-columns:1fr}.pie-chart-container{flex-direction:column}}[data-theme=dark] .analytics-container{background-color:#0f1117}[data-theme=dark] .analytics-main{background:#0f1117}[data-theme=dark] .analytics-header .header-left h1{color:#f1f5f9}[data-theme=dark] .analytics-header .header-left p{color:#94a3b8}[data-theme=dark] .date-range{background:#1a1f2e;border-color:#2d3348;color:#e2e8f0}[data-theme=dark] .date-range svg{color:#94a3b8}[data-theme=dark] .stat-card{background:#1a1f2e;border-color:#2d3348}[data-theme=dark] .stat-card:hover{box-shadow:0 8px 24px #0006}[data-theme=dark] .stat-card .stat-period{color:#64748b}[data-theme=dark] .chart-card{background:#1a1f2e;border-color:#2d3348}[data-theme=dark] .chart-header h3{color:#f1f5f9}[data-theme=dark] .chart-subtitle{color:#64748b}[data-theme=dark] .legend-item{color:#94a3b8}[data-theme=dark] .grid-line{border-bottom-color:#1e293b}[data-theme=dark] .grid-label,[data-theme=dark] .chart-labels span,[data-theme=dark] .bar-label{color:#64748b}[data-theme=dark] .subject-label{color:#94a3b8}[data-theme=dark] .pie-center{background:#1a1f2e}[data-theme=dark] .pie-total{color:#f1f5f9}[data-theme=dark] .pie-label{color:#94a3b8}[data-theme=dark] .legend-row{border-bottom-color:#2d3348}[data-theme=dark] .legend-name{color:#e2e8f0}[data-theme=dark] .legend-value{color:#f1f5f9}[data-theme=dark] .perf-name{color:#e2e8f0}[data-theme=dark] .perf-bar-container{background:#141824}[data-theme=dark] .perf-value{color:#f1f5f9}[data-theme=dark] .loading-state{background:#0f1117}[data-theme=dark] .loading-spinner{border-color:#2d3348;border-top-color:#7c3aed}[data-theme=dark] .loading-state p{color:#94a3b8}[data-theme=dark] .empty-state{background:#1a1f2e}[data-theme=dark] .empty-state h2{color:#f1f5f9}[data-theme=dark] .empty-state p{color:#94a3b8}.toast{position:fixed;bottom:24px;right:24px;display:flex;align-items:center;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:9999;animation:slideIn .3s ease-out forwards;min-width:300px;max-width:400px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toast-success{background-color:#10b981f2;color:#fff;border-left:4px solid #065f46}.toast-error{background-color:#ef4444f2;color:#fff;border-left:4px solid #991b1b}.toast-info{background-color:#3b82f6f2;color:#fff;border-left:4px solid #1e40af}.toast-icon{margin-right:12px;display:flex;align-items:center;justify-content:center}.toast-icon svg{width:20px;height:20px}.toast-message{flex:1;font-size:.95rem;font-weight:500}.toast-close{background:none;border:none;color:currentColor;opacity:.7;cursor:pointer;font-size:1.25rem;padding:0 4px;margin-left:8px;transition:opacity .2s}.toast-close:hover{opacity:1}@keyframes slideIn{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.settings-container{display:flex;height:100vh;background-color:#f8fafc;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#334155}.settings-main{flex:1;overflow-y:auto;padding:0;position:relative}.settings-main.modal-mode{height:100%;display:flex;flex-direction:column;background-color:#fff}.settings-header{background-color:#fff;padding:24px 40px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.settings-main.modal-mode .settings-header{padding:20px 30px;background-color:#f8fafc}.settings-header h1{font-size:1.5rem;font-weight:700;margin:0 0 4px;color:#1e293b;background:linear-gradient(90deg,#4f46e5,#8b5cf6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.settings-header p{margin:0;color:#64748b;font-size:.9rem}.header-actions{display:flex;align-items:center;gap:16px}.save-btn{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#4f46e5,#4338ca);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #4f46e533;transition:all .2s}.save-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #4f46e54d}.save-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.save-btn svg{width:18px;height:18px}.close-modal-btn{background:none;border:none;font-size:24px;color:#94a3b8;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-modal-btn:hover{background-color:#e2e8f0;color:#64748b}.settings-content{padding:40px;max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px}.settings-main.modal-mode .settings-content{padding:24px 30px;overflow-y:auto;height:100%}.setting-card{background-color:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 10px #00000008;border:1px solid #f1f5f9;transition:all .2s}.setting-card:hover{box-shadow:0 8px 20px #0000000d;transform:translateY(-2px)}.setting-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.setting-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.setting-icon.blue{background-color:#eff6ff;color:#3b82f6}.setting-icon.green{background-color:#ecfdf5;color:#10b981}.setting-icon.purple{background-color:#f5f3ff;color:#8b5cf6}.setting-icon.orange{background-color:#fff7ed;color:#f97316}.setting-icon.dark{background-color:#f1f5f9;color:#475569}.setting-icon svg{width:24px;height:24px}.setting-info{flex:1}.setting-info h3{margin:0 0 4px;font-size:1.1rem;color:#1e293b}.setting-info p{margin:0;font-size:.85rem;color:#64748b;line-height:1.4}.toggle-switch{width:48px;height:26px;background-color:#e2e8f0;border-radius:13px;position:relative;cursor:pointer;transition:background-color .3s;flex-shrink:0}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background-color:#fff;border-radius:50%;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000001a}.toggle-switch.active{background-color:#4f46e5}.toggle-switch.active:after{transform:translate(22px)}.setting-controls{padding-top:16px;border-top:1px solid #f1f5f9;margin-top:8px;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.select-wrapper{display:flex;align-items:center;gap:12px;position:relative}.select-label{font-size:.9rem;color:#64748b;font-weight:500}.custom-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#f8fafc;border:1px solid #e2e8f0;padding:8px 36px 8px 12px;border-radius:8px;font-size:.9rem;color:#334155;cursor:pointer;transition:all .2s}.custom-select:hover{border-color:#cbd5e1}.custom-select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51a}.select-arrow{position:absolute;right:12px;width:16px;height:16px;color:#64748b;pointer-events:none}.chips-container{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.chip.purple{background-color:#f5f3ff;color:#8b5cf6;border-color:#ede9fe}.chip.purple.selected{background-color:#8b5cf6;color:#fff;border-color:#7c3aed}.chip.orange{background-color:#fff7ed;color:#f97316;border-color:#ffedd5}.chip.orange.selected{background-color:#f97316;color:#fff;border-color:#ea580c}.pref-list{display:flex;flex-direction:column;gap:16px}.pref-item{display:flex;justify-content:space-between;align-items:center}.pref-label{display:flex;align-items:center;gap:10px;color:#334155;font-weight:500}.pref-label svg{width:18px;height:18px;color:#64748b}.time-range-controls{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid #f1f5f9}.time-input-group{display:flex;align-items:center;gap:8px}.time-input-group label{font-size:.85rem;color:#64748b}.time-input{border:1px solid #e2e8f0;border-radius:6px;padding:4px 8px;font-family:inherit;color:#334155;outline:none}.time-input:focus{border-color:#4f46e5}.quiet-icon{margin-left:auto;color:#94a3b8}.settings-modal-wrapper{width:100%;height:100%;max-height:85vh;overflow:hidden;border-radius:16px;display:flex;flex-direction:column}@media(max-width:1024px){.settings-content{grid-template-columns:1fr}}.calendar-container{display:flex;min-height:100vh;background-color:var(--gray-100, #F3F4F6)}.calendar-main{flex:1;margin-left:70px;padding:1.5rem 2rem;overflow-y:auto}.calendar-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.calendar-header .header-left h1{font-size:1.5rem;font-weight:700;color:var(--gray-900, #111827);margin-bottom:.25rem}.calendar-header .header-left p{font-size:.875rem;color:var(--gray-500, #6B7280)}.calendar-header .header-right{display:flex;align-items:center;gap:1rem}.view-toggle{display:flex;background:var(--white, #FFFFFF);border-radius:12px;padding:4px;border:1px solid var(--gray-200, #E5E7EB)}.toggle-btn{padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;border:none;background:transparent;color:var(--gray-600, #4B5563);border-radius:8px;cursor:pointer;transition:all .2s ease}.toggle-btn:hover{color:var(--gray-800, #1F2937)}.toggle-btn.active{background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;box-shadow:0 2px 8px #7c3aed4d}.menu-dropdown-container{position:relative}.menu-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--white, #FFFFFF);border:1px solid var(--gray-200, #E5E7EB);border-radius:10px;color:var(--gray-600, #4B5563);cursor:pointer;transition:all .2s ease}.menu-btn:hover{background:var(--gray-50, #F9FAFB);color:#7c3aed}.menu-btn svg{width:20px;height:20px}.menu-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--white, #FFFFFF);border-radius:12px;box-shadow:0 10px 40px #00000026;border:1px solid var(--gray-200, #E5E7EB);min-width:200px;overflow:hidden;z-index:1000;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.menu-dropdown button{width:100%;display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:transparent;border:none;font-size:.875rem;color:var(--gray-700, #374151);cursor:pointer;transition:all .2s ease}.menu-dropdown button:hover{background:var(--gray-50, #F9FAFB);color:#7c3aed}.menu-dropdown button svg{width:18px;height:18px}.calendar-content{display:grid;grid-template-columns:1fr 320px;gap:1.5rem}.calendar-grid-container{background:var(--white, #FFFFFF);border-radius:16px;padding:1.5rem;border:1px solid var(--gray-100, #F3F4F6)}.month-navigation{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.month-navigation h2{font-size:1.25rem;font-weight:600;color:var(--gray-900, #111827);min-width:180px}.nav-arrow{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--gray-100, #F3F4F6);border:none;border-radius:10px;color:var(--gray-600, #4B5563);cursor:pointer;transition:all .2s ease}.nav-arrow:hover{background:#7c3aed;color:#fff}.nav-arrow svg{width:18px;height:18px}.today-btn{margin-left:auto;padding:.5rem 1rem;background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.today-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed59}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;background:var(--gray-200, #E5E7EB);border-radius:12px;overflow:hidden}.calendar-grid.weekly .calendar-day{min-height:400px}.calendar-header-cell{padding:.75rem;text-align:center;font-size:.75rem;font-weight:600;color:var(--gray-500, #6B7280);background:var(--gray-50, #F9FAFB);text-transform:uppercase;letter-spacing:.05em}.calendar-day{min-height:100px;padding:.5rem;background:var(--white, #FFFFFF);cursor:pointer;transition:all .2s ease}.calendar-day:hover{background:#f5f3ff}.calendar-day.other-month{background:var(--gray-50, #F9FAFB)}.calendar-day.other-month .day-number{color:var(--gray-300, #D1D5DB)}.calendar-day.today{background:linear-gradient(135deg,#ede9fe,#f5f3ff)}.calendar-day.today .day-number{background:#7c3aed;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.day-number{font-size:.875rem;font-weight:500;color:var(--gray-700, #374151);margin-bottom:.25rem}.day-events{display:flex;flex-direction:column;gap:2px}.event-dot{display:flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;font-size:.625rem;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.event-icon{font-size:.5rem}.event-title{overflow:hidden;text-overflow:ellipsis}.more-events{font-size:.625rem;color:var(--gray-500, #6B7280);padding:2px 4px}.upcoming-events{background:var(--white, #FFFFFF);border-radius:16px;padding:1.5rem;border:1px solid var(--gray-100, #F3F4F6);height:fit-content}.new-event-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:1.25rem;box-shadow:0 4px 12px #10b9814d}.new-event-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b98166}.new-event-btn:active{transform:translateY(0)}.new-event-btn svg{width:18px;height:18px;stroke-width:2.5}.upcoming-events h3{font-size:1rem;font-weight:600;color:var(--gray-800, #1F2937);margin-bottom:1rem}.events-list{display:flex;flex-direction:column;gap:.75rem}.event-card{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--gray-50, #F9FAFB);border-radius:12px;position:relative;transition:all .2s ease}.event-card:hover{background:var(--gray-100, #F3F4F6)}.event-date-badge{width:48px;height:48px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-size:1.125rem;font-weight:700;line-height:1}.event-date-badge span{font-size:.625rem;font-weight:500;text-transform:uppercase;margin-top:2px}.event-info{flex:1}.event-info h4{font-size:.875rem;font-weight:600;color:var(--gray-800, #1F2937);margin-bottom:.125rem}.event-info p{font-size:.75rem;color:var(--gray-500, #6B7280);margin-bottom:.375rem}.event-type-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:.625rem;font-weight:500}.delete-event-btn{position:absolute;top:.5rem;right:.5rem;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--gray-400, #9CA3AF);font-size:1rem;cursor:pointer;opacity:0;transition:all .2s ease}.event-card:hover .delete-event-btn{opacity:1}.delete-event-btn:hover{color:#ef4444}.no-events{text-align:center;padding:2rem 1rem;color:var(--gray-500, #6B7280)}.no-events span{font-size:2rem;display:block;margin-bottom:.5rem}.no-events p{font-size:.875rem;margin-bottom:.25rem}.no-events small{font-size:.75rem;color:var(--gray-400, #9CA3AF)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.event-modal{background:var(--white, #FFFFFF);border-radius:20px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;animation:scaleIn .3s ease}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.settings-modal-container{background:var(--white, #FFFFFF);border-radius:20px;width:90%;max-width:900px;height:85vh;overflow:hidden;animation:scaleIn .3s ease;display:flex;flex-direction:column}.modal-header{padding:1.5rem;border-bottom:1px solid var(--gray-100, #F3F4F6);position:relative}.modal-header h2{font-size:1.25rem;font-weight:600;color:var(--gray-900, #111827);margin-bottom:.25rem}.selected-date{font-size:.875rem;color:var(--gray-500, #6B7280)}.close-btn{position:absolute;top:1rem;right:1rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--gray-100, #F3F4F6);border:none;border-radius:8px;font-size:1.25rem;color:var(--gray-500, #6B7280);cursor:pointer;transition:all .2s ease}.close-btn:hover{background:var(--gray-200, #E5E7EB);color:var(--gray-700, #374151)}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--gray-700, #374151);margin-bottom:.5rem}.form-group input[type=text],.form-group input[type=time],.form-group textarea{width:100%;padding:.75rem 1rem;background:var(--gray-50, #F9FAFB);border:2px solid transparent;border-radius:10px;font-size:.9375rem;color:var(--gray-800, #1F2937);transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{background:var(--white, #FFFFFF);border-color:#7c3aed;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gray-400, #9CA3AF)}.event-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.type-btn{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.75rem;background:var(--gray-50, #F9FAFB);border:2px solid var(--gray-200, #E5E7EB);border-radius:10px;font-size:.75rem;font-weight:500;color:var(--gray-600, #4B5563);cursor:pointer;transition:all .2s ease}.type-btn span{font-size:1.25rem}.type-btn:hover{background:var(--gray-100, #F3F4F6)}.type-btn.active{background:#fff;color:var(--gray-800, #1F2937)}.modal-footer{padding:1rem 1.5rem;display:flex;justify-content:flex-end;gap:.75rem;border-top:1px solid var(--gray-100, #F3F4F6)}.cancel-btn{padding:.75rem 1.5rem;background:var(--gray-100, #F3F4F6);color:var(--gray-600, #4B5563);border:none;border-radius:10px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:var(--gray-200, #E5E7EB)}.save-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed59}.save-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1100px){.calendar-content{grid-template-columns:1fr}.upcoming-events{display:none}}@media(max-width:600px){.calendar-main{margin-left:0;margin-bottom:60px;padding:1rem}.calendar-header{flex-direction:column;gap:1rem}.calendar-header .header-right{width:100%;justify-content:space-between}.calendar-day{min-height:70px;padding:.25rem}.day-number{font-size:.75rem}.event-dot{font-size:.5rem;padding:1px 4px}.event-title{display:none}.event-type-grid{grid-template-columns:repeat(2,1fr)}}[data-theme=dark] .calendar-container{background-color:#0f1117}[data-theme=dark] .calendar-main{background:#0f1117}[data-theme=dark] .calendar-header .header-left h1{color:#f1f5f9}[data-theme=dark] .calendar-header .header-left p{color:#94a3b8}[data-theme=dark] .view-toggle{background:#1a1f2e;border-color:#2d3348}[data-theme=dark] .toggle-btn{color:#94a3b8}[data-theme=dark] .toggle-btn:hover{color:#e2e8f0}[data-theme=dark] .menu-btn{background:#1a1f2e;border-color:#2d3348;color:#94a3b8}[data-theme=dark] .menu-btn:hover{background:#334155}[data-theme=dark] .menu-dropdown{background:#1a1f2e;border-color:#2d3348;box-shadow:0 10px 40px #00000080}[data-theme=dark] .menu-dropdown button{color:#e2e8f0}[data-theme=dark] .menu-dropdown button:hover{background:#141824}[data-theme=dark] .calendar-grid-container{background:#1a1f2e;border-color:#2d3348}[data-theme=dark] .month-navigation h2{color:#f1f5f9}[data-theme=dark] .nav-arrow{background:#141824;color:#94a3b8}[data-theme=dark] .nav-arrow:hover{background:#7c3aed;color:#fff}[data-theme=dark] .calendar-grid{background:#2d3348}[data-theme=dark] .calendar-header-cell{background:#141824;color:#94a3b8}[data-theme=dark] .calendar-day{background:#1a1f2e}[data-theme=dark] .calendar-day:hover{background:#252b3d}[data-theme=dark] .calendar-day.other-month{background:#141824}[data-theme=dark] .calendar-day.other-month .day-number{color:#475569}[data-theme=dark] .calendar-day.today{background:linear-gradient(135deg,#1e1533,#252040)}[data-theme=dark] .day-number{color:#e2e8f0}[data-theme=dark] .more-events{color:#94a3b8}[data-theme=dark] .upcoming-events{background:#1a1f2e;border-color:#2d3348}[data-theme=dark] .upcoming-events h3{color:#f1f5f9}[data-theme=dark] .event-card{background:#141824}[data-theme=dark] .event-card:hover{background:#1e293b}[data-theme=dark] .event-info h4{color:#f1f5f9}[data-theme=dark] .event-info p{color:#64748b}[data-theme=dark] .no-events{color:#94a3b8}[data-theme=dark] .no-events small{color:#64748b}[data-theme=dark] .event-modal,[data-theme=dark] .settings-modal-container{background:#1a1f2e}[data-theme=dark] .modal-header{border-bottom-color:#2d3348}[data-theme=dark] .modal-header h2{color:#f1f5f9}[data-theme=dark] .selected-date{color:#94a3b8}[data-theme=dark] .close-btn{background:#141824;color:#94a3b8}[data-theme=dark] .close-btn:hover{background:#334155;color:#e2e8f0}[data-theme=dark] .form-group label{color:#e2e8f0}[data-theme=dark] .form-group input[type=text],[data-theme=dark] .form-group input[type=time],[data-theme=dark] .form-group textarea{background:#141824;color:#e2e8f0}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group textarea:focus{background:#0f1117}[data-theme=dark] .type-btn{background:#141824;border-color:#2d3348;color:#94a3b8}[data-theme=dark] .type-btn:hover{background:#1e293b}[data-theme=dark] .type-btn.active{background:#252b3d;color:#f1f5f9}[data-theme=dark] .modal-footer{border-top-color:#2d3348}[data-theme=dark] .cancel-btn{background:#141824;color:#94a3b8}[data-theme=dark] .cancel-btn:hover{background:#1e293b}.settings-container{display:flex;min-height:100vh;background:#f0f2f5;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}.settings-main{flex:1;margin-left:72px;padding:0 36px 28px;overflow-y:auto;height:100vh}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:28px 0 16px;position:sticky;top:0;background:#f0f2f5;z-index:100;margin-bottom:12px}.settings-header .header-left h1{font-size:1.75rem;font-weight:700;color:#1a1a2e;margin:0 0 4px}.settings-header .header-left p{color:#6b7280;font-size:.9rem;margin:0}.settings-header .header-right{display:flex;gap:10px}.header-test-btn{height:38px;border-radius:10px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;display:flex;align-items:center;gap:8px;padding:0 12px;cursor:pointer;transition:all .2s;font-size:.85rem;font-weight:600;font-family:inherit}.header-test-btn svg{width:16px;height:16px}.header-test-btn:hover{background:#dbeafe;border-color:#93c5fd}.header-logout-btn{height:38px;border-radius:10px;border:1px solid #fecaca;background:#fff1f2;color:#dc2626;display:flex;align-items:center;gap:8px;padding:0 12px;cursor:pointer;transition:all .2s;font-size:.85rem;font-weight:600;font-family:inherit}.header-logout-btn svg{width:16px;height:16px}.header-logout-btn:hover{background:#ffe4e6;border-color:#fda4af}.header-icon-btn{width:38px;height:38px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.header-icon-btn svg{width:18px;height:18px;color:#6b7280}.header-icon-btn:hover{background:#f3f4f6;border-color:#d1d5db}.settings-content{display:flex;flex-direction:column;gap:20px}.settings-row{display:flex;gap:20px}.settings-row.two-col>.settings-card{flex:1}.settings-card.full-width{width:100%}.settings-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000a,0 1px 2px #0000000f;border:1px solid #f0f0f5;transition:box-shadow .2s}.settings-card:hover{box-shadow:0 4px 12px #0000000f}.card-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}.card-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-icon svg{width:20px;height:20px}.notification-icon{background:#eef2ff;color:#6366f1}.notification-icon svg{stroke:#6366f1}.quicklinks-icon{background:#fef3c7;color:#d97706}.quicklinks-icon svg{stroke:#d97706}.appearance-icon{background:#f3e8ff;color:#9333ea}.appearance-icon svg{stroke:#9333ea}.language-icon{background:#ffe4e6;color:#e11d48}.language-icon svg{stroke:#e11d48}.calendar-icon{background:#e0f2fe;color:#0284c7}.calendar-icon svg{stroke:#0284c7}.goals-icon{background:#fef9c3;color:#ca8a04}.goals-icon svg{stroke:#ca8a04}.quiz-icon{background:#dbeafe;color:#3b82f6}.quiz-icon svg{stroke:#3b82f6}.data-icon{background:#f0fdf4;color:#16a34a}.data-icon svg{stroke:#16a34a}.card-header h2{font-size:1.05rem;font-weight:650;color:#1a1a2e;margin:0}.card-header p{font-size:.82rem;color:#9ca3af;margin:2px 0 0}.toggle-list{display:flex;flex-direction:column;gap:0}.toggle-item{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #f3f4f6}.toggle-item:last-child{border-bottom:none;padding-bottom:0}.toggle-item:first-child{padding-top:0}.toggle-info{display:flex;flex-direction:column;gap:2px}.toggle-label{font-size:.92rem;font-weight:550;color:#374151}.toggle-desc{font-size:.78rem;color:#9ca3af}.toggle-switch{position:relative;width:48px;height:26px;border-radius:14px;border:none;background:#d1d5db;cursor:pointer;padding:0;transition:background .3s ease;flex-shrink:0}.toggle-switch.active{background:#6366f1}.toggle-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .3s ease}.toggle-switch.active .toggle-knob{transform:translate(22px)}.quick-links-card{display:flex;flex-direction:column}.quick-links-list{display:flex;flex-direction:column;gap:8px}.quick-link-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;border:1px solid #f0f0f5;background:#fafbfc;cursor:pointer;transition:all .2s;width:100%;text-align:left;font-family:inherit}.quick-link-item:hover{background:#f3f4f6;border-color:#e5e7eb;transform:translate(3px)}.quick-link-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.quick-link-icon svg{width:18px;height:18px}.quick-link-icon.password{background:#eef2ff}.quick-link-icon.password svg{stroke:#6366f1}.quick-link-icon.privacy{background:#fce7f3}.quick-link-icon.privacy svg{stroke:#db2777}.quick-link-icon.help{background:#e0f2fe}.quick-link-icon.help svg{stroke:#0284c7}.quick-link-item span{flex:1;font-size:.9rem;font-weight:500;color:#4b5563}.quick-link-arrow{width:16px;height:16px;color:#d1d5db;flex-shrink:0}.theme-section{margin-top:4px}.theme-label,.language-label{display:block;font-size:.82rem;font-weight:550;color:#6b7280;margin-bottom:10px}.theme-toggle{display:flex;gap:10px}.theme-btn{display:flex;align-items:center;gap:8px;padding:10px 24px;border-radius:10px;border:2px solid #e5e7eb;background:#fff;font-size:.88rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s;font-family:inherit}.theme-btn svg{width:14px;height:14px}.theme-btn.active{border-color:#6366f1;background:#eef2ff;color:#4f46e5}.theme-btn:hover:not(.active){border-color:#d1d5db;background:#f9fafb}.language-section{margin-top:4px}.language-select{width:100%;padding:10px 14px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;font-size:.88rem;color:#374151;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;font-family:inherit;transition:border-color .2s}.language-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.calendars-list{display:flex;flex-direction:column;gap:0}.calendar-item{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid #f3f4f6}.calendar-item:last-child{border-bottom:none;padding-bottom:0}.calendar-item:first-child{padding-top:0}.calendar-provider{display:flex;align-items:center;gap:14px}.provider-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.provider-icon.google{background:#f8f9fa;border:1px solid #e8eaed}.provider-icon.outlook{background:#e8f1fd}.provider-icon.icloud{background:#f3f4f6}.provider-info{display:flex;flex-direction:column;gap:2px}.provider-name{font-size:.92rem;font-weight:550;color:#374151}.provider-status{font-size:.78rem;color:#9ca3af}.connect-btn{padding:8px 20px;border-radius:8px;border:1px solid #6366f1;background:#fff;color:#6366f1;font-size:.82rem;font-weight:550;cursor:pointer;transition:all .2s;font-family:inherit}.connect-btn:hover{background:#eef2ff}.connect-btn.connected{background:#f0fdf4;border-color:#16a34a;color:#16a34a}.connected-dot{margin-left:4px}.goals-grid,.quiz-prefs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.goal-field{display:flex;flex-direction:column;gap:6px}.goal-field label{font-size:.82rem;font-weight:550;color:#6b7280}.goal-field select{padding:10px 14px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;font-size:.85rem;color:#374151;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;font-family:inherit;transition:border-color .2s}.goal-field select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.focus-areas{margin-top:20px}.focus-areas label{display:block;font-size:.82rem;font-weight:550;color:#6b7280;margin-bottom:10px}.focus-chips{display:flex;flex-wrap:wrap;gap:8px}.focus-chip{padding:7px 16px;border-radius:20px;border:1px solid #e5e7eb;background:#f9fafb;color:#6b7280;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.focus-chip:hover{border-color:#6366f1;color:#6366f1;background:#f5f3ff}.focus-chip.selected{background:#6366f1;border-color:#6366f1;color:#fff}.data-actions{display:flex;flex-direction:column;gap:16px}.data-buttons{display:flex;gap:12px;margin-top:4px}.data-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit;color:#374151}.data-btn svg{width:16px;height:16px}.data-btn.export:hover{background:#eef2ff;border-color:#6366f1;color:#6366f1}.data-btn.clear{border-color:#fecaca;color:#dc2626}.data-btn.clear:hover{background:#fef2f2;border-color:#dc2626}.settings-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid #e5e7eb}.cancel-btn{padding:10px 28px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.cancel-btn:hover{background:#f3f4f6;border-color:#d1d5db}.save-btn{padding:10px 28px;border-radius:10px;border:none;background:#6366f1;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.save-btn:hover:not(:disabled){background:#4f46e5;box-shadow:0 2px 8px #6366f14d}.save-btn:disabled{opacity:.7;cursor:not-allowed}.settings-toast{position:fixed;bottom:24px;right:24px;padding:14px 24px;border-radius:12px;font-size:.88rem;font-weight:500;z-index:1000;animation:slideUp .3s ease;box-shadow:0 4px 16px #0000001f}.settings-toast.success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.settings-toast.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.settings-toast.info{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.settings-main{margin-left:0;padding:20px 16px}.settings-row.two-col{flex-direction:column}.goals-grid,.quiz-prefs-grid{grid-template-columns:1fr}.data-buttons{flex-direction:column}.settings-footer{position:sticky;bottom:0;background:#f0f2f5;padding:16px 0;margin-top:20px}}@media(max-width:600px){.settings-header{flex-direction:column;gap:12px}.theme-toggle{flex-direction:column}.theme-btn{width:100%;justify-content:center}}[data-theme=dark] .settings-container,[data-theme=dark] .settings-main,[data-theme=dark] .settings-header{background:#0f1117}[data-theme=dark] .settings-header .header-left h1{color:#f1f5f9}[data-theme=dark] .settings-header .header-left p{color:#94a3b8}[data-theme=dark] .header-icon-btn{background:#1e293b;border-color:#334155}[data-theme=dark] .header-icon-btn svg{color:#94a3b8}[data-theme=dark] .header-icon-btn:hover{background:#334155;border-color:#475569}[data-theme=dark] .settings-card{background:#1a1f2e;border-color:#2d3348;box-shadow:0 1px 3px #0000004d}[data-theme=dark] .settings-card:hover{box-shadow:0 4px 12px #0006}[data-theme=dark] .card-header h2{color:#f1f5f9}[data-theme=dark] .card-header p{color:#64748b}[data-theme=dark] .toggle-label{color:#e2e8f0}[data-theme=dark] .toggle-desc{color:#64748b}[data-theme=dark] .toggle-item{border-bottom-color:#2d3348}[data-theme=dark] .toggle-switch{background:#475569}[data-theme=dark] .toggle-switch.active{background:#6366f1}[data-theme=dark] .quick-link-item{background:#151a28;border-color:#2d3348}[data-theme=dark] .quick-link-item:hover{background:#1e293b;border-color:#475569}[data-theme=dark] .quick-link-item span{color:#cbd5e1}[data-theme=dark] .quick-link-arrow{color:#475569}[data-theme=dark] .theme-label,[data-theme=dark] .language-label{color:#94a3b8}[data-theme=dark] .theme-btn{background:#1e293b;border-color:#334155;color:#94a3b8}[data-theme=dark] .theme-btn.active{background:#312e81;border-color:#6366f1;color:#a5b4fc}[data-theme=dark] .theme-btn:hover:not(.active){background:#334155;border-color:#475569}[data-theme=dark] .language-select{background:#1e293b;border-color:#334155;color:#e2e8f0}[data-theme=dark] .language-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}[data-theme=dark] .provider-name{color:#e2e8f0}[data-theme=dark] .provider-status{color:#64748b}[data-theme=dark] .provider-icon.google{background:#1e293b;border-color:#334155}[data-theme=dark] .connect-btn{background:#1e293b;border-color:#6366f1;color:#a5b4fc}[data-theme=dark] .connect-btn:hover{background:#312e81}[data-theme=dark] .connect-btn.connected{background:#052e16;border-color:#16a34a;color:#4ade80}[data-theme=dark] .calendar-item{border-bottom-color:#2d3348}[data-theme=dark] .data-btn{background:#1e293b;border-color:#334155;color:#e2e8f0}[data-theme=dark] .data-btn.export:hover{background:#312e81;border-color:#6366f1;color:#a5b4fc}[data-theme=dark] .data-btn.clear{border-color:#7f1d1d;color:#f87171}[data-theme=dark] .data-btn.clear:hover{background:#450a0a;border-color:#dc2626}[data-theme=dark] .settings-footer{border-top-color:#2d3348}[data-theme=dark] .cancel-btn{background:#1e293b;border-color:#334155;color:#94a3b8}[data-theme=dark] .cancel-btn:hover{background:#334155;border-color:#475569}[data-theme=dark] .save-btn{background:#6366f1}[data-theme=dark] .save-btn:hover:not(:disabled){background:#4f46e5;box-shadow:0 2px 8px #6366f166}[data-theme=dark] .settings-toast.success{background:#052e16;color:#4ade80;border-color:#16a34a}[data-theme=dark] .settings-toast.error{background:#450a0a;color:#f87171;border-color:#dc2626}[data-theme=dark] .settings-toast.info{background:#172554;color:#60a5fa;border-color:#2563eb}[data-theme=dark] .notification-icon{background:#312e81}[data-theme=dark] .quicklinks-icon{background:#422006}[data-theme=dark] .appearance-icon{background:#3b0764}[data-theme=dark] .language-icon{background:#500724}[data-theme=dark] .calendar-icon{background:#0c4a6e}[data-theme=dark] .data-icon{background:#052e16}[data-theme=dark] .quick-link-icon.password{background:#312e81}[data-theme=dark] .quick-link-icon.privacy{background:#500724}[data-theme=dark] .quick-link-icon.help{background:#0c4a6e}.gamification-container{display:flex;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#eef2ff)}.gamification-container .main-content{flex:1;margin-left:70px;padding:1.5rem 2rem;overflow-y:auto}.gamification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:.75rem 1rem;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000a}.header-left{display:flex;align-items:center;gap:.75rem}.header-logo{width:32px;height:32px;border-radius:8px}.header-title{font-weight:700;font-size:1.25rem;color:#1f2937}.header-right{display:flex;align-items:center;gap:1rem}.level-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.875rem}.user-avatar-small{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#ec4899);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem;border:2px solid white;box-shadow:0 2px 8px #0000001a}.gamification-grid{display:grid;grid-template-columns:1fr 300px;gap:1.5rem}.left-column,.right-column{display:flex;flex-direction:column;gap:1.5rem}.card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #0000000a}.card h2{font-size:1.125rem;font-weight:700;color:#1f2937;margin:0 0 1rem}.card h3{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 1rem}.level-progress-card{background:linear-gradient(to right,#fff,#f8fafc)}.level-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.level-tag{display:flex;align-items:center;gap:.375rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:.375rem .75rem;border-radius:16px;font-size:.875rem;font-weight:600}.star-icon{font-size:.875rem}.level-info{display:flex;justify-content:space-between;font-size:.875rem;color:#6b7280;margin-bottom:.75rem}.progress-bar-container{height:32px;background:#e5e7eb;border-radius:16px;overflow:hidden;position:relative}.progress-bar{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:16px;display:flex;align-items:center;justify-content:center;transition:width .5s ease;min-width:150px}.progress-text{color:#fff;font-weight:600;font-size:.875rem;white-space:nowrap}.xp-needed{margin-top:.75rem;font-size:.875rem;color:#6b7280}.subjects-card{padding-bottom:1.25rem}.subjects-grid,.manual-subjects-grid{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.subject-chip{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:12px;border:2px solid transparent;cursor:pointer;font-weight:500;font-size:.9rem;transition:all .2s ease}.subject-chip:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.subject-chip.selected{border-color:#ffffff4d;box-shadow:0 4px 16px #00000026}.subject-icon{font-size:1.125rem}.no-plan-message{text-align:center;color:#6b7280;padding:1rem 0}.no-plan-message p{margin-bottom:1rem}.manual-select-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:1rem}.manual-select-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #6366f166}.enter-quiz-btn{width:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:.875rem 1rem;border-radius:14px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}.enter-quiz-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #6366f166}.enter-quiz-btn:disabled{opacity:.5;cursor:not-allowed}.achievements-header,.badges-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.view-all-btn{background:none;border:none;color:#6366f1;font-weight:500;cursor:pointer;font-size:.875rem}.view-all-btn:hover{text-decoration:underline}.achievements-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.achievement-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}.achievement-item.placeholder{opacity:.7}.achievement-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;background:#f3f4f6}.achievement-icon.gold{background:linear-gradient(135deg,#fcd34d,#f59e0b)}.achievement-icon.silver{background:linear-gradient(135deg,#e5e7eb,#9ca3af)}.achievement-icon.bronze{background:linear-gradient(135deg,#fdba74,#f97316)}.achievement-icon.purple{background:linear-gradient(135deg,#c4b5fd,#8b5cf6)}.achievement-name{font-weight:600;font-size:.875rem;color:#1f2937}.achievement-date{font-size:.75rem;color:#9ca3af}.badges-progress{font-size:.875rem;color:#6b7280}.badges-grid{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.badge-item{display:flex;flex-direction:column;align-items:center;gap:.375rem;width:72px}.badge-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,#fcd34d,#f59e0b);transition:all .2s ease}.badge-item.locked .badge-icon{background:#e5e7eb;opacity:.5}.badge-item.unlocked .badge-icon{box-shadow:0 4px 12px #f59e0b4d}.badge-name{font-size:.75rem;color:#6b7280;text-align:center}.badge-item.locked .badge-name{color:#9ca3af}.challenge-item{background:#f9fafb;border-radius:12px;padding:1rem;margin-bottom:1rem}.challenge-item:last-child{margin-bottom:0}.challenge-info{display:flex;justify-content:space-between;margin-bottom:.5rem}.challenge-title{font-weight:600;color:#1f2937}.challenge-reward{color:#6366f1;font-weight:600}.challenge-progress{display:flex;justify-content:space-between;font-size:.875rem;color:#6b7280;margin-bottom:.5rem}.challenge-time{color:#9ca3af}.challenge-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.challenge-bar-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;transition:width .5s ease}.challenge-bar-fill.green{background:linear-gradient(90deg,#10b981,#34d399)}.streak-card{text-align:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border:none}.streak-icon{font-size:2.5rem;margin-bottom:.5rem}.streak-number{font-size:3rem;font-weight:800;color:#f59e0b;line-height:1}.streak-label{color:#92400e;font-size:.875rem}.current-level-card{text-align:center}.level-circle{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#10b981,#34d399);display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:800;color:#fff;margin:0 auto .75rem;box-shadow:0 4px 16px #10b9814d}.level-title{color:#10b981;font-weight:600;font-size:.9rem}.achievements-count{display:block;font-size:.8rem;color:#6b7280;margin-top:.25rem}.stats-list{display:flex;flex-direction:column;gap:.875rem}.stat-row{display:flex;justify-content:space-between;align-items:center}.stat-label{color:#6b7280;font-size:.9rem}.stat-value{font-weight:700;font-size:1rem}.stat-value.blue{color:#6366f1}.stat-value.green{color:#10b981}.stat-value.orange{color:#f59e0b}.stat-value.gray{color:#6b7280}.reward-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid #F3F4F6}.reward-item:last-child{border-bottom:none}.reward-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.reward-icon.gold{background:linear-gradient(135deg,#fcd34d,#f59e0b)}.reward-icon.orange{background:linear-gradient(135deg,#fdba74,#f97316)}.reward-icon.green{background:linear-gradient(135deg,#6ee7b7,#10b981)}.reward-info{flex:1}.reward-title{font-weight:600;font-size:.9rem;color:#1f2937;display:block}.reward-desc{font-size:.8rem;color:#6b7280}.reward-xp,.reward-days,.reward-level{font-size:.8rem;font-weight:600}.reward-xp{color:#6366f1}.reward-days{color:#f59e0b}.reward-level{color:#10b981}@media(max-width:1200px){.gamification-grid{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.gamification-container .main-content{margin-left:0;margin-bottom:60px;padding:1rem}.achievements-grid{grid-template-columns:repeat(2,1fr)}.right-column{grid-template-columns:1fr}.subjects-grid,.manual-subjects-grid{justify-content:center}}.quiz-config-description{text-align:center;color:#6b7280;font-size:.9rem;margin-bottom:1.5rem}.quiz-config-section{margin-bottom:1.25rem}.quiz-config-label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.quiz-dropdown{width:100%;padding:.75rem 1rem;border:2px solid #E5E7EB;border-radius:10px;font-size:.9rem;color:#1f2937;background:#fff;cursor:pointer;transition:all .2s ease}.quiz-dropdown:hover{border-color:#6366f1}.quiz-dropdown:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.quiz-settings-divider{height:1px;background:linear-gradient(90deg,transparent,#E5E7EB 50%,transparent);margin:1.5rem 0 1.25rem}.quiz-settings-title{font-size:1rem;font-weight:700;color:#1f2937;margin:0 0 1.25rem;text-align:center}.quiz-settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}@media(max-width:768px){.quiz-settings-grid{grid-template-columns:1fr}}.view-all-badges-btn{display:block;width:100%;margin-top:1rem;padding:.75rem;background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#6366f1;border:2px solid #C7D2FE;border-radius:12px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.view-all-badges-btn:hover{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:transparent;transform:translateY(-1px);box-shadow:0 4px 16px #6366f14d}.achievements-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.achievements-modal{background:#fff;border-radius:20px;width:100%;max-width:680px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 24px 48px #00000026;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.achievements-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #F3F4F6}.achievements-modal-header h2{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0}.achievements-modal-subtitle{font-size:.875rem;color:#6b7280;margin:.25rem 0 0}.modal-close-btn{background:#f3f4f6;border:none;border-radius:50%;width:36px;height:36px;font-size:1.25rem;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.modal-close-btn:hover{background:#e5e7eb;color:#1f2937}.achievements-overall-progress{padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem}.achievements-progress-bar{flex:1;height:10px;background:#e5e7eb;border-radius:5px;overflow:hidden}.achievements-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:5px;transition:width .5s ease}.achievements-progress-text{font-size:.875rem;font-weight:600;color:#6366f1;white-space:nowrap}.achievements-modal-content{overflow-y:auto;padding:.5rem 1.5rem 1.5rem;flex:1}.achievement-category{margin-bottom:1.5rem}.achievement-category:last-child{margin-bottom:0}.category-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid #F3F4F6}.category-icon{font-size:1.25rem}.category-header h3{flex:1;font-size:1rem;font-weight:700;color:#1f2937;margin:0}.category-progress{background:#eef2ff;color:#6366f1;font-weight:600;font-size:.8rem;padding:.25rem .625rem;border-radius:10px}.category-badges-grid{display:flex;flex-direction:column;gap:.5rem}.category-badge-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:12px;background:#fafafa;border:1px solid #F3F4F6;transition:all .2s ease}.category-badge-item.unlocked{background:linear-gradient(135deg,#fefce8,#fef9c3);border-color:#fde68a}.category-badge-item.locked{opacity:.65}.category-badge-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.375rem;background:#f3f4f6;flex-shrink:0}.category-badge-item.unlocked .category-badge-icon{background:linear-gradient(135deg,#fcd34d,#f59e0b);box-shadow:0 2px 8px #f59e0b40}.category-badge-info{flex:1;display:flex;flex-direction:column;gap:.125rem}.category-badge-name{font-weight:600;font-size:.9rem;color:#1f2937}.category-badge-desc{font-size:.8rem;color:#6b7280}.badge-status{font-size:1rem;flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%}.badge-status.unlocked{background:#d1fae5;color:#059669;font-weight:700}.badge-status.locked{font-size:.875rem}@media(max-width:600px){.achievements-modal{max-height:90vh;border-radius:16px}.achievements-modal-header{padding:1rem}.achievements-modal-content{padding:.5rem 1rem 1rem}}[data-theme=dark] .gamification-container{background:linear-gradient(135deg,#0f1117,#141824)}[data-theme=dark] .gamification-container .main-content{background:transparent}[data-theme=dark] .gamification-header{background:#1a1f2e;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .header-title{color:#f1f5f9}[data-theme=dark] .user-avatar-small{border-color:#2d3348}[data-theme=dark] .card{background:#1a1f2e;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .card h2,[data-theme=dark] .card h3{color:#f1f5f9}[data-theme=dark] .level-progress-card{background:linear-gradient(to right,#1a1f2e,#141824)}[data-theme=dark] .level-info{color:#94a3b8}[data-theme=dark] .progress-bar-container{background:#141824}[data-theme=dark] .xp-needed{color:#94a3b8}[data-theme=dark] .subject-chip{box-shadow:0 2px 6px #0003}[data-theme=dark] .subject-chip:hover{box-shadow:0 4px 12px #0000004d}[data-theme=dark] .no-plan-message{color:#94a3b8}[data-theme=dark] .achievement-icon{background:#2d3348}[data-theme=dark] .achievement-name{color:#f1f5f9}[data-theme=dark] .achievement-date{color:#64748b}[data-theme=dark] .view-all-btn{color:#a78bfa}[data-theme=dark] .badges-progress{color:#94a3b8}[data-theme=dark] .badge-name{color:#e2e8f0}[data-theme=dark] .badge-item.locked .badge-icon{background:#2d3348;opacity:.6}[data-theme=dark] .badge-item.locked .badge-name{color:#64748b}[data-theme=dark] .challenge-item{background:#141824}[data-theme=dark] .challenge-title{color:#f1f5f9}[data-theme=dark] .challenge-reward{color:#a78bfa}[data-theme=dark] .challenge-progress{color:#94a3b8}[data-theme=dark] .challenge-time{color:#64748b}[data-theme=dark] .challenge-bar{background:#2d3348}[data-theme=dark] .streak-card{background:linear-gradient(135deg,#f59e0b1f,#fde68a14)}[data-theme=dark] .streak-label{color:#fbbf24}[data-theme=dark] .achievements-count,[data-theme=dark] .stat-label,[data-theme=dark] .stat-value.gray{color:#94a3b8}[data-theme=dark] .stat-row{border-color:#2d3348}[data-theme=dark] .reward-item{border-bottom-color:#2d3348}[data-theme=dark] .reward-title{color:#f1f5f9}[data-theme=dark] .reward-desc,[data-theme=dark] .quiz-config-description{color:#94a3b8}[data-theme=dark] .quiz-config-label{color:#e2e8f0}[data-theme=dark] .quiz-dropdown{background:#141824;border-color:#2d3348;color:#e2e8f0}[data-theme=dark] .quiz-dropdown:hover{border-color:#6366f1}[data-theme=dark] .quiz-dropdown:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}[data-theme=dark] .quiz-settings-divider{background:linear-gradient(90deg,transparent,#2d3348 50%,transparent)}[data-theme=dark] .quiz-settings-title{color:#f1f5f9}[data-theme=dark] .view-all-badges-btn{background:linear-gradient(135deg,#6366f11f,#8b5cf614);color:#a78bfa;border-color:#6366f140}[data-theme=dark] .view-all-badges-btn:hover{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:transparent}[data-theme=dark] .achievements-modal-overlay{background:#000000b3}[data-theme=dark] .achievements-modal{background:#1a1f2e;box-shadow:0 24px 48px #00000080}[data-theme=dark] .achievements-modal-header{border-bottom-color:#2d3348}[data-theme=dark] .achievements-modal-header h2{color:#f1f5f9}[data-theme=dark] .achievements-modal-subtitle{color:#94a3b8}[data-theme=dark] .modal-close-btn{background:#141824;color:#94a3b8}[data-theme=dark] .modal-close-btn:hover{background:#1e293b;color:#f1f5f9}[data-theme=dark] .achievements-progress-bar{background:#2d3348}[data-theme=dark] .category-header{border-bottom-color:#2d3348}[data-theme=dark] .category-header h3{color:#f1f5f9}[data-theme=dark] .category-progress{background:#6366f11f;color:#a78bfa}[data-theme=dark] .category-badge-item{background:#141824;border-color:#2d3348}[data-theme=dark] .category-badge-item.unlocked{background:#f59e0b0f;border-color:#f59e0b33}[data-theme=dark] .category-badge-icon{background:#2d3348}[data-theme=dark] .category-badge-name{color:#f1f5f9}[data-theme=dark] .category-badge-desc{color:#94a3b8}[data-theme=dark] .badge-status.unlocked{background:#10b98126;color:#34d399}.quiz-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);padding:24px;display:flex;justify-content:center;align-items:flex-start}.quiz-content{max-width:800px;width:100%;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.quiz-header{background:#fff;padding:20px 32px;border-radius:16px;box-shadow:0 2px 8px #00000014;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.quiz-header-left{display:flex;align-items:center;gap:12px}.quiz-logo{width:40px;height:40px;border-radius:8px}.quiz-title{font-size:24px;font-weight:700;color:#1a1a1a;margin:0}.quiz-exit-btn{width:40px;height:40px;border-radius:8px;border:none;background:#f3f4f6;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.quiz-exit-btn svg{width:20px;height:20px;color:#666}.quiz-exit-btn:hover{background:#fee2e2}.quiz-exit-btn:hover svg{color:#dc2626}.quiz-description{text-align:center;color:#666;font-size:15px;margin:0 0 24px;padding:0 20px}.score-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.score-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;gap:12px;transition:transform .2s ease,box-shadow .2s ease}.score-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.score-card-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.score-card-icon.purple{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.score-card-icon.green{background:linear-gradient(135deg,#10b981,#059669)}.score-card-icon.orange{background:linear-gradient(135deg,#f59e0b,#d97706)}.score-card-content{flex:1}.score-card-value{font-size:28px;font-weight:700;color:#1a1a1a;line-height:1;margin-bottom:4px}.score-card-value.low-time{color:#dc2626;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.score-card-label{font-size:13px;color:#666;font-weight:500}.quiz-progress-section{background:#fff;padding:16px 24px;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px}.quiz-progress-text{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;font-weight:600;color:#1a1a1a}.quiz-progress-percent{color:#6366f1}.quiz-progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.quiz-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);transition:width .3s ease;border-radius:4px}.question-card{background:#fff;padding:32px;border-radius:16px;box-shadow:0 4px 12px #0000001a;margin-bottom:24px}.question-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.question-icon{width:48px;height:48px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:700;flex-shrink:0}.question-subject-badge{padding:8px 16px;background:#ede9fe;color:#6366f1;border-radius:8px;font-size:13px;font-weight:600}.question-text{font-size:20px;font-weight:600;color:#1a1a1a;line-height:1.5;margin:0 0 24px}.answer-options{display:flex;flex-direction:column;gap:12px}.answer-option{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.answer-option:hover{border-color:#6366f1;background:#f5f3ff;transform:translate(4px)}.answer-option.selected{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:#6366f1;color:#fff}.option-letter{width:36px;height:36px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:#6366f1;flex-shrink:0}.answer-option.selected .option-letter{background:#fff3;color:#fff}.option-text{flex:1;font-size:16px;color:#1a1a1a}.answer-option.selected .option-text{color:#fff}.quiz-navigation{display:flex;gap:12px;margin-bottom:24px}.quiz-btn{flex:1;padding:16px 24px;border-radius:12px;border:none;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.next-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 12px #6366f14d}.next-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6366f166}.next-btn:active{transform:translateY(0)}.skip-btn{background:#fff;color:#666;border:2px solid #e5e7eb}.skip-btn:hover{background:#f9fafb;border-color:#d1d5db}.pro-tip{background:#fff;padding:20px 24px;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;align-items:flex-start;gap:16px}.pro-tip-icon{width:48px;height:48px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.pro-tip-content h3{margin:0 0 4px;font-size:16px;font-weight:700;color:#1a1a1a}.pro-tip-content p{margin:0;font-size:14px;color:#666;line-height:1.5}.loading{text-align:center;padding:80px 40px;display:flex;flex-direction:column;align-items:center;gap:20px}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading p{font-size:18px;color:#1a1a1a;font-weight:600;margin:0}.loading-subtitle{font-size:14px!important;color:#666!important;font-weight:400!important}.error-message{text-align:center;padding:80px 40px;background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000001a}.error-message h2{font-size:24px;color:#dc2626;margin:0 0 16px}.error-message p{font-size:16px;color:#666;margin:0 0 24px;line-height:1.5}.error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.retry-count{font-size:13px;color:#94a3b8;font-weight:500;margin:-8px 0 16px}.retry-btn{padding:12px 32px;background:#fff;color:#666;border:2px solid #e5e7eb;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.retry-btn:hover{background:#f9fafb;border-color:#d1d5db}.retry-btn.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;box-shadow:0 4px 12px #6366f14d}.retry-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6366f166}.retry-btn:active{transform:translateY(0)}@media(max-width:768px){.quiz-container{padding:16px}.score-cards{grid-template-columns:1fr;gap:12px}.quiz-header{padding:16px 20px}.quiz-title{font-size:20px}.question-card{padding:24px 20px}.question-text{font-size:18px}.quiz-navigation{flex-direction:column}.answer-option:hover{transform:none}}[data-theme=dark] .quiz-container{background:linear-gradient(135deg,#0f1117,#141824)}[data-theme=dark] .quiz-card{background:#1a1f2e;box-shadow:0 4px 12px #0006}[data-theme=dark] .quiz-title{color:#f1f5f9}[data-theme=dark] .quiz-description{color:#94a3b8}[data-theme=dark] .quiz-exit-btn{background:#141824}[data-theme=dark] .quiz-exit-btn svg{color:#94a3b8}[data-theme=dark] .quiz-exit-btn:hover{background:#3b1818}[data-theme=dark] .score-card{background:#141824}[data-theme=dark] .score-card-value{color:#f1f5f9}[data-theme=dark] .score-card-label{color:#94a3b8}[data-theme=dark] .quiz-progress-bar{background:#141824}[data-theme=dark] .question-card{background:#1a1f2e;box-shadow:0 4px 12px #0006}[data-theme=dark] .question-number{color:#94a3b8}[data-theme=dark] .question-text{color:#f1f5f9}[data-theme=dark] .answer-option{background:#141824;border-color:#2d3348;color:#e2e8f0}[data-theme=dark] .answer-option:hover{border-color:#6366f1;background:#1e1533}[data-theme=dark] .option-letter{background:#1a1f2e;color:#a78bfa}[data-theme=dark] .answer-option.selected .option-letter{background:#fff3;color:#fff}[data-theme=dark] .skip-btn{background:#1a1f2e;color:#94a3b8;border-color:#2d3348}[data-theme=dark] .skip-btn:hover{background:#252b3d;border-color:#475569}[data-theme=dark] .pro-tip{background:#1a1f2e;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .pro-tip-text{color:#94a3b8}[data-theme=dark] .pro-tip-text strong{color:#f1f5f9}[data-theme=dark] .loading{background:#0f1117}[data-theme=dark] .loading p{color:#f1f5f9}[data-theme=dark] .loading-subtitle{color:#94a3b8!important}[data-theme=dark] .error-message{background:#1a1f2e;box-shadow:0 4px 12px #0006}[data-theme=dark] .error-message p{color:#94a3b8}.quiz-results-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);padding:24px;display:flex;justify-content:center;align-items:flex-start}.quiz-results-content{max-width:900px;width:100%;animation:fadeIn .5s ease-in}.quiz-results-header{background:#fff;padding:32px;border-radius:16px;box-shadow:0 4px 12px #0000001a;text-align:center;margin-bottom:24px}.results-logo{width:60px;height:60px;border-radius:12px;margin-bottom:16px}.results-title{font-size:32px;font-weight:700;color:#1a1a1a;margin:0}.performance-card{background:#fff;padding:40px;border-radius:16px;box-shadow:0 4px 12px #0000001a;margin-bottom:24px;text-align:center}.performance-circle{position:relative;width:200px;height:200px;margin:0 auto 24px}.performance-svg{transform:rotate(0);width:100%;height:100%}.performance-progress{transition:stroke-dasharray 1s ease-in-out}.performance-score{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.performance-percent{font-size:48px;font-weight:700;color:#1a1a1a;line-height:1}.performance-label{font-size:14px;color:#666;margin-top:4px}.performance-feedback{font-size:20px;font-weight:600;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;align-items:center;gap:12px}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.stat-icon.green{background:linear-gradient(135deg,#10b981,#059669)}.stat-icon.red{background:linear-gradient(135deg,#ef4444,#dc2626)}.stat-icon.orange{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-icon.purple{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.stat-content{text-align:center}.stat-value{font-size:28px;font-weight:700;color:#1a1a1a}.stat-label{font-size:13px;color:#666;font-weight:500}.xp-reward-card{background:linear-gradient(135deg,#fbbf24,#f59e0b);padding:24px;border-radius:12px;margin-bottom:24px;box-shadow:0 4px 12px #f59e0b4d}.xp-reward-content{display:flex;align-items:center;gap:16px;color:#fff}.xp-icon{width:56px;height:56px;background:#fff3;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:32px;flex-shrink:0}.xp-reward-content h3{margin:0 0 4px;font-size:18px;font-weight:700}.xp-reward-content p{margin:0;font-size:24px;font-weight:700}.bonus-badge{display:inline-block;padding:4px 12px;background:#ffffff4d;border-radius:6px;font-size:12px;font-weight:600;margin-left:8px}.xp-breakdown{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.breakdown-item{font-size:13px;padding:4px 10px;background:#fff3;border-radius:6px;font-weight:500}.breakdown-item.bonus{background:#ffffff4d;font-weight:600}.badge-unlock-notification{background:linear-gradient(135deg,#10b981,#059669);padding:24px;border-radius:12px;margin-bottom:24px;box-shadow:0 4px 12px #10b9814d;animation:slideIn .5s ease-out}.badge-unlock-notification h3{margin:0 0 16px;font-size:20px;font-weight:700;color:#fff;text-align:center}.unlocked-badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.unlocked-badge{background:#fff3;padding:16px;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:8px;animation:badgePop .6s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.badge-icon{font-size:40px;animation:bounce .8s ease-in-out infinite}.badge-name{font-size:13px;font-weight:600;color:#fff;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes badgePop{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.quiz-details{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e5e7eb}.detail-item:last-child{border-bottom:none}.detail-label{font-size:14px;color:#666;font-weight:500}.detail-value{font-size:14px;color:#1a1a1a;font-weight:600}.results-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px}.results-btn{padding:16px 24px;border-radius:12px;border:none;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.results-btn.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 12px #6366f14d}.results-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6366f166}.results-btn.secondary{background:#fff;color:#666;border:2px solid #e5e7eb}.results-btn.secondary:hover{background:#f9fafb;border-color:#d1d5db}.review-section{background:#fff;padding:32px;border-radius:16px;box-shadow:0 4px 12px #0000001a}.review-title{font-size:24px;font-weight:700;color:#1a1a1a;margin:0 0 24px}.review-list{display:flex;flex-direction:column;gap:16px}.review-item{padding:20px;border-radius:12px;border-left:4px solid #e5e7eb}.review-item.correct{background:#f0fdf4;border-left-color:#10b981}.review-item.incorrect{background:#fef2f2;border-left-color:#ef4444}.review-item.skipped{background:#fef9e7;border-left-color:#f59e0b}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.review-number{font-size:14px;font-weight:600;color:#666}.review-status{font-size:13px;font-weight:600;padding:4px 12px;border-radius:6px}.review-status.correct{background:#10b981;color:#fff}.review-status.incorrect{background:#ef4444;color:#fff}.review-status.skipped{background:#f59e0b;color:#fff}.review-question{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 16px;line-height:1.5}.review-answers{display:flex;flex-direction:column;gap:8px}.review-answer-item{display:flex;flex-direction:column;gap:4px}.review-answer-label{font-size:12px;color:#666;font-weight:500}.review-answer-text{font-size:14px;color:#1a1a1a;padding:8px 12px;border-radius:6px;background:#fff}.review-answer-text.wrong{background:#fee2e2;color:#dc2626}.review-answer-text.correct{background:#d1fae5;color:#059669}.review-explanation{margin-top:8px;padding:12px;background:#eff6ff;border-radius:8px;border-left:3px solid #3b82f6}.review-explanation-label{font-size:13px;font-weight:600;color:#3b82f6;display:block;margin-bottom:4px}.review-explanation p{margin:0;font-size:14px;color:#1e40af;line-height:1.5}@media(max-width:768px){.quiz-results-container{padding:16px}.stats-grid{grid-template-columns:repeat(2,1fr)}.results-actions{grid-template-columns:1fr}.quiz-results-header{padding:24px 20px}.results-title{font-size:24px}.performance-card{padding:24px 20px}.performance-circle{width:160px;height:160px}.performance-percent{font-size:36px}.review-section{padding:24px 20px}}[data-theme=dark] .quiz-results-container{background:linear-gradient(135deg,#0f1117,#141824)}[data-theme=dark] .quiz-results-card{background:#1a1f2e;box-shadow:0 4px 12px #0006}[data-theme=dark] .quiz-results-header h1{color:#f1f5f9}[data-theme=dark] .performance-card{background:#1a1f2e;box-shadow:0 4px 12px #0006}[data-theme=dark] .performance-percent{color:#f1f5f9}[data-theme=dark] .performance-label{color:#94a3b8}[data-theme=dark] .performance-feedback{color:#f1f5f9}[data-theme=dark] .stat-card{background:#141824}[data-theme=dark] .stat-card .stat-value{color:#f1f5f9}[data-theme=dark] .stat-card .stat-label{color:#94a3b8}[data-theme=dark] .quiz-details{background:#1a1f2e;box-shadow:0 4px 12px #0006}[data-theme=dark] .detail-label{color:#94a3b8}[data-theme=dark] .detail-value{color:#f1f5f9}[data-theme=dark] .results-btn.secondary{background:#1a1f2e;color:#94a3b8;border-color:#2d3348}[data-theme=dark] .results-btn.secondary:hover{background:#252b3d;border-color:#475569}[data-theme=dark] .review-section{background:#1a1f2e;box-shadow:0 4px 12px #0006}[data-theme=dark] .review-title{color:#f1f5f9}[data-theme=dark] .review-card{background:#141824;border-color:#2d3348}[data-theme=dark] .review-question{color:#f1f5f9}[data-theme=dark] .review-answer-item{background:#1a1f2e;color:#e2e8f0}[data-theme=dark] .review-explanation{background:#141824;border-color:#2d3348}[data-theme=dark] .review-explanation p{color:#94a3b8}.profile-page{display:flex;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e8ecf1)}.profile-main{flex:1;margin-left:70px;padding:40px;display:flex;justify-content:center;align-items:flex-start}.profile-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:80px 0}.profile-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#4f6ef7;border-radius:50%;animation:profileSpin .8s linear infinite}@keyframes profileSpin{to{transform:rotate(360deg)}}.profile-loading p{font-size:16px;color:#666;font-weight:500}.profile-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:40px;max-width:640px;width:100%}.profile-header{display:flex;align-items:center;gap:16px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #eef0f4}.profile-header-icon{width:48px;height:48px;background:linear-gradient(135deg,#4f6ef7,#6b8cff);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-header-icon svg{width:24px;height:24px;color:#fff}.profile-header-text h2{margin:0;font-size:20px;font-weight:700;color:#1a1a2e}.profile-header-text p{margin:4px 0 0;font-size:14px;color:#8892a4}.profile-photo-section{display:flex;align-items:center;gap:20px;margin-bottom:32px}.profile-avatar-large{position:relative;width:72px;height:72px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#f59e0b,#f97316);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:3px solid #fff;box-shadow:0 2px 12px #0000001f}.upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;border-radius:50%}.upload-spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:profileSpin .6s linear infinite}.profile-avatar-img{width:100%;height:100%;object-fit:cover}.profile-avatar-initial{font-size:28px;font-weight:700;color:#fff}.profile-photo-actions{display:flex;flex-direction:column;gap:6px}.change-photo-btn{padding:8px 20px;background:#4f6ef7;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;width:fit-content}.change-photo-btn:hover{background:#3d5ce0;transform:translateY(-1px);box-shadow:0 4px 12px #4f6ef74d}.change-photo-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.photo-hint{font-size:12px;color:#94a3b8}.profile-form{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:14px;font-weight:600;color:#374151}.form-group input,.form-group textarea{padding:12px 16px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:15px;font-family:Inter,sans-serif;color:#1a1a2e;background:#fafbfc;transition:all .2s ease;outline:none}.form-group input:focus,.form-group textarea:focus{border-color:#4f6ef7;background:#fff;box-shadow:0 0 0 3px #4f6ef71a}.form-group input::placeholder,.form-group textarea::placeholder{color:#a0aec0}.readonly-input{background:#f1f5f9!important;color:#64748b!important;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:100px}.profile-actions{display:flex;justify-content:flex-end}.save-btn{padding:12px 28px;background:#4f6ef7;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #4f6ef740}.save-btn:hover{background:#3d5ce0;transform:translateY(-2px);box-shadow:0 6px 16px #4f6ef759}.save-btn:active{transform:translateY(0)}.save-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.profile-toast{position:fixed;bottom:32px;right:32px;padding:14px 24px;border-radius:12px;font-size:14px;font-weight:600;color:#fff;animation:toastSlideIn .3s ease;z-index:1000;box-shadow:0 8px 24px #00000026}.profile-toast.success{background:linear-gradient(135deg,#10b981,#059669)}.profile-toast.error{background:linear-gradient(135deg,#ef4444,#dc2626)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.profile-main{margin-left:0;margin-bottom:60px;padding:20px}.profile-card{padding:24px}.form-row{grid-template-columns:1fr}.profile-photo-section{flex-direction:column;align-items:flex-start}}[data-theme=dark] .profile-page{background:linear-gradient(135deg,#0f1117,#141824)}[data-theme=dark] .profile-card{background:#1a1f2e;box-shadow:0 4px 20px #0006}[data-theme=dark] .profile-header{border-bottom-color:#2d3348}[data-theme=dark] .profile-header-text h2{color:#f1f5f9}[data-theme=dark] .profile-header-text p{color:#64748b}[data-theme=dark] .form-group label{color:#cbd5e1}[data-theme=dark] .form-group input,[data-theme=dark] .form-group textarea{background:#141824;border-color:#2d3348;color:#e2e8f0}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group textarea:focus{border-color:#4f6ef7;background:#1a1f2e;box-shadow:0 0 0 3px #4f6ef726}[data-theme=dark] .form-group input::placeholder,[data-theme=dark] .form-group textarea::placeholder{color:#475569}[data-theme=dark] .readonly-input{background:#0f1117!important;color:#64748b!important}[data-theme=dark] .photo-hint{color:#475569}[data-theme=dark] .profile-loading p{color:#94a3b8}.app{min-height:100vh}.signin-container,.signup-container{animation:pageSlideIn .4s ease-out}@keyframes pageSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.dashboard-placeholder{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gradient-start) 0%,var(--gradient-end) 100%);text-align:center;padding:2rem;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dashboard-placeholder h1{font-size:2.5rem;font-weight:700;color:var(--gray-800);margin-bottom:1rem}.dashboard-placeholder p{font-size:1.125rem;color:var(--gray-600)}:root{--primary-purple: #7C3AED;--primary-purple-light: #8B5CF6;--primary-purple-dark: #6D28D9;--gradient-start: #E0D4FC;--gradient-end: #F5D0FE;--gradient-accent: #DDD6FE;--white: #FFFFFF;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--success-green: #10B981;--warning-yellow: #F59E0B;--error-red: #EF4444;--info-blue: #3B82F6;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background-color:var(--gray-100);color:var(--gray-800);line-height:1.6;min-height:100vh}#root{min-height:100vh}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:2px solid var(--primary-purple);outline-offset:2px}a{color:var(--primary-purple);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-purple-dark)}button{font-family:inherit;cursor:pointer;border:none;background:none}input{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}
