:root{color:#1f2940;background:#f6f8fc;font-family:Nunito,Arial,sans-serif}html,body,#root{width:100%;min-width:100%;min-height:100vh;margin:0;padding:0}body{overflow-x:hidden}#root{max-width:none;text-align:initial}*{box-sizing:border-box}body{color:#151226;background:#f4f0ff;margin:0;font-family:Nunito,Arial,sans-serif}h1,h2,h3{font-family:"Baloo 2",Nunito,Arial,sans-serif}button{font-family:inherit}.app-shell{background:radial-gradient(circle at 0 0,#8435e52e,#0000 32%),#f7f4ff;min-height:100vh;display:flex}.sidebar{color:#fff;background:#1b1333;flex-direction:column;gap:28px;width:280px;padding:24px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-logo{background:linear-gradient(135deg,#8a35f0,#c85cff);border-radius:16px;justify-content:center;align-items:center;width:48px;height:48px;font-size:26px;font-weight:900;display:flex}.brand h2{margin:0;font-size:20px}.brand p{color:#c9bdf0;margin:4px 0 0;font-size:13px}.side-nav{flex-direction:column;gap:10px;display:flex}.side-nav button{color:#d9d0f5;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;padding:13px 14px;font-size:15px}.side-nav button:hover,.side-nav button.active{color:#fff;background:#ffffff1f}.sidebar-footer{color:#c9bdf0;align-items:center;gap:8px;margin-top:auto;font-size:13px;display:flex}.dot{background:#2bd576;border-radius:999px;width:10px;height:10px}.main{flex:1;padding:28px;overflow:auto}.topbar{background:#fff;border-radius:24px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:24px;display:flex;box-shadow:0 18px 40px #452b7514}.eyebrow{text-transform:uppercase;color:#8435e5;letter-spacing:.08em;margin:0 0 8px;font-size:12px;font-weight:800}.topbar h1{margin:0;font-size:30px}.topbar-actions{gap:12px;display:flex}.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:14px;padding:12px 18px;font-weight:800}.primary-button{color:#fff;background:#8435e5}.primary-button:hover{background:#6f29c7}.secondary-button{color:#6f29c7;background:#efe6ff}.secondary-button:hover{background:#e4d2ff}.full-width{width:100%}.dashboard-grid{grid-template-columns:340px 1fr;align-items:start;gap:24px;display:grid}.panel{background:#fff;border-radius:24px;padding:22px;box-shadow:0 18px 40px #452b7514}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.panel-header h3{margin:0;font-size:22px}.badge{color:#8435e5;background:#f0e6ff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.course-list{flex-direction:column;gap:14px;display:flex}.course-card{text-align:left;cursor:pointer;background:#fbf9ff;border:1px solid #eadfff;border-radius:18px;padding:18px}.course-card:hover,.course-card.selected{border-color:#8435e5;box-shadow:0 12px 25px #8435e51f}.course-card-top{justify-content:space-between;align-items:center;display:flex}.course-icon{background:#f0e6ff;border-radius:16px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.status-pill{border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.status-pill.published{color:#108f4e;background:#e7fff1}.status-pill.draft{color:#a56700;background:#fff5da}.course-card h4{margin:14px 0 6px;font-size:18px}.course-card p{color:#6f6a7d;margin:0;font-size:14px}.mini-meta{color:#777;justify-content:space-between;gap:10px;margin-top:16px;font-size:12px;display:flex}.course-hero{color:#fff;background:linear-gradient(135deg,#8435e5 0%,#9d3ff5 50%,#ba61ff 100%);border-radius:24px;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:16px 24px;margin-bottom:22px;padding:24px 28px;display:grid;position:relative;overflow:hidden}.course-hero:before{content:"";pointer-events:none;background:#ffffff14;border-radius:999px;width:200px;height:200px;position:absolute;top:-40px;right:-40px}.course-hero:after{content:"";pointer-events:none;background:#ffffff0d;border-radius:999px;width:260px;height:260px;position:absolute;bottom:-60px;left:30%}.course-hero .eyebrow{color:#e9d4ff}.course-hero h2{margin:0 0 8px;font-size:28px;line-height:1.2}.course-hero p{color:#f0e3ff;max-width:680px;margin:0}.course-stats{align-self:start;gap:10px;display:flex}.course-stats div{text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff29;border:1px solid #fff3;border-radius:16px;min-width:90px;padding:14px}.course-stats strong{font-size:22px;display:block}.course-stats span{color:#e9d4ff;margin-top:4px;font-size:11px;font-weight:700;display:block}.lesson-layout{grid-template-columns:minmax(300px,430px) 1fr;gap:22px;display:grid}.lesson-list{flex-direction:column;gap:18px;display:flex}.lesson-block{border:1px solid #eee6ff;border-radius:20px;padding:16px}.lesson-title-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.lesson-title-row h4{margin:0;font-size:14px}.lock{color:#777;background:#eee;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.activity-row-list{flex-direction:column;gap:10px;display:flex}.activity-chip{cursor:pointer;text-align:left;background:#fff;border:1px solid #eee6ff;border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}.activity-chip:hover,.activity-chip.active{background:#fbf8ff;border-color:#8435e5}.activity-chip.locked{opacity:.55}.activity-number{color:#fff;background:#8435e5;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:900;display:flex}.activity-chip.completed .activity-number{background:#21b85b}.activity-chip.locked .activity-number{background:#bbb}.activity-chip strong{font-size:14px;display:block}.activity-chip small{color:#777;text-transform:capitalize;margin-top:3px;display:block}.activity-panel{border:1px solid #eee6ff;border-radius:22px;min-height:520px;padding:20px}.activity-header{justify-content:space-between;gap:12px;margin-bottom:18px;display:flex}.activity-header h3{margin:0;font-size:24px}.muted{color:#746f84}.type-badge{text-transform:capitalize;color:#8435e5;background:#efe6ff;border-radius:999px;height:fit-content;padding:8px 12px;font-size:12px;font-weight:900}.type-badge.quiz{color:#b05f00;background:#fff1d8}.type-badge.script{color:#006eb8;background:#e8f4ff}.type-badge.project{color:#108f4e;background:#e8fff1}.locked-box{color:#555;background:#f5f5f5;border-radius:20px;padding:26px}.content-preview{background:#fbf9ff;border-radius:20px;padding:24px}.content-icon{background:#efe6ff;border-radius:24px;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:16px;font-size:34px;display:flex}.content-preview h4{margin:0 0 10px;font-size:22px}.content-preview p{color:#5f596e;line-height:1.6}.activity-meta-box{flex-wrap:wrap;gap:12px;margin:18px 0;display:flex}.activity-meta-box span{color:#5f596e;background:#fff;border:1px solid #eee6ff;border-radius:999px;padding:8px 12px;font-size:13px}.quiz-box{flex-direction:column;gap:16px;display:flex}.quiz-intro{background:#fff8eb;border-radius:18px;padding:18px}.quiz-intro h4{margin:0 0 8px}.quiz-intro p{color:#6b5b3e;margin:0}.question-card{border:1px solid #eee6ff;border-radius:18px;padding:18px}.question-card h4{margin:0 0 14px}.option-list{flex-direction:column;gap:8px;display:flex}.option-item{cursor:pointer;-webkit-user-select:none;user-select:none;background:#faf8ff;border:2px solid #ede8ff;border-radius:14px;align-items:center;gap:12px;padding:13px 16px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.option-item:hover{background:#f5f0ff;border-color:#c4a8ff}.option-item input[type=radio]{display:none}.option-radio-dot{background:#fff;border:2px solid #c4b0f0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:border-color .15s,background .15s;display:flex}.option-item:has(input:checked){background:linear-gradient(135deg,#f7f2ff,#ede4ff);border-color:#8435e5;box-shadow:0 4px 14px #8435e526}.option-item:has(input:checked) .option-radio-dot{background:#8435e5;border-color:#8435e5;box-shadow:0 0 0 3px #8435e533}.option-item:has(input:checked) .option-radio-dot:after{content:"";background:#fff;border-radius:999px;width:7px;height:7px}.option-item span:last-child{color:#1e1633;font-size:15px;font-weight:600;line-height:1.4}.option-item:has(input:checked) span:last-child{color:#5a1ba1;font-weight:700}.result-box{color:#08783c;background:#e9fff2;border:1px solid #c7f2d9;border-radius:18px;padding:18px}.result-box h3,.result-box p{margin:0 0 8px}.result-box strong{font-size:34px}.progress-grid{grid-template-columns:repeat(2,minmax(260px,1fr));gap:18px;display:grid}.progress-card{background:#fbf9ff;border:1px solid #eee6ff;border-radius:20px;padding:20px}.progress-card-header{justify-content:space-between;gap:14px;display:flex}.progress-card h4{margin:0 0 6px}.progress-card p{color:#746f84;margin:0}.progress-card strong{color:#8435e5;font-size:28px}.progress-bar{background:#e7dcfb;border-radius:999px;height:12px;margin:18px 0;overflow:hidden}.progress-bar div{border-radius:inherit;background:linear-gradient(90deg,#8435e5,#bd62ff);height:100%}.progress-meta{flex-wrap:wrap;gap:8px;display:flex}.progress-meta span{color:#5f596e;background:#fff;border:1px solid #eee6ff;border-radius:999px;padding:7px 10px;font-size:12px}.log-table{border:1px solid #eee6ff;border-radius:18px;overflow:hidden}.log-row{border-bottom:1px solid #eee6ff;grid-template-columns:120px 140px 140px 120px 1fr;align-items:center;gap:12px;padding:14px;display:grid}.log-row:last-child{border-bottom:0}.log-head{color:#514663;background:#fbf9ff;font-weight:900}.log-status{border-radius:999px;width:fit-content;padding:7px 10px;font-size:12px;font-weight:900}.log-status.success{color:#108f4e;background:#e8fff1}.log-status.warning{color:#a56700;background:#fff4dc}.admin-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.full-panel{grid-column:1/-1}.test-actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.checklist{color:#514663;padding-left:20px;line-height:1.9}@media (width<=1200px){.dashboard-grid,.lesson-layout,.admin-grid{grid-template-columns:1fr}.sidebar{width:240px}.course-hero{flex-direction:column}}@media (width<=800px){.app-shell{flex-direction:column}.sidebar{width:100%}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{flex-direction:column;width:100%}.primary-button,.secondary-button{width:100%}.progress-grid,.log-row{grid-template-columns:1fr}}.loading-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:999;background:#f6f8fcc7;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-card{text-align:center;background:#fff;border:1px solid #ebf0fa;border-radius:24px;padding:28px;box-shadow:0 18px 40px #5162881f}.loading-card h2{margin:0 0 8px}.loading-card p{color:#71819a;margin:0}.error-banner{color:#b42318;z-index:1000;background:#fff1f1;border:1px solid #ffd1d1;border-radius:16px;padding:14px 18px;font-weight:700;position:fixed;top:16px;right:16px}.empty-state{text-align:center;color:#5f596e;background:linear-gradient(#fdfbff 0%,#f5f0ff 100%);border:1px dashed #d4baff;border-radius:22px;padding:40px 24px}.empty-state-icon{background:linear-gradient(135deg,#ede0ff,#ddd0ff);border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;font-size:30px;display:flex}.empty-state h3{color:#3a1870;margin:0 0 8px;font-size:18px}.empty-state p{margin:0;font-size:14px;line-height:1.6}.score-pill{color:#08783c;background:#e9fff2;border-radius:999px;width:fit-content;padding:7px 10px;font-weight:900}.fill-question-box{margin-top:20px}.fill-question-box h3{margin-bottom:12px;font-size:18px}.fill-input{box-sizing:border-box;border:1px solid #ddd0ff;border-radius:14px;outline:none;width:100%;padding:14px 16px;font-size:16px}.fill-input:focus{border-color:#8a35e8}.submit-button{color:#fff;cursor:pointer;background:#8a35e8;border:none;border-radius:14px;width:100%;margin-top:16px;padding:14px;font-weight:700}.connect-page{background:#f4efff;min-height:100vh;padding:40px}.connect-card{background:#fff;border-radius:28px;max-width:1100px;margin:0 auto;padding:32px;box-shadow:0 20px 60px #6032a01f}.connect-topbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.connect-layout{grid-template-columns:1fr 1fr;gap:32px;margin-top:24px;display:grid}.connect-column{flex-direction:column;gap:14px;display:flex}.connect-column h3{margin-bottom:6px}.connect-item{cursor:pointer;background:#fbf8ff;border:1px solid #eadcff;border-radius:16px;justify-content:space-between;align-items:center;padding:14px 18px;font-weight:600;transition:all .15s;display:flex}.connect-item:hover{border-color:#8a35e8;transform:translateY(-1px)}.connect-item.right{justify-content:flex-start;gap:14px}.connect-item.selected{background:#efe2ff;border-color:#8a35e8}.connect-dot{background:#8a35e8;border-radius:999px;width:14px;height:14px;display:inline-block}.connect-answer-box{background:#faf7ff;border-radius:20px;margin-top:28px;padding:20px}.connect-actions{gap:12px;margin-top:20px;display:flex}.connect-actions .primary-button,.connect-actions .secondary-button{width:auto}.connect-open-box{background:#faf7ff;border-radius:18px;margin-top:18px;padding:18px}.h5p-preview-box{background:#faf7ff;border:1px solid #eadcff;border-radius:22px;margin-top:18px;padding:18px}.h5p-preview-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.h5p-preview-header h4{margin:0 0 8px}.h5p-preview-header p{color:#6f6680;margin:0}.h5p-iframe{background:#fff;border:1px solid #eadcff;border-radius:18px;width:100%;min-height:680px}.embed-preview-box{background:#faf7ff;border:1px solid #eadcff;border-radius:22px;margin-top:18px;padding:18px}.embed-preview-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.embed-preview-header h4{margin:0 0 8px}.embed-preview-header p{color:#6f6680;margin:0}.embed-link-tabs{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.embed-link-tabs button{color:#39245e;cursor:pointer;background:#fff;border:1px solid #eadcff;border-radius:999px;padding:8px 14px;font-weight:700}.embed-link-tabs button.active{color:#fff;background:#8a35e8;border-color:#8a35e8}.embed-iframe{background:#fff;border:1px solid #eadcff;border-radius:18px;width:100%;min-height:680px}.course-view-clean-shell{background:radial-gradient(circle at 0 0,#8435e524,#0000 32%),#f7f4ff;width:100%;min-height:100vh;padding:24px}.course-view-clean-header{background:linear-gradient(130deg,#6d1fd6 0%,#8b35e8 30%,#a259f7 58%,#c084fc 80%,#e879f9 100%);border-radius:28px;margin-bottom:24px;padding:22px 28px 20px;display:block;position:relative;box-shadow:0 4px #5318b0,0 20px 50px #6d1fd666,0 4px 16px #0000001f}.course-view-clean-header:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 85% 20%,#ffffff24 0%,#0000 40%),radial-gradient(circle at 15% 80%,#ffffff1a 0%,#0000 35%);border-radius:28px;position:absolute;inset:0}.course-view-clean-header:before{content:"★★★★★";color:#fff3;letter-spacing:12px;pointer-events:none;z-index:0;font-size:16px;animation:6s ease-in-out infinite alternate navStarFloat;position:absolute;top:12px;right:280px}@keyframes navStarFloat{0%{opacity:.7;transform:translateY(0)rotate(-3deg)}to{opacity:1;transform:translateY(-5px)rotate(3deg)}}.course-view-clean-header h1{margin:0;font-size:30px}.course-view-tabs{background:#f0e6ff;border-radius:999px;align-items:center;gap:8px;padding:6px;display:flex}.course-view-tabs button{cursor:pointer;color:#6f29c7;background:0 0;border:0;border-radius:999px;padding:10px 18px;font-weight:800;transition:all .2s}.course-view-tabs button:hover{color:#4e1f91;background:#ffffffbf}.course-view-tabs button.active{color:#fff;background:#8435e5;box-shadow:0 8px 22px #8435e538}.course-view-clean-shell .dashboard-grid,.settings-page{width:100%}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.settings-card{min-height:220px}.full-settings-card{grid-column:1/-1}.settings-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.settings-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.settings-stats div{background:#fbf9ff;border:1px solid #eee6ff;border-radius:16px;padding:16px}.settings-stats strong{color:#8435e5;font-size:28px;line-height:1;display:block}.settings-stats span{color:#64748b;margin-top:6px;font-size:13px;display:block}.settings-error-text{color:#dc2626;font-weight:700}.course-learning-layout{grid-template-columns:260px minmax(320px,420px) 1fr;align-items:start;gap:22px;display:grid}.module-list-panel,.lesson-list-panel{background:#fff;border:1px solid #eee6ff;border-radius:22px;min-height:520px;padding:18px}.module-list-header,.lesson-list-header{margin-bottom:16px}.module-list-header h3,.lesson-list-header h3{margin:0;font-size:18px}.module-card:hover,.module-card.active{background:#f7efff;border-color:#8435e5;box-shadow:0 10px 24px #8435e51a}.module-number{color:#fff;background:#8435e5;border-radius:999px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;font-weight:900;display:flex}.module-card.active .module-number{background:linear-gradient(135deg,#8435e5,#ba61ff)}.lesson-list-panel .activity-row-list{gap:12px}.lesson-list-panel .activity-chip{width:100%}@media (width<=1400px){.course-learning-layout{grid-template-columns:220px minmax(280px,380px) 1fr}}@media (width<=1200px){.course-learning-layout{grid-template-columns:1fr}.module-list-panel,.lesson-list-panel{min-height:auto}}@media (width<=900px){.course-view-clean-shell{padding:16px}.course-view-clean-header{border-radius:22px;padding:18px 20px 16px}.course-view-tabs{width:100%}.course-view-tabs button{flex:1}.settings-grid{grid-template-columns:1fr}}.course-sidebar-stack{flex-direction:column;gap:24px;display:flex}.module-list-outer-panel .panel-header{margin-bottom:16px}.module-list{flex-direction:column;gap:12px;display:flex}.module-card{cursor:pointer;text-align:left;background:linear-gradient(#fcfbff 0%,#f7f1ff 100%);border:1px solid #eadfff;border-radius:18px;align-items:center;gap:12px;width:100%;padding:14px;transition:all .18s;display:flex}.module-card:hover,.module-card.active{border-color:#8435e5;transform:translateY(-1px);box-shadow:0 12px 25px #8435e51f}.module-card.locked{opacity:.6}.module-number{color:#fff;background:linear-gradient(135deg,#8435e5,#ba61ff);border-radius:999px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;font-size:16px;font-weight:900;display:flex}.module-info{min-width:0;display:block}.module-info strong{color:#151226;font-size:14px;line-height:1.35;display:block}.module-info small{color:#746f84;margin-top:4px;font-size:12px;display:block}.lesson-stream-panel{background:linear-gradient(#fff 0%,#fcfbff 100%);border:1px solid #eee6ff;border-radius:24px;padding:22px}.lesson-stream-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.lesson-stream-header h3{margin:0;font-size:22px}.lesson-stream-hint{color:#6f29c7;white-space:nowrap;background:#f4ecff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700}.lesson-stream-list{flex-direction:column;gap:14px;display:flex}.lesson-stream-item{border-radius:20px;transition:all .18s}.lesson-stream-chip.active{background:linear-gradient(#fff 0%,#fbf7ff 100%);border-color:#8435e5;box-shadow:0 12px 28px #8435e51a}.inline-activity-preview .activity-header h3{font-size:20px}.inline-activity-preview .embed-preview-box,.inline-activity-preview .content-preview,.inline-activity-preview .quiz-box,.inline-activity-preview .fill-question-box,.inline-activity-preview .connect-open-box{margin-top:0}.inline-activity-preview .embed-iframe,.inline-activity-preview .h5p-iframe{min-height:560px}.course-detail-panel{overflow:hidden}.course-detail-panel .course-hero{margin-bottom:20px}.course-view-clean-shell .dashboard-grid{align-items:start}@media (width<=1200px){.course-sidebar-stack{gap:18px}.lesson-stream-header{flex-direction:column;align-items:flex-start}.lesson-stream-hint{white-space:normal}.inline-activity-preview{border-left:0;margin-left:0;padding-left:0}}@media (width<=800px){.module-card,.lesson-stream-chip{padding:14px}.inline-activity-preview .embed-iframe,.inline-activity-preview .h5p-iframe{min-height:420px}}.course-card-progress{background:#eee6ff;border-radius:999px;width:100%;height:8px;margin-top:14px;overflow:hidden}.course-card-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#8435e5,#c06bff);height:100%}.course-card-progress-text{color:#746f84;margin-top:8px;font-size:12px;font-weight:700}.course-progress-summary{color:#fff;background:#ffffff2e;border-radius:999px;align-items:center;gap:8px;margin-top:14px;padding:9px 14px;font-size:13px;font-weight:800;display:inline-flex}.lesson-chip-leading{align-items:center;gap:14px;min-width:132px;display:flex}.lesson-order-text{color:#8435e5;min-width:40px;font-size:24px;font-weight:900;line-height:1}.progress-ring{flex:0 0 42px;width:42px;height:42px;position:relative}.progress-ring svg{display:block;transform:rotate(-90deg)}.progress-ring-track{fill:none;stroke:#d9f4dc}.progress-ring-fill{fill:none;stroke:#2db94d;stroke-linecap:round;transition:stroke-dashoffset .35s}.progress-ring-inner{color:#1ca940;justify-content:center;align-items:center;font-size:16px;font-weight:900;display:flex;position:absolute;inset:0}.lesson-stream-chip{background:#fff;border-radius:20px;justify-content:flex-start;width:100%;padding:16px}.lesson-stream-chip.completed{background:linear-gradient(#fff 0%,#f7fff8 100%);border-color:#cfeecf}.lesson-chip-content{flex:1;min-width:0;display:block}.lesson-chip-content strong{font-size:15px;line-height:1.35;display:block}.lesson-chip-content strong.completed-text{color:#6a30c6}.lesson-chip-content small{color:#7a7389;text-transform:capitalize;margin-top:4px;display:block}.completed-lesson-label{color:#108f4e;background:#e8fff1;border-radius:999px;margin-top:8px;padding:5px 10px;font-size:11px;font-weight:900;display:inline-block}.lesson-expand-indicator{color:#8435e5;margin-left:auto;font-size:18px;font-weight:900;transition:transform .18s}.lesson-expand-indicator.open{transform:rotate(180deg)}.inline-activity-preview{border-left:3px solid #e9dcff;margin-top:12px;margin-left:24px;padding-left:18px}.inline-activity-preview .activity-panel{background:linear-gradient(#fff 0%,#fdfbff 100%);min-height:auto;box-shadow:0 16px 34px #452b7514}.activity-completion-bar{background:linear-gradient(135deg,#f9f7ff 0%,#f0e9ff 100%);border:1.5px solid #ddd0ff;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding:18px 20px;display:flex;box-shadow:0 6px 20px #8435e514}.completion-status-badge{border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:800;display:inline-flex}.completion-status-badge.not-done{color:#7c3aed;background:#ffffffbf;border:1px solid #e0cfff}.completion-status-badge.done{color:#108f4e;background:linear-gradient(135deg,#d4f5e2,#eafff2);border:1px solid #b0eac8}.activity-completion-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.primary-button.mark-complete-btn{background:linear-gradient(135deg,#8435e5,#9d3ff5);border-radius:14px;align-items:center;gap:8px;padding:12px 22px;font-size:15px;transition:transform .16s,box-shadow .16s;display:inline-flex;box-shadow:0 8px 20px #8435e54d}.primary-button.mark-complete-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px #8435e561}.completed-button{color:#108f4e;cursor:default;background:linear-gradient(135deg,#d4f5e2,#c7f5da);border:1px solid #a8e8c0;border-radius:14px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:800;display:inline-flex}.celebration-overlay{pointer-events:none;z-index:2000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.celebration-center{width:0;height:0;position:relative}.confetti-piece{width:12px;height:18px;transform:rotate(var(--angle)) translateY(0);animation:1s ease-out forwards confetti-burst;animation-delay:var(--delay);border-radius:4px;position:absolute;top:0;left:0}.color-1{background:#8435e5}.color-2{background:#ff6bc2}.color-3{background:#ffd84d}.color-4{background:#2bd576}.color-5{background:#4da3ff}.color-6{background:#ff8c42}.celebration-text{white-space:nowrap;color:#6f29c7;background:#fff;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:900;animation:1.2s ease-out forwards celebration-text-pop;position:absolute;top:-24px;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #452b7524}@keyframes confetti-burst{0%{opacity:1;transform:rotate(var(--angle)) translateY(0) scale(1)}to{opacity:0;transform:rotate(calc(var(--angle) + 90deg)) translateY(calc(var(--distance) * -1)) scale(.6)}}@keyframes celebration-text-pop{0%{opacity:0;transform:translate(-50%)translateY(12px)scale(.8)}20%{opacity:1;transform:translate(-50%)translateY(0)scale(1)}80%{opacity:1;transform:translate(-50%)translateY(-6px)scale(1)}to{opacity:0;transform:translate(-50%)translateY(-18px)scale(.96)}}@media (width<=1200px){.inline-activity-preview{border-left:0;margin-left:0;padding-left:0}}@media (width<=800px){.lesson-chip-leading{gap:10px;min-width:96px}.lesson-order-text{font-size:20px}.activity-completion-bar{flex-direction:column;align-items:flex-start}}.module-progress-wrap{flex:0 0 58px;justify-content:center;align-items:center;width:58px;display:flex;position:relative}.module-progress-wrap .progress-ring{flex:0 0 52px}.progress-ring.percentage .progress-ring-inner{color:#1ca940;font-size:10px;font-weight:900}.module-index-badge{color:#fff;background:#8435e5;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:26px;height:20px;padding:0 6px;font-size:10px;font-weight:900;display:flex;position:absolute;bottom:-4px;right:-2px}.module-card.completed{background:linear-gradient(#fff 0%,#f5fff7 100%);border-color:#b8efc5}.module-card.completed .module-index-badge{background:#21b85b}.module-progress-bar{background:#eee6ff;border-radius:999px;width:100%;height:7px;margin-top:10px;display:block;overflow:hidden}.module-progress-bar-fill{border-radius:inherit;background:linear-gradient(90deg,#2db94d,#8aef9b);height:100%;transition:width .28s;display:block}.module-card.active .module-progress-bar{background:#e4d2ff}.module-card.active .module-progress-bar-fill{background:linear-gradient(90deg,#8435e5,#c06bff)}.module-card.completed .module-progress-bar-fill{background:linear-gradient(90deg,#21b85b,#8aef9b)}.module-card .module-info small{font-weight:700}.lesson-stream-hint{justify-content:center;align-items:center;display:inline-flex}.course-hero-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;display:flex}.join-meet-button{color:#7c2ff2;cursor:pointer;white-space:nowrap;background:#fffffff2;border:none;border-radius:14px;align-items:center;gap:8px;padding:12px 22px;font-size:14px;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex;box-shadow:0 10px 24px #3e147838}.join-meet-button:hover{background:#fff;transform:translateY(-2px);box-shadow:0 14px 30px #3e147852}.join-meet-button:active{transform:translateY(0);box-shadow:0 6px 14px #3e147833}.join-meet-button.lms-btn{color:#fff;box-shadow:none;background:#ffffff2e;border:1.5px solid #fff6}.join-meet-button.lms-btn:hover{background:#ffffff47;box-shadow:0 8px 20px #3e147833}.classroom-loading-overlay{z-index:3000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 20% 20%,#8435e538,#0000 34%),radial-gradient(circle at 80% 30%,#c85cff33,#0000 30%),#f7f4ffe0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.classroom-loading-card{text-align:center;background:#ffffffeb;border:1px solid #eadfffe6;border-radius:32px;width:min(460px,100vw - 32px);padding:34px;animation:.28s ease-out classroom-card-pop;box-shadow:0 28px 80px #452b7533}.classroom-loader-wrap{justify-content:center;align-items:center;width:96px;height:96px;margin:0 auto 22px;display:flex;position:relative}.classroom-loader-ring{border:7px solid #8435e5;border-color:#8435e5 #ba61ff #efe6ff #efe6ff;border-radius:999px;animation:1s linear infinite classroom-spin;position:absolute;inset:0}.classroom-loader-icon{color:#fff;background:linear-gradient(135deg,#8435e5,#c85cff);border-radius:24px;justify-content:center;align-items:center;width:68px;height:68px;font-size:32px;display:flex;box-shadow:0 14px 34px #8435e53d}.classroom-loading-card h2{color:#151226;margin:6px 0 10px;font-size:28px}.classroom-loading-text{color:#6f6a7d;max-width:360px;margin:0 auto;line-height:1.6}.classroom-loading-steps{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px;display:flex}.classroom-loading-steps span{color:#6f29c7;background:#f4ecff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.classroom-loading-dots{justify-content:center;gap:8px;margin-top:24px;display:flex}.classroom-loading-dots span{background:#8435e5;border-radius:999px;width:9px;height:9px;animation:.9s ease-in-out infinite classroom-dot-bounce}.classroom-loading-dots span:nth-child(2){animation-delay:.12s}.classroom-loading-dots span:nth-child(3){animation-delay:.24s}.primary-button:disabled,.secondary-button:disabled,.submit-button:disabled{opacity:.62;cursor:not-allowed}@keyframes classroom-spin{to{transform:rotate(360deg)}}@keyframes classroom-dot-bounce{0%,80%,to{opacity:.45;transform:translateY(0)}40%{opacity:1;transform:translateY(-8px)}}@keyframes classroom-card-pop{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.fun-popup-overlay{z-index:4000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#58318438;justify-content:center;align-items:center;animation:.2s ease-out popupFadeIn;display:flex;position:fixed;inset:0}.fun-popup-card{text-align:center;background:linear-gradient(#fff9ff 0%,#f9f4ff 100%);border:3px solid #f0dcff;border-radius:28px;width:min(420px,100vw - 32px);padding:28px 24px 24px;animation:.42s cubic-bezier(.2,1.2,.3,1) popupBounceIn;position:relative;box-shadow:0 22px 60px #5e379940}.fun-popup-card.success{background:linear-gradient(#fafffb 0%,#f4fff4 100%);border-color:#c9f2c8}.fun-popup-card.error{background:linear-gradient(snow 0%,#fff2f2 100%);border-color:#ffd1d1}.fun-popup-card.info{background:linear-gradient(#fffaff 0%,#f7f1ff 100%);border-color:#e6d6ff}.fun-popup-stars{pointer-events:none;justify-content:space-between;font-size:18px;animation:2.4s ease-in-out infinite floatingStars;display:flex;position:absolute;top:10px;left:16px;right:16px}.fun-popup-icon{background:linear-gradient(135deg,#a95cff,#7e49ff);border-radius:999px;justify-content:center;align-items:center;width:84px;height:84px;margin:8px auto 14px;font-size:38px;display:flex;box-shadow:0 14px 32px #7e49ff40}.fun-popup-card.success .fun-popup-icon{background:linear-gradient(135deg,#6fdc8c,#42c96b)}.fun-popup-card.error .fun-popup-icon{background:linear-gradient(135deg,#ff8d8d,#ff6d6d)}.fun-popup-card h3{color:#2a2140;margin:0 0 8px;font-size:28px}.fun-popup-card p{color:#665d78;max-width:310px;margin:0 auto 20px;font-size:16px;line-height:1.55}.fun-popup-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7e49ff,#b15cff);border:none;border-radius:999px;outline:none;padding:12px 24px;font-size:16px;font-weight:800;transition:transform .18s,box-shadow .18s;box-shadow:0 10px 22px #7e49ff47}.fun-popup-button:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 14px 26px #7e49ff57}.fun-popup-button:active{transform:scale(.97)}@keyframes popupFadeIn{0%{opacity:0}to{opacity:1}}@keyframes popupBounceIn{0%{opacity:0;transform:scale(.75)translateY(18px)}60%{opacity:1;transform:scale(1.05)translateY(-6px)}to{transform:scale(1)translateY(0)}}@keyframes floatingStars{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.auth-page{background:radial-gradient(circle at 0 0,#a855f72e,#0000 32%),linear-gradient(135deg,#f5f0ff 0%,#f7f4ff 48%,#fff 100%);justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.auth-card{background:#fff;border:1px solid #7c3aed24;border-radius:28px;width:100%;max-width:440px;padding:32px;box-shadow:0 24px 70px #4c1d9524}.auth-logo{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7);border-radius:18px;justify-content:center;align-items:center;width:58px;height:58px;margin-bottom:18px;font-size:30px;font-weight:900;display:flex;box-shadow:0 14px 30px #7c3aed47}.auth-kicker{color:#7c3aed;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:900}.auth-card h1{color:#111827;margin:0;font-size:32px;line-height:1.1}.auth-subtitle{color:#6b7280;margin:12px 0 24px;line-height:1.5}.auth-form{gap:16px;display:grid}.auth-form label{color:#374151;gap:8px;font-weight:800;display:grid}.auth-form input{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:14px;outline:none;width:100%;padding:13px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.auth-form input:focus{border-color:#8b5cf6;box-shadow:0 0 0 4px #8b5cf624}.auth-primary-button{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:16px;margin-top:4px;padding:14px 18px;font-size:15px;font-weight:900;transition:background .15s,transform .15s}.auth-primary-button:hover{background:#6d28d9;transform:translateY(-1px)}.auth-primary-button:disabled{opacity:.65;cursor:not-allowed;transform:none}.auth-switch-button{color:#7c3aed;cursor:pointer;background:0 0;border:none;width:100%;margin-top:16px;font-weight:900}.auth-switch-button:hover{color:#5b21b6}.auth-error{color:#991b1b;background:#fee2e2;border-radius:14px;padding:12px 14px;font-weight:800}.auth-message{color:#166534;background:#dcfce7;border-radius:14px;padding:12px 14px;font-weight:800}@media (width<=640px){.auth-page{padding:20px}.auth-card{border-radius:24px;padding:24px}.auth-card h1{font-size:28px}}.file-upload-box{background:#f8fafcc7;border:1px solid #94a3b852;border-radius:18px;margin-top:18px;padding:16px 18px}.file-upload-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.file-upload-title{color:#111827;margin-bottom:3px;font-size:14px;font-weight:800;display:block}.file-upload-hint{color:#6b7280;margin:0;font-size:12px}.file-upload-selected{gap:8px;margin-top:12px;display:grid}.file-upload-selected-item{color:#374151;background:#fff;border:1px solid #e2e8f0f2;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:700;display:flex}.file-upload-selected-item small{color:#6b7280;font-weight:600}.file-upload-actions{flex-wrap:wrap;gap:8px;display:flex}.file-upload-success{background:#ecfdf5;border:1px solid #22c55e47;border-radius:14px;gap:8px;margin-top:14px;padding:14px;display:grid}.file-upload-success-title{color:#15803d;font-size:13px;font-weight:800}.file-upload-success-row{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.file-upload-success-input{color:#166534;background:#fff;border:1px solid #22c55e59;border-radius:12px;width:100%;padding:10px 12px;font-size:13px;font-weight:700}.file-upload-success-name{color:#166534;font-size:12px;font-weight:700;display:block}.file-upload-error{color:#991b1b;background:#fef2f2;border:1px solid #ef444452;border-radius:14px;margin-top:12px;padding:14px 16px}.file-upload-error h3{margin:0 0 4px;font-size:14px}.file-upload-error p{margin:0;font-size:13px}.sidebar-module-row.active{border-left:4px solid #8435e5;padding-left:10px}@media (width<=900px){.course-hero{grid-template-columns:1fr}.course-stats{align-self:auto}}@media (width<=1100px){.admin-course-grid,.admin-two-columns,.admin-activity-grid{grid-template-columns:1fr}.admin-detail-hero{flex-direction:column}}.admin-course-page{flex-direction:column;gap:22px;padding:24px;display:flex}.admin-course-header{justify-content:space-between;align-items:center;gap:24px;display:flex}.admin-course-grid{grid-template-columns:360px 1fr;align-items:start;gap:22px;display:grid}.admin-course-list-panel{min-height:680px}.admin-course-list{flex-direction:column;gap:12px;display:flex}.admin-course-row{text-align:left;cursor:pointer;background:#fbf8ff;border:1px solid #eadcff;border-radius:18px;justify-content:space-between;gap:12px;width:100%;padding:16px;display:flex}.admin-course-row.selected{background:#f1e6ff;border-color:#8a35e8}.admin-course-row strong{margin-bottom:6px;display:block}.admin-course-row p{color:#6f6680;margin:0}.admin-course-row-meta{color:#6f6680;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:6px;font-size:13px;display:flex}.admin-course-detail-panel{min-height:680px}.admin-detail-hero{color:#fff;background:linear-gradient(135deg,#8a35e8,#b260ff);border-radius:24px;justify-content:space-between;gap:24px;margin-bottom:22px;padding:24px;display:flex}.admin-detail-hero .muted,.admin-detail-hero .eyebrow{color:#ffffffd1}.admin-stat-row{gap:12px;display:flex}.admin-stat-row div{text-align:center;background:#ffffff2e;border-radius:18px;min-width:100px;padding:14px}.admin-stat-row strong{font-size:26px;display:block}.admin-stat-row span{font-size:13px}.admin-two-columns{grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px;display:grid}.admin-section-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.admin-section-title h3{margin:0}.admin-section-title span{color:#6f6680;font-size:13px}.admin-table{background:#fff;border:1px solid #eadcff;border-radius:18px;overflow:hidden}.admin-table-row{border-bottom:1px solid #f0e8ff;grid-template-columns:1.5fr .8fr .8fr;align-items:center;gap:12px;padding:14px 16px;display:grid}.student-table .admin-table-row{grid-template-columns:1fr 1.3fr .8fr}.admin-table-row:last-child{border-bottom:none}.admin-table-head{color:#39245e;background:#faf7ff;font-weight:800}.admin-click-row{text-align:left;cursor:pointer;background:#fff;border-top:none;border-left:none;border-right:none;width:100%}.admin-click-row.selected{background:#f4ebff}.admin-empty-line{color:#6f6680;padding:18px}.admin-lesson-detail-panel{box-shadow:none;border:1px solid #eadcff}.admin-activity-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.admin-activity-card{background:#fbf8ff;border:1px solid #eadcff;border-radius:18px;gap:14px;padding:16px;display:flex}.admin-activity-number{color:#fff;background:#8a35e8;border-radius:50%;place-items:center;width:42px;min-width:42px;height:42px;font-weight:800;display:grid}.admin-activity-card p{color:#6f6680;margin:8px 0}.admin-activity-meta{flex-wrap:wrap;gap:8px;display:flex}.admin-activity-meta span{background:#fff;border:1px solid #eadcff;border-radius:999px;padding:6px 10px;font-size:12px}@media (width<=1100px){.admin-course-grid,.admin-two-columns,.admin-activity-grid{grid-template-columns:1fr}.admin-detail-hero{flex-direction:column}}.admin-topic-groups{flex-direction:column;gap:22px;display:flex}.admin-topic-block{background:#fff;border:1px solid #eadcff;border-radius:22px;padding:18px}.admin-topic-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.admin-topic-header h4{margin:0;font-size:20px}.admin-topic-header span{color:#6f6680;font-size:13px}.admin-activity-button{text-align:left;cursor:pointer;width:100%}.admin-activity-button.selected{background:#efe2ff;border-color:#8a35e8}.admin-activity-detail{background:#faf7ff;border:1px solid #eadcff;border-radius:22px;margin-top:22px;padding:22px}.admin-embed-preview{background:#fff;border:1px solid #eadcff;border-radius:18px;margin-top:18px;padding:18px}.admin-embed-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.admin-embed-iframe{background:#fff;border:1px solid #eadcff;border-radius:18px;width:100%;min-height:640px}.student-table .student-click-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.student-table .student-click-row:hover{background:#8b5cf614}.student-table .student-click-row:focus-visible{outline-offset:-2px;outline:2px solid #8b5cf6}
