:root{--primary:#0d2d59;--primary-light:#1e40af;--secondary:#eba925;--secondary-hover:#d9961e;--text-main:#1e293b;--text-muted:#64748b;--bg-light:#f8fafc;--bg-white:#fff;--shadow-sm:0 2px 8px #0d2d590a;--shadow-md:0 10px 25px #0d2d5914;--shadow-lg:0 20px 40px #0d2d591f;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1);--border-radius:18px}.app{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1e293b;color:var(--text-main);font-family:Poppins,sans-serif}.topbar{align-items:center;background:linear-gradient(90deg,#0d2d59,#1e40af);border-bottom:1px solid #ffffff1a;color:#ffffffe6;font-size:13px;font-weight:500;gap:16px;justify-content:space-between;letter-spacing:.3px;padding:8px 24px}.topbar,.topbar-left{display:flex;flex-wrap:nowrap}.topbar-left{gap:18px}@media (max-width:650px){.topbar{font-size:10px;gap:6px;padding:6px 10px}.topbar-left{gap:8px}.topbar svg{height:12px!important;width:12px!important}}.topbar-left a,.topbar-left span,.topbar-right{align-items:center;color:inherit;display:flex;gap:6px;text-decoration:none}.topbar-left a:hover{color:#eba925;color:var(--secondary);transform:translateY(-1px)}.navbar{border-bottom:1px solid #0000000d;box-shadow:0 2px 8px #0d2d590a;box-shadow:var(--shadow-sm);justify-content:space-between;padding:16px 24px;position:-webkit-sticky;position:sticky;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);z-index:1000}.brand,.navbar{align-items:center;display:flex}.brand{gap:12px}.logo{border-radius:12px;height:50px;object-fit:contain;width:50px}.brand-title{color:#0d2d59;color:var(--primary);font-size:22px;font-weight:800;letter-spacing:-.5px;line-height:1.1}.brand-subtitle{color:#eba925;color:var(--secondary);font-size:10px;font-weight:700;letter-spacing:.5px;margin-top:2px;text-transform:uppercase}.nav-links{display:flex;gap:6px}.nav-links a{align-items:center;color:inherit;display:flex;text-decoration:none}.nav-btn{background:#0000;border:none;border-radius:12px;color:#0d2d59;color:var(--primary);cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:10px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.nav-btn:hover{background:#0d2d590d;color:#1e40af;color:var(--primary-light)}.nav-btn.active{background:#0d2d59;background:var(--primary);color:#fff!important}.join-btn,.nav-btn.active{box-shadow:0 4px 12px #0d2d5926}.join-btn{align-items:center;background:linear-gradient(135deg,#0d2d59,#1e40af);background:linear-gradient(135deg,var(--primary) 0,#1e40af 100%);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:11px 20px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.join-btn:hover{background:linear-gradient(135deg,#1e40af,#2563eb);box-shadow:0 6px 18px #0d2d5940;transform:translateY(-2px)}.menu-btn{background:#0000;border:none;border-radius:8px;color:#0d2d59;color:var(--primary);cursor:pointer;display:none;padding:6px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.menu-btn:hover{background:#0000000d}.mobile-menu{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff0;border:1px solid #0d2d5914;border-radius:20px;box-shadow:0 15px 40px #0d2d591f;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;left:16px;margin-top:12px;padding:20px 16px;position:absolute;right:16px;top:100%;z-index:1000}.mobile-menu a{color:inherit;display:block;text-decoration:none}.mobile-nav-btn{align-items:center;background:#0d2d5908;border:none;border-radius:12px;box-sizing:border-box;color:#0d2d59;color:var(--primary);cursor:pointer;display:flex;font-family:inherit;font-size:14.5px;font-weight:600;justify-content:space-between;padding:13px 18px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:100%}.mobile-nav-btn:hover{background:#0d2d590f;padding-left:22px}.mobile-nav-btn.active{background:linear-gradient(135deg,#0d2d59,#1e40af);background:linear-gradient(135deg,var(--primary) 0,#1e40af 100%);box-shadow:0 4px 12px #0d2d5926;color:#fff!important}.section{padding:90px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.section.light{background:#0000}.section.dark{background:linear-gradient(135deg,#0d2d59,#06152b);color:#fff}.highlight-dark:before,.highlight:before{background:#eba925;background:var(--secondary);box-shadow:0 0 15px #eba925;box-shadow:0 0 15px var(--secondary);content:"";height:100%;left:0;position:absolute;top:0;width:5px}.container{margin:auto;max-width:1100px;text-align:center}.badge{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffd9;border:1px solid #0d2d5914;border-radius:30px;box-shadow:0 2px 8px #0d2d590a;box-shadow:var(--shadow-sm);display:inline-flex;font-size:13px;font-weight:700;gap:8px;letter-spacing:.5px;padding:10px 20px}.badge,.hero-title{color:#0d2d59;color:var(--primary)}.hero-title{font-size:54px;font-weight:800;letter-spacing:-1.5px;line-height:1.15;margin-bottom:20px;margin-top:24px}.hero-title span{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,#eba925,#f59e0b);background:linear-gradient(120deg,var(--secondary) 0,#f59e0b 100%);-webkit-background-clip:text;display:inline-block}.heading{color:#0d2d59;color:var(--primary);font-size:42px;font-weight:850;letter-spacing:-1px;margin-bottom:18px}.heading.white{color:#fff}.para{color:#64748b;color:var(--text-muted);font-size:18px;font-weight:400;line-height:1.8;margin:0 auto 30px;max-width:820px}.para.white{color:#ffffffd9}.btn-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:30px}.main-btn{align-items:center;background:linear-gradient(135deg,#0d2d59,#1e40af);background:linear-gradient(135deg,var(--primary) 0,#1e40af 100%);border:none;border-radius:18px;border-radius:var(--border-radius);box-shadow:0 6px 18px #0d2d5926;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:15px;font-weight:600;gap:8px;padding:15px 28px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.main-btn:hover{background:linear-gradient(135deg,#1e40af,#2563eb);box-shadow:0 10px 24px #0d2d5940;transform:translateY(-3px)}.outline-btn{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fff9;border:2px solid #0d2d59;border:2px solid var(--primary);border-radius:18px;border-radius:var(--border-radius);color:#0d2d59;color:var(--primary);cursor:pointer;display:flex;font-family:inherit;font-size:15px;font-weight:600;gap:8px;padding:13px 26px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.outline-btn:hover{background:#0d2d59;background:var(--primary);box-shadow:0 10px 24px #0d2d5926;color:#fff;transform:translateY(-3px)}.stats-row{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:55px}.stat-box{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffa6;border:1px solid #0d2d5914;border-radius:18px;border-radius:var(--border-radius);box-shadow:0 2px 8px #0d2d590a;box-shadow:var(--shadow-sm);padding:24px 18px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:170px}.stat-box:hover{background:#ffffffe6;border-color:#0d2d5926;box-shadow:0 10px 25px #0d2d5914;box-shadow:var(--shadow-md);transform:translateY(-5px)}.stat-box h2{color:#0d2d59;color:var(--primary);font-size:34px;font-weight:850;letter-spacing:-.5px;margin:0}.stat-box p{color:#64748b;color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.5px;margin:6px 0 0;text-transform:uppercase}.tags{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:35px}.tag{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #0d2d5914;border-radius:30px;box-shadow:0 2px 8px #0d2d590a;box-shadow:var(--shadow-sm);color:#0d2d59;color:var(--primary);font-size:13px;font-weight:600;padding:10px 20px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.tag:hover{background:#0d2d59;background:var(--primary);box-shadow:0 10px 25px #0d2d5914;box-shadow:var(--shadow-md);color:#fff;transform:translateY(-2px)}.cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:45px}.card{align-items:center;background:#fff;border:1px solid #0d2d590d;border-radius:18px;border-radius:var(--border-radius);box-shadow:0 2px 8px #0d2d590a;box-shadow:var(--shadow-sm);color:#1e293b!important;color:var(--text-main)!important;display:flex;flex-direction:column;justify-content:center;padding:32px 24px;text-align:center;text-decoration:none!important;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.card:hover{border-color:#0d2d5926;box-shadow:0 20px 40px #0d2d591f;box-shadow:var(--shadow-lg);transform:translateY(-6px)}.card .icon{align-items:center;background:#0d2d590a;border-radius:16px;display:flex;height:64px;justify-content:center;margin-bottom:18px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:64px}.card:hover .icon{background:#0d2d59;background:var(--primary);color:#fff!important}.card:hover .icon svg{stroke:#fff!important;color:#fff!important}.card h2,.card h3{color:#0d2d59;color:var(--primary);font-size:20px;font-weight:750;margin:0 0 10px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.card:hover h2,.card:hover h3{color:#1e40af;color:var(--primary-light)}.card p{color:#64748b;color:var(--text-muted);font-size:14px;line-height:1.6;margin:0}.demo-box{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffd9;border:2px solid #eba925;border:2px solid var(--secondary);border-radius:24px;box-shadow:0 20px 40px #0d2d591f;box-shadow:var(--shadow-lg);margin:40px auto;max-width:680px;padding:40px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.demo-box:hover{box-shadow:0 25px 50px #0d2d5926}.demo-box h3{color:#0d2d59;color:var(--primary);font-size:24px;font-weight:800;letter-spacing:-.5px;margin-bottom:24px;margin-top:0}.demo-box ul{font-size:16px;line-height:2;list-style:none;margin:0 auto 30px;max-width:480px;padding-left:0;text-align:left}.demo-box ul li{color:#1e293b;color:var(--text-main);font-weight:550;margin-bottom:10px;padding-left:28px;position:relative}.demo-box ul li:before{color:#10b981;content:"✓";font-weight:700;left:0;position:absolute}.demo-contact{background:#0d2d590a;border-radius:16px;margin-bottom:30px;margin-top:30px;padding:24px;text-align:center}.demo-contact-title{font-size:15px;letter-spacing:1px;margin-bottom:16px;text-transform:uppercase}.demo-contact-title,.demo-number{color:#0d2d59;color:var(--primary);font-weight:750}.demo-number{background:#fff;border:1px solid #0d2d5914;border-radius:12px;box-shadow:0 2px 8px #0d2d590a;box-shadow:var(--shadow-sm);font-size:16px;margin:8px auto;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:-webkit-fit-content;width:fit-content}.demo-number:hover{border-color:#eba925;border-color:var(--secondary);box-shadow:0 10px 25px #0d2d5914;box-shadow:var(--shadow-md);color:#d9961e;color:var(--secondary-hover);transform:translateY(-2px)}.demo-box .main-btn{margin:0 auto}.contact-info{display:flex;flex-wrap:wrap;font-size:17px;font-weight:600;gap:16px;justify-content:center;margin-top:35px}.contact-info p{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff1a;border-radius:12px;color:#fff;margin:0;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.contact-info p:hover{background:#ffffff2e;border-color:#ffffff40;transform:translateY(-2px)}.footer{background:#00000026;border-top:1px solid #ffffff0f;color:#ffffffa6;font-size:13px;font-weight:500;margin-top:60px;padding:24px;text-align:center}.bg-blur{border-radius:50%;filter:blur(120px);-webkit-filter:blur(120px);opacity:.45;position:fixed;z-index:-1}.bg1{animation:floatBlob1 22s ease-in-out infinite alternate;background:#7c4dff;height:350px;left:-100px;top:-100px;width:350px}.bg2{animation:floatBlob2 28s ease-in-out infinite alternate;background:#4fc3f7;bottom:-100px;height:400px;right:-100px;width:400px}.bg3{animation:floatBlob3 25s ease-in-out infinite alternate;background:#ffb74d;height:280px;left:50%;top:40%;width:280px}@keyframes floatBlob1{0%{transform:translate(0) scale(1) rotate(0deg)}50%{filter:blur(100px);transform:translate(60px,40px) scale(1.15) rotate(45deg)}to{transform:translate(-30px,80px) scale(.9) rotate(90deg)}}@keyframes floatBlob2{0%{transform:translate(0) scale(1) rotate(0deg)}50%{filter:blur(140px);transform:translate(-80px,-50px) scale(.85) rotate(-60deg)}to{transform:translate(40px,-90px) scale(1.1) rotate(-120deg)}}@keyframes floatBlob3{0%{transform:translate(0) scale(1)}50%{filter:blur(110px);transform:translate(50px,-70px) scale(1.2)}to{transform:translate(-60px,30px) scale(.95)}}body{background:linear-gradient(135deg,#f5f7ff,#eef2ff 30%,#f9f5ff);font-family:Poppins,sans-serif;min-height:100vh}@media (max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.hero-title{font-size:40px}.heading{font-size:32px}.section{padding:60px 18px}}@media (max-width:650px){.join-btn,.nav-links{display:none}.menu-btn{display:block}.cards{grid-template-columns:1fr}.stat-box{max-width:320px;width:100%}.contact-info{align-items:center;flex-direction:column}.contact-info p{box-sizing:border-box;max-width:320px;text-align:center;width:100%}}.popup-overlay{align-items:center;animation:fadeIn .4s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#060a19b8;display:flex;height:100vh;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100%;z-index:99999}.popup-box{animation:popupScale .45s ease;background:linear-gradient(135deg,#fffffff7,#f8f8fff5);border-radius:32px;box-shadow:0 25px 60px #00000040;max-width:680px;overflow:hidden;padding:45px 40px;position:relative;text-align:center;width:100%}.popup-box:before{background:#7c4dff26;border-radius:50%;content:"";filter:blur(10px);height:260px;position:absolute;right:-100px;top:-120px;width:260px}.popup-icon{align-items:center;background:linear-gradient(135deg,#7c4dff,#4f46e5);border-radius:24px;box-shadow:0 15px 35px #4f46e54d;color:#fff;display:flex;height:80px;justify-content:center;margin:auto auto 22px;width:80px}.popup-box h1{color:#0d2d59;font-size:42px;font-weight:800;line-height:1.2;margin-bottom:18px}.popup-box h1 span{color:#7c4dff}.popup-subtitle{color:#555;font-size:18px;line-height:1.8;margin:auto auto 35px;max-width:560px}.popup-features{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:35px}.feature-card{align-items:center;background:#fff;border-radius:22px;box-shadow:0 10px 25px #0000000f;color:#4f46e5;display:flex;flex-direction:column;font-weight:600;gap:14px;padding:24px 18px;transition:all .3s ease}.feature-card:hover{transform:translateY(-6px)}.popup-buttons{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:10px}.popup-main-btn{background:linear-gradient(135deg,#4f46e5,#7c4dff);border:none;border-radius:18px;box-shadow:0 12px 28px #4f46e547;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:15px 34px;transition:all .3s ease}.popup-main-btn:hover{transform:translateY(-4px)}.popup-secondary-btn{background:#fff;border:2px solid #4f46e5;border-radius:18px;color:#4f46e5;cursor:pointer;font-size:16px;font-weight:700;padding:15px 34px;transition:all .3s ease}.popup-secondary-btn:hover{background:#f4f2ff}.popup-footer{color:#777;font-size:15px;font-weight:500;margin-top:28px}.close-btn{align-items:center;background:#0000000d;display:flex;height:42px;justify-content:center;position:absolute;right:18px;top:18px;transition:all .3s ease;width:42px}.close-btn:hover{background:#0000001a;transform:rotate(90deg)}@keyframes popupScale{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.popup-box{padding:35px 24px}.popup-box h1{font-size:32px}.popup-subtitle{font-size:16px}.popup-buttons{flex-direction:column}.popup-main-btn,.popup-secondary-btn{width:100%}.popup-overlay{align-items:center;box-sizing:border-box;display:flex;justify-content:center;padding:18px}.popup-box{border-radius:24px;box-sizing:border-box;margin:auto;max-height:90vh;max-width:360px;overflow-y:auto;padding:28px 18px;text-align:center;width:100%}.popup-box:before{height:180px;right:-70px;top:-70px;width:180px}.popup-icon{border-radius:18px;height:62px;margin:0 auto 18px;width:62px}.popup-box h1{font-size:28px;line-height:1.3;margin-bottom:14px;text-align:center;word-break:break-word}.popup-box h1 span{display:inline-block}.popup-subtitle{font-size:15px;line-height:1.7;margin-bottom:24px;padding:0 2px;text-align:center}.popup-features{display:flex;flex-direction:column;gap:14px;margin-bottom:26px}.feature-card{align-items:center;border-radius:18px;box-sizing:border-box;gap:10px;justify-content:center;padding:16px 14px;text-align:center;width:100%}.feature-card svg{height:24px;width:24px}.feature-card span{font-size:14px;line-height:1.5}.popup-buttons{display:flex;flex-direction:column;gap:12px;width:100%}.popup-main-btn,.popup-secondary-btn{align-items:center;border-radius:15px;box-sizing:border-box;display:flex;font-size:15px;justify-content:center;padding:14px 16px;width:100%}.popup-footer{font-size:12px;line-height:1.6;margin-top:22px;padding:0 5px;text-align:center}.close-btn{height:36px;right:10px;top:10px;width:36px}}.navbar{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffffd9;border-bottom:1px solid #0d2d590f;box-shadow:0 4px 20px #0d2d5908;transition:all .3s ease}.nav-btn{overflow:hidden;position:relative}.nav-btn:after{background:var(--secondary);bottom:0;content:"";height:2.5px;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s ease;width:0}.nav-btn:hover:after{width:40%}.nav-btn.active:after{background:#fff;width:60%}.trainer-dashboard{margin:0 auto;max-width:1200px;padding:40px 20px}.dashboard-header{flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.add-btn,.dashboard-header{align-items:center;display:flex}.add-btn{background:linear-gradient(135deg,#0d2d59,#17427a);border:none;border-radius:10px;box-shadow:0 4px 15px #0d2d5926;color:#fff;cursor:pointer;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.add-btn:hover{box-shadow:0 6px 20px #0d2d5940;filter:brightness(1.1);transform:translateY(-2px)}.add-btn.inline{margin-top:15px}.filter-bar{background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 4px 25px #00000008;display:flex;gap:24px;margin-bottom:30px;padding:24px}.filter-group{display:flex;flex:1 1;flex-direction:column}.filter-group label{color:#0d2d59;font-size:.85rem;font-weight:700;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.filter-bar select{background-color:#fafafa;border:1px solid #0000001a;border-radius:10px;color:#333;cursor:pointer;font-size:1rem;outline:none;padding:12px;transition:all .2s ease}.filter-bar select:focus{background-color:#fff;border-color:#0d2d59;box-shadow:0 0 0 3px #0d2d5914}.empty-state,.loading-state{background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 4px 25px #00000008;padding:80px 20px;text-align:center}.empty-state p,.loading-state p{color:#666;font-size:1.15rem;margin-bottom:10px}.lessons-table-wrapper{background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 4px 25px #00000008;overflow-x:auto}.lessons-table{border-collapse:collapse;text-align:left;width:100%}.lessons-table th{background-color:#fafafa;border-bottom:2px solid #0000000d;color:#0d2d59;font-weight:700;padding:16px 24px}.lessons-table td{border-bottom:1px solid #0000000d;padding:20px 24px;vertical-align:middle}.lessons-table tr:last-child td{border-bottom:none}.lesson-title{color:#0d2d59;font-size:1.05rem;font-weight:600}.lesson-preview{color:#666;font-size:.92rem;line-height:1.5;margin:0;max-width:600px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-buttons{display:flex;gap:8px;justify-content:flex-end}.action-btn{border-radius:8px;justify-content:center;padding:8px;transition:all .2s ease}.action-btn.edit{background-color:#0d2d5914;color:#0d2d59}.action-btn.edit:hover{background-color:#0d2d59;color:#fff;transform:translateY(-1px)}.action-btn.delete{background-color:#ef444414;color:#ef4444}.action-btn.delete:hover{background-color:#ef4444;color:#fff;transform:translateY(-1px)}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0d2d5966;display:flex;height:100vh;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100vw;z-index:1000}.modal-box{animation:modalFadeIn .3s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:20px;box-shadow:0 10px 40px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:650px;overflow:hidden;width:100%}.modal-box.confirm{max-width:450px;padding:30px;text-align:center}.confirm-icon{align-items:center;background:#ef444414;border-radius:50%;display:inline-flex;justify-content:center;margin-bottom:20px;padding:16px}.modal-header{align-items:center;background-color:#fafafa;border-bottom:1px solid #0000000d;display:flex;justify-content:space-between;padding:24px 30px}.modal-header h2{color:#0d2d59;font-size:1.35rem;margin:0}.close-btn{background:none;border:none;border-radius:50%;color:#666;cursor:pointer;padding:4px;transition:all .2s ease}.close-btn:hover{background-color:#0000000d;color:#333}.modal-form{flex:1 1;max-height:calc(90vh - 80px);min-height:0;overflow-y:auto;padding:30px}.form-row{display:flex;gap:20px}.form-group,.form-row{margin-bottom:20px}.form-group.half{flex:1 1}.form-group.half-wide{flex:2 1}.form-group label{color:#333;font-size:.9rem;margin-bottom:8px}.helper-text{color:#666;font-size:.78rem;margin-bottom:8px;margin-top:-4px}.modal-form input[type=number],.modal-form input[type=text],.modal-form textarea{border:1px solid #0000001a;border-radius:8px;font-size:1rem;outline:none;padding:12px;transition:all .2s ease}.modal-form input[type=number]:focus,.modal-form input[type=text]:focus,.modal-form textarea:focus{border-color:#0d2d59;box-shadow:0 0 0 3px #0d2d5914}.modal-form input:disabled{background-color:#f0f2f5;color:#666;cursor:not-allowed}.message{align-items:center;border-radius:8px;display:flex;font-size:.92rem;font-weight:500;gap:8px;margin-bottom:20px;padding:12px 16px}.message.error{background-color:#ef444414;border:1px solid #ef444433;color:#ef4444}.message.success{background-color:#10b98114;border:1px solid #10b98133;color:#10b981}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:30px}.btn-cancel{background:#f0f2f5;border:none;border-radius:10px;color:#333;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-cancel:hover{background-color:#e4e6eb}.btn-save{background:#0d2d59;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-save:hover{filter:brightness(1.1)}.btn-delete-confirm{background:#ef4444;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-delete-confirm:hover{background-color:#dc2626}@media (max-width:768px){.dashboard-header{align-items:stretch;flex-direction:column;text-align:center}.dashboard-header div{margin-bottom:12px}.add-btn{justify-content:center;width:100%}.filter-bar{flex-direction:column;gap:16px;padding:16px}.lessons-table-wrapper{background:#0000;border:none;box-shadow:none}.lessons-table,.lessons-table tbody,.lessons-table td,.lessons-table th,.lessons-table thead,.lessons-table tr{display:block}.lessons-table thead tr{left:-9999px;position:absolute;top:-9999px}.lessons-table tr{background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 4px 15px #00000005;margin-bottom:16px;padding:20px}.lessons-table td{border:none;border-bottom:1px solid #0000000d;padding:10px 0!important;position:relative;text-align:left}.lessons-table td:last-child{border-bottom:0;padding-top:15px!important}.lessons-table td:first-of-type:before{color:#0d2d59;content:"Lesson ID: ";font-weight:700}.lessons-table td:nth-of-type(2):before{color:#0d2d59;content:"Title: ";font-weight:700}.lessons-table td:nth-of-type(3):before{color:#0d2d59;content:"Preview: \A";font-weight:700;white-space:pre-wrap}.lessons-table td strong{font-size:1rem}.lessons-table td .lesson-title{display:inline-block}.lessons-table td .lesson-preview{display:block;margin-top:4px;max-width:100%;white-space:normal}.lessons-table .action-buttons{gap:12px;justify-content:flex-start}.lessons-table .action-btn{display:inline-flex;flex:1 1;font-size:.9rem;gap:8px;padding:10px 16px}.lessons-table .action-btn.edit:after{content:" Edit";font-weight:600}.lessons-table .action-btn.delete:after{content:" Delete";font-weight:600}.modal-box{border-radius:16px;display:flex;flex-direction:column;max-height:90vh}.modal-form{flex:1 1;max-height:calc(90vh - 70px);min-height:0;overflow-y:auto;padding:20px}.form-row{flex-direction:column;gap:0}.form-actions{flex-direction:column;gap:10px}.form-actions button{text-align:center;width:100%}.seed-banner{align-items:stretch;flex-direction:column;padding:16px}.seed-banner-btn{text-align:center;width:100%}}.seed-banner{background-color:#eba9251a;border:1px solid #eba9254d;border-radius:12px;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px;padding:16px 24px}.seed-banner,.seed-banner-text{align-items:center;display:flex}.seed-banner-text{color:#0d2d59;gap:12px}.seed-banner-text svg{color:#eba925}.seed-banner-btn{background-color:#eba925;border:none;border-radius:8px;box-shadow:0 4px 12px #eba92533;color:#0d2d59;cursor:pointer;font-weight:700;padding:10px 20px;transition:all .2s ease}.seed-banner-btn:hover:not(:disabled){background-color:#d8961b;transform:translateY(-1px)}.seed-banner-btn:disabled{cursor:not-allowed;opacity:.6}.container{margin:0 auto;max-width:900px;padding:40px 24px}.audio-buttons{display:flex;flex-wrap:nowrap;gap:16px;justify-content:center;margin:32px 0;position:-webkit-sticky;position:sticky;top:86px;z-index:99}.read-btn{align-items:center;background:linear-gradient(135deg,#7c4dff,#4f46e5);border:none;border-radius:16px;box-shadow:0 8px 20px #4f46e533;color:#fff;cursor:pointer;display:inline-flex;font-family:Poppins,sans-serif;font-size:15px;font-weight:600;gap:8px;padding:14px 28px;transition:all .3s cubic-bezier(.4,0,.2,1)}.read-btn:hover{background:linear-gradient(135deg,#8c5ffb,#5b53e8);box-shadow:0 12px 28px #4f46e54d;transform:translateY(-3px)}.read-btn:active{transform:scale(.97)}.stop-btn{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:16px;box-shadow:0 8px 20px #ef444426;color:#fff;cursor:pointer;display:inline-flex;font-family:Poppins,sans-serif;font-size:15px;font-weight:600;gap:8px;padding:14px 28px;transition:all .3s cubic-bezier(.4,0,.2,1)}.stop-btn:hover{background:linear-gradient(135deg,#f87171,#ef4444);box-shadow:0 12px 28px #ef444440;transform:translateY(-3px)}.stop-btn:active{transform:scale(.97)}.content-box{background:#fff;border:1px solid #0d2d590f;border-radius:24px;box-shadow:0 15px 35px #0d2d590d;line-height:1.8;margin-top:30px;padding:48px 40px;text-align:left}.spacing-line{height:12px}.content-box p{color:var(--text-main);font-size:18px;margin-bottom:16px}.content-box h3,.content-box p{border-left:4px solid #0000;padding-left:12px;transition:all .25s ease}.content-box h3{color:var(--primary);font-size:22px;font-weight:700;margin-bottom:18px;margin-top:36px}.content-box li{border-left:4px solid #0000;color:var(--text-main);font-size:18px;margin-bottom:10px;padding-left:12px;transition:all .25s ease}.active-reading{animation:activeLinePulse 2s ease-in-out infinite alternate;background:linear-gradient(90deg,#eba92529,#eba92505)!important;border-left:5px solid var(--secondary)!important;border-radius:0 10px 10px 0;box-shadow:inset 2px 0 8px #eba9251a;font-weight:600;padding-left:16px!important;transform:translateX(6px)}@keyframes activeLinePulse{0%{background:linear-gradient(90deg,#eba9252e,#eba92505);border-left-color:var(--secondary);box-shadow:inset 2px 0 8px #eba9251f,0 2px 10px #eba92514}to{background:linear-gradient(90deg,#eba92514,#eba92503);border-left-color:#eba92588;box-shadow:inset 2px 0 4px #eba9250d,0 0 0 #0000}}.download-btn{background:linear-gradient(135deg,var(--primary) 0,#1e40af 100%);border:none;border-radius:16px;box-shadow:0 8px 24px #0d2d5926;color:#fff;cursor:pointer;display:block;font-family:Poppins,sans-serif;font-size:15px;font-weight:600;letter-spacing:.5px;margin:40px auto 20px;padding:15px 32px;transition:all .3s cubic-bezier(.4,0,.2,1)}.download-btn:hover{background:linear-gradient(135deg,#1e40af,#2563eb);box-shadow:0 12px 30px #0d2d5940;transform:translateY(-3px)}.download-btn:active{transform:scale(.97)}@media (max-width:768px){.content-box{padding:30px 20px}.content-box li,.content-box p{font-size:16px}.content-box h3{font-size:19px}.spacing-line{height:8px}}.action-words-container{display:flex;flex-direction:column;gap:24px;margin-top:30px}.search-bar-wrapper{box-sizing:border-box;margin:0 auto;max-width:500px;position:relative;width:100%}.action-words-search{background:#fff;border:1px solid #0d2d591f;border-radius:16px;box-shadow:0 4px 12px #0d2d5908;box-sizing:border-box;color:#0d2d59;font-family:Poppins,sans-serif;font-size:16px;outline:none;padding:14px 44px 14px 20px;transition:all .3s ease;width:100%}.action-words-search:focus{border-color:#eba925;box-shadow:0 4px 20px #eba92526;transform:translateY(-1px)}.clear-search-btn{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:16px;justify-content:center;padding:4px;position:absolute;right:16px;top:50%;transform:translateY(-50%);transition:color .2s ease}.clear-search-btn:hover{color:#ef4444}.verbs-table-wrapper{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #cbd5e1;border-radius:16px;box-shadow:0 10px 30px #0d2d590a;box-sizing:border-box;margin-top:15px;max-width:100%;overflow-x:auto;padding:0;width:100%}.verbs-table{border-collapse:collapse;font-family:Poppins,sans-serif;min-width:800px;text-align:center;width:100%}.th-num{background-color:#0d2d59!important}.th-v1{background-color:#0f52ba!important}.th-v2{background-color:#047857!important}.th-v3{background-color:#6b21a8!important}.th-v4{background-color:#ea580c!important}.th-v5{background-color:#be185d!important}.verbs-table th{border:1px solid #cbd5e1!important;color:#fff!important;font-size:14px;font-weight:700;line-height:1.3;padding:14px 8px;vertical-align:middle}.th-sub{display:block;font-size:11px;font-weight:500;margin-top:2px;opacity:.95}.verbs-table td{border:1px solid #cbd5e1!important;font-size:15px;padding:14px 10px;transition:all .2s ease;vertical-align:middle}.verb-row{background:#fff;transition:all .25s ease}.verb-row:hover{background:#0d2d5903}.cell-num{background-color:#f8fafc;color:#334155;font-weight:700}.cell-v1{color:#0d2d59;font-weight:700}.cell-v2{color:#047857;font-weight:700}.cell-v3{color:#6b21a8;font-weight:700}.cell-v4{color:#ea580c;font-weight:700}.cell-v5{color:#be185d;font-weight:700}.active-reading-row{animation:activeRowPulse 2s ease-in-out infinite alternate}.active-reading-row td{background-color:#eba9250f!important;border-bottom:1px solid #eba925!important;border-top:1px solid #eba925!important}@keyframes activeRowPulse{0%{box-shadow:inset 3px 0 0 var(--secondary)}to{box-shadow:inset 5px 0 0 var(--secondary)}}.no-verbs-found{color:#64748b;font-size:16px;padding:40px 0;text-align:center}.instructions-columns{box-sizing:border-box;display:flex;gap:32px;margin-top:30px;width:100%}.instructions-column{background:#fff;border:1px solid #0d2d590f;border-radius:24px;box-shadow:0 10px 30px #0d2d5908;box-sizing:border-box;flex:1 1;padding:32px}.dos-column{border-top:6px solid #10b981}.donts-column{border-top:6px solid #ef4444}.column-title{align-items:center;display:flex;font-size:22px;font-weight:700;gap:8px;margin-bottom:24px}.dos-title{color:#065f46}.donts-title{color:#991b1b}.instructions-list{display:flex;flex-direction:column;gap:16px;list-style:none;margin:0;padding:0}.instruction-item{align-items:flex-start;border:1px solid #0000;border-radius:12px;box-sizing:border-box;color:#334155;display:flex;font-size:16px;gap:10px;line-height:1.5;padding:12px 16px;transition:all .25s ease}.do-item{background:#10b98105}.dont-item{background:#ef444405}.do-icon{color:#10b981}.do-icon,.dont-icon{font-size:18px;font-weight:700;line-height:1}.dont-icon{color:#ef4444}.active-do{background:linear-gradient(90deg,#10b98126,#10b98105)!important;border-left:5px solid #10b981!important;box-shadow:inset 2px 0 8px #10b98114;color:#065f46}.active-do,.active-dont{font-weight:600;transform:translateX(4px)}.active-dont{background:linear-gradient(90deg,#ef444426,#ef444405)!important;border-left:5px solid #ef4444!important;box-shadow:inset 2px 0 8px #ef444414;color:#991b1b}@media (max-width:768px){.container{box-sizing:border-box;max-width:100%;padding:20px 12px;width:100%}.heading{font-size:26px}.verbs-table-wrapper{border-radius:12px;margin-top:10px}.verbs-table{font-size:13px;min-width:750px}.verbs-table th{font-size:12px;padding:10px 6px}.verbs-table td{font-size:13px;padding:10px 6px}.instructions-columns{flex-direction:column;gap:20px}.instructions-column{padding:20px}}.trainer-popup-overlay{align-items:center;animation:trainerFadeIn .35s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#060a19bf;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:99999}@keyframes trainerFadeIn{0%{opacity:0}to{opacity:1}}.trainer-popup-box{animation:trainerScaleUp .35s cubic-bezier(.34,1.56,.64,1);background:#fff;border:1px solid #0d2d590d;border-radius:28px;box-shadow:0 25px 60px #0d2d5940;max-width:400px;padding:48px 36px;position:relative;text-align:center;width:100%}.trainer-close-btn{align-items:center;background:#ef444414;border:none;border-radius:50%;color:#ef4444;cursor:pointer;display:flex;height:32px;justify-content:center;outline:none;padding:0;position:absolute;right:16px;top:16px;transition:all .3s ease;width:32px}.trainer-close-btn:hover{background:#ef44442e;transform:rotate(90deg)}@media (max-width:768px){.trainer-close-btn{height:28px;right:12px;top:12px;width:28px}}@keyframes trainerScaleUp{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.trainer-popup-box h1{color:#0d2d59;color:var(--primary,#0d2d59);font-size:28px;font-weight:800;letter-spacing:-.5px;margin:0 0 10px}.trainer-popup-box p{color:#64748b;color:var(--text-muted,#64748b);font-size:15px;font-weight:500;line-height:1.6;margin:0 0 28px}.trainer-popup-box input{background:#0d2d5905;border:1px solid #0d2d591f;border-radius:14px;box-sizing:border-box;color:#1e293b;color:var(--text-main,#1e293b);font-family:Poppins,sans-serif;font-size:16px;margin-bottom:16px;outline:none;padding:14px 18px;transition:all .3s ease;width:100%}.trainer-popup-box input:focus{background:#fff;border-color:#0d2d59;border-color:var(--primary,#0d2d59);box-shadow:0 0 0 4px #0d2d5914}.trainer-submit-btn{background:linear-gradient(135deg,#0d2d59,#1e40af);background:linear-gradient(135deg,var(--primary,#0d2d59) 0,#1e40af 100%);border:none;border-radius:14px;box-shadow:0 6px 16px #0d2d5926;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:16px;font-weight:600;padding:15px;transition:all .3s ease;width:100%}.trainer-submit-btn:hover{background:linear-gradient(135deg,#1e40af,#2563eb);box-shadow:0 10px 22px #0d2d5940;transform:translateY(-2px)}.trainer-submit-btn:active{transform:scale(.98)}.trainer-popup-box span{color:#ef4444;display:block;font-size:14px;font-weight:600;margin-bottom:16px}.teacher-popup-overlay{align-items:center;animation:teacherFadeIn .35s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#060a19bf;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:99999}@keyframes teacherFadeIn{0%{opacity:0}to{opacity:1}}.teacher-popup-box{animation:teacherScaleUp .35s cubic-bezier(.34,1.56,.64,1);background:#fff;border:1px solid #0d2d590d;border-radius:28px;box-shadow:0 25px 60px #0d2d5940;max-width:420px;padding:44px 32px;position:relative;text-align:center;width:100%}.teacher-close-btn{align-items:center;background:#ef444414;border:none;border-radius:50%;color:#ef4444;cursor:pointer;display:flex;height:32px;justify-content:center;outline:none;padding:0;position:absolute;right:16px;top:16px;transition:all .3s ease;width:32px}.teacher-close-btn:hover{background:#ef44442e;transform:rotate(90deg)}@media (max-width:768px){.teacher-close-btn{height:28px;right:12px;top:12px;width:28px}}@keyframes teacherScaleUp{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.teacher-popup-icon{font-size:48px;line-height:1;margin-bottom:8px}.teacher-popup-box h1{color:#0d2d59;color:var(--primary,#0d2d59);font-size:26px;font-weight:800;letter-spacing:-.5px;margin:0 0 8px}.teacher-popup-box p{color:#64748b;color:var(--text-muted,#64748b);font-size:14px;font-weight:500;line-height:1.6;margin:0 0 24px}.teacher-popup-box input{background:#0d2d5905;border:1px solid #0d2d591f;border-radius:14px;box-sizing:border-box;color:#1e293b;color:var(--text-main,#1e293b);font-family:Poppins,sans-serif;font-size:15px;margin-bottom:12px;outline:none;padding:14px 18px;transition:all .3s ease;width:100%}.teacher-popup-box input:focus{background:#fff;border-color:#0d2d59;border-color:var(--primary,#0d2d59);box-shadow:0 0 0 4px #0d2d5914}.teacher-popup-box input::placeholder{color:#94a3b8;font-weight:500}.teacher-popup-box select{appearance:none;-webkit-appearance:none;background:#0d2d5905;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d2d59' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 18px center;background-repeat:no-repeat;background-size:16px;border:1px solid #0d2d591f;border-radius:14px;box-sizing:border-box;color:#1e293b;color:var(--text-main,#1e293b);cursor:pointer;font-family:Poppins,sans-serif;font-size:15px;margin-bottom:12px;outline:none;padding:14px 18px;transition:all .3s ease;width:100%}.teacher-popup-box select:focus{background-color:#fff;border-color:#0d2d59;border-color:var(--primary,#0d2d59);box-shadow:0 0 0 4px #0d2d5914}.teacher-submit-btn{background:linear-gradient(135deg,#0d2d59,#1e40af);background:linear-gradient(135deg,var(--primary,#0d2d59) 0,#1e40af 100%);border:none;border-radius:14px;box-shadow:0 6px 16px #0d2d5926;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:16px;font-weight:600;margin-top:4px;padding:15px;transition:all .3s ease;width:100%}.teacher-submit-btn:hover{background:linear-gradient(135deg,#1e40af,#2563eb);box-shadow:0 10px 22px #0d2d5940;transform:translateY(-2px)}.teacher-submit-btn:active{transform:scale(.98)}.teacher-popup-error{color:#ef4444;display:block;font-size:13px;font-weight:600;margin-bottom:12px}.teacher-tab-switcher{background:#0d2d590d;border-radius:12px;display:flex;margin-bottom:20px;padding:4px}.teacher-tab-switcher button{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;flex:1 1;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;padding:10px;transition:all .25s ease}.teacher-tab-switcher button.active{background:#0d2d59;box-shadow:0 4px 10px #0d2d5926;color:#fff}.assistant-toggle{align-items:center;background:linear-gradient(135deg,#0d2d59,#1e40af);background:linear-gradient(135deg,var(--primary,#0d2d59) 0,#1e40af 100%);border:none;border-radius:50%;bottom:24px;box-shadow:0 4px 20px #0d2d5966;color:#fff;cursor:pointer;display:flex;height:60px;justify-content:center;position:fixed;right:24px;transition:all .3s cubic-bezier(.4,0,.2,1);width:60px;z-index:1000}.assistant-toggle:hover{box-shadow:0 8px 25px #0d2d5999;transform:scale(1.08) translateY(-2px)}.assistant-toggle.active{background:linear-gradient(135deg,#eba925,#d97706);background:linear-gradient(135deg,var(--secondary,#eba925) 0,#d97706 100%);box-shadow:0 4px 20px #eba92566}.assistant-pulse{animation:pulse-ring 2s cubic-bezier(.215,.61,.355,1) infinite;border:2px solid #0d2d59;border:2px solid var(--primary,#0d2d59);border-radius:50%;height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;width:100%}@keyframes pulse-ring{0%{opacity:.8;transform:scale(.95)}to{opacity:0;transform:scale(1.4)}}.voice-overlay{align-items:center;animation:voice-fade-in .4s ease forwards;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#080c15f2;box-sizing:border-box;display:flex;height:100vh;justify-content:center;left:0;overflow:hidden;position:fixed;top:0;width:100vw;z-index:2000}@keyframes voice-fade-in{0%{opacity:0}to{opacity:1}}.voice-container{align-items:center;box-sizing:border-box;height:80%;justify-content:space-between;max-width:600px;padding:40px 20px;text-align:center;width:100%}.voice-container,.voice-header{display:flex;flex-direction:column}.voice-header{gap:8px}.voice-logo{color:#fff;font-size:1.4rem;font-weight:800;letter-spacing:1px}.voice-logo-dot{color:#eba925;color:var(--secondary,#eba925)}.voice-helper-tip{background:#ffffff08;border:1px solid #ffffff1a;border-radius:100px;color:#ffffffb3;font-size:.85rem;padding:6px 16px}.voice-orb-wrapper{height:250px;margin:40px 0;position:relative;width:250px}.voice-orb,.voice-orb-wrapper{align-items:center;display:flex;justify-content:center}.voice-orb{background:radial-gradient(circle,#0d2d59 0,#1e40af 100%);background:radial-gradient(circle,var(--primary,#0d2d59) 0,#1e40af 100%);border-radius:50%;box-shadow:0 0 40px #1e40af99;color:#fff;height:100px;transition:all .3s ease;width:100px;z-index:10}.voice-orb.listening{background:radial-gradient(circle,#eba925 0,#d97706 100%);background:radial-gradient(circle,var(--secondary,#eba925) 0,#d97706 100%);box-shadow:0 0 40px #eba92599}.voice-orb.processing{background:radial-gradient(circle,#10b981 0,#059669 100%);box-shadow:0 0 40px #10b98199}.voice-ring{border:2px solid #0d2d59;border:2px solid var(--primary,#0d2d59);border-radius:50%;height:100px;left:50%;opacity:.8;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:100px}.voice-ring.listening{border-color:#eba925;border-color:var(--secondary,#eba925)}.voice-ring.processing{border-color:#10b981}.voice-ring.ring-1{animation:ripple-out-1 2.5s linear infinite}.voice-ring.ring-2{animation:ripple-out-2 2.5s linear infinite;animation-delay:.8s}.voice-ring.ring-3{animation:ripple-out-3 2.5s linear infinite;animation-delay:1.6s}@keyframes ripple-out-1{0%{opacity:.8;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(2.4)}}@keyframes ripple-out-2{0%{opacity:.8;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(2.4)}}@keyframes ripple-out-3{0%{opacity:.8;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(2.4)}}.voice-state-title{font-size:1.6rem;font-weight:700;letter-spacing:1px;margin-top:12px;text-transform:uppercase}.voice-state-title.speaking{color:#60a5fa}.voice-state-title.listening{color:#eba925;color:var(--secondary,#eba925)}.voice-state-title.processing{color:#34d399}.voice-captions-container{background:#ffffff05;border:1px solid #ffffff1a;border-radius:16px;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;margin-top:20px;min-height:120px;padding:20px;text-align:left;width:100%}.voice-controls{display:flex;gap:16px;margin-top:24px}.btn-end-session{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:14px;box-shadow:0 4px 15px #ef44444d;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:15px;font-weight:600;gap:8px;padding:14px 28px;transition:all .3s ease}.btn-end-session:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 20px #ef444480;transform:translateY(-2px)}@media (max-width:480px){.voice-container{height:90%;padding:20px 16px}.voice-orb-wrapper{height:200px;margin:20px 0;width:200px}.voice-state-title{font-size:1.3rem}}.teachers-portal{padding:30px 12px 60px}.teachers-header{margin-bottom:24px}.teachers-header .hero-title{font-size:28px;line-height:1.2}.teachers-header .para{font-size:14px;line-height:1.6}.teacher-welcome{align-items:center;background:linear-gradient(135deg,#eba92514,#eba92526);border:1px solid #eba92533;border-radius:30px;color:var(--text-main);display:inline-flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:8px;padding:8px 18px}.teacher-welcome svg{color:var(--secondary);flex-shrink:0}.teacher-welcome strong{color:var(--primary);font-weight:800}.progress-container{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffbf;border:1px solid #0d2d5914;border-radius:16px;box-shadow:var(--shadow-sm);margin-bottom:16px;padding:16px 14px}.progress-header{align-items:center;margin-bottom:10px}.progress-label{align-items:center;color:var(--primary);display:flex;font-size:13px;font-weight:750;gap:6px;letter-spacing:.5px;text-transform:uppercase}.progress-label svg{color:var(--secondary)}.progress-stats{align-items:center;display:flex;gap:10px}.progress-fraction{color:var(--text-muted);font-size:12px;font-weight:600}.progress-percentage{background:#0d2d590d;border-radius:20px;color:var(--primary);font-size:14px;font-weight:800;padding:3px 10px}.progress-bar-track{background:#0d2d590f;border-radius:10px;height:10px;margin-bottom:12px;overflow:visible;position:relative}.progress-bar-fill{background:linear-gradient(90deg,var(--primary) 0,#1e40af 50%,var(--secondary) 100%);border-radius:10px;box-shadow:0 2px 8px #0d2d5933;height:100%;position:relative;z-index:1}.milestone-marker{background:#fff;border:2px solid #0d2d5933;border-radius:2px;height:10px;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);transition:var(--transition);width:10px;z-index:2}.milestone-marker.reached{background:var(--secondary);border-color:var(--secondary);box-shadow:0 0 6px #eba92566}.milestone-labels{-ms-overflow-style:none;display:flex;flex-wrap:nowrap;gap:4px;justify-content:space-between;overflow-x:auto;scrollbar-width:none}.milestone-labels::-webkit-scrollbar{display:none}.milestone-tag{align-items:center;border-radius:8px;color:var(--text-muted);display:flex;font-size:10px;font-weight:600;gap:4px;padding:3px 6px;transition:var(--transition);white-space:nowrap}.milestone-tag.reached{background:#eba92514;color:var(--secondary-hover);font-weight:700}.milestone-tag svg{flex-shrink:0}.current-milestone-badge{align-items:center;background:linear-gradient(135deg,#eba92514,#eba92526);border:1px solid #eba92533;border-radius:20px;color:var(--text-main);display:inline-flex;font-size:11.5px;font-weight:600;gap:6px;margin-top:10px;padding:6px 14px}.current-milestone-badge strong{color:var(--secondary-hover);font-weight:800}.current-milestone-badge svg{color:var(--secondary)}.week-capsule.completed{background:#10b9810f;border-color:#10b9814d;color:#047857}.week-capsule.completed.active{background:linear-gradient(135deg,#047857,#10b981);border-color:#0000;color:#fff}.week-check-icon{flex-shrink:0}.curriculum-banner-left{display:flex;flex:1 1;flex-direction:column;gap:4px}.mark-complete-btn{align-items:center;background:#0d2d5908;border:1.5px solid #0d2d5926;border-radius:30px;color:var(--primary);cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:12px;font-weight:700;gap:5px;padding:8px 16px;transition:var(--transition);white-space:nowrap}.mark-complete-btn.ready{animation:pulse-ready 2s ease-in-out infinite;background:linear-gradient(135deg,var(--primary) 0,#1e40af 100%);border-color:#0000;box-shadow:0 3px 10px #0d2d5933;color:#fff}.mark-complete-btn.ready:hover{box-shadow:0 6px 16px #0d2d594d;transform:translateY(-1px)}@keyframes pulse-ready{0%,to{box-shadow:0 3px 10px #0d2d5933}50%{box-shadow:0 3px 18px #0d2d5966}}.mark-complete-btn.disabled{background:#0d2d590a;border-color:#0d2d5914;color:var(--text-muted);cursor:not-allowed;opacity:.85}.mark-complete-btn.disabled:hover{box-shadow:none;transform:none}.mark-complete-btn.completed{background:linear-gradient(135deg,#047857,#10b981);border-color:#0000;box-shadow:0 3px 10px #10b98133;color:#fff;cursor:default}.curriculum-banner-right{flex-shrink:0}.week-capsule.locked{background:#0d2d5905;border-color:#0d2d590f;color:var(--text-muted);cursor:not-allowed;opacity:.4}.week-capsule.locked:hover{background:#0d2d5905;border-color:#0d2d590f;transform:none}.week-lock-icon{flex-shrink:0;opacity:.6}.week-capsule.current{background:#eba9250f;border-color:var(--secondary);box-shadow:0 0 0 2px #eba92526;color:var(--primary)}.week-capsule.current:hover{background:#eba9251a}.weeks-selector-container{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #0d2d5914;border-radius:16px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding:12px 14px;text-align:left}.weeks-selector-label{align-items:center;color:var(--primary);display:flex;font-size:12px;font-weight:750;gap:5px;letter-spacing:.5px;text-transform:uppercase}.weeks-scroll-wrapper{-ms-overflow-style:none;display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.weeks-scroll-wrapper::-webkit-scrollbar{display:none}.week-capsule{background:#fff;border:1px solid #0d2d591f;border-radius:30px;color:var(--primary);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:12px;font-weight:700;padding:7px 14px;transition:var(--transition);white-space:nowrap}.week-capsule:hover{background:#0d2d590a;border-color:var(--primary-light)}.week-capsule.active{background:linear-gradient(135deg,var(--primary) 0,#1e40af 100%);border-color:#0000;box-shadow:0 3px 8px #0d2d5926;color:#fff}.curriculum-banner{align-items:center;background:#0d2d5908;border-left:4px solid var(--secondary);border-radius:4px 14px 14px 4px;display:flex;flex-direction:row;gap:12px;justify-content:space-between;margin-bottom:20px;padding:12px 14px;text-align:left}.curriculum-focus,.curriculum-theme{color:var(--text-main);font-size:13px;line-height:1.4}.curriculum-focus strong,.curriculum-theme strong{color:var(--primary);font-size:10.5px;letter-spacing:.5px;margin-right:4px;text-transform:uppercase}.subject-tabs-container{-ms-overflow-style:none;display:flex;justify-content:flex-start;margin-bottom:20px;overflow-x:auto;padding:3px;scrollbar-width:none}.subject-tabs-container::-webkit-scrollbar{display:none}.subject-tabs{background:#0d2d590a;border:1px solid #0d2d590f;border-radius:16px;display:inline-flex;gap:4px;padding:4px;position:relative}.subject-tab-btn{align-items:center;background:#0000;border:none;border-radius:13px;color:var(--primary);cursor:pointer;display:flex;font-family:inherit;font-size:12px;font-weight:700;gap:5px;padding:9px 14px;position:relative;transition:var(--transition);white-space:nowrap;z-index:1}.subject-tab-btn span{display:inline}.subject-tab-btn:hover{color:var(--primary-light)}.subject-tab-btn.active{color:#fff!important}.subject-tab-btn .active-indicator{background:linear-gradient(135deg,var(--primary) 0,#1e40af 100%);border-radius:13px;bottom:0;box-shadow:0 3px 10px #0d2d5933;left:0;position:absolute;right:0;top:0;z-index:-1}.portal-layout{display:flex;flex-direction:column;gap:16px;text-align:left}.portal-sidebar{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffa6;border:1px solid #0d2d5914;border-radius:16px;box-shadow:var(--shadow-sm);box-sizing:border-box;padding:10px;width:100%}.category-list{-ms-overflow-style:none;display:flex;flex-direction:row;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.category-list::-webkit-scrollbar{display:none}.category-item-btn{align-items:center;background:#0000;border:none;border-radius:12px;color:var(--primary);cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:12.5px;font-weight:600;justify-content:center;overflow:hidden;padding:9px 14px;position:relative;transition:var(--transition);white-space:nowrap;z-index:1}.category-item-content{align-items:center;display:flex;gap:6px}.category-item-btn .arrow-icon{display:none}.category-item-btn:hover{background:#0d2d5908;color:var(--primary-light)}.category-item-btn.active{color:var(--primary)!important;font-weight:700}.category-active-bg{background:#eba9251f;border-bottom:3px solid var(--secondary);border-radius:12px;bottom:0;left:0;position:absolute;right:0;top:0;z-index:-1}.portal-details-panel{width:100%}.details-content-card{background:#fff;border:1px solid #0d2d5914;border-radius:18px;box-shadow:var(--shadow-md);min-height:300px;padding:20px 16px}.details-header{border-bottom:1px solid #0d2d5914;display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding-bottom:16px}.details-header h3{color:var(--primary);font-size:20px;font-weight:850;letter-spacing:-.3px;margin:0}.details-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.read-aloud-btn{align-items:center;background:#0d2d5908;border:1.5px solid #0d2d5926;border-radius:30px;color:var(--primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12.5px;font-weight:700;gap:6px;padding:8px 16px;transition:var(--transition);white-space:nowrap}.read-aloud-btn:hover{background:var(--primary);border-color:var(--primary);box-shadow:0 4px 12px #0d2d5926;color:#fff}.read-aloud-btn.speaking{animation:pulse-speaking 1.5s ease-in-out infinite;background:linear-gradient(135deg,#dc2626,#ef4444);border-color:#0000;box-shadow:0 4px 12px #dc262640;color:#fff}.read-aloud-btn.speaking:hover{background:linear-gradient(135deg,#b91c1c,#dc2626)}@keyframes pulse-speaking{0%,to{box-shadow:0 4px 12px #dc262640}50%{box-shadow:0 4px 20px #dc262666}}.category-badge{align-items:center;background:#0d2d590a;border:1px solid #0d2d5914;border-radius:20px;color:var(--primary);display:inline-flex;font-size:11.5px;font-weight:700;gap:6px;padding:6px 12px}.category-badge svg{color:var(--secondary)}.content-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.content-item{align-items:flex-start;background:rgba(13,45,89,.015);border:1px solid #0d2d590a;border-radius:14px;display:flex;gap:12px;padding:14px;transition:var(--transition)}.content-item:hover{background:#0d2d5908;border-color:#0d2d5914;box-shadow:var(--shadow-sm)}.bullet-point{align-items:center;background:linear-gradient(135deg,var(--primary) 0,#1e40af 100%);border-radius:50%;box-shadow:0 2px 6px #0d2d5926;color:#fff;display:flex;flex-shrink:0;font-size:11.5px;font-weight:700;height:24px;justify-content:center;min-width:24px;width:24px}.content-text{color:var(--text-main);font-size:14px;font-weight:550;line-height:1.55;text-align:left}.roleplay-chat{display:flex;flex-direction:column;gap:16px}.roleplay-intro-text{color:var(--text-muted);font-size:13.5px;line-height:1.6;margin:0}.dialogue-container{display:flex;flex-direction:column;gap:12px;padding:6px 0}.dialogue-bubble-wrapper{display:flex;flex-direction:column;max-width:88%}.teacher-wrapper{align-items:flex-start;align-self:flex-start}.student-wrapper{align-items:flex-end;align-self:flex-end}.speaker-tag{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.5px;margin-bottom:3px;margin-left:6px;margin-right:6px;text-transform:uppercase}.dialogue-bubble{font-size:13.5px;font-weight:550;line-height:1.55;padding:12px 16px}.teacher-bubble{background:#0d2d590d;border:1px solid #0d2d5914;border-radius:4px 18px 18px 18px;color:var(--primary)}.student-bubble{background:#eba9251a;border:1px solid #eba92526;border-radius:18px 4px 18px 18px;color:var(--text-main)}.challenge-card{background:linear-gradient(135deg,#fff,#eba92508);border:1.5px solid #eba92559;border-radius:18px;box-shadow:var(--shadow-sm);padding:28px 18px;text-align:center}.challenge-icon-container{align-items:center;background:#eba92526;border-radius:50%;box-shadow:0 3px 8px #eba9251a;color:var(--secondary-hover);display:flex;height:56px;justify-content:center;margin:0 auto 16px;width:56px}.challenge-card h4{color:var(--primary);font-size:18px;font-weight:850;margin:0 0 12px}.challenge-main-text{color:var(--text-main);font-size:14.5px;font-weight:600;line-height:1.65;margin:0 auto 24px;max-width:600px}.challenge-action-steps{background:#fff;border:1px solid #0d2d590f;border-radius:14px;margin:0 auto;max-width:540px;padding:18px 16px;text-align:left}.challenge-action-steps h5{color:var(--primary);font-size:12px;font-weight:750;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.challenge-action-steps ul{display:flex;flex-direction:column;gap:8px;margin:0;padding-left:18px}.challenge-action-steps ul li{color:var(--text-main);font-size:13px;font-weight:550;line-height:1.5}@media (min-width:768px){.teachers-portal{padding-left:20px;padding-right:20px;padding-top:40px}.teachers-header .hero-title{font-size:40px}.teachers-header .para{font-size:16px}.progress-container{border-radius:18px;padding:18px 20px}.progress-label{font-size:14px}.milestone-tag{font-size:11px}.current-milestone-badge{font-size:12.5px}.weeks-selector-container{border-radius:18px;margin-bottom:20px;padding:14px 18px}.weeks-selector-label{font-size:13.5px}.week-capsule{font-size:13px;padding:8px 16px}.curriculum-banner{align-items:center;flex-direction:row;justify-content:space-between;margin-bottom:28px;padding:14px 20px}.curriculum-focus,.curriculum-theme{font-size:14px}.subject-tabs-container{justify-content:center;margin-bottom:30px}.subject-tab-btn{font-size:13.5px;padding:11px 20px}.details-content-card{border-radius:22px;min-height:380px;padding:28px 24px}.details-header{align-items:center;flex-direction:row;justify-content:space-between}.details-header h3{font-size:22px}.content-item{gap:14px;padding:16px 18px}.content-text{font-size:14.5px}.dialogue-bubble-wrapper{max-width:78%}.dialogue-bubble{font-size:14px;padding:14px 18px}}@media (min-width:1024px){.teachers-portal{padding-bottom:80px;padding-top:50px}.teachers-header .hero-title{font-size:54px}.teachers-header .para{font-size:18px}.progress-container{border-radius:20px;margin-bottom:24px;padding:20px 24px}.progress-label{font-size:14.5px}.progress-bar-track{height:12px}.milestone-marker{height:12px;width:12px}.milestone-tag{font-size:12px;padding:4px 8px}.current-milestone-badge{font-size:13px;padding:8px 18px}.mark-complete-btn{font-size:13px;padding:9px 20px}.weeks-selector-container{border-radius:20px;margin-bottom:24px;padding:16px 20px}.weeks-selector-label{font-size:14.5px}.week-capsule{font-size:13.5px;padding:8px 16px}.subject-tab-btn{font-size:14.5px;padding:12px 24px}.portal-layout{align-items:flex-start;flex-direction:row;gap:32px}.portal-sidebar{border-radius:20px;flex-shrink:0;padding:16px;width:280px}.category-list{flex-direction:column;gap:8px;overflow-x:visible}.category-item-btn{border-radius:14px;justify-content:space-between;padding:14px 16px;width:100%}.category-item-btn .arrow-icon{display:block;opacity:.4;transition:var(--transition)}.category-item-btn:hover .arrow-icon{opacity:.8;transform:translateX(3px)}.category-item-btn.active .arrow-icon{color:var(--secondary);opacity:1}.category-active-bg{border-bottom:none;border-left:4px solid var(--secondary);border-radius:0 14px 14px 0}.details-content-card{border-radius:24px;min-height:420px;padding:35px}.details-header h3{font-size:24px}.read-aloud-btn{font-size:13px;padding:8px 18px}.category-badge{font-size:13px;padding:8px 16px}.content-item{gap:16px;padding:16px 20px}.content-text{font-size:15px;line-height:1.6}.bullet-point{font-size:12.5px;height:26px;min-width:26px;width:26px}.dialogue-bubble-wrapper{max-width:70%}.dialogue-bubble{font-size:14.5px;padding:14px 20px}.challenge-card{padding:40px 30px}.challenge-card h4{font-size:22px}.challenge-main-text{font-size:17px}}.language-selector{align-items:center;background:#0d2d590d;border:1px solid #0d2d5914;border-radius:30px;display:inline-flex;margin-right:8px;padding:3px}.lang-btn{background:#0000;border:none;border-radius:20px;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:700;padding:6px 14px;transition:all .25s cubic-bezier(.4,0,.2,1)}.lang-btn.active,.lang-btn:hover{color:var(--primary)}.lang-btn.active{background:var(--bg-white);box-shadow:0 2px 8px #0d2d591f}.spinner{animation:spin .8s linear infinite;border:3.5px solid #0d2d5914;border-radius:50%;border-top:3.5px solid var(--primary);height:32px;margin:20px auto 10px;width:32px}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%,-90%) scale(.95)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}.word-translation-tooltip{pointer-events:none;-webkit-user-select:none;user-select:none}.teacher-logout-btn{background:#ef444414;border:1px solid #ef444426;border-radius:20px;color:#ef4444;cursor:pointer;font-family:inherit;font-size:11px;font-weight:700;margin-left:12px;padding:4px 10px;transition:all .2s ease}.teacher-logout-btn:hover{background:#ef444426;transform:translateY(-1px)}@media (max-width:768px){.details-body{-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important}}.speech-practice-card{background:linear-gradient(135deg,#0d2d5905,#1e40af0a);border:2px dashed #0d2d5926;border-radius:18px;margin-bottom:24px;padding:20px;text-align:center}.speech-practice-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:12px}.speech-practice-title-wrapper{align-items:center;display:flex;gap:8px}.speech-practice-title-wrapper h4{color:var(--primary);font-size:16px;font-weight:800;margin:0}.mic-pulse-icon{color:var(--primary);transition:all .3s ease}.mic-pulse-icon.pulse{animation:mic-pulse 1s infinite alternate;color:#ef4444}@keyframes mic-pulse{0%{opacity:.8;transform:scale(1)}to{opacity:1;transform:scale(1.25)}}.practice-progress-tag{background:#0d2d5914;border-radius:20px;color:var(--primary);font-size:12px;font-weight:700;padding:4px 10px}.practice-desc{color:var(--text-muted);font-size:13px;line-height:1.5;margin:0 0 16px;text-align:left}.practice-stars{display:flex;gap:12px;justify-content:center;margin-bottom:20px}.star-active{color:#eba925;filter:drop-shadow(0 2px 8px rgba(235,169,37,.4));transform:scale(1.1);transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.star-inactive{color:#cbd5e1;transition:all .3s ease}.select-tip-text{background:#0d2d5908;border-radius:10px;color:var(--primary);font-size:13px;font-weight:600;margin:0;padding:10px 14px;text-align:center}.active-practice-area{background:#fff;border:1px solid #0d2d5914;border-radius:14px;box-shadow:0 4px 15px #00000005;display:flex;flex-direction:column;gap:14px;padding:16px}.practice-target{text-align:left}.practice-target strong{color:var(--text-muted);font-size:11.5px;letter-spacing:.5px;text-transform:uppercase}.target-text-bubble{background:#0d2d5905;border-left:4px solid var(--primary);border-radius:10px;color:var(--primary);font-size:14.5px;font-weight:700;line-height:1.5;margin:6px 0 0;padding:12px}.listening-indicator{align-items:center;color:#ef4444;display:flex;font-size:13px;font-weight:700;gap:8px;justify-content:center}.pulse-ring{animation:ring-pulse 1.2s infinite;background:#ef4444;border-radius:50%;box-shadow:0 0 0 0 #ef4444b3;height:10px;width:10px}@keyframes ring-pulse{0%{box-shadow:0 0 0 0 #ef4444b3;transform:scale(.95)}70%{box-shadow:0 0 0 6px #ef444400;transform:scale(1)}to{box-shadow:0 0 0 0 #ef444400;transform:scale(.95)}}.speech-result-preview{border-top:1px solid #f1f5f9;padding-top:12px;text-align:left}.speech-result-preview strong{color:var(--text-muted);font-size:11.5px;letter-spacing:.5px;text-transform:uppercase}.heard-text-bubble{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-size:14px;font-style:italic;font-weight:600;margin:6px 0;padding:10px}.speech-success-msg{background:#10b98114;color:#10b981}.speech-retry-msg,.speech-success-msg{border-radius:20px;display:inline-block;font-size:12.5px;font-weight:700;margin-top:4px;padding:4px 10px}.speech-retry-msg{background:#ef444414;color:#ef4444}.practice-actions{display:flex;gap:10px;margin-top:6px}.listen-btn{background:linear-gradient(135deg,var(--primary) 0,#1e40af 100%);border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-family:inherit;font-size:13.5px;font-weight:700;padding:12px;transition:all .2s ease}.listen-btn:hover{box-shadow:0 4px 12px #0d2d592e;transform:translateY(-1px)}.listen-btn.active{background:#ef4444}.listen-btn.active:hover{background:#dc2626;box-shadow:0 4px 12px #dc26262e}.cancel-practice-btn{background:#0000;border:1.5px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:600;padding:12px 18px;transition:all .2s ease}.cancel-practice-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.item-practice-btn{align-items:center;background:#fff;border:1.5px solid #0d2d591f;border-radius:50%;color:var(--primary);cursor:pointer;display:inline-flex;flex-shrink:0;height:28px;justify-content:center;min-width:28px;padding:0;transition:all .25s cubic-bezier(.4,0,.2,1);width:28px}.item-practice-btn:hover{background:var(--primary);border-color:var(--primary);box-shadow:0 3px 8px #0d2d591f;color:#fff;transform:scale(1.1)}.item-practice-btn.active{background:#ef4444;border-color:#0000;box-shadow:0 3px 8px #ef444433;color:#fff}.item-practice-btn.count-1,.item-practice-btn.count-2{border-color:#f97316;color:#f97316;font-size:9.5px;font-weight:700}.item-practice-btn.count-3{border-color:#10b981;color:#10b981}.item-practice-btn.count-1:hover,.item-practice-btn.count-2:hover{background:#f97316;border-color:#f97316;color:#fff}.item-practice-btn.count-3:hover{background:#10b981;border-color:#10b981;color:#fff}.dialogue-mic-btn{margin-left:auto}@media (max-width:768px){.speech-practice-card{padding:16px}.practice-stars{gap:8px}}.principal-popup-overlay{align-items:center;animation:principalFadeIn .35s ease;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#0a0c16d1;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:99999}@keyframes principalFadeIn{0%{opacity:0}to{opacity:1}}.principal-popup-box{animation:principalScaleUp .35s cubic-bezier(.34,1.56,.64,1);background:#fff;border:1px solid #fbbf2426;border-radius:28px;box-shadow:0 25px 60px #b478142e;max-width:420px;padding:44px 32px;position:relative;text-align:center;width:100%}.principal-close-btn{align-items:center;background:#ef444414;border:none;border-radius:50%;color:#ef4444;cursor:pointer;display:flex;height:32px;justify-content:center;outline:none;padding:0;position:absolute;right:16px;top:16px;transition:all .3s ease;width:32px}.principal-close-btn:hover{background:#ef44442e;transform:rotate(90deg)}@media (max-width:768px){.principal-close-btn{height:28px;right:12px;top:12px;width:28px}}@keyframes principalScaleUp{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.principal-popup-icon{font-size:52px;line-height:1;margin-bottom:12px}.principal-popup-box h1{color:#854d0e;font-size:26px;font-weight:800;letter-spacing:-.5px;margin:0 0 8px}.principal-popup-box p{color:#64748b;color:var(--text-muted,#64748b);font-size:14px;font-weight:500;line-height:1.6;margin:0 0 24px}.principal-popup-box input{background:#fbbf2405;border:1px solid #d9770626;border-radius:14px;box-sizing:border-box;color:#1e293b;color:var(--text-main,#1e293b);font-family:Poppins,sans-serif;font-size:15px;margin-bottom:12px;outline:none;padding:14px 18px;transition:all .3s ease;width:100%}.principal-popup-box input:focus{background:#fff;border-color:#fbbf24;box-shadow:0 0 0 4px #fbbf241f}.principal-popup-box input::placeholder{color:#94a3b8;font-weight:500}.principal-popup-box select{appearance:none;-webkit-appearance:none;background:#fbbf2405;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d97706' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 18px center;background-repeat:no-repeat;background-size:16px;border:1px solid #d9770626;border-radius:14px;box-sizing:border-box;color:#1e293b;color:var(--text-main,#1e293b);cursor:pointer;font-family:Poppins,sans-serif;font-size:15px;margin-bottom:12px;outline:none;padding:14px 18px;transition:all .3s ease;width:100%}.principal-popup-box select:focus{background-color:#fff;border-color:#fbbf24;box-shadow:0 0 0 4px #fbbf241f}.principal-submit-btn{background:linear-gradient(135deg,#d97706,#b45309);border:none;border-radius:14px;box-shadow:0 6px 16px #d9770626;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:16px;font-weight:600;margin-top:4px;padding:15px;transition:all .3s ease;width:100%}.principal-submit-btn:hover{background:linear-gradient(135deg,#b45309,#78350f);box-shadow:0 10px 22px #d9770640;transform:translateY(-2px)}.principal-submit-btn:active{transform:scale(.98)}.principal-popup-error{color:#ef4444;display:block;font-size:13px;font-weight:600;margin-bottom:12px}.principal-tab-switcher{background:#d977060d;border-radius:12px;display:flex;margin-bottom:20px;padding:4px}.principal-tab-switcher button{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;flex:1 1;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;outline:none;padding:10px;transition:all .25s ease}.principal-tab-switcher button.active{background:#d97706;box-shadow:0 4px 10px #d9770626;color:#fff}.principal-dashboard,.principal-dashboard *,.principal-dashboard :after,.principal-dashboard :before{box-sizing:border-box}.principal-dashboard{color:#0f172a;font-family:Poppins,sans-serif;margin:120px auto 60px;max-width:1200px;padding:0 24px}.principal-header{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffbf;border:1px solid #0d2d5914;border-radius:24px;box-shadow:0 15px 35px #0d2d590d;display:flex;justify-content:space-between;margin-bottom:30px;padding:30px 40px}.header-info h1{color:#0d2d59;font-size:28px;font-weight:800;letter-spacing:-.5px;margin:6px 0 2px}.school-tag{background:#d977061a;border-radius:8px;color:#b45309;font-size:12px;font-weight:700;letter-spacing:.5px;padding:6px 12px}.header-info .subtitle{color:#64748b;font-size:15px;margin:0}.header-info .subtitle strong{color:#0f172a;font-weight:600}.header-actions{display:flex;gap:12px}.action-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .25s ease}.refresh-btn{background:#0d2d590d;color:#0d2d59}.refresh-btn:hover{background:#0d2d591a}.logout-btn{background:#ef4444;box-shadow:0 4px 12px #ef444426;color:#fff}.logout-btn:hover{background:#dc2626;box-shadow:0 6px 16px #ef444440;transform:translateY(-1px)}.metrics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:35px}.metric-card{align-items:center;background:#fff;border:1px solid #0d2d590f;border-radius:20px;box-shadow:0 10px 25px #0d2d5905;display:flex;gap:20px;padding:24px;transition:all .3s ease}.metric-card:hover{box-shadow:0 15px 35px #0d2d5912;transform:translateY(-3px)}.metric-icon{align-items:center;border-radius:14px;display:flex;height:56px;justify-content:center;width:56px}.metric-icon.blue{background:#3b82f61a;color:#2563eb}.metric-icon.gold{background:#fbbf241a;color:#d97706}.metric-icon.green{background:#10b9811a;color:#059669}.metric-data h3{color:#64748b;font-size:14px;font-weight:600;margin:0 0 4px}.metric-data .value{color:#0f172a;font-size:26px;font-weight:800;line-height:1.1;margin:0}.metric-data .progress-track-bg{background:#f1f5f9;border-radius:10px;height:6px;margin-top:10px;overflow:hidden;width:140px}.metric-data .progress-bar-fill{background:linear-gradient(135deg,#d97706,#fbbf24);border-radius:10px;height:100%;transition:width .8s ease}.table-controls{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:20px}.search-bar{flex:1 1;max-width:400px;position:relative}.search-icon{color:#94a3b8;left:16px;position:absolute;top:50%;transform:translateY(-50%)}.search-bar input{border:1px solid #0d2d591a;border-radius:12px;box-shadow:0 4px 10px #00000005;font-family:Poppins,sans-serif;font-size:14px;outline:none;padding:12px 16px 12px 48px;transition:all .25s ease;width:100%}.search-bar input:focus{border-color:#0d2d59;box-shadow:0 0 0 4px #0d2d590f}.filters{align-items:center;display:flex;gap:12px}.filters select{background:#fff;border:1px solid #0d2d591a;border-radius:12px;box-shadow:0 4px 10px #00000005;color:#0f172a;cursor:pointer;font-family:Poppins,sans-serif;font-size:14px;outline:none;padding:12px 20px}.filters select:focus{border-color:#0d2d59}.view-switcher{background:#0d2d590d;border:1px solid #0d2d5914;border-radius:12px;display:flex;padding:4px}.view-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:inline-flex;font-family:Poppins,sans-serif;font-size:13px;font-weight:600;gap:8px;outline:none;padding:8px 16px;transition:all .25s ease}.view-btn.active{background:#fff;box-shadow:0 4px 10px #0d2d590f;color:#0d2d59}.view-btn:hover:not(.active){color:#0d2d59}.table-container{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #0d2d5914;border-radius:24px;box-shadow:0 15px 40px #0d2d5908;overflow-x:auto;padding:16px}.progress-table{border-collapse:collapse;text-align:left;width:100%}.progress-table th{border-bottom:2px solid #f1f5f9;color:#64748b;font-size:13px;font-weight:700;letter-spacing:.5px;padding:18px 24px;text-transform:uppercase}.progress-table td{border-bottom:1px solid #f1f5f9;font-size:14px;padding:20px 24px;vertical-align:middle}.progress-table tbody tr{transition:background-color .2s}.progress-table tbody tr:hover{background-color:#0d2d5903}.teacher-name-cell{align-items:center;display:flex;gap:14px}.avatar-circle{align-items:center;background:linear-gradient(135deg,#0d2d59,#1e40af);border-radius:50%;box-shadow:0 4px 10px #0d2d5926;color:#fff;display:flex;font-size:15px;font-weight:700;height:40px;justify-content:center;width:40px}.name-bold{color:#0f172a;font-weight:600}.subject-badge{border-radius:8px;display:inline-block;font-size:12px;font-weight:700;padding:6px 12px;text-transform:capitalize}.subject-badge.english{background:#3b82f61a;color:#2563eb}.subject-badge.mathematics{background:#ef44441a;color:#dc2626}.subject-badge.science{background:#10b9811a;color:#059669}.subject-badge.evs{background:#f59e0b1a;color:#d97706}.subject-badge.socialStudies{background:#8b5cf61a;color:#7c3aed}.subject-badge.computerScience{background:#06b6d41a;color:#0891b2}.subject-badge.physicalTraining{background:#64748b1a;color:#475569}.progress-cell{max-width:240px}.progress-header{display:flex;font-size:12.5px;justify-content:space-between;margin-bottom:6px}.progress-header .percentage{color:#0f172a;font-weight:700}.progress-header .weeks-count{color:#64748b;font-weight:500}.progress-table .progress-track-bg{background:#f1f5f9;border-radius:10px;height:8px;overflow:hidden;width:100%}.progress-table .progress-bar-fill{border-radius:10px;height:100%;transition:width .6s ease}.cell-icon{color:#94a3b8;display:inline-block;margin-right:6px;vertical-align:text-bottom}.date-cell,.time-cell{color:#475569;font-weight:500}.teachers-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));padding:8px}.teacher-card-grid{background:#fff;border:1px solid #0d2d590f;border-radius:20px;box-shadow:0 10px 25px #0d2d5905;box-sizing:border-box;display:flex;flex-direction:column;gap:20px;justify-content:space-between;padding:24px;transition:all .3s ease}.teacher-card-grid:hover{border-color:#0d2d591f;box-shadow:0 15px 35px #0d2d5914;transform:translateY(-3px)}.teacher-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.teacher-avatar-name{align-items:center;display:flex;gap:12px}.teacher-info-meta{align-items:flex-start;display:flex;flex-direction:column;gap:4px}.teacher-info-meta .name-bold{color:#0d2d59;font-size:16px;font-weight:700;margin:0;text-align:left}.teacher-card-body .progress-cell{max-width:none;width:100%}.teacher-card-footer{align-items:center;border-top:1px solid #f1f5f9;color:#64748b;display:flex;font-size:13px;justify-content:space-between;padding-top:14px}.teacher-card-footer .date-info,.teacher-card-footer .time-info{align-items:center;display:flex;gap:6px}.state-message{padding:60px 40px;text-align:center}.state-message p{color:#64748b;font-size:15px;margin-top:15px}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #0d2d591a;border-radius:50%;border-top-color:#0d2d59;height:40px;margin:0 auto;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.empty-icon{color:#cbd5e1;margin:0 auto}.retry-btn{background:#0d2d59;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:12px;padding:10px 20px}@media (max-width:768px){.principal-dashboard{margin:90px auto 40px;padding:0 16px}.principal-header{align-items:center;border-radius:20px;flex-direction:row;gap:12px;justify-content:space-between;padding:18px 20px}.header-info h1{font-size:18px;margin:4px 0 0}.header-info .subtitle{font-size:12px}.school-tag{border-radius:6px;font-size:10px;padding:3px 8px}.header-actions{display:flex;flex-wrap:nowrap;gap:8px;width:auto}.header-actions .action-btn{align-items:center;border-radius:10px;display:inline-flex;font-size:12px;height:38px;justify-content:center;padding:8px 12px}.hide-on-mobile{display:none}.table-controls{align-items:stretch;flex-direction:column;gap:12px}.search-bar{max-width:none;width:100%}.filters{align-items:stretch;flex-direction:column;gap:12px;width:100%}.filters select,.view-switcher{box-sizing:border-box;width:100%}.view-switcher{display:flex}.view-btn{flex:1 1;justify-content:center}}@media (max-width:480px){.header-actions{flex-direction:column;gap:8px}.header-actions .action-btn{flex:1 1 100%;width:100%}.metrics-grid{grid-template-columns:1fr}.metric-card{gap:14px;padding:16px}.metric-data .value{font-size:22px}}.actions-header{text-align:center!important}.actions-cell{text-align:center}.delete-btn-row{align-items:center;background:#0000;border:none;border-radius:8px;color:#ef4444;cursor:pointer;display:inline-flex;justify-content:center;padding:8px;transition:all .2s ease}.delete-btn-row:hover{background:#ef444414;transform:scale(1.1)}.delete-btn-row:active{transform:scale(.95)}.add-btn{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 12px #d9770626;color:#fff!important}.add-btn:hover{background:linear-gradient(135deg,#b45309,#78350f);box-shadow:0 6px 16px #d9770640;transform:translateY(-1px)}.principal-modal-overlay{align-items:center;animation:modalFadeIn .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#0a0c16b3;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:999999}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.principal-modal-box{animation:modalScaleUp .3s cubic-bezier(.34,1.56,.64,1);background:#fff;border:1px solid #0000000d;border-radius:24px;box-shadow:0 20px 50px #00000026;max-width:440px;padding:40px 32px;position:relative;width:100%}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.principal-modal-close-btn{align-items:center;background:#00000008;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .2s ease;width:32px}.principal-modal-close-btn:hover{background:#ef444414;color:#ef4444;transform:rotate(90deg)}.principal-modal-box h2{color:#0f172a;font-size:24px;font-weight:800;margin:0 0 6px;text-align:left}.principal-modal-box p{color:#64748b;font-size:14px;font-weight:500;margin:0 0 28px;text-align:left}.principal-modal-form{gap:16px;text-align:left}.form-group,.principal-modal-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#475569;font-size:13px;font-weight:600}.principal-modal-form input,.principal-modal-form select{background:#fff;border:1px solid #0000001a;border-radius:12px;box-sizing:border-box;color:#0f172a;font-family:Poppins,sans-serif;font-size:14px;outline:none;padding:12px 16px;transition:all .25s ease;width:100%}.principal-modal-form input:focus,.principal-modal-form select:focus{border-color:#d97706;box-shadow:0 0 0 4px #d977061a}.principal-modal-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:14px;cursor:pointer}.modal-error-text{color:#ef4444;display:block;font-size:13px;font-weight:600}.principal-modal-submit-btn{background:linear-gradient(135deg,#d97706,#b45309);border:none;border-radius:12px;box-shadow:0 4px 12px #d9770626;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:15px;font-weight:600;margin-top:8px;padding:14px;transition:all .25s ease;width:100%}.principal-modal-submit-btn:hover{background:linear-gradient(135deg,#b45309,#78350f);box-shadow:0 6px 16px #d9770640;transform:translateY(-1px)}.principal-modal-submit-btn:active{transform:scale(.98)}.settings-modal-box{max-height:85vh;max-width:500px!important;overflow-y:auto}.settings-section{background:#0d2d5905;border:1px solid #0d2d590d;border-radius:16px;margin-bottom:20px;padding:18px;text-align:left}.settings-section h3{color:#0d2d59;font-size:14px;font-weight:700;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.info-grid{display:flex;flex-direction:column;gap:10px}.info-item{align-items:center;border-bottom:1px dashed #0000000d;display:flex;font-size:13px;justify-content:space-between;padding-bottom:6px}.info-item:last-child{border-bottom:none;padding-bottom:0}.info-label{color:#64748b;font-weight:500}.info-val{color:#0f172a;font-weight:600}.guide-content{display:flex;flex-direction:column;gap:14px}.guide-step{align-items:flex-start;display:flex;gap:12px}.step-num{align-items:center;background:#0d2d59;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:22px;justify-content:center;width:22px}.step-text{color:#475569;font-size:12.5px;line-height:1.5}.settings-actions{display:flex;gap:12px;margin-top:10px}.settings-action-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;flex:1 1;font-family:Poppins,sans-serif;font-size:13.5px;font-weight:600;gap:8px;justify-content:center;padding:12px;transition:all .25s ease}.settings-action-btn.refresh-btn{background:#0d2d590d;color:#0d2d59}.settings-action-btn.refresh-btn:hover{background:#0d2d591a}.settings-action-btn.logout-btn{background:#ef4444;box-shadow:0 4px 12px #ef44441a;color:#fff}.settings-action-btn.logout-btn:hover{background:#dc2626;box-shadow:0 6px 16px #ef444433;transform:translateY(-1px)}.settings-btn{background:#0d2d590d;color:#0d2d59}.settings-btn:hover{background:#0d2d591a}.settings-modal-box::-webkit-scrollbar{width:6px}.settings-modal-box::-webkit-scrollbar-track{background:#0000}.settings-modal-box::-webkit-scrollbar-thumb{background:#0d2d591a;border-radius:4px}.settings-modal-box::-webkit-scrollbar-thumb:hover{background:#0d2d5933}.unlock-btn-row{align-items:center;background:#0000;border:none;border-radius:8px;color:#10b981;cursor:pointer;display:inline-flex;justify-content:center;padding:8px;transition:all .2s ease}.unlock-btn-row:hover{background:#10b98114;transform:scale(1.1)}.unlock-btn-row:active{transform:scale(.95)}body{font-family:Arial,sans-serif;margin:0;padding:0}
/*# sourceMappingURL=main.7a57d3c1.css.map*/