*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #0d5c63;--primary-dark: #09474d;--primary-light: #2a8a94;--secondary: #e85d4c;--accent: #e85d4c;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--text: #1a2b2e;--text-light: #5a6b6e;--bg: #eef3f4;--bg-white: #ffffff;--border: #d5e0e2;--radius: 8px;--radius-lg: 12px;--shadow: 0 1px 3px rgba(26,43,46,.08);--shadow-md: 0 8px 24px rgba(26,43,46,.1);--font-display: "Fraunces", Georgia, serif;--font-body: "Figtree", "Segoe UI", sans-serif;--sidebar-width: 260px}body{font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,.hero-brand,.logo span{font-family:var(--font-display);letter-spacing:-.02em}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark)}img{max-width:100%}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);color:#fff;transform:translateY(-1px)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff}.btn-ghost:hover{background:#ffffff1f;color:#fff;border-color:#fff}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-lg{padding:.875rem 1.75rem;font-size:1rem}.btn-block{width:100%;justify-content:center}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-icon{background:none;border:none;cursor:pointer;padding:.375rem;border-radius:var(--radius);color:var(--text-light)}.btn-icon:hover{background:var(--bg);color:var(--primary)}.btn-icon.danger:hover{color:var(--danger)}.navbar{background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:1rem}.logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.35rem;color:var(--primary);flex-shrink:0}.logo span{font-size:1.4rem}.navbar-nav{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}.nav-links{display:flex;align-items:center;gap:1.25rem}.nav-links a{color:var(--text-light);font-weight:500;font-size:.9rem;white-space:nowrap;text-decoration:none;position:relative;padding:.25rem 0}.nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.nav-links a:hover,.nav-links a.active{color:var(--primary)}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.nav-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-left:.25rem;padding-left:1.25rem;border-left:1px solid var(--border)}.nav-auth-btn{white-space:nowrap;text-decoration:none}.nav-auth-btn.btn-primary,.nav-auth-btn.btn-primary:hover{color:#fff!important}.menu-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--text);flex-shrink:0}.hero-section{position:relative;color:#fff;min-height:min(88vh,720px);display:flex;align-items:flex-end;padding:0;overflow:hidden}.hero-media{position:absolute;top:0;right:0;bottom:0;left:0}.hero-media-fallback{background:radial-gradient(ellipse at 70% 30%,rgba(45,180,170,.35),transparent 55%),linear-gradient(135deg,#061c1f,#0d5c63 48%,#1a8a94)}.hero-photo{width:100%;height:100%;object-fit:cover;animation:heroKenburns 18s ease-out forwards}.hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,#0a282ce0,#0a282c8c 48%,#0a282c40),linear-gradient(to top,rgba(10,40,44,.75) 0%,transparent 45%)}.hero-content{position:relative;z-index:1;padding:5.5rem 1.5rem 4.5rem;max-width:1200px;margin:0 auto;width:100%}.hero-brand{font-size:clamp(2.5rem,6vw,4.25rem);font-weight:700;line-height:1.05;margin-bottom:.75rem;color:#fff}.hero-content h1{font-size:clamp(1.5rem,3.2vw,2.25rem);font-weight:500;line-height:1.25;margin-bottom:.85rem;max-width:18ch;color:#fffffff2;font-family:var(--font-body)}.hero-lead{font-size:1.125rem;opacity:.9;margin-bottom:1.75rem;max-width:36ch;font-weight:400}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.hero-actions .btn-primary{background:var(--accent)}.hero-actions .btn-primary:hover{background:#d14d3d}@keyframes heroKenburns{0%{transform:scale(1.08)}to{transform:scale(1)}}.animate-in{opacity:0;transform:translateY(22px);animation:fadeUp .75s ease forwards}.animate-in-delay-1{animation-delay:.12s}.animate-in-delay-2{animation-delay:.24s}.animate-in-delay-3{animation-delay:.36s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.impact-section{padding:2.5rem 0;background:var(--bg-white)}.impact-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.75rem 0}.impact-item{display:flex;align-items:center;gap:1rem;justify-content:center;color:var(--primary)}.impact-item strong{display:block;font-family:var(--font-display);font-size:1.75rem;color:var(--text);line-height:1.2}.impact-item span{font-size:.875rem;color:var(--text-light)}.why-section{background:var(--bg-white);overflow:hidden}.why-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}.why-visual{position:relative;min-height:360px;overflow:hidden}.why-visual-fallback{border-radius:var(--radius-lg);background:radial-gradient(circle at 30% 40%,rgba(255,255,255,.12),transparent 50%),linear-gradient(145deg,#0a282c,#0d5c63,#147a82);min-height:360px}.why-visual img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block}.why-copy h2{font-size:clamp(1.75rem,3vw,2.35rem);margin-bottom:1rem}.why-copy p{color:var(--text-light);font-size:1.0625rem;margin-bottom:1.25rem;max-width:48ch;line-height:1.7}.why-points{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.5rem}.why-points div{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:500;color:var(--text)}.why-points svg{color:var(--primary);flex-shrink:0}.topics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem 2rem}.topic-block{padding:.25rem 0}.topic-block svg{color:var(--primary);margin-bottom:.75rem}.topic-block h3{font-size:1.15rem;margin-bottom:.4rem}.topic-block p{color:var(--text-light);font-size:.95rem;max-width:36ch}.exams-section{background:linear-gradient(180deg,rgba(13,92,99,.06),transparent),var(--bg-white)}.exam-chips{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.exam-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border:1px solid var(--border);background:var(--bg-white);color:var(--primary);font-weight:600;font-size:.875rem}.exam-chip svg{flex-shrink:0}.about-story{max-width:820px}.about-story h2{font-size:clamp(1.75rem,3vw,2.25rem);margin-bottom:1rem}.about-lead{color:var(--text-light);font-size:1.0625rem;line-height:1.8}.feature-card-left{text-align:left}.feature-card-left svg{margin-bottom:.75rem}.about-cta{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}.courses-intro{max-width:720px;margin-bottom:1.75rem;color:var(--text-light);line-height:1.7}.page-hero-about{background:linear-gradient(135deg,#0a282c,#0d5c63 45%,#147a82)}.page-hero-courses{background:linear-gradient(135deg,#0a282c,#0d5c63 45%,#1a6b72)}.page-hero-contact{background:linear-gradient(135deg,#0a282c,#0d5c63,#0f4a50)}.section{padding:4rem 0}.section.bg-light{background:var(--bg)}.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.section-header.center{flex-direction:column;align-items:center;text-align:center}.section-header h2{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700}.section-header p{color:var(--text-light);margin-top:.35rem}.page-hero{position:relative;color:#fff;padding:4.5rem 0;text-align:left;overflow:hidden;background:linear-gradient(135deg,#0a282c,#0d5c63,#147a82)}.page-hero h1{font-size:clamp(2rem,4vw,2.75rem);font-weight:700}.page-hero p{opacity:.9;font-size:1.125rem;margin-top:.5rem;max-width:40ch}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.course-card{background:var(--bg-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);transition:transform .35s ease,box-shadow .35s ease}.course-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}.course-card-image{position:relative;height:200px;background:linear-gradient(135deg,#1a5c63,#2a8a94);overflow:hidden}.course-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.course-card:hover .course-card-image img{transform:scale(1.06)}.course-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:3rem;font-weight:700;color:#fff;opacity:.5}.badge{position:absolute;top:.75rem;padding:.25rem .625rem;border-radius:20px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.badge-featured{left:.75rem;background:var(--warning);color:#fff}.badge-free{right:.75rem;background:var(--success);color:#fff}.badge-paid{right:.75rem;background:var(--primary);color:#fff}.course-card-body{padding:1.25rem}.course-category{font-size:.75rem;color:var(--primary);font-weight:600;text-transform:uppercase}.course-card-body h3{font-size:1.125rem;font-weight:600;margin:.375rem 0}.course-desc{color:var(--text-light);font-size:.875rem;margin-bottom:.75rem}.course-meta{display:flex;gap:1rem;font-size:.8125rem;color:var(--text-light);margin-bottom:1rem}.course-meta span{display:flex;align-items:center;gap:.25rem}.course-card-footer{display:flex;align-items:center;justify-content:space-between}.course-card-wrapper{display:flex;flex-direction:column;gap:.5rem}.enroll-btn{align-self:stretch;justify-content:center}.enroll-btn-status{align-self:stretch;text-align:center;padding:.5rem}.status-badge{display:inline-block;padding:.25rem .625rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:capitalize;border:none;cursor:default}.status-badge.pending,.status-badge.draft{background:#fef3c7;color:#92400e}.status-badge.approved,.status-badge.published,.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.rejected{background:#fee2e2;color:#991b1b}.cta-section{position:relative;color:#fff;text-align:center;padding:5rem 0;overflow:hidden}.cta-media{position:absolute;top:0;right:0;bottom:0;left:0}.cta-media-fallback{background:linear-gradient(135deg,#061c1f,#0d5c63 55%,#147a82)}.cta-media img{width:100%;height:100%;object-fit:cover}.cta-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0a282cd1,#0d5c63e0)}.cta-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1rem}.cta-content h2{font-size:clamp(1.75rem,3vw,2.35rem)}.cta-content p{opacity:.9;max-width:480px}.cta-content .btn-primary{background:var(--accent)}.cta-content .btn-primary:hover{background:#d14d3d}.testimonials-section{background:radial-gradient(ellipse at top right,rgba(42,138,148,.12),transparent 50%),var(--bg)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.testimonial-card{background:transparent;padding:0 0 1.5rem;border:none;border-bottom:1px solid var(--border);box-shadow:none;margin:0}.testimonial-card p{font-family:var(--font-display);font-style:italic;font-size:1.125rem;color:var(--text);margin-bottom:1.25rem;line-height:1.5}.testimonial-author{display:flex;align-items:center;gap:.75rem}.testimonial-author strong{display:block;font-family:var(--font-body)}.testimonial-author span{font-size:.8125rem;color:var(--text-light)}.about-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:2rem}.about-card{background:var(--bg-white);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.about-card svg{color:var(--primary);margin-bottom:1rem}.about-card h3{font-size:1.25rem;margin-bottom:.5rem}.instructors-grid,.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.instructor-card,.feature-card{background:var(--bg-white);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow);text-align:center}.instructor-avatar{width:64px;height:64px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 1rem}.instructor-role{color:var(--primary);font-size:.875rem;font-weight:500}.feature-card svg{color:var(--primary);margin-bottom:.75rem}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem}.contact-item{display:flex;gap:1rem;margin-bottom:1.5rem}.contact-item svg{color:var(--primary);flex-shrink:0;margin-top:.25rem}.map-placeholder{background:var(--border);border-radius:var(--radius-lg);height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-light);margin-top:1rem}.form-card,.contact-form{background:var(--bg-white);padding:1.25rem;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:500;font-size:.875rem;margin-bottom:.375rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.625rem .875rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0d5c6326}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400!important}.search-bar{display:flex;align-items:center;gap:.75rem;background:var(--bg-white);padding:.5rem 1rem;border-radius:var(--radius);border:1px solid var(--border);margin-bottom:2rem}.search-bar.inline{margin-bottom:0;flex:1;max-width:400px}.search-bar input{flex:1;border:none;outline:none;font-size:.875rem;font-family:inherit;background:transparent}.search-bar svg{color:var(--text-light)}.courses-filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center}.courses-filters .search-bar{flex:1;margin-bottom:0;min-width:280px}.category-filter{padding:.625rem .875rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;font-family:inherit;background:var(--bg-white);min-width:200px}.instructor-courses{display:block;margin-top:.5rem;color:var(--primary);font-weight:500}.alert{padding:.75rem 1rem;border-radius:var(--radius);font-size:.875rem;margin-bottom:1rem}.alert-success{background:#d1fae5;color:#065f46}.alert-error{background:#fee2e2;color:#991b1b}.alert-info{background:#dbeafe;color:#1e40af}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#0a282c,#0d5c63 55%,#147a82)}.login-card{background:var(--bg-white);padding:2.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:420px}.login-header{text-align:center;margin-bottom:2rem}.login-header svg{color:var(--primary);margin-bottom:.75rem}.login-header h1{font-size:1.5rem}.login-header p{color:var(--text-light);font-size:.875rem}.login-demo{background:var(--bg);padding:1rem;border-radius:var(--radius);margin-top:1.5rem;font-size:.8125rem}.login-note{text-align:center;color:var(--text-light);font-size:.8125rem;margin-top:1rem}.login-card-wide{max-width:480px}.login-mode-toggle{text-align:center;margin-top:1rem}.link-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.875rem;text-decoration:underline}.login-success-card{max-width:440px}.request-submitted{text-align:center;margin-bottom:1.5rem}.success-badge{width:72px;height:72px;margin:0 auto 1rem;border-radius:50%;background:#d1fae5;color:#059669;display:flex;align-items:center;justify-content:center;animation:successPop .45s ease}@keyframes successPop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.request-submitted h1{font-size:1.65rem;color:var(--text);margin-bottom:.5rem}.success-lead{color:var(--text-light);font-size:.9375rem;margin-bottom:1.5rem;line-height:1.5}.request-status-box{text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.1rem;margin-bottom:1rem}.status-row{display:flex;gap:.85rem;align-items:flex-start;padding:.55rem 0}.status-row+.status-row{border-top:1px dashed var(--border)}.status-row strong{display:block;font-size:.875rem;color:var(--text)}.status-row span:last-child,.status-row div>span{display:block;font-size:.78rem;color:var(--text-light);margin-top:.15rem}.status-dot{width:14px;height:14px;border-radius:50%;margin-top:.25rem;flex-shrink:0;position:relative}.status-dot.done{background:var(--success)}.status-dot.waiting{background:var(--primary);display:flex;align-items:center;justify-content:center}.status-pulse{width:14px;height:14px;border-radius:50%;background:var(--primary);animation:pulseRing 1.6s ease-out infinite}@keyframes pulseRing{0%{transform:scale(1);opacity:.7}to{transform:scale(2.2);opacity:0}}.waiting-hint{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;color:var(--text-light);margin-bottom:.75rem}.request-id-note{font-size:.75rem;color:var(--text-light)}.waiting-approval{text-align:center;padding:1.5rem 0}.waiting-approval p{color:var(--text-light);margin-top:1rem}.waiting-note{font-size:.8125rem}.pulse-icon{color:var(--primary);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.page-subtitle{color:var(--text-light);margin-bottom:1.5rem;font-size:.9375rem}.course-detail-hero{background:linear-gradient(135deg,#0a282c,#0d5c63 55%,#0f4a50);color:#fff;padding:2.5rem 0}.back-link{display:inline-flex;align-items:center;gap:.375rem;color:#fffc;font-size:.875rem;margin-bottom:1rem}.back-link:hover{color:#fff}.course-detail-header h1{font-size:2rem;margin:.5rem 0}.course-detail-grid{display:grid;grid-template-columns:1fr 340px;gap:2rem}.detail-block{margin-bottom:2rem}.detail-block h3{font-size:1.25rem;margin-bottom:1rem}.check-list{list-style:none}.check-list li{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.check-list svg{color:var(--success);flex-shrink:0;margin-top:.25rem}.lessons-preview{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.lesson-preview-item{display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid var(--border)}.lesson-preview-item:last-child{border-bottom:none}.lesson-preview-item span{font-size:.8125rem;color:var(--text-light)}.enroll-card{background:var(--bg-white);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);position:sticky;top:80px}.enroll-card h3{margin-bottom:.5rem}.price-tag{font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:1rem}.enroll-note{font-size:.8125rem;color:var(--text-light);margin-top:1rem}.enroll-status{padding:.75rem;border-radius:var(--radius);font-size:.875rem}.enroll-status.pending{background:#fef3c7;color:#92400e}.enroll-status.rejected{background:#fee2e2;color:#991b1b}.footer{background:#0a282c;color:#fffc;padding-top:3rem}.footer .logo{color:#fff;margin-bottom:.75rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;padding-bottom:2rem}.footer h4{color:#fff;margin-bottom:.75rem}.footer a{display:block;color:#ffffffb3;margin-bottom:.375rem;font-size:.875rem}.footer a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.25rem 0;text-align:center;font-size:.8125rem}.admin-layout,.student-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:#0a282c;color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:200;transition:transform .3s}.student-sidebar{background:#0f766e}.sidebar-header{display:flex;align-items:center;gap:.5rem;padding:1.25rem;font-weight:700;font-size:1.125rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-close{display:none;margin-left:auto;background:none;border:none;color:#fff;cursor:pointer}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;color:#ffffffb3;font-size:.9rem;font-weight:500;transition:all .2s;border:none;background:none;width:100%;cursor:pointer;font-family:inherit}.sidebar-link:hover,.sidebar-link.active{background:#2a8a9447;color:#fff}.sidebar-footer{padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,.1)}.user-info{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.avatar{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.student-avatar{background:#14b8a6}.user-name{font-size:.875rem;font-weight:600}.user-role{font-size:.75rem;opacity:.7}.logout-btn{color:#fff9!important}.admin-main{flex:1;margin-left:var(--sidebar-width);background:var(--bg);min-height:100vh}.admin-topbar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:var(--bg-white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.admin-topbar h2{font-size:1rem;flex:1;font-weight:600}.topbar-actions{display:flex;align-items:center}.topbar-link{color:var(--text-light);display:flex;padding:.35rem;border-radius:var(--radius)}.topbar-link:hover{color:var(--primary);background:var(--bg)}.student-topbar{background:#f0fdfa}.admin-content{padding:1.25rem 1.5rem 2rem}.sidebar-overlay{display:none}.dash-welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.dash-eyebrow{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);margin-bottom:.25rem}.dash-alert-banner{display:inline-flex;align-items:center;gap:.65rem;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;padding:.7rem 1rem;border-radius:var(--radius-lg);font-size:.875rem;text-decoration:none;transition:background .2s}.dash-alert-banner:hover{background:#d1fae5;color:#065f46}.stat-box-link{text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}.stat-box-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);color:inherit}.stat-icon.teal{background:#ccfbf1;color:#0f766e}.action-card small{font-size:.75rem;color:var(--text-light);text-align:center;font-weight:400}.dashboard-card table .empty{display:flex;align-items:center;justify-content:center;gap:.4rem;color:var(--text-light);padding:1.75rem}.page-title{font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.page-subtitle{color:var(--text-light);margin-bottom:.75rem;font-size:.875rem}.page-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;flex-wrap:wrap;gap:.75rem}.page-header-row.compact{margin-bottom:.75rem}.page-header-row.compact .page-title{margin-bottom:0}.page-header-row.compact .admin-back-link{margin-right:.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-bottom:1rem}.stat-box{background:var(--bg-white);padding:1rem;border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;align-items:center;gap:.75rem}.stat-icon{width:40px;height:40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center}.stat-icon.blue{background:#dbeafe;color:#2563eb}.stat-icon.green{background:#d1fae5;color:#059669}.stat-icon.orange{background:#fef3c7;color:#d97706}.stat-icon.purple{background:#e6f4f5;color:#0d5c63}.stat-box h3{font-size:1.25rem;font-weight:700}.stat-box p{font-size:.8125rem;color:var(--text-light)}.stat-sub{font-size:.75rem;color:var(--text-light)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.dashboard-card{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.card-header h3{font-size:1rem;display:flex;align-items:center;gap:.5rem}.quick-actions h3{margin-bottom:1rem}.actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.action-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.35rem 1rem;background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow);color:var(--text);transition:all .2s;border:1px solid transparent}.action-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--primary);border-color:var(--border)}.action-card svg{color:var(--primary)}.action-card span{font-weight:600;font-size:.9rem}.table-responsive{overflow-x:auto}table{width:100%;border-collapse:collapse}.data-table{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.data-table th,.data-table td{padding:.625rem .875rem;text-align:left;font-size:.8125rem}.data-table th{background:var(--bg);font-weight:600;color:var(--text-light);font-size:.8125rem;text-transform:uppercase;letter-spacing:.025em}.data-table tr{border-bottom:1px solid var(--border)}.data-table tr:last-child{border-bottom:none}.data-table tr:hover{background:#fafbfc}.data-table .empty{text-align:center;color:var(--text-light);padding:2rem}.actions-cell{display:flex;gap:.25rem;align-items:center}.manage-btn{white-space:nowrap}.course-manager{max-width:1100px}.admin-back-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--text-light);font-size:.8125rem;white-space:nowrap}.admin-back-link:hover{color:var(--primary)}.manager-section{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.manager-section-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);gap:.75rem;flex-wrap:wrap}.manager-section-header.compact{padding:.625rem 1rem}.manager-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;min-width:0}.manager-toolbar h2{font-size:1rem;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}.manager-toolbar-meta{font-size:.75rem;color:var(--text-light);white-space:nowrap}.manager-toolbar-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.manager-form-card{background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin:.75rem 1rem}.manager-form-card h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;margin-bottom:1rem;color:var(--primary)}.lesson-form-card{border-color:#c7d2fe;background:#eef2ff}.unit-form-card{border-color:#a7f3d0;background:#ecfdf5}.field-hint{display:block;font-size:.75rem;color:var(--text-light);margin-top:.25rem}.thumbnail-preview{margin:.75rem 0;display:flex;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.thumbnail-preview img{max-width:160px;max-height:100px;border-radius:var(--radius);border:1px solid var(--border);object-fit:cover}.banner-preview-img{max-width:240px;max-height:100px}.file-upload-area{margin-top:.25rem}.file-input-hidden{display:none}.file-upload-label{display:inline-flex;align-items:center;padding:.625rem 1rem;border:2px dashed var(--border);border-radius:var(--radius);font-size:.8125rem;color:var(--text-light);cursor:pointer;transition:border-color .2s,color .2s}.file-upload-label:hover{border-color:var(--primary);color:var(--primary)}.manager-empty{text-align:center;padding:2rem 1rem;color:var(--text-light)}.manager-empty svg{color:var(--border);margin-bottom:.75rem}.manager-empty h3{color:var(--text);margin-bottom:.25rem}.manager-empty p{margin-bottom:1rem}.lessons-manager-list{padding:.5rem 0}.lesson-manager-card{border-bottom:1px solid var(--border)}.lesson-manager-card:last-child{border-bottom:none}.lesson-manager-header{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1rem;cursor:pointer;transition:background .15s;gap:.75rem}.lesson-manager-header:hover{background:#fafbfc}.lesson-manager-title{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.lesson-number{width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;flex-shrink:0}.lesson-desc-preview{display:block;font-size:.8125rem;color:var(--text-light);font-weight:400;margin-top:.125rem}.lesson-manager-meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.unit-count-badge{font-size:.75rem;font-weight:600;padding:.25rem .625rem;background:var(--bg);border-radius:20px;color:var(--text-light)}.lesson-manager-body{padding:0 1rem .75rem;background:#fafbfc}.units-manager-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:.5rem}.unit-manager-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s}.unit-manager-card:hover{box-shadow:var(--shadow-md)}.unit-card-thumb{position:relative;height:90px;background:linear-gradient(135deg,#e0e7ff,#dbeafe)}.unit-card-thumb img{width:100%;height:100%;object-fit:cover}.unit-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--primary-light)}.unit-thumb-placeholder.video{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#ef4444}.unit-order{position:absolute;top:.5rem;left:.5rem;background:#0009;color:#fff;font-size:.6875rem;font-weight:600;padding:.125rem .5rem;border-radius:4px}.unit-card-body{padding:.875rem;flex:1}.unit-card-body h4{font-size:.9375rem;margin-bottom:.25rem}.unit-desc{font-size:.8125rem;color:var(--text-light);margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.unit-card-tags{display:flex;gap:.375rem;flex-wrap:wrap}.unit-card-actions{display:flex;justify-content:flex-end;gap:.25rem;padding:.5rem .875rem;border-top:1px solid var(--border)}.units-empty{text-align:center;padding:2rem;color:var(--text-light);border:2px dashed var(--border);border-radius:var(--radius-lg);margin-top:.5rem}.units-empty svg{margin-bottom:.5rem;opacity:.5}.units-empty p{margin-bottom:.75rem;font-size:.875rem}.notes-manager-block{border-bottom:1px solid var(--border)}.notes-section-card{border-bottom:none}.notes-number{background:#0f766e!important}.notes-manager-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.note-manager-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem}.note-manager-info{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.note-file-icon{color:#0f766e;flex-shrink:0}.note-manager-info strong{display:block;font-size:.875rem}.note-file-meta{display:block;font-size:.75rem;color:var(--text-light);margin-top:.125rem}.note-manager-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-dialog{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0003;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modalIn .2s ease}.modal-md{max-width:480px}.modal-lg{max-width:900px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.modal-header h3{font-size:1.0625rem;font-weight:600;margin:0}.modal-close{background:none;border:none;cursor:pointer;color:var(--text-light);padding:.25rem;border-radius:var(--radius);display:flex}.modal-close:hover{background:var(--bg);color:var(--text)}.modal-body{padding:1.25rem;overflow-y:auto}@keyframes modalIn{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.filter-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.filter-tab{padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);cursor:pointer;font-size:.875rem;font-weight:500;text-transform:capitalize;font-family:inherit}.filter-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.filter-bar{margin-bottom:.75rem}.course-structure{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.5rem}.structure-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.lesson-block{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;overflow:hidden}.lesson-header{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;cursor:pointer;background:var(--bg)}.lesson-header:hover{background:#f1f5f9}.unit-count{font-size:.8125rem;color:var(--text-light);margin-left:auto;margin-right:.5rem}.lesson-actions{display:flex;gap:.25rem}.units-list{padding:.5rem 1rem .5rem 2.5rem}.unit-item{display:flex;align-items:center;justify-content:space-between;padding:.625rem 0;border-bottom:1px solid var(--border);font-size:.875rem}.unit-item:last-child{border-bottom:none}.youtube-tag,.duration-tag{font-size:.75rem;padding:.125rem .5rem;border-radius:4px;margin-left:.5rem}.youtube-tag{background:#fee2e2;color:#991b1b}.duration-tag{background:var(--bg);color:var(--text-light)}.inline-form{display:flex;gap:.5rem;padding:.75rem;background:var(--bg);border-radius:var(--radius);margin-bottom:.75rem;flex-wrap:wrap}.inline-form input{flex:1;min-width:150px;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem}.unit-form{flex-direction:column}.empty-units{font-size:.8125rem;color:var(--text-light);padding:.5rem 0}.inquiries-list{display:flex;flex-direction:column;gap:1rem}.inquiry-card{background:var(--bg-white);padding:1.25rem;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.inquiry-card.unread{border-left:3px solid var(--primary)}.inquiry-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.inquiry-header span{font-size:.8125rem;color:var(--text-light);margin-left:.75rem}.inquiry-actions{display:flex;gap:.5rem;align-items:center}.enrolled-list{padding:0 1.25rem 1rem}.enrolled-item{display:flex;align-items:center;justify-content:space-between;padding:.875rem 0;border-bottom:1px solid var(--border);color:var(--text)}.enrolled-item:last-child{border-bottom:none}.enrolled-info span{font-size:.8125rem;color:var(--text-light)}.notifications-list{padding:0 1.25rem 1rem}.notification-item{padding:.75rem 0;border-bottom:1px solid var(--border)}.notification-item p{font-size:.8125rem;color:var(--text-light)}.my-courses-list{display:flex;flex-direction:column;gap:1rem}.my-course-card{background:var(--bg-white);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.progress-bar-container{height:6px;background:var(--border);border-radius:3px;margin:.5rem 0;max-width:300px}.progress-bar{height:100%;background:var(--success);border-radius:3px;transition:width .3s}.progress-text{font-size:.8125rem;color:var(--text-light)}.my-course-meta{display:flex;align-items:center;gap:1rem}.empty-state-card{background:var(--bg-white);padding:3rem;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow)}.empty-state{color:var(--text-light);text-align:center;padding:2rem}.learning-layout{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start}.learning-scroll-panel{display:contents}.learning-video-panel,.learning-notes-panel{grid-column:1}.learning-content{background:var(--bg-white);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.video-container{position:relative;padding-bottom:56.25%;height:0;margin:1rem 0;border-radius:var(--radius);overflow:hidden;background:#0a282c}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.youtube-external-player{margin:1rem 0;width:100%}.youtube-external-thumb{position:relative;display:block;width:100%;aspect-ratio:16 / 9;border:none;padding:0;cursor:pointer;margin:0;border-radius:var(--radius);overflow:hidden;background:#0a282c}.youtube-external-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.youtube-external-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000040;transition:background .2s ease}.youtube-external-thumb:hover .youtube-external-overlay{background:#0006}.youtube-external-play{background:transparent;z-index:2}.youtube-external-play .yt-play-btn{width:80px;height:80px}.youtube-external-label{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1rem;font-size:.8125rem;font-weight:600;color:#fff;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);pointer-events:none}.locked-player{margin:1rem 0}.locked-player .video-container{margin:0}.yt-host-wrap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.yt-host-wrap>div{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.video-container--locked .yt-host-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;transform:none;pointer-events:none;border:none}.video-container--locked:after{content:"";position:absolute;bottom:0;left:0;right:0;height:52px;background:linear-gradient(to top,rgba(10,40,44,.92),transparent);pointer-events:none;z-index:2}.yt-click-shield{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:transparent}.yt-play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;align-items:center;justify-content:center;border:none;padding:0;cursor:pointer;background:#00000059}.yt-play-btn{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:var(--primary, #0d7377);color:#fff;box-shadow:0 8px 24px #00000059}.yt-play-overlay:hover .yt-play-btn{transform:scale(1.06)}.locked-player-bar{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}.locked-player-toggle{display:inline-flex;align-items:center;gap:.375rem;flex-shrink:0}.locked-progress{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.locked-time{font-size:.8125rem;color:var(--text-light, #64748b);font-variant-numeric:tabular-nums;min-width:2.5rem}.locked-seek{flex:1;min-width:0;height:6px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer}.locked-seek:disabled{cursor:not-allowed;opacity:.5}.locked-seek::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:#d1d5db}.locked-seek::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;margin-top:-4px;border-radius:50%;background:var(--primary, #0d7377);border:none;box-shadow:0 1px 4px #00000040}.locked-seek::-moz-range-track{height:6px;border-radius:999px;background:#d1d5db}.locked-seek::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--primary, #0d7377);border:none}.locked-player-fs{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border-radius:var(--radius);flex-shrink:0;color:var(--text-light, #5a6b6e);transition:all .2s ease}.locked-player-fs:hover{background:var(--bg);color:var(--primary)}.locked-player.is-fullscreen,.locked-player:fullscreen,.locked-player:-webkit-full-screen,.locked-player:-moz-full-screen{width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;background:#000!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;overflow:hidden!important;position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:99999!important;border-radius:0!important;margin:0!important;padding:0!important}.locked-player.is-fullscreen .video-container--locked,.locked-player:fullscreen .video-container--locked,.locked-player:-webkit-full-screen .video-container--locked,.locked-player:-moz-full-screen .video-container--locked{flex:1!important;width:100%!important;height:calc(100vh - 60px)!important;padding-bottom:0!important;position:relative!important;background:#000!important;display:flex!important;align-items:center!important;justify-content:center!important}.locked-player.is-fullscreen .video-container--locked .yt-host-wrap iframe,.locked-player:fullscreen .video-container--locked .yt-host-wrap iframe,.locked-player:-webkit-full-screen .video-container--locked .yt-host-wrap iframe,.locked-player:-moz-full-screen .video-container--locked .yt-host-wrap iframe{width:100%!important;height:100%!important;top:0!important;left:0!important;transform:none!important}.locked-player.is-fullscreen .locked-player-bar,.locked-player:fullscreen .locked-player-bar,.locked-player:-webkit-full-screen .locked-player-bar,.locked-player:-moz-full-screen .locked-player-bar{background:#0d1b1ef2!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;padding:.75rem 1.5rem!important;margin-top:0!important;border-top:1px solid rgba(255,255,255,.12)!important;color:#fff!important;z-index:10!important}.locked-player.is-fullscreen .locked-time,.locked-player:fullscreen .locked-time,.locked-player:-webkit-full-screen .locked-time,.locked-player:-moz-full-screen .locked-time{color:#ffffffd9!important;font-weight:500}.locked-player.is-fullscreen .locked-player-toggle,.locked-player:fullscreen .locked-player-toggle,.locked-player:-webkit-full-screen .locked-player-toggle,.locked-player:-moz-full-screen .locked-player-toggle,.locked-player.is-fullscreen .locked-player-fs,.locked-player:fullscreen .locked-player-fs,.locked-player:-webkit-full-screen .locked-player-fs,.locked-player:-moz-full-screen .locked-player-fs{background:#ffffff26!important;border-color:#ffffff40!important;color:#fff!important}.locked-player.is-fullscreen .locked-player-toggle:hover,.locked-player:fullscreen .locked-player-toggle:hover,.locked-player:-webkit-full-screen .locked-player-toggle:hover,.locked-player:-moz-full-screen .locked-player-toggle:hover,.locked-player.is-fullscreen .locked-player-fs:hover,.locked-player:fullscreen .locked-player-fs:hover,.locked-player:-webkit-full-screen .locked-player-fs:hover,.locked-player:-moz-full-screen .locked-player-fs:hover{background:#ffffff4d!important;color:#fff!important}.locked-player.is-fullscreen .locked-seek::-webkit-slider-runnable-track,.locked-player:fullscreen .locked-seek::-webkit-slider-runnable-track,.locked-player:-webkit-full-screen .locked-seek::-webkit-slider-runnable-track{background:#ffffff4d!important}.locked-player.is-fullscreen .locked-seek::-moz-range-track,.locked-player:fullscreen .locked-seek::-moz-range-track,.locked-player:-moz-full-screen .locked-seek::-moz-range-track{background:#ffffff4d!important}.locked-player.is-fullscreen .locked-seek::-webkit-slider-thumb,.locked-player:fullscreen .locked-seek::-webkit-slider-thumb,.locked-player:-webkit-full-screen .locked-seek::-webkit-slider-thumb{background:#2a8a94!important}@media (max-width: 768px){.locked-player.is-fullscreen .locked-player-bar,.locked-player:fullscreen .locked-player-bar,.locked-player:-webkit-full-screen .locked-player-bar{padding:.5rem 1rem!important;gap:.5rem!important}}.unit-card-thumb{position:relative}.unit-card-thumb.is-playable{cursor:pointer}.unit-play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a282c59;color:#fff;opacity:0;transition:opacity .2s ease}.unit-card-thumb.is-playable:hover .unit-play-overlay{opacity:1}.btn-icon.play{color:var(--primary)}.admin-unit-preview{margin-top:.75rem}.admin-play-desc{color:var(--text-light);margin-bottom:.75rem}.learning-note-item{display:flex;align-items:center;gap:.5rem;width:100%;background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;cursor:pointer;text-align:left;font:inherit;color:inherit}.learning-note-item:hover{border-color:var(--primary)}.learning-note-item:disabled{opacity:.6;cursor:wait}.sidebar-note-link{width:100%}.no-video{background:var(--bg);padding:3rem;text-align:center;border-radius:var(--radius);color:var(--text-light);margin:1rem 0}.unit-actions{display:flex;gap:.75rem;margin-top:1rem;align-items:center}.completed-badge{display:flex;align-items:center;gap:.375rem;color:var(--success);font-weight:600;font-size:.875rem}.learning-sidebar{grid-column:2;grid-row:1 / -1;background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1rem;max-height:calc(100vh - 120px);overflow-y:auto;position:sticky;top:80px}.learning-sidebar h3{font-size:.9375rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.sidebar-lesson{margin-bottom:.25rem}.sidebar-lesson-header{display:flex;align-items:center;gap:.375rem;padding:.5rem;cursor:pointer;font-size:.8125rem;font-weight:600;border-radius:var(--radius)}.sidebar-lesson-header:hover{background:var(--bg)}.sidebar-units{padding-left:1.25rem}.sidebar-unit{display:flex;align-items:center;gap:.375rem;width:100%;padding:.5rem;border:none;background:none;cursor:pointer;font-size:.8125rem;text-align:left;border-radius:var(--radius);font-family:inherit;color:var(--text)}.sidebar-unit:hover{background:var(--bg)}.sidebar-unit.active{background:#e6f4f5;color:var(--primary)}.sidebar-unit.completed svg{color:var(--success)}.sidebar-unit small{margin-left:auto;color:var(--text-light)}.sidebar-notes{margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border)}.sidebar-note-link{text-decoration:none;color:inherit}.sidebar-note-link svg:last-child{margin-left:auto;color:var(--text-light);flex-shrink:0}.sidebar-notes-empty{font-size:.75rem;color:var(--text-light);padding:.5rem;margin:0}.learning-notes-panel{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.learning-notes-panel h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;margin:0 0 .25rem}.learning-notes-intro{font-size:.8125rem;color:var(--text-light);margin:0 0 .75rem}.learning-notes-list{display:flex;flex-direction:column;gap:.5rem}.learning-note-item{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text);background:var(--bg);transition:border-color .15s,background .15s}.learning-note-item:hover{border-color:var(--primary);background:#e6f4f5}.learning-note-name{flex:1;font-size:.875rem;font-weight:500;min-width:0}.learning-note-size{font-size:.75rem;color:var(--text-light);flex-shrink:0}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.detail-list{display:grid;gap:.75rem;margin:0}.detail-list>div{display:grid;grid-template-columns:120px 1fr;gap:.5rem;align-items:center}.detail-list dt{font-weight:600;color:var(--text-muted);font-size:.875rem}.detail-list dd{margin:0}.stat-mini{text-align:center;min-width:72px}.stat-mini strong{display:block;font-size:1.25rem;color:var(--primary)}.stat-mini span{font-size:.75rem;color:var(--text-muted)}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--bg-light)}.table-link{color:var(--primary);font-weight:600;text-decoration:none}.table-link:hover{text-decoration:underline}.btn-warning{background:#f59e0b;color:#fff;border:none}.btn-warning:hover{background:#d97706}@media (max-width: 1024px){.why-grid{grid-template-columns:1fr;gap:2rem}.why-visual,.why-visual img{min-height:280px}.course-detail-grid,.contact-grid,.dashboard-grid,.profile-grid,.about-grid{grid-template-columns:1fr}}@media (max-width: 768px){html.student-learning-active,html.student-learning-active body{height:100%;width:100%;max-width:100%;overflow:hidden;overflow-x:hidden}#root{width:100%;max-width:100%;overflow-x:hidden}.student-layout.student-learning-route{width:100%;max-width:100%;height:100dvh;max-height:100dvh;min-height:0;overflow:hidden}.student-layout.student-learning-route .admin-main{display:flex;flex-direction:column;flex:1;width:100%;max-width:100%;min-width:0;min-height:0;height:100%;max-height:100dvh;margin-left:0;overflow:hidden}.student-layout.student-learning-route .admin-topbar{flex-shrink:0;position:relative;top:auto;width:100%}.student-layout.student-learning-route .admin-content{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;width:100%;max-width:100%;overflow:hidden;padding:.75rem;box-sizing:border-box}.learning-page{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;width:100%;max-width:100%;overflow:hidden}.learning-page .back-link{flex-shrink:0;font-size:.8125rem;margin-bottom:.35rem}.learning-page .page-title{flex-shrink:0;font-size:1.0625rem;margin-bottom:.65rem;line-height:1.35}.learning-layout{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;width:100%;max-width:100%;gap:0;overflow:hidden}.learning-video-panel{flex-shrink:0;width:100%;max-width:100%;min-width:0;padding:1rem;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);z-index:2;box-sizing:border-box}.learning-video-panel h2{font-size:1rem;margin-bottom:.35rem}.learning-video-panel p{font-size:.8125rem;margin-bottom:.65rem}.learning-video-panel .locked-player,.learning-video-panel .youtube-external-player{margin:.35rem 0 .5rem;width:100%;max-width:100%;min-width:0}.learning-video-panel .video-container,.learning-video-panel .video-container--locked,.learning-video-panel .youtube-external-thumb{width:100%;max-width:100%}.learning-video-panel .locked-player-bar{flex-wrap:wrap;gap:.5rem;width:100%;max-width:100%;min-width:0}.learning-video-panel .locked-player-toggle{flex-shrink:0;padding:.5rem .75rem;font-size:.8125rem}.learning-video-panel .locked-progress{flex:1 1 100%;min-width:0;width:100%;order:3}.learning-video-panel .locked-player-fs{flex-shrink:0;margin-left:auto}.learning-video-panel .no-video{margin:.5rem 0;padding:2rem 1rem}.learning-scroll-panel{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;width:100%;max-width:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;gap:.75rem;padding-top:.75rem;padding-bottom:1rem}.learning-sidebar,.learning-notes-panel{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.learning-sidebar{position:static;grid-column:unset;grid-row:unset;max-height:none;overflow:visible;flex-shrink:0}.learning-notes-panel{flex-shrink:0;padding:1rem}.menu-toggle{display:block}.navbar-nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--bg-white);flex-direction:column;align-items:stretch;padding:1rem;border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);gap:.75rem}.navbar-nav.open{display:flex}.nav-links{flex-direction:column;align-items:stretch;gap:.25rem}.nav-links a{padding:.625rem .5rem}.nav-links a:after{display:none}.nav-actions{margin-left:0;padding-left:0;border-left:none;padding-top:.5rem;border-top:1px solid var(--border)}.topics-grid,.why-grid{grid-template-columns:1fr}.hero-content h1{max-width:none}.nav-actions{margin-left:0;padding-left:0;border-left:none;width:100%}.nav-auth-btn{width:100%;justify-content:center}.hero-section{min-height:min(78vh,620px)}.hero-content{padding:4rem 1.5rem 3rem}.impact-strip{grid-template-columns:1fr;gap:1.25rem;text-align:left}.impact-item{justify-content:flex-start}.footer-grid,.form-row{grid-template-columns:1fr}.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-close{display:block}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:150}.student-layout .admin-main{margin-left:0;width:100%;max-width:100%;min-width:0}.course-grid,.dashboard-grid,.contact-grid,.about-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.hero-photo,.animate-in,.reveal,.course-card,.course-card-image img{animation:none!important;transition:none!important}.animate-in,.reveal{opacity:1;transform:none}}
