:root{--primary: #6667AB;--primary-dark: #4B4C8C;--primary-light: #8B8CD9;--background: #F5F6FF;--white: #FFFFFF;--text: #1A1A2E;--text-light: #5A5A7A;--border: #E8E8F0;--shadow: 0 4px 12px rgba(102, 103, 171, .1);--shadow-hover: 0 12px 24px rgba(102, 103, 171, .15)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text);background-color:var(--white)}.landing-page{overflow-x:hidden}.section-container{max-width:1200px;margin:0 auto;padding:0 40px}.section-header{text-align:center;margin-bottom:60px}.section-header h2{font-size:48px;font-weight:700;margin-bottom:16px;color:var(--text);line-height:1.2}.section-header p{font-size:18px;color:var(--text-light);margin-top:12px}.btn-primary,.btn-primary-large{background-color:var(--primary);color:var(--white);border:2px solid transparent;border-radius:8px;padding:14px 40px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.btn-primary:hover,.btn-primary-large:hover{background-color:var(--primary-dark);box-shadow:0 8px 16px #6667ab4d;transform:translateY(-2px)}.btn-primary-large{padding:14px 40px;font-size:18px;gap:12px}.btn-secondary,.btn-secondary-large{background-color:transparent;color:var(--primary);border:2px solid var(--primary);border-radius:8px;padding:10px 22px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.btn-secondary:hover,.btn-secondary-large:hover{background-color:var(--primary);color:var(--white);border-color:var(--primary)}.btn-secondary-large{padding:14px 40px;font-size:18px;gap:12px}.btn-outline{background-color:transparent;color:var(--primary);border:2px solid var(--primary);border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%}.btn-outline:hover{background-color:var(--primary);color:var(--white)}.btn-primary:disabled,.btn-primary-large:disabled,.btn-secondary:disabled,.btn-secondary-large:disabled,.btn-outline:disabled{background-color:#d0d0e0;color:#a0a0b0;border-color:#d0d0e0;cursor:not-allowed;opacity:.6}.btn-primary:disabled:hover,.btn-primary-large:disabled:hover,.btn-secondary:disabled:hover,.btn-secondary-large:disabled:hover,.btn-outline:disabled:hover{background-color:#d0d0e0;color:#a0a0b0;border-color:#d0d0e0;box-shadow:none;transform:none}.btn-disabled{background-color:#d0d0e0;color:#a0a0b0}.btn-practice{background-color:var(--primary);color:var(--white);border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;margin-top:16px;width:100%;transition:all .3s ease}.btn-practice:hover{background-color:var(--primary-dark)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:transparent;transition:all .3s ease;padding:20px 0}.navbar.scrolled{background-color:var(--white);box-shadow:0 2px 8px #0000001a;padding:12px 0}.nav-container{max-width:1200px;margin:0 auto;padding:0 40px;display:flex;justify-content:space-between;align-items:center}.nav-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;color:var(--text);text-decoration:none}.logo-icon{font-size:24px}.logo-text{background:linear-gradient(135deg,var(--primary),var(--primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-links{display:flex;gap:40px;align-items:center}.nav-links a{color:var(--text);text-decoration:none;font-weight:500;font-size:15px;transition:color .3s ease}.nav-links a:hover{color:var(--primary)}.nav-link-btn{background:none;border:none;color:var(--text);text-decoration:none;font-weight:500;font-size:15px;transition:color .3s ease;cursor:pointer;padding:0}.nav-cta{display:flex;gap:12px;align-items:center}.btn-student-login{background-color:#ffd66b;color:#1a1a2e;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:6px}.btn-student-login:hover{background-color:#ffc847;transform:translateY(-2px);box-shadow:0 4px 12px #ffd66b4d}.btn-admin{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:6px}.btn-admin:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.hero{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);padding:160px 0 100px;margin-top:70px;color:var(--white)}.hero-container{max-width:1200px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.hero-content{display:flex;flex-direction:column;gap:24px}.hero-title{font-size:56px;font-weight:700;line-height:1.2;margin:0}.hero-title .highlight{background:linear-gradient(120deg,gold,orange);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:18px;line-height:1.6;opacity:.95;max-width:500px}.hero-buttons{display:flex;flex-direction:column;gap:16px;margin-top:12px;flex-wrap:wrap;align-items:flex-start}.hero-buttons .btn-primary-large,.hero-buttons .btn-secondary-large{padding:14px 40px!important;font-size:18px!important;width:100%}.hero-buttons .btn-secondary-large{color:var(--white)!important;border-color:var(--white)!important}.hero-visual{display:flex;justify-content:center}.speaking-practice-card{background-color:var(--white);border-radius:16px;padding:32px 24px;width:100%;max-width:380px;box-shadow:0 16px 40px #6667ab26;display:flex;flex-direction:column;align-items:center;gap:20px;transition:all .3s ease;position:relative;top:0}.speaking-practice-card:hover{box-shadow:0 24px 48px #6667ab33;transform:translateY(-8px)}.practice-label{font-size:12px;color:var(--text-light);font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.practice-sentence{font-size:28px;font-weight:700;color:var(--text);text-align:center;line-height:1.3}.highlight-word{background-color:#ffc107;padding:2px 6px;border-radius:4px;color:var(--text)}.practice-visual{margin:16px 0}.microphone-container{display:flex;flex-direction:column;align-items:center;gap:16px}.mic-icon{color:var(--primary);animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.waveform{display:flex;align-items:center;justify-content:center;gap:4px;height:32px}.wave{width:3px;background:linear-gradient(180deg,var(--primary-light),var(--primary));border-radius:2px;animation:wave 1s ease-in-out infinite}.wave:nth-child(1){height:16px;animation-delay:0s}.wave:nth-child(2){height:28px;animation-delay:.1s}.wave:nth-child(3){height:16px;animation-delay:.2s}@keyframes wave{0%,to{height:16px}50%{height:32px}}.practice-result{text-align:center;margin:8px 0}.result-score{font-size:32px;font-weight:700;color:var(--primary)}.result-label{font-size:14px;color:var(--text-light);margin-top:4px}.btn-try-again{background-color:var(--primary);color:var(--white);border:none;border-radius:8px;padding:12px 28px;font-size:16px;font-weight:600;cursor:pointer;width:100%;transition:all .3s ease;margin-top:8px}.btn-try-again:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 8px 16px #6667ab4d}.features{padding:120px 0;background-color:var(--background)}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.feature-card{background-color:var(--white);padding:40px;border-radius:12px;box-shadow:var(--shadow);transition:all .3s ease;text-align:center}.feature-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover)}.feature-icon{font-size:48px;margin-bottom:16px}.feature-card h3{font-size:20px;font-weight:700;margin-bottom:12px;color:var(--text)}.feature-card p{font-size:15px;color:var(--text-light);line-height:1.6}.how-it-works{padding:120px 0;background-color:var(--background)}.steps-flow{display:flex;align-items:center;justify-content:space-between;gap:0;flex-wrap:wrap;position:relative}.step-card{flex:1;min-width:200px;background-color:var(--white);border:2px solid var(--border);border-radius:12px;padding:28px 20px;text-align:center;transition:all .3s ease;position:relative;z-index:2}.step-card:hover{border-color:var(--primary);box-shadow:0 8px 24px #6667ab26;transform:translateY(-4px)}.step-icon{font-size:48px;margin-bottom:12px;display:block}.step-card h3{font-size:16px;font-weight:700;margin-bottom:10px;color:var(--text);line-height:1.3}.step-card p{font-size:13px;color:var(--text-light);line-height:1.5;margin:0}.step-connector{width:40px;height:3px;background:linear-gradient(90deg,var(--primary-light),var(--primary));position:relative;margin:0 -8px;flex-shrink:0}.step-connector:after{content:"";position:absolute;right:-8px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:8px solid var(--primary);border-top:5px solid transparent;border-bottom:5px solid transparent}line-height: 1.6; } .target{padding:120px 0;background-color:var(--white)}.target-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.benefit{text-align:center}.benefit-icon{font-size:48px;margin-bottom:16px}.benefit h3{font-size:18px;font-weight:700;margin-bottom:12px;color:var(--text)}.benefit p{font-size:14px;color:var(--text-light);line-height:1.6}.testimonials{padding:120px 0;background-color:var(--background)}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.testimonial-card{background-color:var(--white);padding:40px;border-radius:12px;box-shadow:var(--shadow);transition:all .3s ease;border-left:4px solid var(--primary)}.testimonial-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover)}.testimonial-stars{color:#ffc107;font-size:18px;margin-bottom:16px;letter-spacing:2px}.testimonial-text{font-size:15px;color:var(--text);line-height:1.6;margin-bottom:24px;font-style:italic}.testimonial-author{border-top:1px solid var(--border);padding-top:16px}.author-name{font-size:16px;font-weight:700;color:var(--text);margin-bottom:4px}.author-role{font-size:13px;color:var(--text-light)}.footer{background-color:var(--text);color:var(--white);padding:80px 0 40px}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:60px}.footer-col h4{font-size:16px;font-weight:700;margin-bottom:20px}.footer-col ul{list-style:none}.footer-col ul li{margin-bottom:12px}.footer-col a{color:#b0b0b0;text-decoration:none;font-size:14px;transition:color .3s ease}.footer-col a:hover{color:var(--primary-light)}.footer-col p{font-size:14px;color:#b0b0b0;margin-bottom:12px}.footer-bottom{border-top:1px solid #444;padding-top:40px;text-align:center;font-size:14px;color:#888}@media (max-width: 768px){.nav-links{display:none}.nav-cta{gap:8px;flex-wrap:wrap}.btn-student-login,.btn-secondary,.btn-admin{padding:8px 14px;font-size:12px}.section-header h2{font-size:36px}.hero-container{grid-template-columns:1fr;gap:40px;padding:0 20px}.hero-title{font-size:40px}.hero-buttons{flex-direction:column}.btn-primary-large,.btn-secondary-large{padding:14px 40px;font-size:18px;width:100%}.features-grid{grid-template-columns:1fr;gap:24px}.steps-grid{grid-template-columns:repeat(2,1fr);gap:24px}.steps-flow{flex-direction:column;gap:20px}.step-connector{width:3px;height:40px;margin:-8px 0;background:linear-gradient(180deg,var(--primary-light),var(--primary))}.step-connector:after{border-left:transparent;border-top:5px solid var(--primary);border-right:5px solid transparent;border-bottom:transparent;bottom:-8px;top:auto;right:auto;transform:translate(-50%);left:50%}.target-benefits{grid-template-columns:repeat(2,1fr)}.testimonials-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}.cta-content h2{font-size:32px}}@media (max-width: 480px){.section-container{padding:0 20px}.nav-cta{gap:6px;flex-direction:column;width:100%}.btn-student-login,.btn-secondary,.btn-admin{width:100%;padding:8px 12px;font-size:12px;justify-content:center}.section-header h2{font-size:28px}.hero-title{font-size:32px}.hero-subtitle{font-size:16px}.btn-primary-large,.btn-secondary-large{padding:14px 40px;font-size:18px}.steps-grid{grid-template-columns:1fr}.steps-flow{flex-direction:column;gap:16px}.step-card{min-width:100%;padding:20px 16px}.step-connector{width:3px;height:30px;margin:-6px 0}.target-benefits,.footer-grid{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.modal-content{background-color:var(--white);border-radius:12px;padding:40px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease;position:relative}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;color:var(--text-light);padding:8px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.modal-close:hover{background-color:var(--background);color:var(--text)}.modal-content h2{font-size:28px;font-weight:700;margin-bottom:8px;color:var(--text)}.modal-content>p{font-size:14px;color:var(--text-light);margin-bottom:28px}.contact-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-size:14px;font-weight:600;color:var(--text)}.form-group input,.form-group select,.form-group textarea{padding:12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s ease;background-color:var(--white);color:var(--text)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6667ab1a}.form-group textarea{resize:vertical;font-family:inherit;line-height:1.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group.full-width{grid-column:1 / -1}.contact-form button{margin-top:12px;width:100%;padding:14px 24px}.nav-link-btn{background:none;border:none;color:var(--text);font-size:15px;font-weight:500;cursor:pointer;transition:color .3s ease;padding:0}.nav-link-btn:hover{color:var(--primary)}@media (max-width: 480px){.modal-content{padding:24px;width:95%}.modal-content h2{font-size:22px}.form-row{grid-template-columns:1fr}.modal-content>p{font-size:13px}}.login-page{min-height:100vh;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);display:flex;align-items:center;justify-content:center;padding:20px;position:relative}.back-button{position:absolute;top:30px;left:30px;background-color:#fff3;color:var(--white);border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button:hover{background-color:#ffffff4d;transform:translate(-4px)}.login-container{width:100%;max-width:420px}.login-box{background-color:var(--white);border-radius:12px;padding:40px;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:28px;font-weight:700;background:linear-gradient(135deg,var(--primary),var(--primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.login-header p{font-size:14px;color:var(--text-light)}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-form h2{font-size:22px;font-weight:700;color:var(--text);margin-bottom:8px}.auth-form>p{font-size:13px;color:var(--text-light);line-height:1.5;margin-bottom:12px}.form-group label{font-size:13px;font-weight:600;color:var(--text)}.form-group input{padding:12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s ease;background-color:var(--white);color:var(--text)}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6667ab1a}.password-input{position:relative;display:flex;align-items:center}.password-input input{width:100%;padding-right:40px}.toggle-password{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:var(--text-light);padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.toggle-password:hover{color:var(--primary)}.forgot-password-link{background:none;border:none;color:var(--primary);font-size:13px;font-weight:600;cursor:pointer;padding:0;text-align:right;transition:color .2s ease;margin-top:-8px;margin-bottom:8px}.forgot-password-link:hover{color:var(--primary-dark);text-decoration:underline}.forgot-subtitle{font-size:13px;color:var(--text-light);line-height:1.5}.auth-form .btn-primary-large{width:100%;margin-top:8px}.auth-switch{text-align:center;margin-top:12px;padding-top:16px;border-top:1px solid var(--border)}.auth-switch p{font-size:13px;color:var(--text-light)}.switch-link{background:none;border:none;color:var(--primary);font-weight:700;cursor:pointer;padding:0;text-decoration:none;transition:color .2s ease}.switch-link:hover{color:var(--primary-dark);text-decoration:underline}.back-to-login{background-color:var(--background);color:var(--primary);border:1px solid var(--border);border-radius:8px;padding:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.back-to-login:hover{background-color:var(--border);color:var(--primary-dark)}.success-message{background-color:#e8f5e9;border-left:4px solid #4CAF50;color:#2e7d32;padding:12px;border-radius:6px;font-size:13px;font-weight:500;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-footer{text-align:center;margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.login-footer p{font-size:12px;color:#999}@media (max-width: 480px){.login-box{padding:24px}.login-header h1{font-size:24px}.auth-form h2{font-size:18px}.back-button{top:16px;left:16px;padding:8px 12px;font-size:12px}}.onboarding-page{min-height:100vh;background:linear-gradient(135deg,#6667ab,#4b4c8c);display:flex;align-items:center;justify-content:center;padding:20px;position:relative}.back-button{position:absolute;top:30px;left:30px;background:#fff3;color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:500;transition:all .3s ease;font-size:14px}.back-button:hover{background:#ffffff4d;transform:translate(-4px)}.onboarding-container{width:100%;max-width:600px}.onboarding-box{background:#fff;border-radius:16px;padding:40px;box-shadow:0 20px 60px #0003}.onboarding-header{text-align:center;margin-bottom:40px}.onboarding-header h1{font-size:32px;font-weight:700;color:#1a1a2e;margin-bottom:8px}.onboarding-header p{font-size:16px;color:#5a5a7a}.progress-indicator{display:flex;justify-content:center;gap:20px;margin-bottom:40px}.progress-step{display:flex;flex-direction:column;align-items:center;gap:8px}.step-number{width:40px;height:40px;border-radius:50%;background-color:#e8e8f0;color:#5a5a7a;display:flex;align-items:center;justify-content:center;font-weight:700;transition:all .3s ease}.progress-step.active .step-number{background-color:#6667ab;color:#fff}.step-label{font-size:12px;color:#5a5a7a;font-weight:600}.onboarding-form{display:flex;flex-direction:column;gap:24px}.form-group input,.form-group textarea{padding:12px 16px;border:2px solid #E8E8F0;border-radius:8px;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:border-color .3s ease;color:#1a1a2e}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#6667ab;box-shadow:0 0 0 3px #6667ab1a}.form-group input:disabled{background-color:#f5f6ff;cursor:not-allowed;opacity:.6}.form-group small{font-size:12px;color:#5a5a7a;opacity:.8}.btn-primary-large{background-color:#6667ab;color:#fff;border:none;border-radius:8px;padding:14px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:16px}.btn-primary-large:hover:not(:disabled){background-color:#4b4c8c;transform:translateY(-2px);box-shadow:0 8px 16px #6667ab4d}.btn-primary-large:disabled,.btn-disabled{background-color:#e8e8f0;color:#5a5a7a;cursor:not-allowed}@media (max-width: 768px){.onboarding-box{padding:24px}.onboarding-header h1{font-size:28px}.back-button{top:16px;left:16px}}@media (max-width: 480px){.onboarding-page{padding:0}.onboarding-box{padding:20px;border-radius:0;min-height:100vh;display:flex;flex-direction:column;justify-content:center}.onboarding-header h1{font-size:24px}.btn-primary-large{padding:12px 24px;font-size:14px}}.admin-container{display:grid;grid-template-columns:250px 1fr;min-height:100vh;background-color:#f5f6ff}.admin-sidebar{background:linear-gradient(180deg,#3a3c8c,#2f306b);color:#fff;padding:0;display:flex;flex-direction:column;transition:all .3s ease;position:relative;overflow:hidden}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:16px 8px;border-bottom:1px solid rgba(255,255,255,.05)}.sidebar-header h2{font-size:20px;font-weight:700;margin:0}.sidebar-toggle{background:none;border:none;color:#fff;cursor:pointer;padding:4px;display:none;transition:all .3s ease}.sidebar-toggle:hover{color:#8b8cd9}.nav-item:hover{background-color:#ffffff14;color:#fff}.nav-item.active{background-color:#6667ab;color:#fff}.nav-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:#ffd66b;border-radius:0 2px 2px 0}.nav-section{margin:0}.nav-section-title{font-size:13px;color:#fff6;font-weight:700;text-transform:uppercase;letter-spacing:.8px;padding:10px 8px 4px;opacity:1;margin-top:12px}.nav-item.sub-item{padding:8px 8px 8px 28px;font-size:15px;color:#ffffffbf}.nav-section:last-of-type .nav-item:first-of-type{background-color:#ffd66b26;border:1px solid rgba(255,214,107,.3);color:#ffd66b;margin-bottom:8px;padding:10px 8px 10px 28px;transition:all .3s ease}.nav-section:last-of-type .nav-item:first-of-type:hover{background-color:#ffd66b40;border-color:#ffd66b80;padding-left:36px}.nav-section:last-of-type .nav-item:first-of-type svg{color:#ffd66b}.logout-button{background-color:#ff505014;color:#ff6b6b;border:none;padding:8px;border-radius:6px;cursor:pointer;font-weight:600;font-size:13px;display:flex;align-items:center;gap:8px;justify-content:center;transition:all .2s ease;width:100%;margin:0}.logout-button:hover{background-color:#ff50502e;color:#ff4d4d}.sidebar-bottom{position:relative;padding:12px 8px;background:linear-gradient(180deg,#3a3c8c33,#2f306b);border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:8px;flex-shrink:0;margin-top:auto}.user-avatar{width:36px;height:36px;border-radius:6px;background-color:#6667ab;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;flex-shrink:0}.user-role{font-size:11px;color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.language-selector{display:flex;flex-direction:column;gap:0;padding:0;margin:0;position:relative}.language-toggle{display:flex;align-items:center;gap:10px;padding:8px;background-color:#ffffff0f;color:#ffffffbf;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:12px;font-weight:500;width:100%}.language-toggle:hover{background-color:#ffffff1a;color:#fff;border-color:#ffffff26}.language-toggle svg{flex-shrink:0;opacity:.8}.lang-display{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-arrow{font-size:10px;opacity:.6;transition:all .2s ease}.language-dropdown{position:absolute;bottom:52px;left:0;right:0;background-color:#fff;border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:1000;overflow:hidden;margin:0 12px}.dropdown-item{padding:12px 16px;color:#1a1a2e;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;border-bottom:1px solid #E8E8F0;display:flex;align-items:center;gap:8px}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:#f5f6ff;color:#6667ab}.dropdown-item.active{background-color:#6667ab;color:#fff}.admin-main{padding:32px;overflow-y:auto}.admin-header{margin-bottom:40px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.header-content{flex:1}.admin-header h1{font-size:32px;font-weight:700;color:#1a1a2e;margin-bottom:8px}.admin-header p{font-size:16px;color:#5a5a7a}.header-school-code{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#e8e8f0,#f5f6ff);border:2px solid #6667AB;border-radius:12px;padding:16px 20px;white-space:nowrap}.header-school-code .label{font-size:14px;font-weight:600;color:#1a1a2e}.header-school-code .code-value{font-size:18px;font-weight:700;color:#6667ab;font-family:Courier New,monospace;letter-spacing:1px}.dashboard-section{margin-bottom:32px}.section-title{font-size:24px;font-weight:700;color:#1a1a2e;margin-bottom:8px}.section-subtitle{font-size:14px;color:#5a5a7a;margin:0}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:40px}.dashboard-card{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 12px #6667ab1a;display:flex;flex-direction:column;transition:all .3s ease;border:1px solid #E8E8F0}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #6667ab26;border-color:#6667ab}.card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.card-icon{font-size:32px;flex-shrink:0}.card-header h3{font-size:15px;font-weight:600;color:#1a1a2e;margin:0}.card-body{display:flex;flex-direction:column;gap:16px}.card-value{font-size:36px;font-weight:700;color:#6667ab;margin:0}.card-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:12px}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background-color:#f5f6ff;border-radius:6px;gap:8px}.breakdown-item .label{font-size:12px;color:#5a5a7a;font-weight:500}.breakdown-item .value{font-size:16px;font-weight:700;color:#6667ab}.breakdown-item .value.active{color:#00b386}.breakdown-item .value.inactive{color:#ff6b6b}.health-indicator{padding:12px;background:linear-gradient(135deg,#00b386,#00d4a0);border-radius:6px;text-align:center}.health-status{color:#fff;font-size:13px;font-weight:700}.health-status.healthy{color:#fff}.status-badge{display:inline-block;background-color:#e8ffe0;color:#00b386;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.onboarding-tips{background-color:#fff;border-radius:12px;padding:32px;box-shadow:0 4px 12px #6667ab1a}.onboarding-tips h2{font-size:24px;font-weight:700;color:#1a1a2e;margin-bottom:24px}.tips-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.tip{display:flex;gap:16px}.tip-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:#6667ab;color:#fff;border-radius:50%;font-weight:700;font-size:18px;flex-shrink:0}.tip-content h4{font-size:16px;font-weight:700;color:#1a1a2e;margin:0 0 6px}.tip-content p{font-size:14px;color:#5a5a7a;margin:0}@media (max-width: 1200px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.tips-list{grid-template-columns:1fr}}@media (max-width: 768px){.admin-container{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow-x:hidden;max-width:100vw}.admin-sidebar{height:auto;flex-direction:column;align-items:stretch;padding:8px 0;position:relative;z-index:100;overflow:visible}.sidebar-header{padding:0 12px;border-bottom:none;gap:12px;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.sidebar-header h2{font-size:16px;white-space:nowrap}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:#ffffff26}.sidebar-nav{display:none!important;flex-direction:row;flex-wrap:wrap;padding:8px;gap:6px}.sidebar-nav.open{display:flex!important}.sidebar-nav .nav-item{color:#fff!important;font-size:13px;font-weight:600;padding:8px 12px;margin:0;border-radius:8px;background-color:#00000040;white-space:nowrap;border:none}.sidebar-nav .nav-item:hover{color:#fff;background-color:#0006}.sidebar-nav .nav-item.active{background-color:#fff;color:#3a3c8c!important}.sidebar-nav .nav-item.sub-item.flex-icon-item svg{display:none!important}.sidebar-nav .nav-item span{display:inline!important}.sidebar-nav .nav-item.sub-item{padding:8px 12px!important;font-size:13px!important}.sidebar-nav .nav-section{display:contents;margin:0}.sidebar-nav .nav-section-title{display:none}.sidebar-bottom{display:none!important}.logout-button{width:auto;padding:6px 12px;font-size:12px}.admin-main{padding:16px;overflow-x:hidden}.admin-header{flex-direction:column;align-items:flex-start;gap:16px}.admin-header h1{font-size:24px}.admin-header p{font-size:14px}.header-school-code{width:100%;flex-direction:row;justify-content:space-between}.header-school-code .code-value{font-size:16px}.dashboard-grid{grid-template-columns:1fr;gap:16px}.card-value{font-size:28px}.card-breakdown{grid-template-columns:1fr}.section-title{font-size:20px}.onboarding-tips{padding:20px}.onboarding-tips h2{font-size:20px}.admin-main>div:first-child{font-size:13px}}@media (max-width: 480px){.admin-sidebar{padding:10px 12px}.sidebar-header h2{font-size:14px}.admin-main{padding:12px}.admin-header h1{font-size:20px}.dashboard-card{padding:16px}.card-icon,.card-value{font-size:24px}}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start}.create-btn{width:100%;justify-content:center}.data-table th,.data-table td{padding:12px 16px;font-size:13px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background-color:#fff;border-radius:12px;width:100%;max-width:480px;padding:24px;box-shadow:0 20px 60px #00000026;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #E8E8F0}.modal-close{background:none;border:none;cursor:pointer;color:#5a5a7a;transition:all .2s ease;padding:4px}.modal-close:hover{color:#1a1a2e;transform:rotate(90deg)}.modal-form{display:flex;flex-direction:column;gap:12px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:600;color:#4a4a6a}.form-group input,.form-group select{padding:10px 12px;border:1px solid #E8E8F0;border-radius:8px;font-size:14px;transition:all .2s ease;font-family:inherit;height:38px}.form-group small{font-size:12px;color:#5a5a7a;font-weight:400}.error-text{font-size:12px;color:#ff6b6b;font-weight:500}.modal-actions{display:flex;gap:12px;margin-top:16px}.btn{padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;flex:1}.btn-cancel{background-color:#f5f6ff;color:#5a5a7a;border:1px solid #E8E8F0}.btn-cancel:hover{background-color:#e8e8f0;color:#1a1a2e}.btn-primary{background-color:#6667ab;color:#fff}.btn-primary:hover{background-color:#5556a0;transform:translateY(-2px);box-shadow:0 4px 12px #6667ab33}.students-cell{-webkit-user-select:none;user-select:none}.students-cell:hover,.students-expanded-row{background-color:#f8f9ff}.students-expanded-row td{padding:0!important;border-bottom:1px solid #E8E8F0}.students-dropdown{padding:20px 24px;background-color:#f8f9ff}.students-dropdown-header{font-size:14px;font-weight:700;color:#1a1a2e;margin-bottom:12px}.students-loading{padding:12px;color:#5a5a7a;font-size:13px;text-align:center}.students-empty{padding:12px;color:#ff6b6b;font-size:13px;text-align:center}.students-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;max-height:300px;overflow-y:auto}.student-item{padding:8px 12px;background-color:#fff;border:1px solid #E8E8F0;border-radius:6px;font-size:13px;transition:all .2s ease}.student-item:hover{background-color:#f5f6ff;border-color:#6667ab;box-shadow:0 2px 8px #6667ab1a}.student-name{color:#1a1a2e;font-weight:500}@media (max-width: 480px){.modal-content{max-width:90%;padding:20px}.modal-header h2{font-size:18px}}.login-id-info{background:linear-gradient(135deg,#e8e8f0,#f5f6ff);border:1px solid #D8D8E8;border-radius:12px;padding:20px;margin-bottom:24px;border-left:4px solid #6667AB}.login-id-info h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#1a1a2e}.login-id-info p{margin:8px 0;font-size:14px;color:#5a5a7a}.login-id-info code{display:inline-block;background-color:#fff;border:1px solid #D8D8E8;border-radius:6px;padding:8px 12px;font-family:Courier New,monospace;font-size:13px;color:#6667ab;font-weight:600;margin:8px 0}.login-id-info .example-text{font-size:13px;color:#888;font-style:italic;margin-top:8px}.school-code-badge{display:inline-block;background-color:#6667ab;color:#fff;padding:4px 10px;border-radius:4px;font-weight:600;font-family:Courier New,monospace;font-size:14px;margin:0 4px}.field-help-text{font-size:12px;color:#6667ab;margin-top:6px;margin-bottom:0;font-weight:500;display:block}.name-cell{font-weight:600;color:#6667ab}.activity-cell{font-size:13px;color:#5a5a7a}.progress-bar{display:flex;align-items:center;gap:12px;position:relative}.progress-fill{height:8px;border-radius:4px;background:linear-gradient(90deg,#6667ab,#8b8cd9);transition:width .3s ease;min-width:8px}.progress-fill.high{background:linear-gradient(90deg,#4caf50,#81c784)}.progress-fill.medium{background:linear-gradient(90deg,#ffc107,#ffd566)}.progress-fill.low{background:linear-gradient(90deg,#ff9800,#ffb74d)}.progress-text{font-size:12px;font-weight:600;color:#5a5a7a;min-width:35px}.modal-content{background-color:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;max-width:480px;width:90%;max-height:90vh;overflow-y:auto;padding:32px;animation:slideUp .3s ease}.modal-content h2{font-size:20px;font-weight:700;color:#1a1a2e;margin:0 0 24px}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.form-group label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#1a1a2e}.form-group input,.form-group select{padding:12px 14px;border:1px solid #E8E8F0;border-radius:8px;font-size:14px;color:#1a1a2e;transition:all .2s ease;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:#6667ab;box-shadow:0 0 0 3px #6667ab1a}.form-group input.error,.form-group select.error{border-color:#ff6b6b}.form-group input.error:focus,.form-group select.error:focus{box-shadow:0 0 0 3px #ff6b6b1a}.form-group input::placeholder{color:#a0a0b8}.modal-buttons{display:flex;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid #E8E8F0}.cancel-btn,.submit-btn{flex:1;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.classes-list{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto;padding:12px;background-color:#f5f6ff;border-radius:8px;border:1px solid #E8E8F0}.class-checkbox-item{display:flex;align-items:center;gap:10px;padding:8px;background-color:#fff;border-radius:6px;cursor:pointer;transition:all .2s ease}.class-checkbox-item:hover{background-color:#f9f9ff;border-color:#d0d0e8}.class-checkbox-item input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:#6667AB}.checkbox-label{flex:1;cursor:pointer;font-size:14px;color:#2d2d4a;font-weight:500;margin:0}.no-classes-text{text-align:center;color:#999;font-size:13px;padding:16px;margin:0}.button-group{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.create-btn,.secondary-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.secondary-btn{background-color:#e8e8f0;color:#1a1a2e}.secondary-btn:hover{background-color:#d8d8e8;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.excel-modal{max-width:900px}.modal-subtitle{color:#5a5a7a;margin-top:-8px;margin-bottom:20px;font-size:14px}.file-input-label{display:block;margin-bottom:8px;font-weight:600;color:#1a1a2e}.label-icon{margin-right:4px}.file-input{display:block;width:100%;padding:12px;border:2px dashed #D8D8E8;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease}.file-input:hover{border-color:#6667ab;background-color:#f9f9fc}.file-help-text{font-size:13px;color:#5a5a7a;margin-top:8px;margin-bottom:0}.excel-preview{margin-top:24px;padding:16px;background-color:#f9f9fc;border-radius:8px;border:1px solid #E8E8F0}.excel-preview h3{margin:0 0 16px;font-size:16px;color:#1a1a2e}.preview-table{overflow-x:auto}.preview-table table{width:100%;border-collapse:collapse;font-size:13px}.preview-table thead{background-color:#e8e8f0}.preview-table th{padding:12px 8px;text-align:left;font-weight:600;color:#1a1a2e;border-bottom:2px solid #D8D8E8}.preview-table td{padding:12px 8px;border-bottom:1px solid #E8E8F0}.preview-table tbody tr{transition:all .2s ease}.preview-table tbody tr.valid{background-color:#f0fff4}.preview-table tbody tr.invalid{background-color:#fff5f5}.preview-table tbody tr:hover{background-color:#f5f5ff}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.status-badge.valid{background-color:#c6f6d5;color:#22543d}.status-badge.invalid{background-color:#fed7d7;color:#742a2a;font-size:11px;display:block;white-space:normal;line-height:1.3}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start}.button-group{width:100%;flex-direction:column}.create-btn,.secondary-btn{width:100%;justify-content:center}.data-table th,.data-table td{padding:12px 16px;font-size:13px}.progress-bar{flex-direction:column;align-items:flex-start}.modal-content{max-width:95%;padding:24px}.modal-content h2{font-size:18px}.modal-buttons{flex-direction:column}.cancel-btn,.submit-btn{width:100%}.excel-modal{max-width:95%}.preview-table{font-size:12px}.preview-table th,.preview-table td{padding:8px 4px}.login-id-info{padding:16px;margin-bottom:20px}.login-id-info h3{font-size:14px}.login-id-info code{padding:6px 10px;font-size:12px}.school-code-badge{font-size:12px;padding:3px 8px}.field-help-text{font-size:11px}}.assignments-container{display:flex;flex-direction:column;gap:16px}.assignments-main{display:flex;flex-direction:column;gap:24px}.header-content h1{font-size:28px;font-weight:700;color:#1a1a2e;margin:0 0 8px}.header-content p{font-size:14px;color:#5a5a7a;margin:0}.create-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background-color:#6667ab;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.create-btn:hover{background-color:#5556a0;transform:translateY(-2px);box-shadow:0 4px 12px #6667ab33}.filter-bar{background-color:#fff;border-radius:12px;border:1px solid #E8E8F0;box-shadow:0 2px 8px #0000000a;overflow:hidden}.filter-bar-content{display:flex;align-items:center;gap:12px;padding:12px 16px;flex-wrap:wrap}.filter-toggle{display:flex;align-items:center;gap:6px;padding:8px 14px;background-color:#f5f6ff;color:#6667ab;border:1px solid #D0D0E0;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.filter-toggle:hover{background-color:#eef0ff;border-color:#6667ab}.filter-toggle.active{background-color:#6667ab;color:#fff;border-color:#6667ab}.active-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.filter-chip{display:inline-block;padding:6px 12px;background-color:#eef0ff;color:#6667ab;border:1px solid #D0D0E0;border-radius:16px;font-size:12px;font-weight:600}.clear-filters{padding:6px 12px;background-color:#ffebee;color:#c62828;border:1px solid #FFCDD2;border-radius:16px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.clear-filters:hover{background-color:#ffcdd2;color:#b71c1c}.filter-panel-expanded{background-color:#f9f9fc;border-top:1px solid #E8E8F0;padding:16px}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.filter-item{display:flex;flex-direction:column;gap:6px}.filter-item label{font-size:12px;font-weight:600;color:#1a1a2e;text-transform:uppercase;letter-spacing:.5px}.filter-item select,.filter-item input[type=date]{padding:10px 12px;border:1px solid #E8E8F0;border-radius:6px;font-size:13px;color:#1a1a2e;background-color:#fff;transition:all .2s ease}.filter-item select:focus,.filter-item input[type=date]:focus{outline:none;border-color:#6667ab;box-shadow:0 0 0 3px #6667ab1a}.reset-btn-expanded{align-self:flex-end;padding:10px 16px;background-color:#3a3a4e;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:4px}.reset-btn-expanded:hover{background-color:#2a2a3e;transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.lesson-cell{font-weight:600;color:#6667ab;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-breakdown{display:flex;align-items:center;gap:4px;flex-wrap:nowrap}.sb-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:99px;font-size:11px;font-weight:700;white-space:nowrap}.sb-complete{background:#dcfce7;color:#166534}.sb-practice{background:#fef9c3;color:#854d0e}.sb-none{background:#f3f4f6;color:#6b7280}.status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-align:center;min-width:110px}.status-assigned{background-color:#f0f0f8;color:#6667ab;border:1px solid #D0D0E0}.status-in-progress{background-color:#fff3e0;color:#e65100;border:1px solid #FFE0B2}.status-completed{background-color:#e8f5e9;color:#2e7d32;border:1px solid #C8E6C9}.status-expired{background-color:#ffebee;color:#c62828;border:1px solid #FFCDD2}.assignments-table-container{background-color:#fff;border-radius:12px;border:1px solid #E8E8F0;overflow-x:auto;box-shadow:0 2px 8px #0000000a}.assignments-table{width:100%;border-collapse:collapse;min-width:900px}.assignments-table thead{background-color:#f5f6ff;border-bottom:2px solid #E8E8F0}.assignments-table th{padding:16px 20px;text-align:left;font-size:13px;font-weight:600;color:#1a1a2e;text-transform:uppercase;letter-spacing:.5px}.assignments-table tbody tr{border-bottom:1px solid #E8E8F0;transition:all .2s ease;cursor:pointer}.assignments-table tbody tr:hover{background-color:#f9f9fc}.assignments-table tbody tr:last-child{border-bottom:none}.assignments-table td{padding:16px 20px;font-size:14px;color:#1a1a2e;vertical-align:middle}.checkbox-column{width:50px;text-align:center}.checkbox-column input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#6667AB}.name-column{min-width:250px}.name-info{display:flex;flex-direction:column;gap:4px}.name-title{font-size:14px;font-weight:600;color:#6667ab}.name-admin{font-size:12px;color:#00bcd4;font-weight:500}.level-column{min-width:100px;font-weight:500;color:#1a1a2e}.items-column{min-width:120px;text-align:center;font-weight:600}.date-column{min-width:200px}.date-info{display:flex;flex-direction:column;gap:0}.date-info span{font-size:13px;color:#5a5a7a}.students-column{min-width:130px}.student-count{display:flex;align-items:center;gap:8px}.count-badge{display:inline-block;min-width:30px;padding:4px 8px;background-color:#e8f5e9;color:#2e7d32;border-radius:12px;font-weight:600;font-size:12px;text-align:center}.count-label{font-size:12px;color:#5a5a7a}.status-column{min-width:130px;white-space:nowrap}.actions-column{width:120px;min-width:120px;text-align:left;padding-left:12px!important;padding-right:12px!important}.action-buttons{display:flex;align-items:center;justify-content:flex-start;gap:6px;flex-wrap:nowrap;overflow:visible}.action-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:7px;border:1.5px solid #E8E8F0;background:#fff;cursor:pointer;transition:all .15s ease;flex-shrink:0}.action-icon-btn:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.action-icon-btn.view-btn{border-color:#6667ab;color:#6667ab}.action-icon-btn.view-btn:hover{background:#eef0ff}.action-icon-btn.edit-btn{border-color:#ff9800;color:#ff9800}.action-icon-btn.edit-btn:hover{background:#fff3e0}.action-icon-btn.delete-btn{border-color:#ff6b6b;color:#ff6b6b}.action-icon-btn.delete-btn:hover{background:#ffebee}.action-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border:1.5px solid #E8E8F0;border-radius:7px;background-color:#fff;font-size:13px;font-weight:600;color:#5a5a7a;cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0}.action-btn:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000014}.view-btn{border-color:#6667ab;color:#6667ab}.view-btn:hover{background-color:#eef0ff}.edit-btn{border-color:#ff9800;color:#ff9800}.edit-btn:hover{background-color:#fff3e0}.delete-btn{border-color:#ff6b6b;color:#ff6b6b}.delete-btn:hover{background-color:#ffebee}.assignment-details-container{margin-top:24px;background-color:#f9f9fc;border-radius:12px;border:1px solid #E8E8F0;overflow:hidden;animation:slideDown .3s ease}.assignment-details{padding:24px}.details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #E8E8F0}.details-header h3{font-size:18px;font-weight:700;color:#1a1a2e;margin:0}.details-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;color:#5a5a7a;cursor:pointer;transition:all .2s ease;border-radius:6px}.details-close:hover{background-color:#fff;color:#1a1a2e}.detail-section{margin-bottom:20px;padding:16px;background-color:#fff;border-radius:8px;border:1px solid #E8E8F0}.detail-section h4{font-size:14px;font-weight:600;color:#1a1a2e;margin:0 0 12px}.detail-section p{font-size:14px;color:#5a5a7a;margin:0;line-height:1.5}.detail-section ul{margin:0;padding-left:20px;list-style:disc}.detail-section li{font-size:14px;color:#5a5a7a;margin-bottom:6px}.student-results-container{overflow-x:auto;margin-top:12px}.student-results-table{width:100%;border-collapse:collapse;background-color:#fff;font-size:13px}.student-results-table thead{background-color:#f0f0f8;border-bottom:2px solid #E8E8F0}.student-results-table th{padding:12px 8px;text-align:left;font-weight:600;color:#1a1a2e;border-right:1px solid #E8E8F0}.student-results-table th:last-child{border-right:none}.student-results-table tbody tr{border-bottom:1px solid #E8E8F0;transition:background-color .2s ease}.student-results-table tbody tr:hover{background-color:#f9f9fc}.student-results-table td{padding:12px 8px;border-right:1px solid #E8E8F0;color:#5a5a7a}.student-results-table td:last-child{border-right:none}.student-name-cell{font-weight:600;color:#1a1a2e;min-width:120px}.score-input-cell{text-align:center;padding:8px 4px;min-width:70px}.score-input{width:100%;padding:6px 4px;border:1px solid #E8E8F0;border-radius:4px;font-size:13px;text-align:center;transition:all .2s ease}.score-input:focus{outline:none;border-color:#6667ab;box-shadow:0 0 0 3px #6667ab1a;background-color:#f9f9fc}.score-input::placeholder{color:#c8c8d8}.average-cell{font-weight:700;color:#6667ab;text-align:center;min-width:80px;background-color:#f0f0f8}.modal-content{background-color:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;max-width:600px;width:95%;max-height:90vh;overflow-y:auto;padding:24px;animation:slideUp .3s ease}.modal-content.assignment-modal{max-width:900px}.modal-content.view-modal{width:95vw;max-width:1400px;max-height:92vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #E8E8F0;gap:16px}.modal-header h2{font-size:18px;font-weight:700;color:#1a1a2e;margin:0}.modal-body{display:flex;flex-direction:column;gap:2px}.view-modal{padding:28px 32px}.view-modal-body{flex:1;overflow-y:auto;overflow-x:hidden;padding-right:4px}.view-modal-body::-webkit-scrollbar{width:6px}.view-modal-body::-webkit-scrollbar-track{background-color:#f0f0f8;border-radius:3px}.view-modal-body::-webkit-scrollbar-thumb{background-color:#d0d0e0;border-radius:3px}.view-modal-body::-webkit-scrollbar-thumb:hover{background-color:#b0b0c0}.vd-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:13px;color:#6b7280}.vd-show-select{border:1px solid #e0e3f5;border-radius:6px;padding:4px 10px;font-size:13px;color:#374151;background:#fff;cursor:pointer;outline:none}.vd-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid #e8eaf0;-webkit-overflow-scrolling:touch}.vd-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff;table-layout:fixed}.vd-table th:first-child,.vd-table td:first-child{width:200px}.vd-table th:nth-child(2),.vd-table td:nth-child(2){width:140px}.vd-table th:nth-child(n+3),.vd-table td:nth-child(n+3){width:120px}.vd-table thead tr{background:#f8f9fc;border-bottom:1px solid #e8eaf0}.vd-table th{padding:10px 12px;text-align:left;font-size:10px;font-weight:700;color:#9098b1;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.vd-table tbody tr{border-bottom:1px solid #f0f1fb}.vd-table tbody tr:last-child{border-bottom:none}.vd-table tbody tr:hover{background:#fafbff}.vd-table td{padding:10px 12px;vertical-align:middle}.vd-no-students{text-align:center;color:#9098b1;padding:32px;font-size:14px}.vd-student-cell{display:flex;align-items:center;gap:8px;overflow:hidden}.vd-avatar{width:30px;height:30px;border-radius:50%;background:#c7d2fe;color:#3730a3;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.vd-student-info{display:flex;flex-direction:column;gap:1px;min-width:0}.vd-student-name{font-size:13px;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vd-student-email{font-size:11px;color:#9098b1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vd-avg-cell{white-space:nowrap}.vd-avg-score{font-size:15px;font-weight:700;color:#1a1a2e;margin-bottom:4px}.vd-comment-btn{display:inline-block;padding:4px 8px;border:1.5px solid #f59e0b;border-radius:6px;background:#fff;color:#374151;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.vd-comment-btn:hover{background:#fef3c7;border-color:#d97706}.vd-page-cell{text-align:center}.vd-page-score-row{display:flex;flex-direction:column;align-items:center;gap:5px}.vd-score-badge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:12px;font-weight:700}.vd-view-btn{padding:4px 10px;border-radius:6px;background:#1a1a2e;color:#fff;border:none;font-size:11px;font-weight:600;cursor:pointer;transition:opacity .15s}.vd-view-btn:hover{opacity:.8}.vd-no-activity{font-size:11px;color:#9098b1;text-align:center}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;padding:12px 0}.info-item{padding:8px 12px;background-color:#f9f9fc;border-radius:6px;border-left:3px solid #6667AB;font-size:13px;color:#5a5a7a}.info-item strong{color:#1a1a2e;display:block;margin-bottom:4px}.form-group{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.radio-group{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;padding:4px 0}.radio-option{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #E8E8F0;border-radius:6px;background-color:#f9f9fc;cursor:pointer;transition:all .2s ease;flex:1;min-width:calc(50% - 4px)}.radio-option:hover{border-color:#6667ab;background-color:#f5f6ff}.radio-option input[type=radio]{width:16px;height:16px;cursor:pointer;accent-color:#6667AB;margin:0;flex-shrink:0}.radio-option span{font-size:14px;color:#1a1a2e;font-weight:500;cursor:pointer}.student-assignment-toggle{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid #6667AB;border-radius:8px;background-color:#f5f6ff;cursor:pointer;transition:all .2s ease;font-weight:600}.student-assignment-toggle:hover{border-color:#5556a0;background-color:#eef0ff}.student-assignment-toggle input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#6667AB;flex-shrink:0}.student-assignment-toggle .toggle-text{font-size:14px;color:#1a1a2e;font-weight:600;cursor:pointer}.assignment-mode-hint{font-size:13px;color:#5a5a7a;margin:-4px 0 0;font-style:italic}.checkbox-list{display:flex;flex-direction:column;gap:6px;border:1px solid #E8E8F0;border-radius:8px;background-color:#f9f9fc;padding:8px;max-height:200px;overflow-y:auto}.checkbox-option{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;background-color:#fff;border:1px solid #E8E8F0;border-radius:6px;cursor:pointer;transition:all .2s ease}.checkbox-option:hover{border-color:#6667ab;background-color:#f5f6ff}.checkbox-option input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#6667AB;margin-top:2px;flex-shrink:0}.checkbox-option span{display:flex;flex-direction:column;gap:6px;flex:1;cursor:pointer}.checkbox-option strong{font-size:14px;font-weight:600;color:#1a1a2e}.checkbox-option .section-preview{margin:0;padding:0;border:none;font-size:13px;color:#5a5a7a;line-height:1.5;max-height:60px;overflow:hidden}.form-group label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#4a4a6a;text-transform:uppercase;letter-spacing:.3px}.label-icon{font-size:16px}.form-group input[type=text],.form-group input[type=date],.form-group input[type=url],.form-group select,.form-group textarea{padding:8px 10px;border:1px solid #E8E8F0;border-radius:6px;font-size:13px;color:#1a1a2e;transition:all .2s ease;font-family:inherit;height:36px;background:#fff}.form-group textarea{height:auto;min-height:80px;resize:none;padding:12px 14px}.form-group input[type=text]:focus,.form-group input[type=date]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#6667ab;box-shadow:0 0 0 3px #6667ab1a}.form-group input[type=text].error,.form-group input[type=date].error,.form-group select.error{border-color:#ff6b6b}.form-group input[type=text].error:focus,.form-group input[type=date].error:focus,.form-group select.error:focus{box-shadow:0 0 0 3px #ff6b6b1a}.form-group input[type=text]::placeholder,.form-group textarea::placeholder{color:#a0a0b8}.checkbox-group{display:flex;align-items:center;gap:10px;padding:10px 12px;background-color:#f9f9fc;border-radius:8px;border:1px solid #E8E8F0}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#6667AB}.checkbox-label{margin:0!important;cursor:pointer;font-weight:500}.students-list{border:1px solid #E8E8F0;border-radius:8px;background-color:#fff;max-height:200px;overflow-y:auto;padding:8px 12px}.student-item{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14px;color:#1a1a2e;border-bottom:1px solid #F0F0F8}.student-item:last-child{border-bottom:none}.student-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#6667AB;flex-shrink:0}.student-item label{cursor:pointer;margin:0;flex:1}.modal-buttons{display:flex;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #E8E8F0}.sections-selector{background-color:#f9f9fc;border:1px solid #E8E8F0;border-radius:8px;padding:16px;margin:16px 0}.sections-header{margin-bottom:16px}.sections-header h3{font-size:14px;font-weight:700;color:#1a1a2e;margin:0 0 4px}.sections-info{display:block;font-size:12px;color:#5a5a7a;margin:0}.sections-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.section-item{background-color:#fff;border:1px solid #E8E8F0;border-radius:8px;padding:12px;transition:all .2s ease}.section-item:hover{border-color:#6667ab;box-shadow:0 2px 8px #6667ab1a}.section-header-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-checkbox{display:flex;align-items:center;gap:10px;flex:1}.section-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#6667AB;flex-shrink:0}.section-title{font-size:13px;font-weight:600;color:#1a1a2e;cursor:pointer;margin:0}.expand-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;color:#6667ab;cursor:pointer;transition:all .2s ease;flex-shrink:0}.expand-btn:hover{background-color:#f5f6ff;border-radius:6px}.section-preview{margin-top:12px;padding-top:12px;border-top:1px solid #E8E8F0;animation:slideDown .2s ease}.section-preview p{font-size:12px;color:#5a5a7a;line-height:1.6;margin:0;max-height:120px;overflow-y:auto}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.assignment-type-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.type-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 12px;border:2px solid #E8E8F0;border-radius:8px;background-color:#fff;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:600;color:#5a5a7a}.type-option:hover{border-color:#6667ab;background-color:#f9f9fc;color:#6667ab}.type-option.active{border-color:#6667ab;background-color:#6667ab;color:#fff;box-shadow:0 4px 12px #6667ab33}.type-icon{font-size:24px}.type-option svg{width:24px;height:24px}.type-label{font-size:13px;font-weight:600}.word-counter{display:flex;align-items:center;gap:4px;margin-top:6px;font-size:12px;font-weight:600;padding:6px 8px;border-radius:4px;background-color:#f5f6ff}.word-counter.normal{color:#6667ab;background-color:#f5f6ff}.word-counter.warning{color:#ff9800;background-color:#fff3e0}.word-counter.danger{color:#ff6b6b;background-color:#ffebee}.word-counter .warning-text{font-weight:700;margin-left:4px}@media (max-width: 1024px){.modal-content{max-width:85%}.checkbox-list{max-height:180px}.form-group{margin-bottom:10px}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.action-buttons{flex-wrap:wrap;gap:4px}.action-btn{padding:4px 8px;font-size:11px}}@media (max-width: 768px){.filter-bar-content{gap:8px;padding:12px}.filter-grid{grid-template-columns:1fr}.filter-toggle{padding:8px 12px;font-size:12px}.page-header{flex-direction:column;align-items:flex-start}.create-btn{width:100%;justify-content:center}.data-table th,.data-table td{padding:12px 16px;font-size:13px}.modal-content{max-width:95%;padding:20px;max-height:95vh}.modal-content.assignment-modal{max-width:95%}.modal-content.view-modal{width:99vw;max-width:99vw;padding:16px}.view-modal-body{max-height:70vh}.info-grid{grid-template-columns:1fr}.modal-header h2{font-size:18px}.modal-buttons{flex-direction:column}.cancel-btn,.submit-btn{width:100%}.lesson-cell{max-width:150px}.sections-list{max-height:300px}.sections-selector{padding:12px}.assignment-type-selector{grid-template-columns:1fr;gap:8px}.type-option{padding:12px 10px}.checkbox-list{max-height:300px}.radio-group{gap:10px}.radio-option,.checkbox-option{padding:10px}.action-buttons{flex-direction:column;gap:4px;width:100%}.action-btn{padding:5px 8px;font-size:11px;width:100%;white-space:nowrap}.student-results-table{font-size:12px}.student-results-table th,.student-results-table td{padding:8px 4px}.student-name-cell{min-width:100px}.score-input-cell{min-width:60px}.score-input{padding:4px 2px;font-size:12px}.average-cell{min-width:70px}}.vd-detail-panel{border-top:2px solid #e5e7eb;margin-top:0;padding:20px 24px;background:#f8f9ff}.vd-detail-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.vd-detail-panel-header strong{font-size:15px;color:#1a1a2e}.vd-detail-para-label{margin-left:10px;font-size:13px;color:#6b7280}.vd-detail-close{background:none;border:none;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;display:flex;align-items:center;transition:color .15s}.vd-detail-close:hover{color:#1a1a2e}.vd-detail-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.vd-detail-para-chip{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 14px;border:1.5px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s;min-width:72px}.vd-detail-para-chip:hover{border-color:#6667ab}.vd-detail-para-chip-active{border-color:#6667ab;box-shadow:0 0 0 3px #6667ab26;background:#f0efff}.vd-detail-overall{border-style:dashed}.vd-detail-chip-label{font-size:11px;color:#6b7280;font-weight:600;white-space:nowrap}.vd-detail-chip-score{font-size:13px;font-weight:700;padding:2px 8px;border-radius:99px}.vd-detail-chip-na{font-size:13px;color:#c9cdd8}.vd-detail-attempts{background:#fff;border-radius:10px;border:1px solid #e5e7eb;padding:16px 20px}.vd-detail-attempts-title{font-size:14px;font-weight:700;color:#1a1a2e;display:flex;align-items:center;gap:8px;margin-bottom:14px}.vd-detail-attempts-count{font-size:12px;font-weight:500;color:#6b7280;background:#f3f4f6;padding:2px 8px;border-radius:99px}.vd-detail-no-attempts{color:#9098b1;font-size:13px;padding:8px 0}.vd-detail-best{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:12px 16px;margin-bottom:14px}.vd-detail-best-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:13px;font-weight:700;color:#166534}.vd-detail-best-score{font-size:14px;font-weight:800;padding:3px 10px;border-radius:99px}.vd-detail-transcript{font-size:13px;color:#374151;line-height:1.5;font-style:italic;margin-bottom:6px}.vd-detail-date{font-size:11px;color:#9ca3af}.vd-detail-all-attempts{display:flex;flex-direction:column;gap:8px}.vd-detail-attempt-row{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:7px;background:#fafafa;border:1px solid #f3f4f6;font-size:13px}.vd-detail-attempt-num{font-weight:700;color:#9098b1;min-width:26px}.vd-detail-attempt-score{font-weight:700;min-width:28px}.vd-detail-attempt-transcript{color:#374151;flex:1}.vd-detail-attempt-date{color:#9ca3af;font-size:11px;white-space:nowrap}.page-container{display:flex;flex-direction:column;gap:24px}.page-header{display:flex;justify-content:space-between;align-items:center;gap:24px}.header-content h1{font-size:28px;font-weight:700;color:#1a1a2e;margin:0}.header-buttons{display:flex;gap:12px}.btn-upload{display:flex;align-items:center;gap:8px;padding:12px 20px;background-color:#6667ab;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-upload:hover{background-color:#5556a0;transform:translateY(-2px);box-shadow:0 4px 12px #6667ab33}.btn-create{display:flex;align-items:center;gap:8px;padding:12px 20px;background-color:#fff;color:#6667ab;border:1px solid #6667AB;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-create:hover{background-color:#f5f6ff;transform:translateY(-2px)}.search-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:#fff;border:1px solid #E8E8F0;border-radius:8px;max-width:400px}.search-bar svg{color:#a0a0b8;flex-shrink:0}.search-bar input{flex:1;border:none;outline:none;font-size:14px;color:#1a1a2e}.search-bar input::placeholder{color:#a0a0b8}.table-container{background-color:#fff;border-radius:12px;border:1px solid #E8E8F0;overflow:hidden;box-shadow:0 2px 8px #0000000a}.data-table{width:100%;border-collapse:collapse}.data-table thead{background-color:#f5f6ff;border-bottom:2px solid #E8E8F0}.data-table th{padding:16px 20px;text-align:left;font-size:13px;font-weight:600;color:#1a1a2e;text-transform:uppercase;letter-spacing:.5px}.data-table tbody tr{border-bottom:1px solid #E8E8F0;transition:all .2s ease}.data-table tbody tr:hover{background-color:#f9f9fc}.data-table tbody tr:last-child{border-bottom:none}.data-table td{padding:16px 20px;font-size:14px;color:#1a1a2e}.lesson-name-cell{font-weight:600;color:#6667ab}.book-title-cell{color:#4a4a6a;font-size:13px}.unit-cell{color:#6667ab;font-weight:500;text-align:center}.classes-cell{max-width:250px}.category-cell{text-align:center}.category-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.category-beginner{background-color:#e3f2fd;color:#1976d2;border:1px solid #90CAF9}.category-intermediate{background-color:#fff3e0;color:#f57c00;border:1px solid #FFB74D}.category-advanced{background-color:#f3e5f5;color:#7b1fa2;border:1px solid #CE93D8}.sentences-cell{text-align:center;font-weight:600;color:#6667ab}.date-cell{font-size:13px;color:#5a5a7a}.actions-cell{display:flex;align-items:center;gap:8px}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #E8E8F0;border-radius:6px;background-color:#fff;cursor:pointer;transition:all .2s ease}.action-btn:hover{background-color:#f5f6ff;border-color:#6667ab}.view-btn{color:#6667ab}.view-btn:hover{color:#5556a0}.edit-btn{color:#6667ab}.edit-btn:hover{color:#5556a0}.delete-btn{color:#ff6b6b}.delete-btn:hover{border-color:#ff6b6b;background-color:#ff6b6b0a}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background-color:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;padding:32px;animation:slideUp .3s ease}.modal-content.detail-modal{max-width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.modal-header h2{font-size:20px;font-weight:700;color:#1a1a2e;margin:0}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;color:#5a5a7a;cursor:pointer;transition:all .2s ease;border-radius:6px}.modal-close-btn:hover{background-color:#f5f6ff;color:#1a1a2e}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-group label{font-size:14px;font-weight:600;color:#1a1a2e}.form-group input[type=text],.form-group input[type=file],.form-group select,.form-group textarea{padding:12px 14px;border:1px solid #E8E8F0;border-radius:8px;font-size:14px;color:#1a1a2e;transition:all .2s ease;font-family:inherit}.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#6667ab;box-shadow:0 0 0 3px #6667ab1a}.form-group input[type=text].error,.form-group select.error,.form-group textarea.error{border-color:#ff6b6b}.form-group input[type=text].error:focus,.form-group select.error:focus,.form-group textarea.error:focus{box-shadow:0 0 0 3px #ff6b6b1a}.form-group input::placeholder,.form-group textarea::placeholder{color:#a0a0b8}.form-group textarea{resize:none;min-height:120px}.file-input-wrapper{position:relative;border:2px dashed #E8E8F0;border-radius:8px;padding:16px;text-align:center;cursor:pointer;transition:all .2s ease}.file-input-wrapper:hover{border-color:#6667ab;background-color:#f9f9fc}.file-input-wrapper input[type=file]{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.file-name{display:block;font-size:13px;color:#5a5a7a}.file-format-guide{background-color:#f9f9fc;border:1px solid #E8E8F0;border-radius:8px;padding:12px 14px;margin-bottom:12px;font-size:12px}.file-format-guide p{margin:0 0 8px;font-weight:600;color:#1a1a2e}.file-format-guide ul{list-style:none;padding:0;margin:0 0 12px}.file-format-guide li{font-size:12px;color:#5a5a7a;margin:4px 0;padding-left:16px}.paragraph-info{background-color:#fff;border-left:3px solid #FFD66B;padding:8px 10px;margin:0!important;font-size:12px;font-weight:500;color:#1a1a2e;border-radius:4px}.error-message{font-size:12px;color:#ff6b6b;margin-top:4px}.modal-buttons{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #E8E8F0}.cancel-btn,.submit-btn{flex:1;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;height:40px}.cancel-btn{background-color:#f5f6ff;color:#5a5a7a}.cancel-btn:hover{background-color:#e8e8f0}.submit-btn{background-color:#6667ab;color:#fff}.submit-btn:hover{background-color:#5556a0;transform:translateY(-2px);box-shadow:0 4px 12px #6667ab33}.detail-content{display:flex;flex-direction:column;gap:24px}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:16px;background-color:#f9f9fc;border-radius:8px}.meta-item{display:flex;flex-direction:column;gap:6px}.meta-label{font-size:12px;font-weight:600;color:#5a5a7a;text-transform:uppercase;letter-spacing:.5px}.meta-value{font-size:14px;font-weight:600;color:#1a1a2e}.sentences-section h3{font-size:16px;font-weight:700;color:#1a1a2e;margin:0 0 12px}.sentences-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.sentence-item{display:flex;gap:12px;padding:12px;background-color:#f9f9fc;border-radius:8px;border-left:3px solid #6667AB}.sentence-number{font-weight:700;color:#6667ab;min-width:24px}.sentence-text{font-size:14px;color:#1a1a2e;line-height:1.6}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start}.header-buttons{width:100%;flex-direction:column}.btn-upload,.btn-create{width:100%;justify-content:center}.search-bar{max-width:100%}.data-table th,.data-table td{padding:12px 16px;font-size:13px}.modal-content{max-width:95%;padding:24px}.modal-content.detail-modal{max-width:95%}.detail-meta{grid-template-columns:1fr}.modal-buttons{flex-direction:column}.cancel-btn,.submit-btn{width:100%}}.class-checkboxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:12px}.checkbox-item{display:flex;align-items:center;gap:10px;padding:12px 16px;background-color:#f5f6ff;border:1px solid #E8E8F0;border-radius:8px;cursor:pointer;transition:all .2s ease}.checkbox-item:hover{background-color:#f0f2ff;border-color:#6667ab}.checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:#6667AB;cursor:pointer}.checkbox-item label{flex:1;cursor:pointer;font-size:14px;font-weight:500;color:#1a1a2e;margin:0}.checkbox-item input[type=checkbox]:checked+label{color:#6667ab;font-weight:600}.class-tags{display:flex;flex-wrap:wrap;gap:8px}.class-tag{display:inline-block;padding:6px 12px;background-color:#f0f2ff;color:#6667ab;border:1px solid #D4D5E5;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.no-classes{color:#a0a0b8;font-size:13px;font-style:italic}.page-header .subtitle{color:#a0a0b8;font-size:14px;margin-top:4px}.books-container{display:flex;flex-direction:column;gap:16px}.empty-state{background-color:#fff;border:2px dashed #E8E8F0;border-radius:12px;padding:40px 20px;text-align:center;color:#a0a0b8;font-size:16px}.book-section{background-color:#fff;border:1px solid #E8E8F0;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000a;transition:all .3s ease}.book-section:hover{box-shadow:0 4px 12px #6667ab1a}.book-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#f5f6ff,#f9f9ff);border-bottom:1px solid #E8E8F0;cursor:pointer;transition:background .2s ease}.book-header:hover{background:linear-gradient(135deg,#eff0ff,#f5f5ff)}.expand-btn{background:none;border:none;cursor:pointer;color:#6667ab;padding:0;display:flex;align-items:center;flex-shrink:0;transition:transform .2s ease}.expand-btn:hover{color:#5556a0}.book-info{flex:1}.book-info h2{margin:0;font-size:16px;font-weight:600;color:#1a1a2e}.book-meta{display:flex;align-items:center;gap:12px;margin-top:6px;font-size:13px}.book-meta .category-badge{padding:4px 10px;font-size:11px}.unit-count{color:#6667ab;font-weight:500}.book-actions{display:flex;gap:8px}.action-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;color:#a0a0b8;transition:all .2s ease;display:flex;align-items:center}.action-btn:hover{background-color:#6667ab1a;color:#6667ab}.action-btn.delete-btn:hover{background-color:#dc26261a;color:#dc2626}.units-list{padding:12px 20px;display:flex;flex-direction:column;gap:10px}.unit-item{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center;padding:12px 16px;background-color:#f9f9fb;border-radius:8px;border-left:3px solid #6667AB;font-size:13px}.unit-header{display:flex;gap:12px;align-items:center}.unit-number{background-color:#e8e8f0;color:#6667ab;padding:4px 8px;border-radius:4px;font-weight:600;font-size:11px;white-space:nowrap;min-width:60px;text-align:center}.unit-name{color:#1a1a2e;font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-paragraphs{color:#a0a0b8;background-color:#eee9ff;padding:4px 8px;border-radius:4px;white-space:nowrap;font-size:12px}.unit-classes{display:flex;flex-wrap:wrap;gap:6px;min-width:150px}.unit-classes .class-tag{padding:4px 8px;font-size:11px;white-space:nowrap}.upload-info{background-color:#fff;border:1px solid #E8E8F0;border-radius:12px;padding:20px;margin-top:20px}.upload-info h3{margin-top:0;margin-bottom:12px;color:#1a1a2e;font-size:14px}.upload-info ul{margin:0;padding-left:20px;color:#4a4a6a;font-size:13px}.upload-info li{margin-bottom:8px;line-height:1.5}.categories-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:20px}.category-card{background-color:#fff;border:1px solid #E8E8F0;border-radius:12px;padding:20px;transition:all .3s ease;box-shadow:0 2px 8px #0000000a}.category-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6667ab1a;border-color:#6667ab}.category-card h3{margin:0 0 8px;font-size:16px;font-weight:600;color:#1a1a2e}.category-card p{margin:0 0 12px;color:#4a4a6a;font-size:13px;line-height:1.5}.category-meta{display:flex;gap:8px}.badge{display:inline-block;padding:6px 12px;background-color:#eee9ff;color:#6667ab;border-radius:6px;font-size:12px;font-weight:600}.info-section{background-color:#fff;border:1px solid #E8E8F0;border-radius:12px;padding:20px;margin-top:20px}.info-section h3{margin-top:0;margin-bottom:12px;color:#1a1a2e;font-size:14px}.info-section p{margin:0;color:#4a4a6a;font-size:13px;line-height:1.6}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:24px}.book-card{background-color:#fff;border:1px solid #E8E8F0;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000a;transition:all .3s ease;display:flex;flex-direction:column;gap:16px}.book-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #6667ab26;border-color:#6667ab}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-header h3{margin:0;font-size:18px;font-weight:700;color:#1a1a2e;flex:1;line-height:1.3}.category-badge{display:inline-block;padding:6px 12px;background-color:#eee9ff;color:#6667ab;border-radius:6px;font-size:11px;font-weight:700;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.card-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;background-color:#f9f9fb;border-radius:8px}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;font-weight:600;color:#a0a0b8;text-transform:uppercase;letter-spacing:.3px}.stat-value{font-size:16px;font-weight:700;color:#1a1a2e}.card-units{display:flex;flex-direction:column;gap:8px}.card-units h4{margin:0;font-size:13px;font-weight:600;color:#1a1a2e;text-transform:uppercase;letter-spacing:.5px}.card-units ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.card-units li{display:flex;flex-direction:column;gap:2px;padding:8px;background-color:#f9f9fb;border-left:2px solid #6667AB;border-radius:4px}.unit-name{font-size:13px;font-weight:500;color:#1a1a2e}.unit-paras{font-size:11px;color:#a0a0b8}.card-actions{display:flex;gap:8px;padding-top:8px;border-top:1px solid #E8E8F0}.btn-delete{display:flex;align-items:center;gap:6px;flex:1;padding:10px 12px;background-color:#fee2e2;color:#dc2626;border:1px solid #FECACA;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;justify-content:center}.btn-delete:hover{background-color:#fca5a5;border-color:#f87171;transform:translateY(-1px)}.btn-primary{display:flex;align-items:center;gap:8px;padding:12px 20px;background-color:#6667ab;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background-color:#5556a0;transform:translateY(-2px);box-shadow:0 4px 12px #6667ab4d}.btn-secondary{display:flex;align-items:center;gap:8px;padding:10px 18px;background-color:#fff;color:#6667ab;border:1px solid #6667AB;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background-color:#f5f6ff;border-color:#5556a0}.card-classes{display:flex;flex-direction:column;gap:8px;padding:12px;background-color:#fef9e7;border-radius:8px;border-left:3px solid #FFD66B}.card-classes h4{margin:0;font-size:13px;font-weight:600;color:#1a1a2e;text-transform:uppercase;letter-spacing:.5px}.class-list{display:flex;flex-wrap:wrap;gap:6px}.class-badge{display:inline-block;padding:6px 10px;background-color:#ffd66b;color:#1a1a2e;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.no-assignment{color:#a0a0b8;font-size:12px;font-style:italic}.btn-assign{display:flex;align-items:center;gap:6px;flex:1;padding:10px 12px;background-color:#f0f2ff;color:#6667ab;border:1px solid #D4D5E5;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;justify-content:center}.btn-assign:hover{background-color:#e8eaff;border-color:#6667ab;transform:translateY(-1px)}.class-checkboxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:12px}.checkbox-item{display:flex;align-items:center;gap:10px;padding:12px 14px;background-color:#f9f9fb;border:1px solid #E8E8F0;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:13px;font-weight:500;color:#1a1a2e}.checkbox-item:hover{background-color:#f5f6ff;border-color:#6667ab}.checkbox-item input[type=checkbox]{width:16px;height:16px;accent-color:#6667AB;cursor:pointer;margin:0}.checkbox-item input[type=checkbox]:checked+span{color:#6667ab;font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background-color:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #E8E8F0}.modal-header h2{margin:0;font-size:18px;font-weight:700;color:#1a1a2e}.modal-close{background:none;border:none;cursor:pointer;color:#a0a0b8;padding:0;display:flex;align-items:center;transition:color .2s ease}.modal-close:hover{color:#1a1a2e}.modal-body{padding:24px;display:flex;flex-direction:column;gap:20px}.modal-footer{display:flex;gap:12px;padding:24px;border-top:1px solid #E8E8F0;justify-content:flex-end}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:13px;font-weight:600;color:#1a1a2e;text-transform:uppercase;letter-spacing:.3px}.form-input{padding:12px 14px;border:1px solid #E8E8F0;border-radius:8px;font-size:13px;color:#1a1a2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:all .2s ease}.form-input:focus{outline:none;border-color:#6667ab;box-shadow:0 0 0 3px #6667ab1a}.file-upload-area{border:2px dashed #E8E8F0;border-radius:8px;padding:24px;text-align:center;background-color:#f9f9fb;transition:all .2s ease;cursor:pointer}.file-upload-area:hover{border-color:#6667ab;background-color:#f5f6ff}.file-upload-label{display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;font-size:13px;font-weight:500;color:#6667ab}.file-upload-label svg{color:#6667ab}.upload-view-container{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.upload-info{background-color:#fff;border:1px solid #E8E8F0;border-radius:12px;padding:20px;height:fit-content;box-shadow:0 2px 8px #0000000a}.upload-info h3{margin-top:0;margin-bottom:16px;color:#1a1a2e;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.upload-info ul{margin:0;padding-left:20px;color:#4a4a6a;font-size:13px;line-height:1.8}.upload-info li{margin-bottom:10px}.uploaded-books-section{background-color:#fff;border:1px solid #E8E8F0;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;gap:16px}.uploaded-books-section h3{margin:0;color:#1a1a2e;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.books-list{display:flex;flex-direction:column;gap:12px;max-height:600px;overflow-y:auto}.empty-books-list{background-color:#f9f9fb;border:2px dashed #E8E8F0;border-radius:8px;padding:32px 16px;text-align:center;color:#a0a0b8}.empty-books-list p{margin:4px 0}.book-list-item{background-color:#f9f9fb;border:1px solid #E8E8F0;border-radius:8px;padding:12px;transition:all .2s ease}.book-list-item:hover{background-color:#f5f6ff;border-color:#6667ab;box-shadow:0 2px 8px #6667ab1a}.book-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.book-list-header h4{margin:0;font-size:13px;font-weight:700;color:#1a1a2e;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-label{display:inline-block;padding:4px 10px;background-color:#eee9ff;color:#6667ab;border-radius:4px;font-size:11px;font-weight:700;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px}.book-list-details{display:flex;gap:8px;margin-bottom:10px}.detail-badge{display:inline-block;padding:4px 8px;background-color:#e8e8f0;color:#666;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap}.book-list-units{display:flex;flex-direction:column;gap:6px}.unit-quick-view{display:flex;align-items:center;gap:8px;padding:6px 8px;background-color:#fff;border-left:2px solid #6667AB;border-radius:4px;font-size:12px}.unit-label{font-weight:600;color:#6667ab;min-width:50px}.unit-desc{color:#a0a0b8;font-size:11px}@media (max-width: 1024px){.upload-view-container{grid-template-columns:1fr}.upload-info{order:2}.uploaded-books-section{order:1}}@media (max-width: 768px){.upload-view-container{grid-template-columns:1fr}.books-list{max-height:400px}}.detail-page-container{display:flex;flex-direction:column;gap:24px;padding:0}.detail-header{background-color:#fff;border-bottom:1px solid #E8E8F0;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.detail-header-left{display:flex;align-items:flex-start;gap:20px;flex:1}.back-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:#ffd66b;color:#1a1a2e;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.back-button:hover{background-color:#ffc94d;transform:translate(-2px)}.detail-title-section h1{margin:0 0 8px;font-size:28px;font-weight:700;color:#1a1a2e}.detail-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.detail-meta .category-badge{padding:6px 14px;font-size:11px}.detail-meta .meta-info{font-size:13px;color:#666}.detail-classes-section{padding:20px 24px;background-color:#fef9e7;border-bottom:1px solid #FFE899}.detail-classes-section h3{margin:0 0 12px;font-size:13px;font-weight:700;color:#1a1a2e;text-transform:uppercase;letter-spacing:.5px}.assigned-classes{display:flex;flex-wrap:wrap;gap:8px}.class-pill{display:inline-block;padding:8px 16px;background-color:#ffd66b;color:#1a1a2e;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap}.no-classes-text{color:#a0a0b8;font-size:13px;font-style:italic}.units-detail-section{display:flex;flex-direction:column;gap:16px;padding:0 24px 24px;max-width:1200px;margin:0 auto;width:100%}.unit-detail-card{background-color:#fff;border:1px solid #E8E8F0;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000a;transition:all .2s ease}.unit-detail-card:hover{box-shadow:0 4px 12px #6667ab1a;border-color:#6667ab}.unit-detail-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#f5f6ff,#f9f9ff);border-bottom:1px solid #E8E8F0;cursor:pointer;transition:background .2s ease}.unit-detail-header:hover{background:linear-gradient(135deg,#eff0ff,#f5f5ff)}.unit-detail-info{display:flex;align-items:flex-start;gap:12px;flex:1}.expand-toggle{background:none;border:none;cursor:pointer;color:#6667ab;padding:0;display:flex;align-items:center;flex-shrink:0;transition:transform .2s ease}.expand-toggle:hover{color:#5556a0}.unit-detail-texts h3{margin:0 0 4px;font-size:16px;font-weight:700;color:#1a1a2e}.unit-name{margin:0;font-size:13px;color:#666}.unit-detail-stats{display:flex;gap:8px;flex-shrink:0}.stat-badge{display:inline-block;padding:6px 12px;background-color:#eee9ff;color:#6667ab;border-radius:6px;font-size:11px;font-weight:700;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px}.unit-paragraphs-container{padding:16px 20px;display:flex;flex-direction:column;gap:16px}.paragraph-item{background-color:#f9f9fb;border:1px solid #E8E8F0;border-radius:8px;padding:16px;transition:all .2s ease}.paragraph-item:hover{background-color:#f5f6ff;border-color:#6667ab}.paragraph-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #E8E8F0}.paragraph-number{font-size:12px;font-weight:700;color:#6667ab;text-transform:uppercase;letter-spacing:.3px}.character-count{font-size:11px;color:#a0a0b8;font-weight:600}.paragraph-content{margin-bottom:12px}.paragraph-content p{margin:0;font-size:14px;color:#1a1a2e;line-height:1.7}.paragraph-actions{display:flex;gap:8px}.copy-button{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:#e8f4ff;color:#06c;border:1px solid #B3DFFF;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.copy-button:hover{background-color:#b3dfff;border-color:#0052a3;color:#0052a3}.copy-button:active{transform:scale(.98)}.edit-button{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:#fff4e6;color:#d97706;border:1px solid #FBD38D;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.edit-button:hover{background-color:#fbd38d;border-color:#b45309;color:#b45309}.edit-button:active{transform:scale(.98)}.save-button{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:#e8f9f3;color:#059669;border:1px solid #A7E8D5;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.save-button:hover{background-color:#a7e8d5;border-color:#047857;color:#047857}.save-button:active{transform:scale(.98)}.cancel-button{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:#fee8e8;color:#dc2626;border:1px solid #FCCCC8;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-button:hover{background-color:#fcccc8;border-color:#b91c1c;color:#b91c1c}.cancel-button:active{transform:scale(.98)}.paragraph-edit-mode{margin-bottom:12px}.paragraph-textarea{width:100%;min-height:150px;padding:12px;border:2px solid #6667AB;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;color:#1a1a2e;background-color:#fff;transition:all .2s ease}.paragraph-textarea:focus{outline:none;border-color:#5556a0;box-shadow:0 0 0 3px #6667ab1a}.paragraph-textarea::placeholder{color:#a0a0b8}@media (max-width: 768px){.detail-header{flex-direction:column;align-items:flex-start}.detail-header-left{flex-direction:column;width:100%}.back-button{width:100%;justify-content:center}.unit-detail-header{flex-direction:column;align-items:flex-start}.unit-detail-stats{width:100%;flex-direction:column}.stat-badge{width:100%;justify-content:flex-start}.units-detail-section{padding:0 16px 16px}.unit-paragraphs-container{padding:12px 16px;gap:12px}}.teachers-container{padding:2rem;background:#f5f5f5;min-height:100vh}.teachers-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem;flex-wrap:wrap}.header-content h1{font-size:2rem;color:#333;margin:0}.header-content p{color:#666;margin:.5rem 0 0;font-size:.95rem}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#4a90e2;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-primary:hover{background:#357abd;box-shadow:0 2px 8px #4a90e24d}.teachers-controls{margin-bottom:2rem}.search-input{width:100%;max-width:400px;padding:.75rem 1rem;border:1px solid #ddd;border-radius:8px;font-size:.95rem;transition:all .3s ease}.search-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.teachers-table-wrapper{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.teachers-table{width:100%;border-collapse:collapse}.teachers-table thead{background:#f8f9fa;border-bottom:2px solid #e9ecef}.teachers-table th{padding:1rem;text-align:left;font-weight:600;color:#333;font-size:.95rem}.teachers-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .2s ease}.teachers-table tbody tr:hover{background-color:#f8f9fa}.teachers-table td{padding:1rem;color:#333;font-size:.95rem}.teacher-name-cell{display:flex;align-items:center;gap:.75rem;font-weight:500}.teacher-avatar{width:36px;height:36px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.role-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:600;white-space:nowrap}.role-teacher{background:#e3f2fd;color:#1976d2}.role-admin{background:#f3e5f5;color:#7b1fa2}.status-toggle{padding:.4rem .8rem;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.status-active{background:#c8e6c9;color:#2e7d32}.status-active:hover{background:#a5d6a7}.status-inactive{background:#ffccbc;color:#d84315}.status-inactive:hover{background:#ffab91}.classes-count{text-align:center;font-weight:600;color:#4a90e2}.date-cell{color:#666;font-size:.9rem}.action-buttons{display:flex;gap:.5rem;justify-content:flex-end}.btn-icon{padding:.5rem;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.edit-btn:hover{background:#e3f2fd;border-color:#1976d2;color:#1976d2}.delete-btn:hover{background:#ffebee;border-color:#c62828;color:#c62828}.empty-row{text-align:center;padding:3rem!important;color:#999}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e9ecef}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.btn-close{background:none;border:none;cursor:pointer;color:#999;padding:0;transition:color .2s ease}.btn-close:hover{color:#333}.modal-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:.95rem}.form-input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;font-family:inherit;transition:all .3s ease}.form-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.form-input.error{border-color:#e74c3c}.error-message{color:#e74c3c;font-size:.85rem;margin-top:.25rem;display:block}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid #e9ecef}.btn-secondary{padding:.75rem 1.5rem;background:#f5f5f5;color:#333;border:1px solid #ddd;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:#e9ecef;border-color:#bbb}@media (max-width: 768px){.teachers-header{flex-direction:column}.btn-primary{width:100%;justify-content:center}.teachers-table{font-size:.85rem}.teachers-table th,.teachers-table td{padding:.75rem .5rem}.teacher-avatar{width:30px;height:30px;font-size:.8rem}.form-row{grid-template-columns:1fr}.modal-content{width:95%}}.reports-container{padding:2rem;background:#f5f5f5;min-height:100vh}.reports-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem;flex-wrap:wrap}.reports-header .header-content h1{font-size:2rem;color:#333;margin:0}.reports-header .header-content p{color:#666;margin:.5rem 0 0;font-size:.95rem}.export-buttons{display:flex;gap:1rem;flex-wrap:wrap}.export-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.csv-btn{background:#27ae60;color:#fff}.csv-btn:hover{background:#229954;box-shadow:0 2px 8px #27ae604d}.pdf-btn{background:#e74c3c;color:#fff}.pdf-btn:hover{background:#c0392b;box-shadow:0 2px 8px #e74c3c4d}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#fff;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.summary-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.card-icon{width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-content h3{margin:0;color:#666;font-size:.9rem}.card-value{margin:.5rem 0 0;font-size:1.8rem;font-weight:700;color:#333}.report-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.report-section h2{margin:0 0 1.5rem;color:#333;font-size:1.3rem}.report-table{width:100%;border-collapse:collapse}.report-table thead{background:#f8f9fa;border-bottom:2px solid #e9ecef}.report-table th{padding:1rem;text-align:left;font-weight:600;color:#333}.report-table td{padding:1rem;border-bottom:1px solid #e9ecef;color:#555}.report-table tbody tr:hover{background-color:#f8f9fa}.name-cell{font-weight:600;color:#333}.student-count{background:#e3f2fd;color:#1976d2;padding:.3rem .6rem;border-radius:4px;font-weight:600}.capacity-bar{height:24px;background:#e9ecef;border-radius:12px;overflow:hidden;position:relative}.capacity-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:12px;transition:width .3s ease}.completion-bar{height:24px;background:#e9ecef;border-radius:12px;overflow:hidden;position:relative;margin-bottom:.5rem}.completion-fill{height:100%;background:linear-gradient(90deg,#27ae60,#229954);border-radius:12px;transition:width .3s ease}.percentage{font-size:.85rem;color:#666;font-weight:600}.status-badge{display:inline-block;padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:600;text-transform:capitalize}.status-badge.assigned{background:#e3f2fd;color:#1976d2}.status-badge.in-progress{background:#fff3e0;color:#f57c00}.status-badge.completed{background:#e8f5e9;color:#388e3c}.status-badge.expired{background:#ffebee;color:#d32f2f}.empty-row{text-align:center;padding:2rem!important;color:#999}.statistics-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-box{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:1.5rem;border-radius:8px;text-align:center}.stat-box h4{margin:0 0 .7rem;color:#555;font-size:.9rem}.stat-value{margin:0;font-size:2rem;font-weight:700;color:#333}.report-options{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.report-options h2{margin:0 0 1.5rem;color:#333;font-size:1.3rem}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.option-card{border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;transition:all .3s ease}.option-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26}.option-card h4{margin:0 0 .5rem;color:#333}.option-card p{margin:0 0 1rem;color:#666;font-size:.9rem}.option-btn{width:100%;padding:.7rem;background:#667eea;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.option-btn:hover{background:#5568d3}@media (max-width: 768px){.reports-container{padding:1rem}.reports-header{flex-direction:column}.export-buttons{width:100%}.export-btn{flex:1;justify-content:center}}.insights-container{padding:2rem;background:#f5f5f5;min-height:100vh}.insights-header{margin-bottom:2rem}.insights-header .header-content h1{font-size:2rem;color:#333;margin:0}.insights-header .header-content p{color:#666;margin:.5rem 0 0;font-size:.95rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{background:#fff;border-radius:12px;padding:1.5rem;display:flex;align-items:flex-start;gap:1rem;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.metric-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.metric-icon{width:56px;height:56px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;font-weight:600}.metric-icon.users{background:linear-gradient(135deg,#667eea,#764ba2)}.metric-icon.classes{background:linear-gradient(135deg,#f093fb,#f5576c)}.metric-icon.average{background:linear-gradient(135deg,#4facfe,#00f2fe)}.metric-icon.capacity{background:linear-gradient(135deg,#43e97b,#38f9d7)}.metric-content h3{margin:0;color:#666;font-size:.9rem}.metric-value{margin:.3rem 0 .2rem;font-size:1.6rem;font-weight:700;color:#333}.metric-content small{color:#999;font-size:.85rem}.analysis-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.analysis-section h2{margin:0 0 1.5rem;color:#333}.analysis-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.analysis-card{border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;text-align:center}.analysis-card.highlight{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.analysis-card h4{margin:0 0 1rem;opacity:.9;font-size:.9rem}.class-name{margin:0 0 .3rem;font-size:1.3rem;font-weight:700}.class-stat{margin:.5rem 0;font-size:1rem;opacity:.8}.analysis-card small{opacity:.8;font-size:.85rem}.analysis-card:not(.highlight) small{color:#666}.distribution-chart{display:flex;align-items:flex-end;gap:.5rem;height:120px}.distribution-bar{flex:1;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:4px 4px 0 0;min-height:20px;opacity:.8;transition:opacity .2s}.distribution-bar:hover{opacity:1}.empty-text{color:#999;margin:0}.workload-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.workload-section h2{margin:0 0 1.5rem;color:#333}.workload-table-wrapper{overflow-x:auto}.workload-table{width:100%;border-collapse:collapse}.workload-table thead{background:#f8f9fa;border-bottom:2px solid #e9ecef}.workload-table th{padding:1rem;text-align:left;font-weight:600;color:#333}.workload-table td{padding:1rem;border-bottom:1px solid #e9ecef;color:#555}.workload-table tbody tr:hover{background-color:#f8f9fa}.teacher-name{font-weight:600;color:#333}.badge{background:#e3f2fd;color:#1976d2;padding:.3rem .7rem;border-radius:12px;font-weight:600;font-size:.85rem}.student-count{background:#f0f5ff;color:#667eea;padding:.3rem .6rem;border-radius:4px;font-weight:600}.distribution-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.distribution-section h2{margin:0 0 1.5rem;color:#333}.distribution-list{display:flex;flex-direction:column;gap:1rem}.distribution-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.distribution-info{min-width:150px}.distribution-info h4{margin:0;color:#333;font-size:.95rem}.distribution-info small{color:#666;font-size:.85rem}.distribution-bar-container{flex:1;height:24px;background:#e9ecef;border-radius:12px;overflow:hidden}.distribution-bar-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:12px;transition:width .3s ease}.percentage{min-width:40px;text-align:right;font-weight:600;color:#333}.performers-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.performers-section h2{margin:0 0 1.5rem;color:#333}.performers-list{display:flex;flex-direction:column;gap:1rem}.performer-item{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea;transition:all .2s ease}.performer-item.top{border-left-color:#27ae60;background:linear-gradient(135deg,#f0fdf4,#f8f9fa)}.performer-item.struggling{border-left-color:#e74c3c;background:linear-gradient(135deg,#ffebee,#f8f9fa)}.performer-item:hover{transform:translate(4px);box-shadow:0 2px 8px #0000001a}.performer-rank{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;font-weight:700;flex-shrink:0}.performer-rank.warning{background:linear-gradient(135deg,#f39c12,#e67e22)}.performer-info{flex:1;min-width:0}.performer-info h4{margin:0;color:#333;font-size:.95rem;font-weight:600}.performer-info small{color:#666;font-size:.85rem;display:block;margin-top:.3rem}.performer-score{width:60px;text-align:right;font-size:1.4rem;font-weight:700;color:#27ae60;flex-shrink:0}.performer-score.low{color:#e74c3c}.progress-bar{height:6px;background:#e9ecef;border-radius:3px;overflow:hidden;margin:.5rem 0}.progress-fill{height:100%;background:linear-gradient(90deg,#43e97b,#38f9d7);border-radius:3px;transition:width .3s ease}.score-text{color:#666;font-size:.8rem;margin-top:.3rem;display:block}.recommendations-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.recommendations-section h2{margin:0 0 1.5rem;color:#333}.recommendations-list{display:flex;flex-direction:column;gap:1rem}.recommendation-item{padding:1rem;border-left:4px solid;border-radius:4px;background:#f8f9fa}.recommendation-item.warning{border-left-color:#f39c12;background:#fffbf0;color:#8b6914}.recommendation-item.info{border-left-color:#3498db;background:#f0f8ff;color:#2c5aa0}.recommendation-item.success{border-left-color:#27ae60;background:#f0fdf4;color:#1b6f3f}@media (max-width: 768px){.insights-container{padding:1rem}.metrics-grid,.analysis-cards{grid-template-columns:1fr}.distribution-item{flex-wrap:wrap}.distribution-info,.distribution-bar-container{width:100%}.percentage{width:100%;text-align:left}}.system-config-container{padding:2rem;background:#f5f5f5;min-height:100vh}.config-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem;flex-wrap:wrap}.config-header .header-content h1{font-size:2rem;color:#333;margin:0}.config-header .header-content p{color:#666;margin:.5rem 0 0;font-size:.95rem}.header-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn-save,.btn-reset{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-save{background:#27ae60;color:#fff}.btn-save:hover{background:#229954;box-shadow:0 2px 8px #27ae604d}.btn-reset{background:#95a5a6;color:#fff}.btn-reset:hover{background:#7f8c8d;box-shadow:0 2px 8px #95a5a64d}.success-notification{background:#d4edda;color:#155724;padding:1rem;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid #28a745}.config-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000001a}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.section-header h2{margin:0;color:#333;font-size:1.2rem}.section-header svg{color:#667eea}.config-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{font-weight:600;color:#333;font-size:.95rem}.form-group input,.form-group select{padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;font-family:inherit;transition:all .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.form-group small{color:#666;font-size:.85rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.config-toggles{display:flex;flex-direction:column;gap:1.5rem}.toggle-item{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #e9ecef;transition:all .3s ease}.toggle-item.warning{border-left-color:#f39c12;background:#fffbf0}.toggle-info h4{margin:0;color:#333;font-size:.95rem}.toggle-info p{margin:.3rem 0 0;color:#666;font-size:.85rem}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:26px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#27ae60}input:checked+.slider:before{transform:translate(24px)}.database-info{padding:1.5rem;background:#f8f9fa;border-radius:8px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #e9ecef}.info-row:last-child{border-bottom:none}.info-row .label{font-weight:600;color:#555}.info-row .value{color:#666}.db-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e9ecef}.btn-secondary{flex:1;padding:.75rem;background:#667eea;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:#5568d3}.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}.modal-content{background:#fff;border-radius:12px;padding:2rem;max-width:400px;width:90%;box-shadow:0 10px 40px #0003}.modal-content h2{margin:0 0 .5rem;color:#333}.modal-content p{color:#666;margin:0 0 1.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-cancel{padding:.75rem 1.5rem;background:#e9ecef;color:#333;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel:hover{background:#dee2e6}.btn-danger{padding:.75rem 1.5rem;background:#e74c3c;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-danger:hover{background:#c0392b}@media (max-width: 768px){.system-config-container{padding:1rem}.config-header{flex-direction:column}.header-actions{width:100%}.btn-save,.btn-reset{flex:1;justify-content:center}.form-row{grid-template-columns:1fr}.toggle-item{flex-direction:column;align-items:flex-start}.toggle-switch{margin-top:1rem}.config-form,.config-toggles{gap:1rem}.db-actions{flex-direction:column}.btn-secondary{margin-bottom:0}.modal-content{padding:1.5rem}}.snl-page{padding:28px 32px 56px;min-height:100%;background:#f4f5fb}.snl-header{margin-bottom:20px}.snl-header p{font-size:14px;color:#6b7280;margin:0 0 8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.snl-school-tag{display:inline-flex;align-items:center;gap:5px;background:#f0f1fb;border:1px solid #c5c7e8;color:#3a3c8c;border-radius:20px;padding:3px 12px;font-size:12px;font-weight:700;margin-top:6px}.snl-source-tag{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap}.snl-platform{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.snl-school{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.snl-back-btn{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #e0e3f5;color:#3a3c8c;border-radius:10px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;margin-bottom:20px;transition:all .2s}.snl-back-btn:hover{background:#3a3c8c;color:#fff}.snl-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #e0e3f5;border-radius:14px;padding:12px 18px;margin-bottom:16px;box-shadow:0 2px 8px #0000000a}.snl-search-wrap{position:relative;flex:1;min-width:200px}.snl-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9098b1}.snl-search{width:100%;padding:9px 12px 9px 34px;border:1px solid #e0e3f5;border-radius:8px;font-size:14px;color:#1a1a2e;background:#f8f9ff;outline:none;transition:border-color .2s;box-sizing:border-box}.snl-search:focus{border-color:#3a3c8c;background:#fff}.snl-select-wrap{position:relative;display:inline-flex;align-items:center}.snl-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:9px 32px 9px 12px;border:1px solid #e0e3f5;border-radius:8px;font-size:13px;font-weight:600;color:#374151;background:#f8f9ff;cursor:pointer;outline:none}.snl-select:focus{border-color:#3a3c8c;background:#fff}.snl-select-icon{position:absolute;right:9px;color:#9098b1;pointer-events:none}.snl-count{font-size:13px;color:#9098b1;font-weight:600;white-space:nowrap;margin-left:auto}.snl-table-wrap{background:#fff;border-radius:16px;border:1px solid #e0e3f5;box-shadow:0 2px 10px #0000000a;overflow-x:auto}.snl-table{width:100%;border-collapse:collapse;font-size:14px}.snl-table thead tr{background:#f8f9ff;border-bottom:2px solid #e0e3f5}.snl-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.snl-table td{padding:14px 16px;border-bottom:1px solid #f0f1fb;vertical-align:middle}.snl-table tbody tr:last-child td{border-bottom:none}.snl-table tbody tr:hover{background:#fafbff}.snl-table-empty{text-align:center;padding:40px;color:#9098b1;font-size:14px}.snl-book-name-cell{display:flex;flex-direction:column;gap:3px}.snl-book-name{font-weight:700;color:#1a1a2e;font-size:14px}.snl-book-sub{font-size:12px;color:#9098b1}.snl-level-badge{display:inline-block;padding:3px 12px;border-radius:20px;font-size:12px;font-weight:800;border:1px solid;white-space:nowrap}.snl-view-btn,.snl-assign-btn-row{display:inline-flex;align-items:center;gap:5px;border:none;border-radius:8px;padding:7px 16px;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap}.snl-view-btn{background:#f0f1fb;color:#3a3c8c;border:1px solid #c5c7e8}.snl-view-btn:hover,.snl-assign-btn-row{background:#3a3c8c;color:#fff}.snl-assign-btn-row:hover{opacity:.85}.snl-detail-header{background:#fff;border:1px solid #e0e3f5;border-radius:16px;padding:20px 24px;margin-bottom:16px;box-shadow:0 2px 8px #0000000a}.snl-detail-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.snl-detail-title-row h1{font-size:22px;font-weight:800;color:#1a1a2e;margin:0;flex:1}.snl-detail-desc{font-size:14px;color:#6b7280;margin:0 0 10px}.snl-detail-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:#9098b1;font-weight:600}.snl-readonly-notice{display:inline-flex;align-items:center;gap:4px;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:700}.snl-assign-summary{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:14px 18px;margin-bottom:16px}.snl-assign-summary-label{font-size:12px;font-weight:800;color:#15803d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.snl-assign-summary-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#374151;padding:5px 0;border-bottom:1px solid #d1fae5}.snl-assign-summary-row:last-child{border-bottom:none}.snl-assign-class{font-weight:700;color:#1a1a2e}.snl-assign-arrow{color:#9098b1}.snl-assign-units{color:#16a34a;font-weight:600}.snl-assign-date{font-size:11px;color:#9098b1;margin-left:auto}.snl-units-section{background:#fff;border:1px solid #e0e3f5;border-radius:16px;overflow:hidden;margin-bottom:16px}.snl-units-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#f8f9ff;border-bottom:1px solid #e0e3f5;font-size:14px;font-weight:800;color:#374151}.snl-btn-assign-open{background:#3a3c8c;color:#fff;border:none;border-radius:8px;padding:7px 16px;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .2s}.snl-btn-assign-open:hover{opacity:.85}.snl-no-units-msg{padding:24px;text-align:center;color:#9098b1;font-size:14px}.snl-unit-detail-row{display:flex;align-items:center;gap:14px;padding:13px 20px;border-bottom:1px solid #f0f1fb;font-size:14px;transition:background .15s}.snl-unit-detail-row:last-child{border-bottom:none}.snl-unit-detail-row:hover{background:#fafbff}.snl-unit-checked{background:#f0f1fb!important}.snl-unit-checkbox{cursor:pointer;flex-shrink:0}.snl-unit-idx{font-size:12px;font-weight:800;color:#3a3c8c;min-width:48px;flex-shrink:0}.snl-unit-detail-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.snl-unit-detail-title{font-weight:700;color:#1a1a2e}.snl-unit-detail-text{font-size:12px;color:#9098b1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snl-unit-detail-badges{display:flex;gap:4px;flex-wrap:wrap;flex-shrink:0}.snl-q-badge{padding:2px 7px;border-radius:5px;font-size:10px;font-weight:800;white-space:nowrap}.snl-unit-qcount{font-size:12px;color:#9098b1;font-weight:700;flex-shrink:0}.snl-assign-panel{background:#fff;border:2px solid #3A3C8C;border-radius:14px;padding:20px 24px;box-shadow:0 4px 20px #3a3c8c1f}.snl-assign-panel-title{font-size:16px;font-weight:800;color:#1a1a2e;margin-bottom:16px}.snl-assign-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.snl-assign-label{font-size:13px;font-weight:700;color:#374151;min-width:120px}.snl-toggle-all{background:none;border:1px solid #c5c7e8;border-radius:7px;padding:5px 12px;font-size:12px;font-weight:700;color:#374151;cursor:pointer;transition:all .15s}.snl-toggle-all:hover{border-color:#3a3c8c;color:#3a3c8c}.snl-assign-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.snl-btn-cancel{background:#f0f1fb;color:#3a3c8c;border:1px solid #c5c7e8;border-radius:10px;padding:9px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.snl-btn-cancel:hover{background:#e0e2f4}.snl-btn-assign-do{display:flex;align-items:center;gap:7px;background:linear-gradient(135deg,#3a3c8c,#2f306b);color:#fff;border:none;border-radius:10px;padding:9px 22px;font-size:14px;font-weight:700;cursor:pointer;transition:opacity .2s;box-shadow:0 4px 14px #3a3c8c40}.snl-btn-assign-do:hover{opacity:.88}.snl-btn-assign-do:disabled{opacity:.45;cursor:not-allowed}.snl-assign-checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.snl-assign-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;border:2px solid #c5c7e8;border-radius:4px;accent-color:#3A3C8C}.snl-students-section{flex-direction:column;align-items:flex-start}.snl-students-list{display:flex;flex-direction:column;gap:8px;width:100%;padding:12px;background:#f8f9fb;border-radius:8px;border:1px solid #e5e7eb;max-height:250px;overflow-y:auto}.snl-student-checkbox{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 8px;border-radius:4px;transition:background .15s}.snl-student-checkbox:hover{background:#e5e7eb}.snl-student-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;border:2px solid #c5c7e8;border-radius:3px;accent-color:#3A3C8C;flex-shrink:0}@media (max-width: 768px){.snl-page{padding:16px}.snl-filters{flex-direction:column;align-items:stretch}.snl-detail-title-row{flex-direction:column;align-items:flex-start}.snl-unit-detail-row{flex-wrap:wrap}.snl-assign-row{flex-direction:column;align-items:flex-start}}.snl-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.snl-header h1{font-size:24px;font-weight:800;color:#1a1a2e;margin:0 0 4px}.snl-header p{font-size:14px;color:#6b7280;margin:0 0 8px}.snl-school-tag{display:inline-flex;align-items:center;gap:5px;background:#f0f1fb;border:1px solid #c5c7e8;color:#3a3c8c;border-radius:20px;padding:3px 12px;font-size:12px;font-weight:700}.snl-empty{text-align:center;padding:64px 24px;background:#fff;border-radius:16px;border:1px solid #e0e3f5}.snl-empty svg{margin:0 auto 16px;display:block;color:#c5c7e8}.snl-empty h3{font-size:18px;font-weight:800;color:#374151;margin:0 0 8px}.snl-empty p{font-size:14px;color:#9098b1;max-width:380px;margin:0 auto;line-height:1.6}.snl-book-list{display:flex;flex-direction:column;gap:12px}.snl-book-card{background:#fff;border:1px solid #e0e3f5;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px #0000000a;transition:border-color .2s}.snl-book-card.snl-book-open{border-color:#3a3c8c}.snl-book-row{display:flex;align-items:center;gap:14px;padding:16px 20px;cursor:pointer;transition:background .15s}.snl-book-row:hover{background:#f8f9ff}.snl-book-icon{font-size:24px;flex-shrink:0}.snl-book-info{flex:1;min-width:0}.snl-book-title{font-size:15px;font-weight:800;color:#1a1a2e}.snl-book-desc{font-size:12px;color:#9098b1;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snl-level-badge{display:inline-block;padding:3px 12px;border-radius:20px;font-size:12px;font-weight:800;border:1px solid;white-space:nowrap;flex-shrink:0}.snl-book-stats{display:flex;gap:12px;flex-shrink:0;font-size:12px;color:#9098b1;font-weight:600}.snl-chevron{color:#9098b1;flex-shrink:0;transition:transform .2s}.snl-chevron-open{transform:rotate(180deg)}.snl-units{border-top:1px solid #e8eaf6;background:#f8f9ff}.snl-no-units{padding:16px 20px;color:#9098b1;font-size:13px;text-align:center}.snl-unit-row{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid #eef0fa;font-size:13px}.snl-unit-row:last-child{border-bottom:none}.snl-unit-num{font-size:12px;font-weight:800;color:#3a3c8c;min-width:48px;flex-shrink:0}.snl-unit-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.snl-unit-title{font-weight:700;color:#1a1a2e}.snl-unit-text{font-size:11px;color:#9098b1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snl-unit-badges{display:flex;gap:4px;flex-wrap:wrap;flex-shrink:0}.snl-q-badge{padding:2px 7px;border-radius:5px;font-size:10px;font-weight:800}.snl-unit-qcount{font-size:12px;color:#9098b1;font-weight:700;flex-shrink:0;white-space:nowrap}.snl-success-banner{display:flex;align-items:center;gap:8px;background:#d1fae5;color:#065f46;border:1px solid #6ee7b7;border-radius:10px;padding:12px 18px;font-size:14px;font-weight:700;margin-bottom:18px}.snl-saved-list{background:#fff;border:1px solid #e0e3f5;border-radius:12px;padding:14px 18px;margin-bottom:20px}.snl-saved-label{font-size:12px;font-weight:800;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.snl-saved-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#374151;padding:6px 0;border-bottom:1px solid #f0f1fb}.snl-saved-item:last-child{border-bottom:none}.snl-saved-item svg{color:#3a3c8c;flex-shrink:0}.snl-saved-unit{color:#6b7280}.snl-saved-arrow{color:#c5c7e8}.snl-saved-classes{font-weight:700;color:#3a3c8c}.snl-assign-form{display:flex;flex-direction:column;gap:16px}.snl-step{display:flex;gap:16px;background:#fff;border:1px solid #e0e3f5;border-radius:14px;padding:18px 20px}.snl-step-num{width:30px;height:30px;border-radius:50%;background:#3a3c8c;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0}.snl-step-body{flex:1;min-width:0}.snl-step-label{font-size:14px;font-weight:800;color:#1a1a2e;margin-bottom:12px}.snl-optional{font-size:12px;color:#9098b1;font-weight:400}.snl-book-grid{display:flex;flex-wrap:wrap;gap:10px}.snl-book-pick{display:flex;flex-direction:column;gap:6px;background:#f8f9ff;border:2px solid #e0e3f5;border-radius:12px;padding:12px 16px;cursor:pointer;transition:all .15s;text-align:left;min-width:160px;position:relative}.snl-book-pick:hover{border-color:#3a3c8c;background:#f0f1fb}.snl-book-pick.snl-picked{border-color:#3a3c8c;background:#eef0fc}.snl-pick-title{font-size:13px;font-weight:800;color:#1a1a2e}.snl-pick-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:800}.snl-pick-units{display:flex;align-items:center;gap:4px;font-size:11px;color:#9098b1;font-weight:600}.snl-pick-check{position:absolute;top:10px;right:10px;color:#3a3c8c}.snl-unit-options{display:flex;flex-wrap:wrap;gap:8px}.snl-unit-opt{background:#f8f9ff;border:1px solid #e0e3f5;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;color:#374151;cursor:pointer;transition:all .15s}.snl-unit-opt:hover{border-color:#3a3c8c;color:#3a3c8c}.snl-unit-opt-active{background:#3a3c8c;border-color:#3a3c8c;color:#fff!important}.snl-no-classes{font-size:13px;color:#9098b1}.snl-class-list{display:flex;flex-direction:column;gap:8px}.snl-class-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #e8eaf6;border-radius:10px;cursor:pointer;background:#fff;transition:all .15s}.snl-class-row:hover{border-color:#3a3c8c;background:#f8f9ff}.snl-class-checked{border-color:#3a3c8c;background:#f0f1fb}.snl-class-row input{position:absolute;opacity:0;width:0;height:0}.snl-checkbox{width:20px;height:20px;border:2px solid #c5c7e8;border-radius:6px;display:flex;align-items:center;justify-content:center;background:#fff;flex-shrink:0;transition:all .15s;color:#fff}.snl-checkbox-checked{background:#3a3c8c;border-color:#3a3c8c}.snl-class-name{font-size:14px;font-weight:700;color:#1a1a2e}.snl-assign-footer{display:flex;justify-content:flex-end}.snl-btn-assign{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#3a3c8c,#2f306b);color:#fff;border:none;border-radius:10px;padding:12px 24px;font-size:14px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .15s;box-shadow:0 4px 14px #3a3c8c40}.snl-btn-assign:hover{opacity:.88;transform:translateY(-1px)}@media (max-width: 768px){.snl-page{padding:16px}.snl-book-grid,.snl-unit-options,.snl-step{flex-direction:column}}.finance-container{display:grid;grid-template-columns:250px 1fr;min-height:100vh;background-color:#f8fafc}.finance-sidebar{background:linear-gradient(180deg,#1e40af,#1e3a8a);color:#fff;padding:0;display:flex;flex-direction:column;transition:all .3s ease;position:relative;overflow:hidden}.finance-sidebar.closed{width:80px}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:16px 8px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h2{font-size:18px;font-weight:700;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-toggle{background:none;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.sidebar-toggle:hover{color:#93c5fd}.sidebar-nav{display:flex;flex-direction:column;gap:0;padding:20px 8px;flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.nav-item{color:#ffffffbf;text-decoration:none;padding:10px 8px;border-radius:8px;font-size:15px;font-weight:500;transition:all .2s ease;display:block;position:relative;margin:3px 0;background:none;border:none;cursor:pointer;width:100%;text-align:left}.nav-item:hover{background-color:#ffffff1a;color:#fff}.nav-item.active{background-color:#93c5fd4d;color:#fff}.nav-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:#93c5fd;border-radius:0 2px 2px 0}.nav-section{margin:12px 0 0}.nav-section-title{font-size:12px;color:#fff6;font-weight:700;text-transform:uppercase;letter-spacing:.8px;padding:10px 8px 4px;margin-top:8px}.nav-item.sub-item{padding:8px 8px 8px 28px;font-size:14px}.nav-item.sub-item.flex-icon-item{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 28px}.nav-item.sub-item.flex-icon-item svg{flex-shrink:0;opacity:.8;color:#ffffffbf}.nav-item.sub-item.flex-icon-item:hover svg{color:#fff}.nav-item.sub-item:hover{background-color:#ffffff14;color:#fff;padding-left:32px}.sidebar-bottom{position:relative;padding:12px 8px;background:linear-gradient(180deg,#1e40af33,#1e3a8a);border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:8px;flex-shrink:0;margin-top:auto}.user-section{display:flex;align-items:center;gap:10px;padding:0;margin:0}.user-avatar{width:36px;height:36px;border-radius:6px;background-color:#93c5fd4d;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;flex-shrink:0}.user-info{display:flex;flex-direction:column;gap:2px;min-width:0}.user-name{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:11px;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-button{display:flex;align-items:center;gap:10px;padding:8px;background-color:#ef44441a;color:#ffffffbf;border:1px solid rgba(239,68,68,.3);border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:12px;font-weight:500;width:100%;justify-content:center}.logout-button:hover{background-color:#ef444433;color:#fecaca;border-color:#ef444480}.finance-main{overflow-y:auto;overflow-x:hidden}.finance-dashboard{padding:24px}.finance-dashboard h1{font-size:32px;font-weight:700;color:#1a202c;margin:0 0 16px}.finance-dashboard p{font-size:16px;color:#718096}@media (max-width: 768px){.finance-container{grid-template-columns:1fr}.finance-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:1000;width:250px!important}.finance-sidebar.closed{width:80px}.finance-main{margin-left:250px}.finance-sidebar.closed~.finance-main{margin-left:80px}}.payg-container{padding:32px;background-color:#f8fafc;min-height:100%;max-width:1200px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.payg-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:#64748b;gap:12px}.payg-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}.payg-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:#94a3b8;margin-bottom:24px}.payg-breadcrumb-sep{color:#cbd5e1}.payg-breadcrumb-active{color:#1e293b;font-weight:600}.payg-header{margin-bottom:32px}.payg-header h1{font-size:28px;font-weight:700;color:#0f172a;margin:0 0 6px}.payg-header p{font-size:15px;color:#64748b;margin:0}.payg-balance-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px}.payg-balance-card{display:flex;align-items:center;gap:16px;padding:24px;border-radius:12px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 1px 3px #0000000f;transition:box-shadow .2s,transform .2s}.payg-balance-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.payg-balance-card--blue{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#93c5fd}.payg-balance-card--green{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac}.payg-balance-card--orange{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fcd34d}.payg-balance-card__icon{font-size:32px;flex-shrink:0}.payg-balance-card__content{display:flex;flex-direction:column}.payg-balance-card__label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:4px}.payg-balance-card__value{font-size:28px;font-weight:700;color:#0f172a;line-height:1.2}.payg-balance-card--blue .payg-balance-card__value{color:#1d4ed8}.payg-balance-card--green .payg-balance-card__value{color:#15803d}.payg-balance-card--orange .payg-balance-card__value{color:#b45309}.payg-balance-card__sub{font-size:13px;color:#64748b;margin-top:2px}.payg-main{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-bottom:32px;align-items:start}.payg-form-card{background:#fff;border-radius:12px;padding:32px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000f}.payg-form-card__title{font-size:20px;font-weight:700;color:#0f172a;margin:0 0 24px}.payg-input-label{display:block;font-size:13px;font-weight:600;color:#475569;margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}.payg-input-wrapper{position:relative;margin-bottom:8px}.payg-input-prefix{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:20px;font-weight:600;color:#94a3b8}.payg-input{width:100%;padding:16px 16px 16px 36px;font-size:24px;font-weight:600;border:2px solid #e2e8f0;border-radius:10px;outline:none;transition:border-color .2s,box-shadow .2s;color:#0f172a;background:#f8fafc;box-sizing:border-box}.payg-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;background:#fff}.payg-input::placeholder{color:#cbd5e1}.payg-input-hint{display:flex;justify-content:space-between;font-size:12px;color:#94a3b8;margin-bottom:24px}.payg-currency-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:24px}.payg-currency-btn{padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:14px;font-weight:600;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;cursor:pointer;transition:all .15s ease}.payg-currency-btn:hover{border-color:#2563eb;background:#f0f9ff;color:#2563eb}.payg-currency-btn--active{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 2px 8px #2563eb4d}.payg-currency-btn--active:hover{background:#1d4ed8;border-color:#1d4ed8}.payg-currency-btn--local{border-color:#10b981;background:#f0fdf4}.payg-currency-btn--local:hover{border-color:#10b981;background:#ecfdf5}.payg-currency-btn--local.payg-currency-btn--active{background:#10b981;border-color:#10b981;box-shadow:0 2px 8px #10b9814d}.payg-currency-btn--local.payg-currency-btn--active:hover{background:#059669;border-color:#059669}.payg-currency-badge{position:absolute;top:-2px;right:-2px;font-size:12px;background:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center}.payg-currency-btn{position:relative}.payg-currency-symbol{font-size:16px;font-weight:700}.payg-currency-code{font-size:11px;opacity:.8}.payg-quick-amounts{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:24px}.payg-quick-btn{padding:10px 8px;font-size:14px;font-weight:600;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;cursor:pointer;transition:all .15s ease}.payg-quick-btn:hover{border-color:#2563eb;color:#2563eb;transform:translateY(-1px);box-shadow:0 2px 6px #2563eb26}.payg-quick-btn--active{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 2px 8px #2563eb4d}.payg-quick-btn--active:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.payg-calc-preview{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:16px 20px;margin-bottom:24px}.payg-calc-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:14px;color:#334155}.payg-calc-row strong{color:#1d4ed8;font-size:15px}.payg-calc-note{font-size:12px;color:#64748b;margin-top:8px;padding-top:8px;border-top:1px solid #bfdbfe}.payg-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:12px 16px;font-size:13px;font-weight:500;margin-bottom:24px}.payg-pay-btn{width:100%;padding:16px;font-size:16px;font-weight:700;border:none;border-radius:10px;background:#2563eb;color:#fff;cursor:pointer;transition:all .2s ease;letter-spacing:.3px}.payg-pay-btn:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb59;transform:translateY(-1px)}.payg-pay-btn:active{transform:translateY(0)}.payg-pay-btn--disabled{background:#cbd5e1;color:#94a3b8;cursor:not-allowed;box-shadow:none}.payg-pay-btn--disabled:hover{background:#cbd5e1;box-shadow:none;transform:none}.payg-info-card{background:#1e293b;border-radius:12px;padding:28px;color:#fff;position:sticky;top:24px}.payg-info-card__title{font-size:16px;font-weight:700;margin:0 0 20px;color:#fff}.payg-info-list{list-style:none;margin:0;padding:0}.payg-info-list li{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #334155}.payg-info-list li:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.payg-info-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#10b981;color:#fff;border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0;margin-top:2px}.payg-info-list li div strong{display:block;font-size:14px;font-weight:600;color:#f1f5f9;margin-bottom:2px}.payg-info-list li div p{margin:0;font-size:12px;color:#94a3b8;line-height:1.4}.payg-transactions{background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000f;overflow:hidden}.payg-transactions__title{font-size:18px;font-weight:700;color:#0f172a;margin:0;padding:20px 24px;border-bottom:1px solid #e2e8f0}.payg-table-wrap{overflow-x:auto}.payg-table{width:100%;border-collapse:collapse}.payg-table th{text-align:left;padding:12px 24px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0}.payg-table td{padding:14px 24px;font-size:14px;color:#334155;border-bottom:1px solid #f1f5f9}.payg-table tbody tr:hover{background:#f8fafc}.payg-table tbody tr:last-child td{border-bottom:none}.payg-table-mono{font-family:SF Mono,Fira Code,monospace;font-size:12px;color:#64748b}.payg-table-bold{font-weight:600;color:#0f172a}.payg-credits-badge{display:inline-block;background:#eff6ff;color:#1d4ed8;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:700}.payg-status{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.payg-status:before{content:"";width:6px;height:6px;border-radius:50%}.payg-status--success{background:#f0fdf4;color:#166534}.payg-status--success:before{background:#22c55e}.payg-status--pending{background:#fefce8;color:#854d0e}.payg-status--pending:before{background:#eab308}.payg-status--failed{background:#fef2f2;color:#991b1b}.payg-status--failed:before{background:#ef4444}.payg-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.payg-modal{background:#fff;border-radius:16px;padding:32px;max-width:420px;width:100%;box-shadow:0 20px 60px #0000004d}.payg-modal__title{font-size:20px;font-weight:700;color:#0f172a;margin:0 0 24px}.payg-modal__summary{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:12px;padding:20px;text-align:center;margin-bottom:24px}.payg-modal__summary-label{display:block;font-size:12px;color:#64748b;margin-bottom:4px}.payg-modal__summary-amount{display:block;font-size:36px;font-weight:700;color:#1d4ed8}.payg-modal__summary-credits{display:block;font-size:13px;color:#475569;margin-top:4px}.payg-payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.payg-payment-method{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s;font-size:14px;font-weight:600;color:#475569}.payg-payment-method:hover:not(:disabled){border-color:#2563eb;background:#f0f9ff}.payg-payment-method--active{border-color:#2563eb;background:#0f172a;color:#fff}.payg-payment-method:disabled{opacity:.6;cursor:not-allowed}.payg-payment-method__icon{font-size:20px}.payg-payment-method__label{font-size:14px;font-weight:600}.payg-modal__fields{margin-bottom:24px}.payg-modal__field{margin-bottom:16px}.payg-modal__field label{display:block;font-size:13px;font-weight:600;color:#475569;margin-bottom:6px}.payg-modal__field input{width:100%;padding:12px 14px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;color:#0f172a;outline:none;transition:border-color .2s;box-sizing:border-box}.payg-modal__field input:focus{border-color:#2563eb}.payg-modal__field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payg-modal__field-row .payg-modal__field{margin-bottom:0}.payg-modal__actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payg-modal__cancel{padding:12px;font-size:14px;font-weight:600;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#475569;cursor:pointer;transition:all .15s}.payg-modal__cancel:hover{background:#f8fafc;border-color:#cbd5e1}.payg-modal__confirm{padding:12px;font-size:14px;font-weight:700;border:none;border-radius:8px;background:#2563eb;color:#fff;cursor:pointer;transition:all .15s}.payg-modal__confirm:hover{background:#1d4ed8}.payg-modal__confirm:disabled{background:#94a3b8;cursor:not-allowed}@media (max-width: 900px){.payg-main{grid-template-columns:1fr}.payg-info-card{position:static}}@media (max-width: 640px){.payg-container{padding:16px}.payg-balance-row{grid-template-columns:1fr}.payg-currency-selector{grid-template-columns:repeat(2,1fr)}.payg-quick-amounts{grid-template-columns:repeat(3,1fr)}}.billing-container{padding:32px;background-color:#f8fafc;min-height:100%;max-width:1200px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.billing-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:#94a3b8;margin-bottom:24px}.billing-breadcrumb-sep{color:#cbd5e1}.billing-breadcrumb-active{color:#0f172a;font-weight:600}.billing-header{margin-bottom:32px}.billing-header h1{font-size:32px;font-weight:700;color:#0f172a;margin:0 0 8px}.billing-header p{font-size:16px;color:#64748b;margin:0}.billing-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px;margin-bottom:24px}.billing-section__header{margin-bottom:24px}.billing-section__title{font-size:18px;font-weight:700;color:#0f172a;margin:0;display:flex;align-items:center;gap:8px}.billing-display-field{display:flex;align-items:center;gap:16px;padding:14px;background:#f8fafc;border-radius:8px}.billing-display-field__label{font-weight:600;color:#475569;font-size:14px}.billing-display-field__value{flex:1;font-size:15px;color:#0f172a;font-weight:500}.billing-display-field__edit{padding:8px 14px;font-size:13px;font-weight:600;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#3b82f6;cursor:pointer;transition:all .15s;white-space:nowrap}.billing-display-field__edit:hover{border-color:#3b82f6;background:#f0f9ff;transform:translateY(-1px)}.billing-edit-field{display:flex;flex-direction:column;gap:12px}.billing-edit-field__input{padding:12px 14px;font-size:15px;border:2px solid #e2e8f0;border-radius:8px;color:#0f172a;outline:none;transition:border-color .2s;box-sizing:border-box;width:100%}.billing-edit-field__input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.billing-edit-field__actions{display:flex;gap:10px}.billing-edit-field__save,.billing-edit-field__cancel{padding:10px 16px;font-size:14px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .15s}.billing-edit-field__save{background:#3b82f6;color:#fff;flex:1}.billing-edit-field__save:hover{background:#2563eb;transform:translateY(-1px)}.billing-edit-field__cancel{background:#e2e8f0;color:#475569;flex:1}.billing-edit-field__cancel:hover{background:#cbd5e1}.billing-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:64px 32px;text-align:center}.billing-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.billing-loading p{color:#64748b;font-size:16px;margin:0}.billing-message{padding:14px 16px;border-radius:8px;margin-bottom:24px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.billing-message--success{background:#dcfce7;color:#166534;border:1px solid #bfdbfe}.billing-message--error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.billing-edit-field__save:disabled,.billing-edit-field__cancel:disabled,.billing-edit-field__input:disabled{opacity:.6;cursor:not-allowed}.billing-edit-field__save:disabled:hover{transform:none;background:#3b82f6}.billing-edit-field__cancel:disabled:hover{background:#e2e8f0}@media (max-width: 768px){.billing-container{padding:16px}.billing-header h1{font-size:24px}.billing-display-field{flex-wrap:wrap}.billing-display-field__value{width:100%;order:3}.billing-display-field__edit{order:2}.billing-edit-field__actions{flex-direction:column}.billing-edit-field__save,.billing-edit-field__cancel{width:100%}}@media (max-width: 480px){.billing-section{padding:16px}.billing-section__title{font-size:16px}}.finance-dashboard-page{padding:24px;max-width:1200px}.finance-dashboard-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.finance-dashboard-page__header h1{margin:0;font-size:30px;font-weight:700;color:#0f172a}.finance-dashboard-page__header p{margin:6px 0 0;color:#64748b;font-size:14px}.finance-dashboard-page__reports-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid #dbeafe;background:#eff6ff;color:#2563eb;padding:10px 14px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}.finance-dashboard-page__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.finance-stat-card,.finance-panel-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 24px #0f172a0a}.finance-stat-card{padding:18px}.finance-stat-card__label{display:block;font-size:13px;color:#64748b;margin-bottom:10px}.finance-stat-card__value{display:block;font-size:26px;font-weight:700;color:#0f172a}.finance-alert{display:flex;align-items:center;gap:10px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;border-radius:14px;padding:14px 16px;margin-bottom:18px;font-size:14px;font-weight:600}.finance-alert button{margin-left:auto;border:none;background:#f97316;color:#fff;padding:10px 14px;border-radius:10px;cursor:pointer;font-weight:600}.finance-dashboard-page__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.finance-panel-card{padding:18px}.finance-panel-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.finance-panel-card__header h2{margin:0;font-size:18px;font-weight:700;color:#0f172a}.finance-panel-card__empty{margin:0;color:#64748b;font-size:14px}.finance-bar-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:end;min-height:240px}.finance-bar-chart__item{display:flex;flex-direction:column;align-items:center;gap:8px}.finance-bar-chart__bar-wrap{width:100%;height:180px;display:flex;align-items:flex-end;justify-content:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;padding:10px}.finance-bar-chart__bar{width:100%;max-width:36px;background:linear-gradient(180deg,#60a5fa,#2563eb);border-radius:10px 10px 4px 4px;min-height:12px}.finance-bar-chart__label{font-size:12px;color:#64748b}.finance-bar-chart__value{font-size:13px;font-weight:700;color:#0f172a}.finance-transactions{display:flex;flex-direction:column;gap:10px}.finance-transaction-row{display:grid;grid-template-columns:1.2fr .7fr .8fr .5fr;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #e2e8f0}.finance-transaction-row:last-child{border-bottom:none}.finance-transaction-row__date,.finance-transaction-row__meta,.finance-transaction-row__type{font-size:13px;color:#64748b}.finance-transaction-row__amount{font-weight:700;color:#0f172a;font-size:14px}.finance-transaction-row__status{font-size:13px;font-weight:700}.finance-transaction-row__status--success{color:#15803d}.finance-transaction-row__status--pending{color:#a16207}.finance-transaction-row__status--failed{color:#b91c1c}@media (max-width: 1024px){.finance-dashboard-page__stats,.finance-dashboard-page__grid{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.finance-dashboard-page{padding:16px}.finance-dashboard-page__header{flex-direction:column}.finance-dashboard-page__stats,.finance-dashboard-page__grid{grid-template-columns:1fr}.finance-bar-chart{grid-template-columns:repeat(4,minmax(0,1fr))}.finance-transaction-row{grid-template-columns:1fr 1fr}}.transaction-history-page{padding:32px;background-color:#f8fafc;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.transaction-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.transaction-header h1{font-size:32px;font-weight:700;color:#0f172a;margin:0 0 8px}.transaction-header p{font-size:16px;color:#64748b;margin:0}.transaction-export-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.transaction-export-btn:hover{background:#2563eb;transform:translateY(-2px)}.transaction-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:64px 32px;text-align:center}.transaction-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.transaction-loading p{color:#64748b;font-size:16px;margin:0}.transaction-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px}.stat-label{font-size:13px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:28px;font-weight:700;color:#0f172a}.stat-amount{font-size:14px;color:#475569}.stat-card--success{border-left:4px solid #22c55e}.stat-card--pending{border-left:4px solid #f59e0b}.stat-card--failed{border-left:4px solid #ef4444}.stat-card--total{border-left:4px solid #3b82f6}.transaction-filters{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.filter-btn{padding:8px 16px;font-size:13px;font-weight:600;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#475569;cursor:pointer;transition:all .2s}.filter-btn:hover{border-color:#cbd5e1;background:#f1f5f9}.filter-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.filter-btn--success.active{background:#22c55e;border-color:#22c55e}.filter-btn--pending.active{background:#f59e0b;border-color:#f59e0b}.filter-btn--failed.active{background:#ef4444;border-color:#ef4444}.transaction-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.transaction-table{width:100%;border-collapse:collapse}.transaction-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.transaction-table th{padding:14px 16px;text-align:left;font-size:12px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.5px}.transaction-table td{padding:14px 16px;border-bottom:1px solid #e2e8f0;font-size:14px;color:#0f172a}.transaction-table tbody tr:hover{background:#f8fafc}.transaction-row--success{border-left:3px solid #22c55e}.transaction-row--pending{border-left:3px solid #f59e0b}.transaction-row--failed{border-left:3px solid #ef4444}.col-date{color:#64748b;font-size:13px;width:150px}.col-amount{font-weight:600;color:#0f172a;width:100px}.col-credits{color:#64748b}.col-type{width:120px}.col-method{width:100px}.col-status{width:120px}.type-badge{display:inline-block;padding:4px 8px;background:#f1f5f9;border-radius:4px;font-size:12px;color:#475569;font-weight:500}.method-badge{display:inline-block;padding:4px 8px;background:#dbeafe;color:#1e40af;border-radius:4px;font-size:12px;font-weight:500}.method-badge--neutral{background:#f3f4f6;color:#6b7280}.status-container{display:flex;align-items:center;gap:6px}.status-icon{flex-shrink:0}.status-icon--success{color:#22c55e}.status-icon--pending{color:#f59e0b}.status-icon--failed{color:#ef4444}.status-text{font-size:13px;font-weight:500;text-transform:capitalize}.empty-state{padding:64px 32px;text-align:center;color:#94a3b8;background:#f8fafc}.empty-state p{margin:0;font-size:16px}.transaction-error{padding:20px;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px}.transaction-error p{margin:0;font-size:14px}.transaction-error button{padding:8px 16px;background:#dc2626;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s}.transaction-error button:hover{background:#b91c1c}@media (max-width: 768px){.transaction-history-page{padding:16px}.transaction-header{flex-direction:column;gap:16px}.transaction-header h1{font-size:24px}.transaction-table{font-size:12px}.transaction-table th,.transaction-table td{padding:10px 12px}.col-date{width:120px}.col-amount,.col-credits{width:80px}.stat-value{font-size:24px}.transaction-stats{grid-template-columns:repeat(2,1fr)}}.sa-page{min-height:100vh;background:#f4f5fb;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;flex-direction:column}.sa-header{background:linear-gradient(135deg,#3a3c8c,#2f306b);color:#fff;padding:18px 28px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;box-shadow:0 4px 12px #00000026}.sa-back-btn{display:flex;align-items:center;gap:6px;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.25);padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.sa-back-btn:hover{background:#ffffff38}.sa-header-info{flex:1}.sa-header-info h1{font-size:20px;font-weight:700;margin:0 0 6px}.sa-meta{display:flex;align-items:center;gap:16px;font-size:13px;opacity:.9;flex-wrap:wrap}.sa-meta span{display:flex;align-items:center;gap:5px}.sa-status{padding:2px 10px;border-radius:20px;font-size:12px;font-weight:600;background:#ffffff2e}.sa-status--completed{background:#22c55e33}.sa-status--in-progress{background:#3b82f633}.sa-status--expired{background:#ef444433}.sa-status--assigned{background:#f59e0b33}.sa-mode-toggle{display:flex;background:#ffffff1f;border-radius:8px;padding:3px;gap:3px}.sa-mode-btn{padding:7px 18px;border:none;border-radius:6px;background:transparent;color:#ffffffbf;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.sa-mode-btn.active{background:#fff;color:#3a3c8c}.sa-body{flex:1;max-width:1000px;width:100%;margin:0 auto;padding:28px 20px;display:flex;flex-direction:column;gap:20px}.sa-instructions{background:#e8eaf6;border-left:4px solid #3A3C8C;border-radius:0 10px 10px 0;padding:14px 18px;font-size:14px;color:#333;line-height:1.6}.sa-sentence-nav{display:flex;align-items:center;justify-content:center;gap:12px}.sa-nav-btn{background:#fff;border:1px solid #dde0f0;border-radius:8px;padding:8px 12px;cursor:pointer;color:#3a3c8c;display:flex;align-items:center;transition:all .2s}.sa-nav-btn:disabled{opacity:.35;cursor:default}.sa-nav-btn:not(:disabled):hover{background:#e8eaf6;border-color:#3a3c8c}.sa-sentence-counter{font-size:14px;color:#666;font-weight:600}.sa-sentence-card{background:#fff;border-radius:16px;padding:28px 32px;box-shadow:0 2px 12px #3a3c8c14;border:1px solid #e8eaf6;display:flex;flex-direction:column;gap:16px}.sa-sentence-label{font-size:12px;font-weight:700;color:#9098b1;text-transform:uppercase;letter-spacing:.08em}.sa-sentence-text{font-size:22px;font-weight:600;color:#1a1a2e;line-height:1.55}.sa-tts-btn{align-self:flex-start;display:flex;align-items:center;gap:8px;background:#f0f1fb;border:1px solid #c5c7e8;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;color:#3a3c8c;cursor:pointer;transition:all .2s}.sa-tts-btn:hover,.sa-tts-btn.playing{background:#3a3c8c;color:#fff;border-color:#3a3c8c}.sa-record-area{display:flex;flex-direction:column;align-items:center;gap:20px;padding:24px;background:#fff;border-radius:16px;border:2px dashed #d0d3ee}.sa-record-btn{display:flex;flex-direction:column;align-items:center;gap:10px;background:linear-gradient(135deg,#e53e3e,#c53030);color:#fff;border:none;border-radius:50%;width:120px;height:120px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 6px 24px #c5303059;transition:transform .2s,box-shadow .2s}.sa-record-btn:hover{transform:scale(1.07);box-shadow:0 8px 30px #c5303080}.sa-recording-active{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}.sa-waveform{display:flex;align-items:center;gap:4px;height:80px;width:100%;max-width:340px}.sa-wave-bar{flex:1;background:linear-gradient(180deg,#ef4444,#dc2626);border-radius:4px;min-height:8px;transition:height .12s ease}.sa-live-transcript{font-size:14px;color:#555;background:#f8f9ff;border:1px solid #e0e3f5;border-radius:8px;padding:10px 16px;width:100%;max-width:500px;text-align:center;min-height:42px}.sa-live-label{font-weight:700;color:#3a3c8c}.sa-stop-btn{display:flex;align-items:center;gap:8px;background:#1a1a2e;color:#fff;border:none;border-radius:10px;padding:12px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s}.sa-stop-btn:hover{opacity:.85}.sa-recorded-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.sa-playback-btn{display:flex;align-items:center;gap:8px;background:#fff;color:#3a3c8c;border:2px solid #3A3C8C;border-radius:10px;padding:11px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.sa-playback-btn.playing,.sa-playback-btn:hover{background:#3a3c8c;color:#fff}.sa-retry-btn{display:flex;align-items:center;gap:8px;background:#fff;color:#6b7280;border:2px solid #d1d5db;border-radius:10px;padding:11px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.sa-retry-btn:hover{border-color:#9098b1;color:#374151}.sa-submit-btn{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:10px;padding:11px 24px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #22c55e4d;transition:transform .2s,box-shadow .2s}.sa-submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #22c55e66}.sa-feedback{display:flex;flex-direction:column;gap:24px;background:#fff;border-radius:16px;padding:28px;box-shadow:0 2px 12px #3a3c8c14}.sa-scoring-loader{display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px;color:#3a3c8c;font-size:15px;font-weight:600}.sa-spinner{width:40px;height:40px;border:4px solid #e8eaf6;border-top-color:#3a3c8c;border-radius:50%;animation:spin .8s linear infinite}.sa-score-error{width:100%;background:#fee2e2;color:#991b1b;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;text-align:center}.sa-sub-scores{display:flex;flex-direction:column;gap:10px;background:#f8f9ff;border-radius:12px;padding:16px 20px}.sa-sub-score{display:flex;align-items:center;gap:10px;font-size:13px}.sa-sub-label{width:65px;font-weight:700;color:#555}.sa-sub-bar-wrap{flex:1;background:#e8eaf6;border-radius:20px;height:8px;overflow:hidden}.sa-sub-bar-fill{height:100%;border-radius:20px;transition:width .6s ease}.sa-sub-num{width:28px;text-align:right;font-weight:700;color:#1a1a2e}.sa-transcription-source{margin-top:6px;font-size:11px;color:#9098b1;font-weight:500}.sa-encouragement{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px 16px;font-size:15px;color:#92400e;font-weight:500;text-align:center}.sa-heard{font-size:13px;color:#6b7280;background:#f8f9ff;border-radius:8px;padding:10px 14px;font-style:italic}.sa-heard-label{font-style:normal;font-weight:700;color:#3a3c8c}.sa-word-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:3px}.sa-word-tip{font-size:10px;color:#b45309;background:#fef9c3;border-radius:4px;padding:2px 5px;max-width:90px;text-align:center;line-height:1.3}.sa-ai-tips{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:16px 20px}.sa-ai-tips h3{font-size:15px;font-weight:700;color:#166534;margin:0 0 10px}.sa-ai-tips ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.sa-ai-tips li{font-size:14px;color:#166534}.sa-score-ring{position:relative;width:120px;height:120px;margin:0 auto}.sa-score-svg{width:120px;height:120px;transform:rotate(-90deg)}.sa-score-bg{fill:none;stroke:#e8eaf6;stroke-width:12}.sa-score-fill{fill:none;stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset 1s ease}.sa-score-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.sa-score-number{font-size:30px;font-weight:800;color:#1a1a2e;line-height:1}.sa-score-total{font-size:12px;color:#9098b1;font-weight:600}.sa-word-feedback h3{font-size:16px;font-weight:700;color:#1a1a2e;margin:0 0 14px}.sa-words{display:flex;flex-wrap:wrap;gap:6px}.sa-word{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:6px;font-size:15px;font-weight:500}.sa-word.correct{background:#dcfce7;color:#166534}.sa-word.incorrect{background:#fee2e2;color:#991b1b}.sa-difficult-words{margin-top:12px;display:flex;align-items:center;gap:6px;font-size:13px;color:#b45309;background:#fef9c3;border-radius:8px;padding:10px 14px}.sa-feedback-actions{display:flex;gap:12px;flex-wrap:wrap}.sa-next-btn{display:flex;align-items:center;gap:8px;background:#3a3c8c;color:#fff;border:none;border-radius:10px;padding:11px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s}.sa-next-btn:hover{opacity:.88}.sa-download-btn{display:flex;align-items:center;gap:8px;background:#f0f1fb;color:#3a3c8c;border:1px solid #c5c7e8;border-radius:10px;padding:11px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.sa-download-btn:hover{background:#3a3c8c;color:#fff}.sa-progress-section{display:flex;flex-direction:column;gap:12px;border-top:1px solid #e8eaf6;padding-top:20px}.sa-progress-row{display:flex;align-items:center;gap:12px;font-size:13px;color:#555;font-weight:600}.sa-progress-row>span:first-child{width:80px}.sa-progress-row>span:last-child{width:55px;text-align:right}.sa-attempt-dots{display:flex;gap:6px;flex:1}.sa-dot{width:18px;height:18px;border-radius:50%;background:#e8eaf6;transition:background .3s}.sa-dot.used{background:#3a3c8c}.sa-progress-bar-wrap{flex:1;background:#e8eaf6;border-radius:20px;height:10px;overflow:hidden}.sa-progress-bar-fill{height:100%;border-radius:20px;transition:width .6s ease}.sd-assignments-section{padding:28px 32px}.sd-section-header{display:flex;align-items:center;gap:10px;margin-bottom:24px;color:#1a1a2e}.sd-section-header h2{font-size:22px;font-weight:700;margin:0}.sd-section-header svg{color:#3a3c8c}.sd-count{background:#3a3c8c;color:#fff;border-radius:20px;padding:2px 10px;font-size:13px;font-weight:700}.sd-empty p{font-size:15px}.sd-assignment-list{display:flex;flex-direction:column;gap:14px}.sd-assignment-card{background:#fff;border-radius:14px;border:1px solid #e8eaf6;display:flex;align-items:stretch;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #0000000a}.sd-assignment-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #3a3c8c1f;border-color:#b0b3e0}.sd-card-left{display:flex;flex:1}.sd-status-bar{width:5px;flex-shrink:0}.sd-card-body{padding:18px 20px;flex:1}.sd-card-title{font-size:17px;font-weight:700;color:#1a1a2e;margin-bottom:8px}.sd-card-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:#6b7280;margin-bottom:10px}.sd-card-tags{display:flex;gap:8px;flex-wrap:wrap}.sd-tag{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;background:#f0f1fb;color:#5254a3;text-transform:capitalize;border:1px solid #dde0f5}.sd-tag--submitted{background:#dcfce7;color:#166534;border-color:#86efac}.sd-card-right{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 20px;gap:6px;border-left:1px solid #f0f1fb}.sd-score-badge{font-size:26px;font-weight:800;line-height:1;text-align:center}.sd-score-badge span{font-size:12px;font-weight:500;color:#9098b1;display:block}.sd-score-badge--empty{color:#ccc}.sd-chevron{color:#9098b1}@media (max-width: 600px){.sa-body{padding:16px 12px}.sa-sentence-text{font-size:18px}.sa-record-btn{width:100px;height:100px}.sd-assignments-section{padding:20px 16px}.sa-header{padding:14px 16px}.sa-header-info h1{font-size:17px}}*,*:before,*:after{box-sizing:border-box}.sd-page{min-height:100vh;background:#f0f2fb;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.sd-header{background:linear-gradient(135deg,#3a3c8c,#2f306b);color:#fff;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;box-shadow:0 4px 16px #00000026}.sd-header-left{display:flex;align-items:center;gap:16px}.sd-avatar{width:48px;height:48px;border-radius:50%;background:#fff3;border:2px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;color:#fff;flex-shrink:0}.sd-welcome{font-size:20px;font-weight:700;margin:0 0 4px}.sd-subtitle{font-size:13px;opacity:.88;margin:0}.sd-header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sd-stat-pill{display:flex;align-items:center;gap:6px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:20px;padding:6px 14px;font-size:13px;font-weight:700;white-space:nowrap}.sd-flame{color:#fb923c}.sd-zap{color:#facc15}.logout-btn{display:flex;align-items:center;gap:8px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.logout-btn:hover{background:#ff6b6b40;border-color:#ff6b6b66}.sd-body{max-width:820px;margin:0 auto;padding:28px 20px 48px;display:flex;flex-direction:column;gap:28px}.sd-focus-section{background:#fff;border-radius:16px;padding:20px 24px;box-shadow:0 2px 12px #3a3c8c14;border:1px solid #e0e3f5}.sd-focus-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.sd-focus-icon{font-size:22px}.sd-focus-header h2{font-size:18px;font-weight:700;color:#1a1a2e;margin:0;flex:1}.sd-focus-sub{font-size:12px;color:#9098b1;font-weight:600}.sd-focus-list{display:flex;flex-direction:column;gap:10px}.sd-focus-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8f9ff;border:1px solid #dde0f5;border-radius:10px;padding:14px 18px;cursor:pointer;transition:all .2s}.sd-focus-card:hover{background:#eef0fb;border-color:#3a3c8c}.sd-focus-info{flex:1}.sd-focus-title{font-size:15px;font-weight:700;color:#1a1a2e;margin-bottom:4px}.sd-focus-due{font-size:12px;color:#ef4444;font-weight:600}.sd-focus-cta{display:flex;align-items:center;gap:6px;background:#3a3c8c;color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .2s}.sd-focus-cta:hover{opacity:.85}.sd-section-header{display:flex;align-items:center;gap:10px}.sd-section-header h2{font-size:20px;font-weight:700;color:#1a1a2e;margin:0;flex:1}.sd-count{background:#3a3c8c;color:#fff;border-radius:20px;padding:2px 12px;font-size:13px;font-weight:700}.sd-empty{text-align:center;padding:60px 20px;color:#888}.sd-empty-icon{font-size:52px;margin-bottom:16px}.sd-empty h3{font-size:20px;font-weight:700;color:#555;margin:0 0 8px}.sd-list{display:flex;flex-direction:column;gap:16px}.sd-card{background:#fff;border-radius:16px;border:1px solid #e0e3f5;display:flex;overflow:hidden;box-shadow:0 2px 10px #0000000a;transition:transform .2s,box-shadow .2s}.sd-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #3a3c8c21}.sd-card--completed{border-color:#bbf7d0}.sd-card--in-progress{border-color:#bfdbfe}.sd-card--not-started{border-color:#e0e3f5}.sd-card-accent{width:6px;flex-shrink:0;background:#e0e3f5}.sd-card--completed .sd-card-accent{background:#22c55e}.sd-card--in-progress .sd-card-accent{background:#3b82f6}.sd-card--not-started .sd-card-accent{background:#a5b4fc}.sd-card-main{flex:1;padding:18px 20px;display:flex;flex-direction:column;gap:12px}.sd-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sd-card-title{font-size:17px;font-weight:700;color:#1a1a2e;flex:1}.sd-status-pill{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;flex-shrink:0}.sd-status--completed{background:#dcfce7;color:#166534}.sd-status--in-progress{background:#dbeafe;color:#1d4ed8}.sd-status--not-started{background:#ede9fe;color:#5b21b6}.sd-card-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:#6b7280}.sd-card-meta span{display:flex;align-items:center;gap:4px}.sd-due-soon{color:#ef4444!important;font-weight:700}.sd-submitted-tag{color:#166534;font-weight:700}.sd-progress-row{display:flex;align-items:center;gap:10px}.sd-progress-label{font-size:12px;color:#9098b1;font-weight:600;white-space:nowrap;width:100px}.sd-prog-bar{flex:1;height:8px;background:#e8eaf6;border-radius:20px;overflow:hidden}.sd-prog-fill{height:100%;border-radius:20px;transition:width .5s ease}.sd-score-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sd-best-score{font-size:13px;color:#555}.sd-best-score strong{color:#1a1a2e;font-weight:800}.sd-perf-badge{padding:3px 12px;border-radius:20px;font-size:12px;font-weight:700}.sd-card-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:4px}.sd-cta-btn{display:flex;align-items:center;gap:7px;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:700;cursor:pointer;transition:transform .15s,opacity .15s}.sd-cta-btn:hover{transform:translateY(-1px);opacity:.9}.sd-cta-start{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 12px #22c55e47}.sd-cta-continue{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f647}.sd-cta-review{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 4px 12px #8b5cf647}.sd-report-btn{display:flex;align-items:center;gap:6px;background:#f0f1fb;color:#3a3c8c;border:1px solid #c5c7e8;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.sd-report-btn:hover{background:#3a3c8c;color:#fff}.sd-badges-section{background:#fff;border-radius:16px;border:1px solid #e0e3f5;padding:20px 24px;box-shadow:0 2px 10px #0000000a}.sd-badges-section h3{font-size:16px;font-weight:700;color:#1a1a2e;margin:0 0 14px}.sd-badges{display:flex;gap:10px;flex-wrap:wrap}.sd-badge{background:linear-gradient(135deg,#f8f9ff,#eef0fb);border:1px solid #c5c7e8;border-radius:20px;padding:7px 16px;font-size:13px;font-weight:700;color:#3a3c8c;box-shadow:0 2px 6px #3a3c8c14}@media (max-width: 600px){.sd-header{padding:16px}.sd-welcome{font-size:17px}.sd-body{padding:16px 12px 40px}.sd-card-title{font-size:15px}.sd-cta-btn{padding:9px 14px;font-size:13px}.sd-stat-pill{font-size:12px;padding:5px 10px}}.super-admin-dashboard{padding:2rem;max-width:1400px;margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2.5rem}.stat-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000d;border:1px solid #f0f0f0;transition:all .3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 4px 15px #0000001a;border-color:#e0e0e0}.stat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.stat-label{font-size:.9rem;color:#888;margin:0;font-weight:500}.stat-icon{width:45px;height:45px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-value{font-size:1.8rem;font-weight:700;color:#1a1a2e;margin:0}.stat-change{font-size:.85rem;color:#27ae60;margin-top:.5rem;font-weight:500}.stat-change.negative{color:#e74c3c}.recent-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000000d}.recent-section h2{font-size:1.3rem;color:#1a1a2e;margin:0 0 1.5rem;font-weight:600}.recent-table{width:100%;border-collapse:collapse;font-size:.95rem}.recent-table th{text-align:left;padding:1rem;background:#f8f8f8;border-bottom:2px solid #e0e0e0;font-weight:600;color:#1a1a2e}.recent-table td{padding:1rem;border-bottom:1px solid #f0f0f0;color:#333}.recent-table tbody tr:hover{background:#f9f9f9}.country-badge{display:inline-block;padding:.3rem .8rem;background:#e3f2fd;color:#1976d2;border-radius:4px;font-size:.85rem;font-weight:500}.status-inactive{color:#e74c3c;font-weight:600}.status-trial{color:#f39c12;font-weight:600}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.super-admin-dashboard{padding:1rem}.page-header{flex-direction:column;align-items:flex-start}.stats-grid{grid-template-columns:1fr}.recent-section{padding:1.5rem}.recent-table{font-size:.85rem}.recent-table th,.recent-table td{padding:.7rem}.stat-value{font-size:1.5rem}}@media (max-width: 480px){.super-admin-dashboard{padding:.5rem}.stat-card{padding:1rem}.stat-value{font-size:1.3rem}.recent-table{font-size:.75rem}.recent-table th,.recent-table td{padding:.5rem}}.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 .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e9ecef;position:sticky;top:0;background:#fff}.modal-header h2{margin:0;font-size:1.5rem;color:#1a1a2e;font-weight:600}.modal-close{background:none;border:none;cursor:pointer;color:#999;display:flex;align-items:center;justify-content:center;padding:0;transition:color .3s ease}.modal-close:hover{color:#333}.modal-close:disabled{opacity:.5;cursor:not-allowed}.modal-form{padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.form-group input,.form-group select{padding:.8rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;background:#f9f9f9;color:#333;transition:all .3s ease;font-family:inherit;width:100%;box-sizing:border-box}.form-group select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer;padding-top:.6rem;padding-bottom:.6rem;min-height:44px;line-height:1.4}.form-group select option{padding:.5rem;color:#333;background-color:#fff;border:none;font-size:.95rem;line-height:1.5}.form-group select option:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.form-group input.error{border-color:#e74c3c;background:#fff5f5}.form-group input:disabled,.form-group select:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.7}.error-message{font-size:.8rem;color:#e74c3c;margin-top:-.3rem}.modal-actions{display:flex;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e9ecef}.btn-cancel{flex:1;padding:.8rem 1rem;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;font-weight:600;color:#666;cursor:pointer;transition:all .3s ease}.btn-cancel:hover:not(:disabled){background:#efefef;border-color:#d0d0d0}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-submit{flex:1;padding:.8rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;font-size:.95rem;font-weight:600;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.btn-submit:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 768px){.modal-content{width:95%;max-height:95vh}.modal-header{padding:1.2rem 1.5rem}.modal-header h2{font-size:1.3rem}.modal-form{padding:1.5rem;gap:1.2rem}.form-group input,.form-group select{padding:.7rem;font-size:.9rem}.modal-actions{gap:.8rem}.btn-cancel,.btn-submit{padding:.7rem 1rem;font-size:.9rem}}@media (max-width: 480px){.modal-content{width:100%;max-height:100vh;border-radius:12px 12px 0 0;position:fixed;bottom:0;left:0;right:0}.modal-header{padding:1rem 1.2rem}.modal-header h2{font-size:1.2rem}.modal-form{padding:1.2rem;gap:1rem}.form-group input,.form-group select{padding:.6rem;font-size:.85rem}.btn-cancel,.btn-submit{padding:.6rem .8rem;font-size:.85rem}}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-section-title{font-size:.9rem;font-weight:700;color:#667eea;text-transform:uppercase;letter-spacing:.5px;margin:1rem 0 .5rem;padding-top:1rem;border-top:1px solid #f0f0f0}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.view-school-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.view-school-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:700px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.view-school-modal-content .modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;border-bottom:1px solid #ecf0f1;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.view-school-modal-content .modal-header h2{margin:0;font-size:24px;font-weight:600}.view-school-modal-content .modal-header .school-title{margin:8px 0 0;font-size:14px;opacity:.9}.modal-close{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;transition:background .2s}.modal-close:hover{background:#ffffff4d}.view-school-modal-content .modal-body{flex:1;overflow-y:auto;padding:24px}.detail-section{margin-bottom:28px;padding:20px;background:#f8f9fa;border-radius:10px;border-left:4px solid #667eea}.section-title{margin:0 0 16px;font-size:16px;font-weight:600;color:#2c3e50;display:flex;align-items:center;gap:8px}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.detail-item{display:flex;flex-direction:column}.detail-item.full-width{grid-column:1 / -1}.detail-item label{font-size:12px;font-weight:600;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.detail-item p{margin:0;font-size:14px;color:#2c3e50;word-break:break-word}.detail-value-with-copy{display:flex;align-items:center;gap:8px;background:#fff;padding:10px 12px;border-radius:6px;border:1px solid #ecf0f1}.detail-value-with-copy p{flex:1;margin:0}.detail-with-icon{display:flex;align-items:center;gap:8px;font-size:14px;color:#2c3e50}.copy-btn{background:#e8f4f8;border:none;border-radius:4px;color:#3498db;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.copy-btn:hover{background:#d0e8f2;color:#2980b9}.username{font-family:Courier New,monospace;background:#fff3cd;padding:0}.password-note{background:#fff;padding:12px;border-radius:6px;border:1px solid #ecf0f1;border-left:3px solid #e74c3c}.password-note p{margin:0 0 4px;font-size:14px;color:#2c3e50}.password-note .small-text{font-size:12px;color:#7f8c8d;margin-top:4px}.contact-link{display:flex;align-items:center;gap:8px;color:#3498db;text-decoration:none;font-size:14px;transition:color .2s}.contact-link:hover{color:#2980b9}.line-id{font-family:Courier New,monospace;background:#f0f9ff;padding:2px 4px}.plan-badge{display:inline-block;padding:6px 12px;border-radius:20px;color:#fff;font-size:13px;font-weight:600;text-align:center}.status-badge{display:inline-block;padding:6px 12px;border-radius:6px;color:#fff;font-size:13px;font-weight:500;text-align:center}.grace-period{background:#fff8e1;padding:4px 8px;border-radius:4px;color:#f39c12;font-weight:600;display:inline-block}.view-school-modal-content .modal-footer{padding:16px 24px;border-top:1px solid #ecf0f1;display:flex;justify-content:flex-end;gap:12px}.btn-close{background:#ecf0f1;border:none;padding:10px 24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;color:#2c3e50;transition:background .2s}.btn-close:hover{background:#bdc3c7}.password-section{display:flex;flex-direction:column;gap:12px}.btn-reset-password{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s;align-self:flex-start}.btn-reset-password:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-reset-password:active{transform:translateY(0)}.reset-password-form{background:#f8f9fa;border:1px solid #e0e0e0;padding:16px!important;border-radius:8px;margin-top:12px}.form-content{display:flex;flex-direction:column;gap:12px}.form-warning{background:#fff3cd;border:1px solid #ffc107;padding:10px 12px;border-radius:6px;color:#856404;font-size:13px;margin:0}.form-buttons{display:flex;gap:8px;justify-content:flex-start}.btn-confirm{background:#27ae60;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:background .2s}.btn-confirm:hover:not(:disabled){background:#229954}.btn-confirm:disabled{background:#bdc3c7;cursor:not-allowed;opacity:.6}.btn-cancel{background:#e74c3c;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:background .2s}.btn-cancel:hover:not(:disabled){background:#c0392b}.btn-cancel:disabled{background:#bdc3c7;cursor:not-allowed;opacity:.6}.new-password-display{background:#fff;border:1px solid #e0e0e0;padding:12px;border-radius:6px;margin-top:8px}.new-password-display .label{font-size:13px;font-weight:600;color:#2c3e50;margin:0 0 8px}.password-box{display:flex;align-items:center;justify-content:space-between;background:#f0f0f0;padding:10px 12px;border-radius:6px;border:1px solid #d0d0d0;gap:8px}.password-box code{font-family:Courier New,monospace;font-size:12px;color:#2c3e50;word-break:break-all;flex:1}.admin-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:16px}.admin-password-editor{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f9f9f9;border:1px solid #ecf0f1;border-radius:6px}.admin-password-editor label{font-size:12px;font-weight:600;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.password-input-group{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #d0d0d0;border-radius:6px;padding:0;height:36px}.password-input{flex:1;border:none;padding:8px 12px;font-size:14px;font-family:Courier New,monospace;outline:none;background:transparent}.password-input::placeholder{color:#bdc3c7}.btn-toggle-password{background:none;border:none;color:#7f8c8d;cursor:pointer;padding:6px 8px;display:flex;align-items:center;justify-content:center;transition:color .2s}.btn-toggle-password:hover{color:#2c3e50}.btn-save-password{display:flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,#27ae60,#229954);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s;align-self:flex-start}.btn-save-password:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #27ae6066}.btn-save-password:active:not(:disabled){transform:translateY(0)}.btn-save-password:disabled{background:#bdc3c7;cursor:not-allowed;opacity:.6}@media (max-width: 768px){.view-school-modal-overlay{padding:10px}.view-school-modal-content{max-height:95vh}.view-school-modal-content .modal-header,.view-school-modal-content .modal-body{padding:16px}.detail-section{padding:16px;margin-bottom:16px}.details-grid{grid-template-columns:1fr}.detail-item.full-width{grid-column:1}.section-title{font-size:14px}}@media (max-width: 480px){.view-school-modal-content{border-radius:8px}.view-school-modal-content .modal-header{flex-direction:column;gap:12px}.view-school-modal-content .modal-header h2{font-size:20px}.detail-item p,.section-title{font-size:13px}}.super-admin-schools{padding:2rem;max-width:1400px;margin:0 auto}.header-actions{display:flex;gap:1rem;align-items:center}.search-box{display:flex;align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:.5rem 1rem;gap:.5rem;transition:all .3s ease}.search-box:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-box input{border:none;outline:none;flex:1;font-size:.95rem;color:#333}.search-box input::placeholder{color:#bbb}.search-icon{color:#999;flex-shrink:0}.add-school-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.7rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.add-school-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.result-count{color:#888;font-size:.9rem;padding:0 1rem}.schools-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000000d}.schools-table{width:100%;border-collapse:collapse;font-size:.95rem}.schools-table th{text-align:left;padding:1rem;background:#f8f8f8;border-bottom:2px solid #e0e0e0;font-weight:600;color:#1a1a2e}.schools-table td{padding:1rem;border-bottom:1px solid #f0f0f0;color:#333}.school-name-cell{max-width:250px}.school-info .name{font-weight:600;color:#1a1a2e;margin:0 0 .3rem}.school-info .email{font-size:.85rem;color:#999;margin:0}.schools-table tbody tr:hover{background:#f9f9f9}.school-cell{max-width:200px}.school-name{font-weight:600;color:#667eea;margin:0 0 .2rem}.school-email{font-size:.85rem;color:#999;margin:0}.status-badge{display:inline-block;padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:600}.status-active{background:#e8f5e9;color:#2e7d32}.status-inactive{background:#ffebee;color:#c62828}.status-trial{background:#fff3e0;color:#e65100}.plan-badge{display:inline-block;padding:.3rem .7rem;border-radius:4px;font-size:.8rem;font-weight:600}.plan-premium{background:#f3e5f5;color:#6a1b9a}.plan-standard{background:#e3f2fd;color:#0d47a1}.plan-trial{background:#ede7f6;color:#4527a0}.action-buttons{display:flex;gap:.5rem;align-items:center}.btn-icon{background:none;border:none;cursor:pointer;padding:.6rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#666;font-size:0px}.btn-icon:hover{background:#f0f0f0;color:#333}.btn-icon.view{color:#667eea}.btn-icon.view:hover{background:#e8eaf6;color:#5568d3}.btn-icon.edit{color:#2196f3}.btn-icon.edit:hover{background:#e3f2fd;color:#1976d2}.btn-icon.delete{color:#f44336}.btn-icon.delete:hover{background:#ffebee;color:#c62828}@media (max-width: 1024px){.header-actions{flex-wrap:wrap}.search-box{flex:1;min-width:200px}}@media (max-width: 768px){.super-admin-schools{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;margin-bottom:1.5rem}.header-actions{width:100%;flex-direction:column}.search-box{width:100%}.schools-section{padding:1.5rem}.schools-table{font-size:.85rem}.schools-table th,.schools-table td{padding:.7rem}.school-cell{max-width:150px}.school-name{font-size:.9rem}.school-email{font-size:.75rem}.actions-cell{gap:.3rem}.action-btn{padding:.4rem}}@media (max-width: 480px){.super-admin-schools{padding:.5rem}.page-header{margin-bottom:1rem}.page-header h1{font-size:1.5rem}.schools-section{padding:1rem}.schools-table{font-size:.75rem}.schools-table th,.schools-table td{padding:.5rem}.school-cell{max-width:120px}.status-badge,.plan-badge{font-size:.7rem;padding:.2rem .4rem}.result-count{display:none}}.error-banner{display:flex;align-items:center;gap:1rem;background:#ffebee;border:1px solid #ef5350;border-radius:8px;padding:1rem;margin-bottom:1.5rem;color:#b71c1c;font-weight:500}.error-banner svg{flex-shrink:0;color:#ef5350}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;background:#fff;border-radius:12px;color:#666}.loading-state .spinner{animation:spin 2s linear infinite;color:#667eea;width:40px;height:40px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:#fff;border-radius:12px;border:2px dashed #e0e0e0;color:#999}.empty-state p{margin:0;font-size:1.1rem}.filter-section{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.result-count .spinner{display:inline-block;margin-right:.5rem}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-icon:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.school-code-cell{font-family:Courier New,monospace;font-weight:600}.school-code-badge{display:inline-block;background:#f0f4ff;color:#667eea;padding:.3rem .6rem;border-radius:4px;font-size:.9rem;font-weight:700;border:1px solid #667eea;letter-spacing:.5px}.daily-fee-cell{text-align:center}.daily-fee-badge{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:600;white-space:nowrap}.super-admin-subscriptions{padding:2rem;max-width:1400px;margin:0 auto}.plan-summary-section{margin-bottom:2.5rem}.plan-summary-section h2{font-size:1.3rem;color:#1a1a2e;margin:0 0 1.5rem;font-weight:600}.plan-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.plan-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000d;border:2px solid #f0f0f0;border-left:4px solid #667eea;transition:all .3s ease}.plan-card:hover{transform:translateY(-5px);box-shadow:0 4px 15px #0000001a;border-color:#667eea}.plan-card.standard{border-left-color:#3498db}.plan-card.premium{border-left-color:#9b59b6}.plan-card.trial{border-left-color:#f39c12}.plan-name{font-size:1.1rem;font-weight:700;color:#1a1a2e;margin:0 0 1rem}.plan-stat{display:flex;justify-content:space-between;margin-bottom:.8rem;font-size:.9rem}.plan-stat-label{color:#888}.plan-stat-value{font-weight:700;color:#333}.plan-revenue{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.8rem;border-radius:8px;text-align:center;margin-top:1rem}.plan-revenue-label{font-size:.8rem;opacity:.9;margin:0 0 .3rem}.plan-revenue-value{font-size:1.5rem;font-weight:700;margin:0}.subscriptions-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000000d}.subscriptions-section h2{font-size:1.3rem;color:#1a1a2e;margin:0 0 1.5rem;font-weight:600}.subscriptions-table{width:100%;border-collapse:collapse;font-size:.95rem}.subscriptions-table th{text-align:left;padding:1rem;background:#f8f8f8;border-bottom:2px solid #e0e0e0;font-weight:600;color:#1a1a2e}.subscriptions-table td{padding:1rem;border-bottom:1px solid #f0f0f0;color:#333}.subscriptions-table tbody tr:hover{background:#f9f9f9}.school-name{font-weight:600;color:#667eea}.plan-badge{display:inline-block;padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:600;background:#e8f5e9;color:#2e7d32}.plan-badge.basic{background:#e3f2fd;color:#0d47a1}.plan-badge.standard{background:#e8f5e9;color:#2e7d32}.plan-badge.premium{background:#f3e5f5;color:#6a1b9a}.status-active{color:#27ae60;font-weight:600}.status-expired{color:#e74c3c;font-weight:600}.usage-bar-container{display:flex;align-items:center;gap:.5rem}.usage-bar{flex:1;height:6px;background:#f0f0f0;border-radius:3px;overflow:hidden}.usage-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px}.usage-label{font-size:.8rem;color:#666;white-space:nowrap;min-width:50px;text-align:right}.actions-cell{display:flex;gap:.5rem}.action-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:6px;transition:all .2s ease;color:#666}.action-btn:hover{background:#f0f0f0;color:#333}.action-btn.delete:hover{background:#ffebee;color:#c62828}@media (max-width: 1024px){.plan-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.super-admin-subscriptions{padding:1rem}.page-header{flex-direction:column;align-items:flex-start}.plan-cards-grid{grid-template-columns:1fr}.subscriptions-section{padding:1.5rem}.subscriptions-table{font-size:.85rem}.subscriptions-table th,.subscriptions-table td{padding:.7rem}.usage-bar-container{flex-direction:column;gap:.3rem}.usage-bar{width:100%}.usage-label{width:100%;text-align:left}}@media (max-width: 480px){.super-admin-subscriptions{padding:.5rem}.page-header h1{font-size:1.5rem}.plan-card{padding:1rem}.plan-name{font-size:1rem}.plan-stat{font-size:.85rem;margin-bottom:.6rem}.plan-revenue-value{font-size:1.3rem}.subscriptions-section{padding:1rem}.subscriptions-table{font-size:.75rem}.subscriptions-table th,.subscriptions-table td{padding:.5rem}.plan-badge{font-size:.7rem;padding:.2rem .4rem}.actions-cell{gap:.3rem}.action-btn{padding:.4rem}}.super-admin-revenue{padding:2rem;max-width:1400px;margin:0 auto}.revenue-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2.5rem}.revenue-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:1.5rem;color:#fff;display:flex;align-items:center;gap:1.5rem;box-shadow:0 4px 15px #667eea33;transition:transform .3s ease,box-shadow .3s ease}.revenue-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #667eea4d}.revenue-card:nth-child(2){background:linear-gradient(135deg,#61dafb,#2196f3);box-shadow:0 4px 15px #61dafb33}.revenue-card:nth-child(2):hover{box-shadow:0 8px 25px #61dafb4d}.revenue-card:nth-child(3){background:linear-gradient(135deg,#f39c12,#e67e22);box-shadow:0 4px 15px #f39c1233}.revenue-card:nth-child(3):hover{box-shadow:0 8px 25px #f39c124d}.card-icon{font-size:2.5rem;opacity:.8}.card-content{flex:1}.card-content .label{font-size:.9rem;opacity:.9;margin:0 0 .5rem;font-weight:500}.card-content .amount{font-size:1.8rem;font-weight:700;margin:0 0 .3rem}.card-content .detail{font-size:.85rem;opacity:.8;margin:0}.revenue-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2.5rem;box-shadow:0 2px 8px #0000000d}.revenue-section h2{font-size:1.3rem;color:#1a1a2e;margin:0 0 1.5rem;font-weight:600}.chart-container{padding:1rem 0}.chart-bars{display:flex;align-items:flex-end;justify-content:space-around;height:250px;gap:1rem}.bar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.bar-container{width:100%;height:100%;background:#f5f5f5;border-radius:8px 8px 0 0;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.bar{width:100%;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:4px;transition:all .3s ease;cursor:pointer}.bar:hover{background:linear-gradient(180deg,#7c8ff0,#8a5bba);filter:brightness(1.1)}.month-label{font-weight:600;color:#1a1a2e;font-size:.9rem;margin:0}.month-value{font-size:.8rem;color:#666;margin:0}.payment-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2.5rem;box-shadow:0 2px 8px #0000000d}.payment-section h2{font-size:1.3rem;color:#1a1a2e;margin:0 0 1.5rem;font-weight:600}.payment-methods{display:flex;flex-direction:column;gap:1.5rem}.payment-item{display:flex;align-items:center;gap:1.5rem}.payment-info{min-width:150px}.method-name{font-weight:600;color:#1a1a2e;margin:0 0 .3rem;font-size:.95rem}.method-count{color:#888;font-size:.85rem;margin:0}.payment-bar{flex:1;height:24px;background:#f0f0f0;border-radius:12px;overflow:hidden}.payment-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease}.percentage{min-width:50px;text-align:right;font-weight:600;color:#1a1a2e;margin:0}.plan-revenue-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000000d}.plan-revenue-section h2{font-size:1.3rem;color:#1a1a2e;margin:0 0 1.5rem;font-weight:600}.plan-revenue-table{width:100%;border-collapse:collapse;font-size:.95rem}.plan-revenue-table th{text-align:left;padding:1rem;background:#f8f8f8;border-bottom:2px solid #e0e0e0;font-weight:600;color:#1a1a2e}.plan-revenue-table td{padding:1rem;border-bottom:1px solid #f0f0f0;color:#333}.plan-revenue-table tbody tr:hover{background:#f9f9f9}.plan-revenue-table td:last-child{text-align:right;font-weight:600;color:#667eea}@media (max-width: 1024px){.revenue-cards-grid{grid-template-columns:repeat(2,1fr)}.chart-bars{height:200px}}@media (max-width: 768px){.super-admin-revenue{padding:1rem}.page-header{flex-direction:column;align-items:flex-start}.revenue-cards-grid{grid-template-columns:1fr}.revenue-section,.payment-section,.plan-revenue-section{padding:1.5rem}.card-content .amount{font-size:1.5rem}.chart-bars{height:150px;gap:.5rem}.payment-item{flex-wrap:wrap}.payment-bar{flex:1 0 100%;min-width:200px}.payment-info{min-width:100%}.percentage{min-width:100%;text-align:left;margin-top:.5rem}.plan-revenue-table{font-size:.85rem}.plan-revenue-table th,.plan-revenue-table td{padding:.7rem}}.super-admin-usage{padding:2rem;max-width:1400px;margin:0 auto}.page-header{margin-bottom:2.5rem;display:flex;justify-content:space-between;align-items:center}.page-header h1{font-size:2rem;color:#1a1a2e;font-weight:600;margin:0 0 .5rem}.page-header p{color:#888;margin:0;font-size:.95rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2.5rem}.metric-card{background:#fff;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #0000000d;border:1px solid #f0f0f0;transition:transform .3s ease,box-shadow .3s ease}.metric-card:hover{transform:translateY(-5px);box-shadow:0 4px 15px #0000001a;border-color:#e0e0e0}.metric-icon{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.metric-content{flex:1}.metric-label{font-size:.85rem;color:#888;margin:0 0 .3rem;font-weight:500}.metric-value{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.activity-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2.5rem;box-shadow:0 2px 8px #0000000d}.activity-section h2{font-size:1.3rem;color:#1a1a2e;margin:0 0 1.5rem;font-weight:600}.activity-log{display:flex;flex-direction:column;gap:1rem}.activity-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px;background:#f9f9f9;border-left:4px solid #667eea;transition:all .3s ease}.activity-item:hover{background:#f5f5f5;border-left-color:#764ba2}.activity-icon{font-size:1.5rem;min-width:30px;text-align:center}.activity-details{flex:1}.activity-school{font-weight:600;color:#1a1a2e;margin:0 0 .2rem;font-size:.95rem}.activity-action{color:#666;margin:0;font-size:.9rem}.activity-time{color:#aaa;font-size:.85rem;margin:0;white-space:nowrap;margin-left:1rem}.school-usage-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2.5rem;box-shadow:0 2px 8px #0000000d}.school-usage-section h2{font-size:1.3rem;color:#1a1a2e;margin:0 0 1.5rem;font-weight:600}.table-wrapper{overflow-x:auto}.usage-table{width:100%;border-collapse:collapse;font-size:.95rem}.usage-table th{text-align:left;padding:1rem;background:#f8f8f8;border-bottom:2px solid #e0e0e0;font-weight:600;color:#1a1a2e}.usage-table td{padding:1rem;border-bottom:1px solid #f0f0f0;color:#333}.usage-table tbody tr:hover{background:#f9f9f9}.usage-table .school-name{font-weight:600;color:#667eea}.usage-table .last-activity{color:#888;font-size:.9rem}.trends-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000000d}.trends-section h2{font-size:1.3rem;color:#1a1a2e;margin:0 0 1.5rem;font-weight:600}.trends-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.trend-card{background:linear-gradient(135deg,#f9f9f9,#f5f5f5);border-radius:12px;padding:1.5rem;border:1px solid #e0e0e0;transition:transform .3s ease,box-shadow .3s ease}.trend-card:hover{transform:translateY(-5px);box-shadow:0 4px 15px #0000001a}.trend-card:nth-child(2){background:linear-gradient(135deg,#f0f7ff,#e8f4ff);border:1px solid #d0e8ff}.trend-card:nth-child(3){background:linear-gradient(135deg,#f5f9ff,#f0f7ff);border:1px solid #d5e8ff}.trend-label{font-size:.9rem;color:#888;margin:0 0 .5rem;font-weight:500}.trend-value{font-size:2rem;font-weight:700;color:#667eea;margin:0 0 .3rem}.trend-detail{font-size:.85rem;color:#999;margin:0 0 1rem}.trend-sparkline{display:flex;align-items:flex-end;gap:.3rem;height:50px}.spark{flex:1;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:2px;min-height:4px}@media (max-width: 1024px){.metrics-grid,.trends-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.super-admin-usage{padding:1rem}.page-header{flex-direction:column;align-items:flex-start}.metrics-grid,.trends-grid{grid-template-columns:1fr}.activity-section,.school-usage-section,.trends-section{padding:1.5rem}.activity-item{flex-wrap:wrap}.activity-time{margin-left:0;flex-basis:100%;text-align:left;margin-top:.5rem}.activity-details{flex-basis:100%}.usage-table{font-size:.85rem}.usage-table th,.usage-table td{padding:.7rem}.trend-value{font-size:1.5rem}.trend-sparkline{height:40px}}@media (max-width: 480px){.super-admin-usage{padding:.5rem}.activity-item{gap:.5rem;padding:.75rem}.activity-icon{font-size:1.2rem}.activity-school{font-size:.85rem}.activity-action{font-size:.8rem}.usage-table{font-size:.75rem}.usage-table th,.usage-table td{padding:.5rem}.trend-card{padding:1rem}.trend-label{font-size:.8rem}.trend-value{font-size:1.3rem}}.super-admin-usage-limits{padding:2rem;background:#f8f9fa;min-height:100vh}.super-admin-usage-limits .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.super-admin-usage-limits .page-header>div{flex:1}.super-admin-usage-limits .page-header h1{margin:0;font-size:1.8rem;color:#1a1a2e;font-weight:700}.super-admin-usage-limits .page-header p{margin:.5rem 0 0;color:#666;font-size:.95rem}.table-wrapper{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014}.usage-limits-table{width:100%;border-collapse:collapse;font-size:.9rem}.usage-limits-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.usage-limits-table th{padding:1.2rem;text-align:left;font-weight:600;white-space:nowrap}.usage-limits-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .3s ease}.usage-limits-table tbody tr:hover{background-color:#f9f9f9}.usage-limits-table td{padding:1rem 1.2rem;vertical-align:middle}.usage-limits-table .school-name{font-weight:600;color:#333;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-limits-table .limit-cell{text-align:center;font-weight:600;color:#1a1a2e;background:#f9f9f9}.progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;transition:width .3s ease}@media (max-width: 1024px){.super-admin-usage-limits{padding:1.5rem}.usage-limits-table th,.usage-limits-table td{padding:.8rem;font-size:.85rem}.usage-limits-table .school-name{max-width:150px}}@media (max-width: 768px){.super-admin-usage-limits{padding:1rem}.super-admin-usage-limits .page-header{flex-direction:column;gap:1rem}.usage-limits-table th,.usage-limits-table td{padding:.6rem;font-size:.8rem}.usage-limits-table th{display:none}.usage-limits-table tbody tr{display:block;margin-bottom:1rem;border:1px solid #e0e0e0;border-radius:8px;background:#fff}.usage-limits-table tbody td{display:block;text-align:right;padding:.8rem;border:none}.usage-limits-table tbody td:before{content:attr(data-label);float:left;font-weight:600}.usage-limits-table .school-name{max-width:100%;text-align:left;padding:1rem .8rem .5rem}.progress-bar{margin:.5rem 0}}@media (max-width: 480px){.super-admin-usage-limits{padding:.8rem}.super-admin-usage-limits .page-header h1{font-size:1.3rem}.usage-limits-table tbody td{padding:.6rem;font-size:.75rem}}.cl-page{padding:28px 32px 56px;min-height:100%;background:#f4f5fb}.cl-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.cl-header-left h1{font-size:26px;font-weight:800;color:#1a1a2e;margin:0 0 6px}.cl-header-left p{font-size:14px;color:#6b7280;margin:0}.cl-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cl-back-btn{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #e0e3f5;color:#3a3c8c;border-radius:10px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;margin-bottom:20px;transition:all .2s}.cl-back-btn:hover{background:#3a3c8c;color:#fff}.cl-btn-primary{display:flex;align-items:center;gap:7px;background:linear-gradient(135deg,#3a3c8c,#2f306b);color:#fff;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .15s;box-shadow:0 4px 14px #3a3c8c40;white-space:nowrap}.cl-btn-primary:hover{opacity:.88;transform:translateY(-1px)}.cl-btn-ghost{background:#f0f1fb;color:#3a3c8c;border:1px solid #c5c7e8;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:7px}.cl-btn-ghost:hover{background:#e0e2f4}.cl-btn-danger{background:#ef4444;color:#fff;border:none;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:700;cursor:pointer;transition:opacity .2s}.cl-btn-danger:hover{opacity:.85}.cl-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #e0e3f5;border-radius:14px;padding:14px 18px;margin-bottom:20px;box-shadow:0 2px 8px #0000000a}.cl-search-wrap{position:relative;flex:1;min-width:200px}.cl-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9098b1}.cl-search{width:100%;padding:9px 12px 9px 36px;border:1px solid #e0e3f5;border-radius:8px;font-size:14px;color:#1a1a2e;background:#f8f9ff;outline:none;transition:border-color .2s}.cl-search:focus{border-color:#3a3c8c;background:#fff}.cl-select-wrap{position:relative;display:inline-flex;align-items:center}.cl-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:9px 32px 9px 12px;border:1px solid #e0e3f5;border-radius:8px;font-size:13px;font-weight:600;color:#374151;background:#f8f9ff;cursor:pointer;outline:none;transition:border-color .2s;white-space:nowrap}.cl-select:focus{border-color:#3a3c8c;background:#fff}.cl-select-full{width:100%}.cl-select-icon{position:absolute;right:10px;color:#9098b1;pointer-events:none}.cl-result-count{font-size:13px;color:#9098b1;font-weight:600;white-space:nowrap;margin-left:auto}.cl-table-wrap{background:#fff;border-radius:16px;border:1px solid #e0e3f5;box-shadow:0 2px 10px #0000000a;overflow-x:auto}.cl-table{width:100%;border-collapse:collapse;font-size:14px}.cl-table thead tr{background:#f8f9ff;border-bottom:2px solid #e0e3f5}.cl-table th{padding:14px 16px;text-align:left;font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.cl-table td{padding:14px 16px;border-bottom:1px solid #f0f1fb;vertical-align:middle;color:#374151}.cl-table tbody tr:last-child td{border-bottom:none}.cl-table tbody tr:hover{background:#fafbff}.cl-row-editing>td{background:#f0f1fb!important}.cl-edit-row>td{background:#f8f9ff;padding:0}.cl-title-cell{display:flex;flex-direction:column;gap:3px;min-width:180px}.cl-title{font-weight:700;color:#1a1a2e;font-size:14px}.cl-date{font-size:11px;color:#9098b1}.cl-date-cell{font-size:12px;color:#9098b1;white-space:nowrap}.cl-num{text-align:center;font-weight:700;color:#3a3c8c}.cl-level-badge{display:inline-block;padding:3px 12px;border-radius:20px;font-size:12px;font-weight:800;border:1px solid;white-space:nowrap}.cl-schools-btn{display:inline-flex;align-items:center;gap:5px;background:#f0f1fb;border:1px solid #c5c7e8;border-radius:8px;padding:5px 12px;font-size:13px;font-weight:700;color:#3a3c8c;cursor:pointer;transition:background .2s;white-space:nowrap}.cl-schools-btn:hover{background:#3a3c8c;color:#fff}.cl-schools-btn:hover .cl-unassigned{color:#fffc}.cl-unassigned{color:#9098b1;font-weight:600}.cl-manage-btn{display:inline-flex;align-items:center;gap:5px;background:#3a3c8c;color:#fff;border:none;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .2s;white-space:nowrap}.cl-manage-btn:hover{opacity:.85}.cl-actions{display:flex;gap:6px;align-items:center}.cl-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;transition:all .15s}.cl-btn-view{background:#fefce8;color:#ca8a04}.cl-btn-edit{background:#eff6ff;color:#2563eb}.cl-btn-assign{background:#f0fdf4;color:#16a34a}.cl-btn-delete{background:#fff1f2;color:#e11d48}.cl-btn-view:hover{background:#ca8a04;color:#fff}.cl-btn-edit:hover{background:#2563eb;color:#fff}.cl-btn-assign:hover{background:#16a34a;color:#fff}.cl-btn-delete:hover{background:#e11d48;color:#fff}.cl-empty{text-align:center;padding:60px 20px;color:#9098b1}.cl-empty svg{margin:0 auto 14px;display:block;opacity:.4}.cl-empty p{font-size:15px;margin:0}.cl-unit-editor{padding:20px 24px;border-top:1px solid #e8eaf6}.cl-view-row>td{background:#fffdf0;padding:0}.cl-unit-viewer{padding:20px 24px;border-top:2px solid #fef08a}.cl-viewer-section{margin-bottom:16px}.cl-viewer-section:last-of-type{margin-bottom:0}.cl-viewer-label{font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.cl-viewer-text{background:#fff;border:1px solid #e0e3f5;border-radius:10px;padding:14px 16px;font-size:14px;line-height:1.8;color:#374151;white-space:pre-wrap}.cl-viewer-questions{display:flex;flex-direction:column;gap:8px}.cl-viewer-q{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #e0e3f5;border-radius:9px;padding:10px 14px}.cl-viewer-qtext{flex:1;font-size:14px;color:#1a1a2e;font-weight:500}.cl-viewer-answer{font-size:13px;color:#16a34a;font-weight:700;background:#dcfce7;padding:2px 10px;border-radius:20px;white-space:nowrap}.cl-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.cl-modal{background:#fff;border-radius:18px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;animation:cl-slide-up .22s ease}@keyframes cl-slide-up{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cl-upload-modal{width:640px;max-width:100%}.cl-assign-modal{width:480px;max-width:100%}.cl-confirm-modal{width:420px;max-width:100%}.cl-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #e8eaf6;flex-shrink:0}.cl-modal-header h2{font-size:18px;font-weight:800;margin:0;color:#1a1a2e}.cl-modal-close{background:none;border:none;cursor:pointer;color:#6b7280;border-radius:8px;padding:4px;display:flex;align-items:center;transition:background .2s}.cl-modal-close:hover{background:#f0f1fb;color:#1a1a2e}.cl-modal-body{padding:20px 24px;overflow-y:auto;flex:1}.cl-units-body{padding:16px 24px}.cl-modal-footer{padding:16px 24px;border-top:1px solid #e8eaf6;display:flex;justify-content:flex-end;gap:10px;flex-shrink:0}.cl-step-indicator{display:flex;align-items:center;gap:6px}.cl-step{width:28px;height:28px;border-radius:50%;border:2px solid #c5c7e8;color:#9098b1;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;transition:all .2s}.cl-step.active{background:#3a3c8c;border-color:#3a3c8c;color:#fff}.cl-step-line{width:28px;height:2px;background:#c5c7e8;border-radius:2px}.cl-step2-summary{display:flex;align-items:center;gap:10px;background:#f8f9ff;border:1px solid #e0e3f5;border-radius:10px;padding:10px 16px;margin-bottom:18px;font-weight:700;color:#1a1a2e;font-size:14px}.cl-unit-card{background:#fff;border:1px solid #e0e3f5;border-radius:14px;padding:18px;margin-bottom:14px;box-shadow:0 2px 8px #00000008}.cl-unit-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cl-unit-num{font-size:13px;font-weight:800;color:#3a3c8c;letter-spacing:.3px}.cl-unit-remove{background:#fff1f2;color:#e11d48;border:none;border-radius:7px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer}.cl-unit-remove:hover{background:#e11d48;color:#fff}.cl-questions-section{margin-top:14px;border-top:1px dashed #e0e3f5;padding-top:14px}.cl-qs-label{font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:10px}.cl-question-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cl-q-num{font-size:12px;font-weight:800;color:#9098b1;width:22px;flex-shrink:0}.cl-q-remove{background:#fff1f2;color:#e11d48;border:none;border-radius:6px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.cl-q-remove:hover{background:#e11d48;color:#fff}.cl-add-q-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px dashed #c5c7e8;border-radius:8px;padding:6px 14px;font-size:13px;color:#6b7280;cursor:pointer;margin-top:4px;transition:all .2s}.cl-add-q-btn:hover{border-color:#3a3c8c;color:#3a3c8c;background:#f0f1fb}.cl-add-unit-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:#f8f9ff;border:2px dashed #c5c7e8;border-radius:12px;padding:14px;font-size:14px;font-weight:700;color:#3a3c8c;cursor:pointer;margin-top:4px;transition:all .2s}.cl-add-unit-btn:hover{background:#f0f1fb;border-color:#3a3c8c}.cl-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.cl-form-group:last-child{margin-bottom:0}.cl-form-group label{font-size:13px;font-weight:700;color:#374151}.cl-form-row{display:flex;gap:14px}.cl-form-row .cl-form-group{flex:1}.cl-input,.cl-textarea{padding:9px 13px;border:1px solid #e0e3f5;border-radius:9px;font-size:14px;color:#1a1a2e;background:#f8f9ff;outline:none;transition:border-color .2s,background .2s;width:100%;box-sizing:border-box}.cl-input:focus,.cl-textarea:focus{border-color:#3a3c8c;background:#fff}.cl-input-error{border-color:#ef4444!important;background:#fff5f5!important}.cl-textarea{resize:vertical;min-height:100px;font-family:inherit;line-height:1.6}.cl-field-error{font-size:12px;color:#ef4444}.cl-optional{font-size:12px;color:#9098b1;font-weight:400}.cl-assign-subtitle{font-size:14px;color:#374151;line-height:1.6;margin:0 0 16px;padding:12px 16px;background:#f8f9ff;border-radius:10px;border:1px solid #e0e3f5}.cl-school-list{display:flex;flex-direction:column;gap:8px}.cl-no-schools{color:#9098b1;font-size:14px;text-align:center;padding:20px}.cl-school-row{display:flex;align-items:center;gap:14px;padding:12px 16px;border:1px solid #e8eaf6;border-radius:10px;cursor:pointer;transition:all .15s;background:#fff}.cl-school-row:hover{border-color:#3a3c8c;background:#f8f9ff}.cl-school-checked{border-color:#3a3c8c;background:#f0f1fb}.cl-checkbox-wrap{position:relative;display:flex;align-items:center}.cl-checkbox-wrap input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.cl-custom-checkbox{width:20px;height:20px;border:2px solid #c5c7e8;border-radius:6px;display:flex;align-items:center;justify-content:center;background:#fff;flex-shrink:0;transition:all .15s;color:#fff}.cl-custom-checkbox.checked{background:#3a3c8c;border-color:#3a3c8c}.cl-school-info{display:flex;flex-direction:column;gap:3px;flex:1}.cl-school-name{font-size:14px;font-weight:700;color:#1a1a2e}.cl-school-meta{font-size:12px;color:#9098b1}.cl-type-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:800;letter-spacing:.3px;white-space:nowrap}.cl-type-mcq{background:#eff6ff;color:#2563eb}.cl-type-short{background:#f0fdf4;color:#16a34a}.cl-type-speak{background:#faf5ff;color:#7c3aed}.cl-type-reading{background:#fff7ed;color:#c2410c}.cl-type-speaking{background:#faf5ff;color:#7c3aed}.cl-unit-list{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;padding-bottom:14px;border-bottom:2px dashed #e0e3f5}.cl-unit-list-item{display:flex;align-items:center;gap:10px;background:#f0f1fb;border:1px solid #c5c7e8;border-radius:10px;padding:9px 14px}.cl-unit-list-num{font-size:12px;font-weight:800;color:#3a3c8c;min-width:46px}.cl-unit-list-title{flex:1;font-size:13px;font-weight:700;color:#1a1a2e}.cl-unit-list-count{font-size:12px;color:#9098b1;font-weight:600;white-space:nowrap}.cl-add-unit-form{background:#fff;border:2px solid #e0e3f5;border-radius:14px;padding:18px;margin-top:4px}.cl-add-unit-form-header{font-size:15px;font-weight:800;color:#1a1a2e;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e8eaf6}.cl-bulk-section{background:#f8f9ff;border:1px solid #e0e3f5;border-radius:12px;padding:14px 16px;margin-top:4px}.cl-bulk-header{font-size:13px;font-weight:800;color:#374151;margin-bottom:12px}.cl-bulk-textarea{min-height:160px;font-family:Courier New,monospace;font-size:13px}.cl-bulk-hint{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:#6b7280;margin-bottom:12px;margin-top:4px}.cl-preview-btn{margin-top:4px;font-size:13px;padding:7px 16px}.cl-preview-btn:disabled{opacity:.45;cursor:not-allowed}.cl-preview-section{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:14px 16px;margin-top:14px}.cl-preview-header{font-size:13px;font-weight:700;color:#16a34a;margin-bottom:10px}.cl-preview-errors{margin-bottom:10px}.cl-preview-error{font-size:12px;color:#dc2626;font-weight:600;margin-bottom:4px}.cl-preview-empty{font-size:13px;color:#9098b1;text-align:center;padding:8px}.cl-preview-q{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid #d1fae5;font-size:13px}.cl-preview-q:last-child{border-bottom:none}.cl-preview-qtext{flex:1;color:#1a1a2e;font-weight:600;min-width:140px}.cl-preview-opts{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:#374151}.cl-preview-opts span{background:#e0e3f5;border-radius:5px;padding:2px 7px}.cl-preview-answer{font-size:12px;color:#16a34a;font-weight:700;white-space:nowrap}.cl-preview-hint{font-size:12px;color:#7c3aed;font-weight:600}.cl-add-unit-footer{margin-top:16px;display:flex;justify-content:flex-end}.cl-add-unit-footer .cl-btn-primary:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 768px){.cl-page{padding:16px}.cl-filters{flex-direction:column;align-items:stretch}.cl-result-count{margin-left:0}.cl-table th,.cl-table td{padding:10px 12px}.cl-form-row{flex-direction:column}.cl-question-row{flex-wrap:wrap}}.ai-settings-page{padding:24px;max-width:1200px;margin:0 auto}.ai-settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.ai-settings-header h1{display:flex;align-items:center;gap:10px;font-size:24px;color:#1a1a2e;margin:0 0 6px}.ai-settings-header p{color:#666;font-size:14px;margin:0;max-width:600px}.ai-refresh-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#f0f0f0;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:13px;color:#555;transition:all .2s}.ai-refresh-btn:hover{background:#e0e0e0}.ai-alert{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.ai-alert-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.ai-alert-success{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.ai-settings-grid{display:flex;flex-direction:column;gap:20px}.ai-setting-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:all .2s}.ai-setting-card:hover{box-shadow:0 4px 12px #00000014}.ai-setting-card.disabled{opacity:.6}.ai-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.ai-card-title{display:flex;align-items:center;gap:12px}.ai-icon{font-size:28px}.ai-card-title h3{margin:0;font-size:16px;color:#1a1a2e}.ai-description{margin:2px 0 0;font-size:13px;color:#888}.ai-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:4px;color:#94a3b8;font-size:13px;font-weight:600;transition:color .2s}.ai-toggle.enabled{color:#22c55e}.ai-toggle:disabled{cursor:not-allowed;opacity:.5}.ai-card-body{padding:20px}.ai-field{margin-bottom:16px}.ai-field label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#475569;margin-bottom:6px}.ai-field textarea{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-family:SF Mono,Fira Code,Menlo,monospace;font-size:13px;line-height:1.6;resize:vertical;color:#1e293b;background:#fafbfc;transition:border-color .2s;box-sizing:border-box}.ai-field textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.ai-field textarea:disabled{background:#f1f5f9;cursor:not-allowed}.ai-char-count{font-size:11px;color:#94a3b8;margin-top:4px;display:block;text-align:right}.ai-field-row{display:flex;gap:16px}.ai-field-small{flex:1}.ai-field input[type=number],.ai-field input[type=text]{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;box-sizing:border-box}.ai-field input:focus{outline:none;border-color:#6366f1}.ai-field input:disabled{background:#f1f5f9;cursor:not-allowed}.ai-readonly{color:#94a3b8!important;font-family:SF Mono,monospace;font-size:12px!important}.ai-hint{font-size:11px;color:#94a3b8;margin-top:4px;display:block}.ai-card-actions{display:flex;align-items:center;gap:12px;margin-top:8px}.ai-save-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;background:#e2e8f0;color:#64748b;border:none;border-radius:8px;cursor:not-allowed;font-size:14px;font-weight:600;transition:all .2s}.ai-save-btn.has-changes{background:#6366f1;color:#fff;cursor:pointer}.ai-save-btn.has-changes:hover{background:#4f46e5}.ai-save-btn:disabled{opacity:.6;cursor:not-allowed}.ai-unsaved{font-size:13px;color:#f59e0b;font-weight:500}@media (max-width: 768px){.ai-settings-header{flex-direction:column;gap:12px}.ai-field-row{flex-direction:column}.ai-settings-page{padding:16px}}.super-admin-layout{display:flex;height:100vh;background:#f5f5f5}.sidebar{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;width:280px;transition:width .3s ease;display:flex;flex-direction:column;box-shadow:2px 0 10px #0003;z-index:100;overflow-y:auto}.sidebar.collapsed{width:80px}.sidebar-header{padding:1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.logo{display:flex;align-items:center;gap:.75rem;flex:1}.logo-circle{width:40px;height:40px;background:#667eea33;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.logo-text{font-size:1.1rem;font-weight:700;white-space:nowrap}.toggle-btn{background:none;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;opacity:.7;transition:opacity .3s ease}.toggle-btn:hover{opacity:1}.sidebar-nav{flex:1;padding:1rem 0;display:flex;flex-direction:column;gap:.5rem}.nav-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:none;border:none;color:#ffffffb3;cursor:pointer;transition:all .2s ease;font-size:.95rem;font-weight:500;white-space:nowrap}.nav-item:hover{background:#ffffff1a;color:#fff}.nav-item.active{background:#667eea4d;border-left:3px solid #667eea;color:#667eea;padding-left:calc(1.5rem - 3px)}.nav-item.highlight{background:linear-gradient(135deg,#e67e2233,#c0392b33);color:#e67e22;font-weight:600;border-left:3px solid transparent;padding-left:1.5rem}.nav-item.highlight:hover{background:linear-gradient(135deg,#e67e224d,#c0392b4d);border-left:3px solid #e67e22;padding-left:calc(1.5rem - 3px)}.nav-item.active.highlight{background:linear-gradient(135deg,#e67e2266,#c0392b66);border-left:3px solid #e67e22;color:#ff9800;padding-left:calc(1.5rem - 3px)}.sidebar-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.logout-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:#e74c3c33;border:1px solid rgba(231,76,60,.5);color:#ff6b6b;border-radius:6px;cursor:pointer;transition:all .2s ease;font-weight:600;font-size:.9rem}.logout-btn:hover{background:#e74c3c4d;border-color:#ff6b6b}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{background:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e9ecef;box-shadow:0 2px 4px #0000000d}.topbar-left{display:flex;align-items:center;gap:1rem}.menu-toggle{background:none;border:none;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;padding:0}.menu-toggle:hover{color:#333}.topbar-title{margin:0;font-size:1.5rem;color:#333;font-weight:600}.topbar-right{display:flex;align-items:center;gap:1rem}.user-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.content-area{flex:1;overflow-y:auto}.sidebar::-webkit-scrollbar,.content-area::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track,.content-area::-webkit-scrollbar-track{background:#0000001a}.sidebar::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff80}.content-area::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.content-area::-webkit-scrollbar-thumb:hover{background:#0000004d}@media (max-width: 1024px){.sidebar,.sidebar.collapsed{width:80px}.logo-text{display:none}.nav-item{padding:1rem;justify-content:center}.nav-item span{display:none}.logout-btn{padding:.75rem;justify-content:center}.logout-btn span{display:none}.sidebar-nav{padding:.5rem 0}}@media (max-width: 768px){.sidebar{position:fixed;left:0;top:0;height:100vh;z-index:1000;width:250px}.sidebar.collapsed{transform:translate(-100%)}.topbar{padding:1rem}.topbar-title{font-size:1.2rem}.user-badge{font-size:.75rem;padding:.4rem .8rem}.content-area{padding:1rem}}@media (max-width: 480px){.sidebar{width:100%;transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}.topbar{padding:.75rem}.topbar-title{font-size:1rem}.user-badge{display:none}.logo-circle{width:35px;height:35px;font-size:1.2rem}.sidebar-header,.sidebar-footer{padding:1rem}.nav-item{padding:.8rem 1rem}.logout-btn{padding:.6rem}}.super-admin-login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.background-animation{position:absolute;width:100%;height:100%;top:0;left:0;z-index:0;overflow:hidden}.blob{position:absolute;border-radius:50%;filter:blur(40px);opacity:.3}.blob-1{width:400px;height:400px;background:#ffffff4d;top:-50%;left:-10%;animation:float 8s ease-in-out infinite}.blob-2{width:350px;height:350px;background:#fff3;bottom:-10%;right:5%;animation:float 10s ease-in-out infinite;animation-delay:2s}.blob-3{width:300px;height:300px;background:#ffffff26;top:50%;right:-5%;animation:float 12s ease-in-out infinite;animation-delay:4s}@keyframes float{0%,to{transform:translate(0)}33%{transform:translate(30px,-50px)}66%{transform:translate(-20px,50px)}}.login-wrapper{background:#fff;border-radius:16px;padding:2.5rem 2rem;width:100%;max-width:420px;box-shadow:0 20px 60px #0003;z-index:10;position:relative}.login-header{text-align:center;margin-bottom:2rem}.logo-circle{width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1rem;box-shadow:0 4px 15px #667eea4d}.login-header h1{font-size:1.8rem;color:#1a1a2e;margin:0 0 .3rem;font-weight:700}.login-header p{color:#888;margin:0;font-size:.95rem;font-weight:500}.login-form{display:flex;flex-direction:column;gap:1.2rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:600;color:#1a1a2e}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;color:#999;pointer-events:none}.form-group input{width:100%;padding:.8rem .8rem .8rem 40px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;transition:all .3s ease;background:#f9f9f9;color:#1a1a2e}.form-group input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder{color:#bbb}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.7}.toggle-password{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:#999;display:flex;align-items:center;justify-content:center;padding:0;transition:color .3s ease}.toggle-password:hover{color:#667eea}.toggle-password:disabled{opacity:.5;cursor:not-allowed}.form-controls{display:flex;align-items:center;justify-content:space-between;font-size:.9rem}.remember-me{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:#666;-webkit-user-select:none;user-select:none}.remember-me input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#667eea}.remember-me input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.forgot-link{color:#667eea;text-decoration:none;font-weight:500;transition:color .3s ease}.forgot-link:hover{color:#764ba2;text-decoration:underline}.error-message{background:#fee;color:#c33;padding:.8rem;border-radius:6px;font-size:.9rem;border-left:4px solid #c33}.success-message{background:#efe;color:#3c3;padding:.8rem;border-radius:6px;font-size:.9rem;border-left:4px solid #3c3}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.9rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{margin-top:1.5rem;text-align:center}.login-footer p{font-size:.8rem;color:#999;margin:0;line-height:1.5}@media (max-width: 768px){.super-admin-login-container{padding:1rem}.login-wrapper{padding:2rem 1.5rem;max-width:100%}.login-header h1{font-size:1.5rem}.logo-circle{width:50px;height:50px;font-size:1.8rem}}@media (max-width: 480px){.login-wrapper{padding:1.5rem 1rem;border-radius:12px}.login-header{margin-bottom:1.5rem}.login-header h1{font-size:1.3rem}.login-header p{font-size:.85rem}.logo-circle{width:45px;height:45px;font-size:1.5rem}.form-group input{padding:.7rem .7rem .7rem 36px;font-size:.9rem}.form-controls{flex-direction:column;gap:.8rem;align-items:flex-start}.forgot-link{align-self:flex-start}.login-button{padding:.8rem}.blob{filter:blur(30px)}.blob-1{width:250px;height:250px}.blob-2{width:200px;height:200px}.blob-3{width:150px;height:150px}}#root{width:100%;height:100%}:root{color:#ffffffde;background-color:#242424}body{margin:0;padding:0;display:flex;justify-content:center;align-items:center;min-height:100vh;font-family:Inter,system-ui,avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}#root{width:100%}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}}
