*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: rgb(18, 18, 18);--bg-secondary: rgb(30, 30, 30);--bg-tertiary: rgb(45, 45, 45);--bg-card: rgba(255, 255, 255, .05);--accent-primary: rgb(77, 155, 164);--accent-hover: rgb(97, 175, 184);--accent-light: rgba(77, 155, 164, .2);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .5);--gradient-hero: linear-gradient(135deg, #0E2F47 0%, #4D9BA4 50%, #1a4a6e 100%);--gradient-hero-overlay: linear-gradient(to top, rgba(18, 18, 18, .95) 0%, rgba(18, 18, 18, .3) 50%, transparent 100%);--gradient-card-overlay: linear-gradient(to top, rgba(0, 0, 0, .8) 0%, transparent 60%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-dark-lg: 0 10px 40px rgba(0, 0, 0, .6);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .35s ease;--font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3rem;--navbar-height: 64px;--container-max: 1400px;--container-padding: 2rem}html{scroll-behavior:smooth;background-color:#0e2f47;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin-bottom:var(--space-md)}h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}p{color:var(--text-secondary);margin-bottom:var(--space-md)}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-primary)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.section{padding:var(--space-3xl) 0}.section-title{font-size:var(--font-size-2xl);font-weight:600;margin-bottom:var(--space-lg);color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-decoration:none}.btn-primary{background:var(--accent-primary);color:var(--text-primary)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background:#ffffff1a;color:var(--text-primary);border:1px solid rgba(255,255,255,.2)}.btn-secondary:hover{background:#ffffff26;border-color:#ffffff4d}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-base)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}@media(max-width:1200px){:root{--container-padding: 1.5rem}}@media(max-width:768px){:root{--container-padding: 1rem;--font-size-5xl: 2.5rem;--font-size-4xl: 2rem;--font-size-3xl: 1.75rem}}@media(max-width:480px){:root{--font-size-5xl: 2rem;--font-size-4xl: 1.75rem;--font-size-3xl: 1.5rem}}body{transition:transform .18s cubic-bezier(.4,0,.2,1),opacity .18s cubic-bezier(.4,0,.2,1)}body.page-exit{transform:translate(-4%);opacity:0}body.page-enter{transform:translate(4%);opacity:0;transition:none}body.page-enter-active{transform:translate(0);opacity:1}body.page-exit-right{transform:translate(4%);opacity:0}body.page-enter-left{transform:translate(-4%);opacity:0;transition:none}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#1e1e1ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0006;color:#fff;font-size:.9rem;min-width:280px;max-width:400px;pointer-events:all;cursor:pointer;animation:slideIn .3s ease-out;transition:transform .2s,opacity .2s}.toast:hover{transform:translate(-4px)}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;flex-shrink:0}.toast-success .toast-icon{background:#22c55e33;color:#22c55e}.toast-error .toast-icon{background:#ef444433;color:#ef4444}.toast-warning .toast-icon{background:#f59e0b33;color:#f59e0b}.toast-info .toast-icon{background:#3b82f633;color:#3b82f6}.toast-success{border-left:3px solid #22c55e}.toast-error{border-left:3px solid #ef4444}.toast-warning{border-left:3px solid #f59e0b}.toast-info{border-left:3px solid #3b82f6}.toast-message{flex:1;line-height:1.4}.toast-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;color:#ffffff80;font-size:1.25rem;cursor:pointer;border-radius:4px;transition:all .2s;flex-shrink:0}.toast-close:hover{background:#ffffff1a;color:#fff}@media(max-width:480px){.toast-container{left:16px;right:16px;bottom:16px}.toast{min-width:unset;max-width:unset}}.navbar{position:fixed;top:0;left:0;right:0;height:var(--navbar-height);background:#0e2f47;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:1000;border-bottom:1px solid rgba(255,255,255,.1)}.navbar-container{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.navbar-logo{display:flex;align-items:center;text-decoration:none}.navbar-logo-image{height:clamp(43px,5.4vw,72px);width:auto;object-fit:contain;margin-top:1px}.navbar-links{display:flex;align-items:center;gap:var(--space-xl)}.nav-link{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast);position:relative}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.nav-link.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--accent-primary);border-radius:var(--radius-full)}.navbar-actions{display:flex;align-items:center;gap:var(--space-md)}.search-wrapper{display:flex;align-items:center;position:relative}.search-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.search-btn:hover{color:var(--text-primary);background:#ffffff1a}.search-input{position:absolute;right:45px;width:0;padding:0;border:none;background:var(--bg-secondary);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);opacity:0;transition:all var(--transition-base)}.search-wrapper.open .search-input{width:200px;padding:var(--space-sm) var(--space-md);opacity:1}.search-input:focus{outline:none;box-shadow:0 0 0 2px var(--accent-primary)}.search-input::placeholder{color:var(--text-muted)}.btn-login{padding:var(--space-sm) var(--space-lg);background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-full);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;text-decoration:none;transition:all var(--transition-fast);cursor:pointer}.btn-login:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px)}.btn-role{padding:var(--space-xs) var(--space-md);background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-full);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:500;text-decoration:none;transition:all var(--transition-fast)}.btn-role:hover{color:var(--text-primary);border-color:#ffffff4d;background:#ffffff0d}.btn-aluno:hover{border-color:#4caf50;color:#4caf50}.btn-coordenador:hover{border-color:#ff9800;color:#ff9800}.login-wrapper{position:relative}.login-popup{position:absolute;top:calc(100% + 12px);right:0;background:linear-gradient(180deg,#0e2f47,#1a3a4f 70%,#2d4a5e);border:none;border-radius:var(--radius-lg);padding:var(--space-md);min-width:200px;box-shadow:0 8px 32px #00000080;z-index:1001;animation:popupFadeIn .2s ease-out}@keyframes popupFadeIn{0%{opacity:0}to{opacity:1}}.login-popup-arrow{position:absolute;top:-6px;right:20px;width:12px;height:12px;background:#0e2f47;border-left:1px solid rgba(255,255,255,.15);border-top:1px solid rgba(255,255,255,.15);transform:rotate(45deg)}.login-popup-item{display:block;width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;text-decoration:none;cursor:pointer;transition:all var(--transition-fast);text-align:left}.login-popup-item:hover{background:#ffffff1a}.login-popup-item.accent-green{color:#4caf50}.login-popup-item.accent-green:hover{background:#4caf5026}.login-popup-item.accent-orange{color:#ff9800}.login-popup-item.accent-orange:hover{background:#ff980026}.login-popup-divider{height:1px;background:#ffffff1a;margin:var(--space-xs) 0}.btn-google{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:#fff;border:none;border-radius:var(--radius-md);color:#333;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-google:hover{background:#f5f5f5;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.user-logged-wrapper{display:flex;align-items:center;gap:10px}.user-avatar-circle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#ffffff1f;border:1.5px solid rgba(255,255,255,.25);color:var(--text-primary);flex-shrink:0}.user-display-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);white-space:nowrap}.user-logged-wrapper{position:relative}.user-popup{position:absolute;top:calc(100% + 12px);right:0;background:linear-gradient(180deg,#0e2f47,#1a3a4f 70%,#2d4a5e);border:none;border-radius:var(--radius-lg);padding:var(--space-sm);min-width:180px;box-shadow:0 8px 32px #0006;z-index:1001;animation:popupFadeIn .2s ease-out}.user-popup-arrow{position:absolute;top:-6px;right:20px;width:12px;height:12px;background:#0e2f47;border-left:1px solid rgba(255,255,255,.15);border-top:1px solid rgba(255,255,255,.15);transform:rotate(45deg)}.user-popup-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:left;text-decoration:none}.user-popup-item:hover{background:#ffffff1a}.user-popup-item.logout{color:#ef4444}.user-popup-item.logout:hover{background:#ef44441a}.google-icon{flex-shrink:0}.logo-wrapper{position:relative}.mobile-menu-popup{display:none}@media(max-width:768px){.logo-wrapper{order:-1}.mobile-menu-popup{display:block;position:absolute;top:calc(100% + 12px);left:0;background:linear-gradient(180deg,#0e2f47,#1a3a4f 70%,#2d4a5e);border:none;border-radius:var(--radius-lg);padding:var(--space-sm);min-width:220px;box-shadow:0 8px 32px #00000080;z-index:1001;animation:popupFadeIn .2s ease-out}.mobile-menu-arrow{position:absolute;top:-6px;left:30px;transform:rotate(45deg);width:12px;height:12px;background:#0e2f47;border-left:1px solid rgba(255,255,255,.15);border-top:1px solid rgba(255,255,255,.15)}}@keyframes mobileMenuSlideDown{0%{opacity:0}to{opacity:1}}.mobile-menu-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;text-decoration:none;cursor:pointer;transition:all var(--transition-fast);text-align:left}.mobile-menu-item:hover{background:#ffffff1a}.mobile-menu-item.accent-green{color:#4caf50}.mobile-menu-item.accent-green:hover{background:#4caf5026}.mobile-menu-item.accent-orange{color:#ff9800}.mobile-menu-item.accent-orange:hover{background:#ff980026}.mobile-menu-divider{height:1px;background:#ffffff1a;margin:var(--space-xs) 0}.btn-google-mobile{background:#fff;color:#333;justify-content:center}.btn-google-mobile:hover{background:#f5f5f5}@media(max-width:768px){.navbar-links,.search-wrapper,.btn-role{display:none}}.hero-carousel{--hero-title-desktop: calc(var(--font-size-xl) * 1.6);--hero-title-mobile: calc(var(--font-size-xl) * 1);position:relative;width:100%;height:60vh;min-height:450px;max-height:650px;margin-top:var(--navbar-height);overflow:hidden}.carousel-track{position:relative;width:100%;height:100%}.carousel-slide{position:absolute;top:0;left:0;width:100%;height:100%;background-size:100% auto;background-position:center center;background-blend-mode:overlay;transition:transform .6s cubic-bezier(.4,0,.2,1);display:flex;align-items:flex-end;cursor:pointer}.slide-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient-hero-overlay)}.slide-content{position:relative;z-index:10;max-width:var(--container-max);width:100%;margin:0 auto;padding:var(--space-3xl) var(--container-padding);padding-bottom:80px}.slide-subtitle{display:inline-block;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-primary);margin-bottom:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:#4d9ba433;border-radius:var(--radius-sm)}.slide-title{font-size:var(--hero-title-desktop);font-weight:700;line-height:1.2;margin-bottom:var(--space-md);max-width:600px;text-shadow:0 2px 20px rgba(0,0,0,.3)}.slide-description{font-size:var(--font-size-lg);color:var(--text-secondary);max-width:500px;margin-bottom:var(--space-md);text-shadow:0 1px 10px rgba(0,0,0,.3)}.slide-cta{box-shadow:var(--shadow-lg)}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-full);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);z-index:20;opacity:.7}.carousel-arrow:hover{opacity:1;background:#0009;transform:translateY(-50%) scale(1.1)}.carousel-arrow.prev{left:var(--space-xl)}.carousel-arrow.next{right:var(--space-xl)}.carousel-dots{position:absolute;bottom:var(--space-xl);left:50%;transform:translate(-50%);display:flex;gap:var(--space-sm);z-index:20}.carousel-dot{width:10px;height:10px;border-radius:var(--radius-full);background:#ffffff4d;border:none;cursor:pointer;transition:all var(--transition-base)}.carousel-dot:hover{background:#ffffff80}.carousel-dot.active{width:30px;background:var(--accent-primary)}@media(max-width:768px){.hero-carousel{height:49vh;min-height:328px;max-height:450px}.slide-title{font-size:var(--hero-title-mobile)}.slide-description{display:none}.slide-cta{transform:scale(.82);transform-origin:left center;transition:none}.carousel-arrow{width:40px;height:40px}.carousel-arrow.prev{left:var(--space-md)}.carousel-arrow.next{right:var(--space-md)}}@media(max-width:480px){.slide-content{padding-bottom:60px}.carousel-arrow{display:none}}.category-row{padding:var(--space-xl) 0}.category-header{display:flex;align-items:center;justify-content:space-between;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);margin-bottom:var(--space-lg)}.category-title{font-size:var(--font-size-2xl);font-weight:600;margin:0}.category-navigation{display:flex;gap:var(--space-sm)}.category-arrow{width:36px;height:36px;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.category-arrow:hover:not(:disabled){background:#ffffff26;color:var(--text-primary);transform:scale(1.05)}.category-arrow:disabled{opacity:.3;cursor:not-allowed}.category-arrow:active:not(:disabled){transform:scale(.95)}.category-grid-wrapper{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.category-grid.scrollable{display:flex;gap:var(--space-md);overflow-x:auto;overflow-y:visible;padding:var(--space-sm) 0 var(--space-lg) 0;-ms-overflow-style:none;scrollbar-width:none}.category-grid.scrollable::-webkit-scrollbar{display:none}.category-grid.distributed{display:flex;justify-content:center;gap:var(--space-md);padding:var(--space-sm) 0 var(--space-lg) 0}.category-grid.distributed .category-card{flex:1;max-width:220px}.category-card{flex-shrink:0;min-width:160px;width:180px;padding:var(--space-lg);background:var(--bg-secondary);border-radius:var(--radius-md);border:2px solid rgba(255,255,255,.05);text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:var(--space-md);transition:all var(--transition-base);cursor:pointer;font-family:inherit;color:inherit}.category-card:hover{transform:translateY(-4px);background:var(--bg-tertiary);border-color:var(--category-color, var(--accent-primary));box-shadow:0 8px 25px color-mix(in srgb,var(--category-color, var(--accent-primary)) 40%,transparent)}.category-card.selected{border-color:var(--category-color, var(--accent-primary));background:var(--bg-tertiary);box-shadow:0 8px 25px color-mix(in srgb,var(--category-color, var(--accent-primary)) 40%,transparent)}.category-card.selected .category-icon-wrapper{transform:scale(1.05)}.category-icon-wrapper{width:80px;height:80px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--category-color, var(--accent-primary)) 0%,rgba(0,0,0,.2) 100%);display:flex;align-items:center;justify-content:center;transition:transform var(--transition-base)}.category-card:hover .category-icon-wrapper{transform:scale(1.05)}.category-icon{width:48px;height:48px;object-fit:contain}.category-view-all{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);text-decoration:none;transition:all var(--transition-base);background:none;border:none;cursor:pointer;font-family:inherit}.category-view-all:hover{transform:translateY(-2px)}.view-all-icon{width:48px;height:48px;border-radius:var(--radius-full);background:#ffffff1a;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-base)}.category-view-all:hover .view-all-icon{background:#ffffff26;color:var(--text-primary)}.view-all-text{font-size:var(--font-size-xs);color:var(--text-muted);transition:color var(--transition-fast)}.category-view-all:hover .view-all-text{color:var(--text-secondary)}.category-info{text-align:center}.category-name{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-xs) 0}.category-count{font-size:var(--font-size-xs);color:var(--text-muted)}@media(max-width:768px){.category-grid.distributed{flex-wrap:wrap;justify-content:center}.category-grid.distributed .category-card{flex:0 1 calc(50% - var(--space-sm));max-width:none}.category-card{min-width:115px;width:auto;padding:var(--space-md)}.category-icon-wrapper{width:52px;height:52px}.category-icon{width:32px;height:32px}.category-navigation{display:none}}.video-promo{padding:var(--space-xl) 0 var(--space-md)}.video-promo-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;aspect-ratio:16 / 9;max-height:420px;margin:0 auto;box-shadow:var(--shadow-lg);transition:transform .3s ease,box-shadow .3s ease}.video-promo-card:hover{transform:scale(1.01);box-shadow:0 12px 40px #0009}.video-promo-thumb{width:100%;height:100%;object-fit:cover;display:block}.video-promo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.video-promo-card:hover .video-promo-overlay{background:#00000026}.video-play-btn{width:72px;height:72px;border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;transition:transform .3s ease,background .3s ease;border:2px solid rgba(255,255,255,.4)}.video-promo-card:hover .video-play-btn{transform:scale(1.1);background:#ffffff4d}.video-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:9999;display:flex;align-items:center;justify-content:center;animation:modal-fade-in .3s ease;padding:20px}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.video-modal{position:relative;width:100%;max-width:1200px;animation:modal-scale-in .3s cubic-bezier(.4,0,.2,1)}@keyframes modal-scale-in{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.video-modal-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#ffffffb3;font-size:1.5rem;cursor:pointer;padding:4px 12px;transition:color .2s;z-index:1}.video-modal-close:hover{color:#fff}.video-modal-player{position:relative;padding-top:56.25%;border-radius:var(--radius-md);overflow:hidden;background:#000}.video-modal-player iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}@media(max-width:768px){.video-promo{padding:var(--space-md) 0 var(--space-sm)}.video-promo-card{max-height:220px;border-radius:var(--radius-md)}.video-play-btn{width:56px;height:56px}.video-play-btn svg{width:24px;height:24px}.video-modal-overlay{padding:10px}.video-modal-close{top:-32px}}.course-card{display:block;flex-shrink:0;text-decoration:none;border-radius:var(--radius-md);overflow:hidden;transition:transform var(--transition-base);cursor:pointer}.course-card:hover{transform:scale(1.03);z-index:10}.course-card.poster{width:180px}.card-image-wrapper{position:relative;overflow:hidden;border-radius:var(--radius-md);background:var(--bg-secondary)}.course-card.poster .card-image-wrapper{aspect-ratio:3 / 4}.card-image{width:100%;height:100%;object-fit:cover;transition:all var(--transition-slow)}.course-card:hover .card-image{filter:brightness(.6);transform:scale(1.05)}.card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient-card-overlay);opacity:0;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-md);transition:opacity var(--transition-base)}.course-card:hover .card-overlay{opacity:1}.card-info{display:flex;flex-direction:column;gap:var(--space-xs)}.card-progress{width:100%;height:3px;background:#fff3;border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;background:var(--accent-primary);border-radius:var(--radius-full);transition:width var(--transition-base)}.card-duration,.card-lessons{font-size:var(--font-size-xs);color:var(--text-secondary)}.card-content{padding:var(--space-sm) 0}.card-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-instructor{font-size:var(--font-size-xs);color:var(--text-muted);margin:var(--space-xs) 0 0 0}@media(max-width:768px){.course-card.poster{width:140px}}@media(max-width:480px){.course-card.poster{width:120px}}.card-coming-soon{position:absolute;top:0;right:0;bottom:0;left:0;background:#282828d9;display:flex;align-items:center;justify-content:center;z-index:5;border-radius:var(--radius-md)}.loading-dots{display:flex;gap:6px}.loading-dots span{width:10px;height:10px;background:#fff;border-radius:50%;animation:dots-bounce 1.4s ease-in-out infinite}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dots-bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.coming-soon-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.coming-soon-modal{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:400px;width:90%;text-align:center;animation:slideUp .3s ease}.modal-icon{font-size:3rem;margin-bottom:var(--space-md)}.coming-soon-modal h3{color:var(--text-primary);font-size:var(--font-size-lg);margin:0 0 var(--space-sm) 0}.coming-soon-modal p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--space-lg) 0;line-height:1.5}.modal-close-btn{background:var(--accent-primary);color:#fff;border:none;padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-base)}.modal-close-btn:hover{background:var(--accent-hover);transform:scale(1.05)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.course-row{padding:var(--space-xl) 0}.row-header{display:flex;align-items:center;justify-content:space-between;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);margin-bottom:var(--space-lg)}.row-title{font-size:var(--font-size-2xl);font-weight:600;margin:0}.row-navigation{display:flex;gap:var(--space-sm)}.row-arrow{width:36px;height:36px;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.row-arrow:hover{background:#ffffff26;color:var(--text-primary);transform:scale(1.05)}.row-arrow:active{transform:scale(.95)}.row-scroll-wrapper{position:relative;overflow:hidden;max-width:var(--container-max);margin:0 auto}.row-cards{display:flex;gap:var(--space-md);overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding:var(--space-sm) var(--container-padding);padding-bottom:var(--space-md);-ms-overflow-style:none;scrollbar-width:none}.row-cards::-webkit-scrollbar{display:none}.row-cards>*{scroll-snap-align:start}.row-scroll-wrapper:after{content:"";position:absolute;top:0;bottom:0;right:0;width:60px;pointer-events:none;z-index:5;background:linear-gradient(to left,var(--bg-primary),transparent)}.row-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl) var(--container-padding);text-align:center;color:var(--text-secondary)}.row-empty-state p{font-size:var(--font-size-lg);margin:0 0 var(--space-xs) 0;color:var(--text-primary)}.row-empty-state span{font-size:var(--font-size-sm);opacity:.7}@media(max-width:768px){.row-title{font-size:var(--font-size-xl)}.row-navigation{display:none}.row-cards{gap:var(--space-sm);padding:var(--space-sm) var(--space-md)}}.footer{background:var(--bg-secondary);border-top:1px solid rgba(255,255,255,.05);margin-top:var(--space-3xl);padding:calc(var(--space-xl) * .6) 0}.footer-container{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--space-2xl);align-items:center;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.footer-brand{display:flex;flex-direction:column;gap:var(--space-lg)}.footer-logo{display:flex;align-items:center;gap:var(--space-sm)}.footer-logo-image{height:135px;width:auto;object-fit:contain}.footer-copyright{font-size:var(--font-size-sm);color:var(--text-muted);margin:0}.footer-section{display:flex;flex-direction:column;gap:var(--space-md)}.footer-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin:0}.footer-nav{display:flex;flex-direction:column;gap:var(--space-sm)}.footer-nav a{font-size:var(--font-size-sm);color:var(--text-muted);text-decoration:none;transition:color var(--transition-fast);display:flex;align-items:center;gap:var(--space-sm)}.footer-nav a:hover{color:var(--text-primary)}.footer-social a{display:flex;align-items:center;gap:var(--space-sm)}.footer-social svg{opacity:.7;transition:opacity var(--transition-fast)}.footer-social a:hover svg{opacity:1}@media(max-width:1024px){.footer-container{grid-template-columns:1fr 1fr;gap:var(--space-xl)}.footer-brand{grid-column:span 2;flex-direction:row;justify-content:space-between;align-items:center}}@media(max-width:640px){.footer-container{grid-template-columns:1fr;text-align:center}.footer-brand{grid-column:span 1;flex-direction:column;align-items:center}.footer-logo{justify-content:center}.footer-nav{align-items:center}.footer-social a{justify-content:center}}.page-container{min-height:100vh;display:flex;flex-direction:column}.legal-page{flex:1;padding-top:calc(var(--navbar-height) + var(--space-3xl));padding-bottom:var(--space-3xl)}.legal-content{max-width:800px;margin:0 auto;padding:0 var(--container-padding)}.legal-content h1{font-size:var(--font-size-4xl);font-weight:700;margin-bottom:var(--space-2xl);background:var(--gradient-hero);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.legal-section{margin-bottom:var(--space-2xl)}.legal-section h2{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-md)}.legal-section p{font-size:var(--font-size-base);line-height:1.8;color:var(--text-secondary);margin-bottom:var(--space-md)}.legal-section ul{list-style:none;padding:0;margin:var(--space-md) 0}.legal-section li{position:relative;padding-left:var(--space-lg);margin-bottom:var(--space-sm);color:var(--text-secondary);line-height:1.6}.legal-section li:before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;background:var(--accent-primary);border-radius:50%}@media(max-width:768px){.legal-content h1{font-size:var(--font-size-3xl)}.legal-section h2{font-size:var(--font-size-lg)}}.onboarding-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:linear-gradient(135deg,#0e2f47,#1a4a6e,#0e2f47)}.onboarding-container{max-width:480px;width:100%;animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboarding-header{text-align:center;margin-bottom:var(--space-xl)}.onboarding-icon{display:inline-flex;align-items:center;justify-content:center;width:160px;height:92px;background:#ffffff1a;border-radius:var(--radius-lg);margin-bottom:var(--space-md);box-shadow:var(--shadow-lg);padding:var(--space-sm)}.onboarding-icon img{width:100%;height:100%;object-fit:contain}.onboarding-header h1{font-size:var(--font-size-2xl);color:var(--text-primary);margin-bottom:var(--space-xs)}.onboarding-header p{color:var(--text-secondary);margin:0}.onboarding-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-lg)}.form-group{margin-bottom:var(--space-lg)}.form-group label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);margin-bottom:var(--space-sm)}.form-group input,.form-group select{width:100%;padding:var(--space-md);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md);transition:all var(--transition-base)}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-primary);background:#ffffff1f;box-shadow:0 0 0 3px #4d9ba433}.form-group select option{background:var(--bg-secondary);color:var(--text-primary)}.form-group input.input-disabled{background:#ffffff08;color:var(--text-muted);cursor:not-allowed;border-color:#ffffff14}.form-group select:disabled{background:#ffffff08;color:var(--text-muted);cursor:not-allowed;border-color:#ffffff14}.input-hint{display:block;font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-xs)}.form-group input[type=date]{color:var(--text-primary);color-scheme:dark}.form-group input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}.form-group input[type=date]:not(:valid),.form-group input[type=date][value=""]{color:var(--text-muted)}.consent-section{margin-bottom:var(--space-xl);padding-top:var(--space-md);border-top:1px solid rgba(255,255,255,.1)}.checkbox-label{display:flex;align-items:flex-start;gap:var(--space-md);cursor:pointer;padding:var(--space-sm) 0;transition:color var(--transition-base)}.checkbox-label:hover span{color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--accent-primary);cursor:pointer;flex-shrink:0}.checkbox-label span{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.checkbox-label span a{color:var(--accent-primary);font-weight:500}.checkbox-label span a:hover{text-decoration:underline}.button-group{display:flex;gap:var(--space-md);padding-top:var(--space-md)}.button-group .btn{flex:1;padding:var(--space-md) var(--space-lg);font-size:var(--font-size-base);font-weight:500}.button-group .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.login-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-2xl) var(--space-xl)}.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-md);width:100%;max-width:320px;padding:var(--space-md) var(--space-lg);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:500;color:#1f1f1f;background:#fff;border:1px solid #dadce0;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.btn-google:hover:not(:disabled){background:#f7f8f8;box-shadow:0 2px 8px #00000026}.btn-google:active:not(:disabled){background:#eee}.btn-google:disabled{opacity:.7;cursor:not-allowed}.btn-google svg{flex-shrink:0}.onboarding-footer{text-align:center;margin-top:var(--space-xl);font-size:var(--font-size-sm);color:var(--text-muted)}@media(max-width:480px){.onboarding-page{padding:var(--space-md)}.onboarding-card{padding:var(--space-lg)}.onboarding-header h1{font-size:var(--font-size-xl)}}.student-dashboard{min-height:100vh;background:var(--bg-primary);display:flex;flex-direction:column}.dashboard-header{position:sticky;top:0;height:var(--navbar-height);background:#0e2f47;border-bottom:1px solid rgba(255,255,255,.1);z-index:100}.header-content{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.header-nav{display:flex;align-items:center;gap:var(--space-xl);flex:1}.header-nav .nav-link{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast);position:relative}.header-nav .nav-link:hover,.header-nav .nav-link.active{color:var(--text-primary)}.header-nav .nav-link.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--accent-primary);border-radius:var(--radius-full)}.student-dashboard .header-logo-wrapper{position:relative}.student-dashboard .header-logo{display:block}.student-dashboard .header-logo img{height:clamp(39px,4.9vw,66px);width:auto;object-fit:contain;margin-top:2px}.student-dashboard .mobile-menu-popup{display:none}@media(max-width:768px){.student-dashboard .header-content{justify-content:space-between}.student-dashboard .header-logo-wrapper{position:relative;order:-1}.student-dashboard .mobile-menu-popup{display:block;position:absolute;top:calc(100% + 12px);left:0;background:linear-gradient(180deg,#0e2f47,#1a3a4f 70%,#2d4a5e);border:none;border-radius:var(--radius-lg);padding:var(--space-sm);min-width:200px;box-shadow:0 8px 32px #00000080;z-index:1001;animation:popupFadeIn .2s ease-out}.student-dashboard .mobile-menu-arrow{position:absolute;top:-6px;left:30px;transform:rotate(45deg);width:12px;height:12px;background:#0e2f47;border-left:1px solid rgba(255,255,255,.15);border-top:1px solid rgba(255,255,255,.15)}.student-dashboard .header-nav{display:none}}.student-dashboard .mobile-menu-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;text-decoration:none;cursor:pointer;transition:all var(--transition-fast);text-align:left}.student-dashboard .mobile-menu-item:hover{background:#ffffff1a}.header-user-wrapper{position:relative;flex:1;display:flex;justify-content:flex-end}.header-user{display:flex;align-items:center;gap:var(--space-md);background:transparent;border:none;cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-lg);transition:background var(--transition-fast)}.header-user:hover{background:#ffffff1a}.user-name{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#0e2f47,#4d9ba4);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:var(--font-size-base)}.user-menu-popup{position:absolute;top:calc(100% + 12px);right:0;background:linear-gradient(180deg,#0e2f47,#1a3a4f 70%,#2d4a5e);border:none;border-radius:var(--radius-lg);padding:var(--space-sm);min-width:180px;box-shadow:0 8px 32px #0006;z-index:1001;animation:popupFadeIn .2s ease-out}.user-menu-arrow{position:absolute;top:-6px;right:20px;width:12px;height:12px;background:#0e2f47;border-left:1px solid rgba(255,255,255,.15);border-top:1px solid rgba(255,255,255,.15);transform:rotate(45deg)}.user-menu-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:left}.user-menu-item:hover{background:#ffffff1a}.user-menu-item.logout{color:#ef4444}.user-menu-item.logout:hover{background:#ef44441a}.dashboard-main{padding:var(--space-2xl) 0;flex-grow:1}.dashboard-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.welcome-section{margin-bottom:var(--space-2xl)}.welcome-section h1{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xs)}.welcome-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm)}.dashboard-section{margin-bottom:var(--space-2xl)}.section-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.section-header h2{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.section-header--toggle{width:100%;justify-content:space-between;background:none;border:none;cursor:pointer;padding:0;text-align:left}.section-header-left{display:flex;align-items:center;gap:var(--space-sm);line-height:1}.section-header-left h2{margin:0;line-height:1}.section-chevron{color:#ffffff59;flex-shrink:0;transition:transform .28s ease;transform:rotate(-90deg)}.section-chevron.open{transform:rotate(0)}.section-body{overflow:hidden;max-height:1000px;opacity:1;transition:max-height .5s ease-in-out,opacity .35s ease,margin-top .4s ease;margin-top:var(--space-lg)}.section-body--collapsed{max-height:0;opacity:0;margin-top:0;pointer-events:none}.badge{background:var(--accent-primary);color:#fff;font-size:var(--font-size-xs);font-weight:600;padding:2px 8px;border-radius:var(--radius-full)}.courses-grid{display:grid;gap:var(--space-md)}.course-card{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);transition:all var(--transition-fast)}.course-card:hover{border-color:#fff3;transform:translateY(-2px)}.course-info h3{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs)}.course-meta{font-size:var(--font-size-sm);color:var(--text-secondary)}.course-progress{display:flex;align-items:center;gap:var(--space-sm)}.progress-bar{flex:1;height:6px;background:#ffffff1a;border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:var(--radius-full);transition:width .3s ease}.progress-text{font-size:var(--font-size-xs);color:var(--text-secondary);min-width:35px}.btn-continue{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-weight:500;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-continue:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.btn-enroll{background:transparent;color:var(--accent-primary);border:1px solid var(--accent-primary);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-weight:500;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-enroll:hover{background:var(--accent-primary);color:#fff}.course-card--clickable{cursor:pointer;padding:var(--space-md) var(--space-lg);gap:0}.course-card.enrolled.course-card--clickable{gap:var(--space-sm)}.course-card.enrolled .category-tag:after{display:none}.course-card--clickable .course-info{flex:none}.course-card--clickable:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.category-tag{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-right:var(--space-xs)}.category-tag:after{content:" •";color:var(--text-secondary);font-weight:400;margin-left:var(--space-xs)}.course-card--locked{opacity:.55}.btn-locked{display:inline-block;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);border:1px solid rgba(255,255,255,.15);cursor:not-allowed;text-align:center}.enrollment-limit-notice{font-size:var(--font-size-sm);color:var(--text-secondary);background:#ffc83214;border:1px solid rgba(255,200,50,.2);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-lg)}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md);margin-bottom:var(--space-2xl)}.stat-card{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center}.stat-value{display:block;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:var(--accent-primary);margin-bottom:var(--space-xs)}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary)}@media(min-width:768px){.courses-grid{grid-template-columns:repeat(3,1fr)}.course-info{flex:1}.course-progress{width:150px}}.upm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1200;padding:16px;animation:upmFadeIn .2s ease}@keyframes upmFadeIn{0%{opacity:0}to{opacity:1}}.upm-modal{background:linear-gradient(160deg,#0f2235,#0a1a2e 60%,#0d2033);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:440px;overflow:hidden;animation:upmSlideIn .25s ease;box-shadow:0 24px 48px #00000080}@keyframes upmSlideIn{0%{opacity:0;transform:translateY(-16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.upm-header{display:flex;align-items:center;gap:16px;padding:22px 24px 18px;border-bottom:1px solid rgba(255,255,255,.08);position:relative}.upm-avatar{width:60px;height:60px;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,#0e2f47,#4d9ba4);display:flex;align-items:center;justify-content:center;border:2px solid rgba(77,155,164,.4)}.upm-avatar img{width:100%;height:100%;object-fit:cover}.upm-avatar span{color:#fff;font-weight:700;font-size:22px}.upm-header-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:5px}.upm-name{font-size:16px;font-weight:700;color:#fff;margin:0;line-height:1.3;word-break:break-word;padding-right:36px}.upm-role-badge{display:inline-flex;align-items:center;align-self:flex-start;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:3px 10px;border-radius:20px}.upm-role-badge--coordinator{background:#4d9ba440;color:#6ecdd6;border:1px solid rgba(77,155,164,.5)}.upm-role-badge--student{background:#63b3ed40;color:#90cdf4;border:1px solid rgba(99,179,237,.5)}.upm-close{position:absolute;top:16px;right:16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffff80;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.upm-close:hover{background:#ffffff1f;color:#fff}.upm-body{padding:20px 24px}.upm-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 0;color:#ffffff80;font-size:14px}.upm-spinner{width:28px;height:28px;border:3px solid rgba(77,155,164,.2);border-top-color:#4d9ba4;border-radius:50%;animation:upmSpin .7s linear infinite}@keyframes upmSpin{to{transform:rotate(360deg)}}.upm-fields{display:flex;flex-direction:column;gap:4px}.upm-field{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;transition:background .15s}.upm-field:hover{background:#ffffff0a}.upm-field-icon{width:34px;height:34px;border-radius:8px;background:#4d9ba41a;border:1px solid rgba(77,155,164,.2);display:flex;align-items:center;justify-content:center;color:#4d9ba4;flex-shrink:0}.upm-field-content{display:flex;flex-direction:column;gap:2px;min-width:0}.upm-field-label{font-size:11px;color:#fff6;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.upm-field-value{font-size:14px;color:#ffffffd9;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upm-footer{padding:16px 24px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:flex-end}.upm-btn-close{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#ffffffb3;padding:8px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.upm-btn-close:hover{background:#ffffff1a;color:#fff}.coordinator-dashboard{min-height:100vh;background:var(--bg-primary)}.coordinator-dashboard .dashboard-header.coordinator{position:sticky;top:0;height:var(--navbar-height);background:#0e2f47;border-bottom:1px solid rgba(255,255,255,.1);z-index:100}.coordinator-dashboard .header-content{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.coordinator-dashboard .header-nav{display:flex;align-items:center;gap:var(--space-xl);flex:1}.coordinator-dashboard .header-nav .nav-link{font-size:var(--font-size-sm);font-weight:500;color:#fff;text-decoration:none;transition:color var(--transition-fast);position:relative}.coordinator-dashboard .header-nav .nav-link:hover,.coordinator-dashboard .header-nav .nav-link.active{color:var(--text-primary)}.coordinator-dashboard .header-nav .nav-link.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:#4d9ba4;border-radius:var(--radius-full)}.coordinator-dashboard .header-logo-wrapper{position:relative}.coordinator-dashboard .header-logo{display:block}.coordinator-dashboard .header-logo img{height:clamp(39px,4.9vw,66px);width:auto;object-fit:contain;margin-top:2px}.coordinator-dashboard .mobile-menu-popup{display:none}@media(max-width:768px){.coordinator-dashboard .header-content{justify-content:space-between}.coordinator-dashboard .header-logo-wrapper{position:relative;order:-1}.coordinator-dashboard .mobile-menu-popup{display:block;position:absolute;top:calc(100% + 12px);left:0;background:linear-gradient(180deg,#0e2f47,#1a3a4f 70%,#2d4a5e);border:none;border-radius:var(--radius-lg);padding:var(--space-sm);min-width:200px;box-shadow:0 8px 32px #00000080;z-index:1001;animation:popupFadeIn .2s ease-out}.coordinator-dashboard .mobile-menu-arrow{position:absolute;top:-6px;left:30px;transform:rotate(45deg);width:12px;height:12px;background:#0e2f47;border-left:1px solid rgba(255,255,255,.15);border-top:1px solid rgba(255,255,255,.15)}.coordinator-dashboard .header-nav{display:none}}.coordinator-dashboard .mobile-menu-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;text-decoration:none;cursor:pointer;transition:all var(--transition-fast);text-align:left}.coordinator-dashboard .mobile-menu-item:hover{background:#ffffff1a}.coordinator-dashboard .header-user-wrapper{position:relative;flex:1;display:flex;justify-content:flex-end}.coordinator-dashboard .header-user{display:flex;align-items:center;gap:var(--space-md);background:transparent;border:none;cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-lg);transition:background var(--transition-fast)}.coordinator-dashboard .header-user:hover{background:#ffffff1a}.coordinator-dashboard .user-name{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500}.coordinator-dashboard .user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#0e2f47,#4d9ba4);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:var(--font-size-base)}.coordinator-dashboard .user-avatar.coordinator{background:linear-gradient(135deg,#0e2f47,#1a4a6e)}.coordinator-dashboard .user-menu-popup{position:absolute;top:calc(100% + 12px);right:0;background:linear-gradient(180deg,#0e2f47,#1a3a4f 70%,#2d4a5e);border:none;border-radius:var(--radius-lg);padding:var(--space-sm);min-width:180px;box-shadow:0 8px 32px #0006;z-index:1001;animation:popupFadeIn .2s ease-out}@keyframes popupFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.coordinator-dashboard .user-menu-arrow{position:absolute;top:-6px;right:20px;width:12px;height:12px;background:#0e2f47;border-left:1px solid rgba(255,255,255,.15);border-top:1px solid rgba(255,255,255,.15);transform:rotate(45deg)}.coordinator-dashboard .user-menu-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:left}.coordinator-dashboard .user-menu-item:hover{background:#ffffff1a}.coordinator-dashboard .user-menu-item.logout{color:#ef4444}.coordinator-dashboard .user-menu-item.logout:hover{background:#ef44441a}.coordinator-dashboard .dashboard-main{padding:var(--space-2xl) 0}.coordinator-dashboard .dashboard-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.coordinator-dashboard .welcome-section{margin-bottom:var(--space-2xl)}.coordinator-dashboard .welcome-section h1{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xs)}.coordinator-dashboard .welcome-subtitle{color:#fff;font-size:var(--font-size-sm)}.coordinator-dashboard .coordinator-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background:#4d9ba426;color:#4d9ba4;border-radius:var(--radius-full);font-weight:500}.coordinator-dashboard .stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-md);margin-bottom:var(--space-2xl)}.coordinator-dashboard .stat-card{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center}.coordinator-dashboard .stat-value{display:block;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:#4d9ba4;margin-bottom:var(--space-xs)}.coordinator-dashboard .stat-label{font-size:var(--font-size-sm);color:#fff}.coordinator-dashboard .section-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.coordinator-dashboard .section-header h2{font-size:.9rem;font-weight:700;color:var(--text-primary);letter-spacing:.1em;font-family:Poppins,sans-serif}.coordinator-dashboard .admin-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg)}.coordinator-dashboard .admin-card{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md);transition:all var(--transition-fast)}.coordinator-dashboard .admin-card:hover{border-color:#4d9ba44d;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.coordinator-dashboard .admin-card-icon{width:56px;height:56px;border-radius:var(--radius-md);background:#4d9ba426;display:flex;align-items:center;justify-content:center;color:#4d9ba4}.coordinator-dashboard .admin-card h3{font-size:.9rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:.1em;font-family:Poppins,sans-serif}.coordinator-dashboard .admin-card p{font-size:var(--font-size-sm);color:#fff;margin:0;flex:1}.coordinator-dashboard .btn-admin{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:linear-gradient(135deg,#0e2f47,#4d9ba4);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.coordinator-dashboard .btn-admin:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0e2f474d}@media(max-width:768px){.coordinator-dashboard .admin-cards-grid{grid-template-columns:1fr}}.coordinator-dashboard .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:popupFadeIn .2s ease-out}.coordinator-dashboard .modal-content.course-manager-modal{background:var(--bg-primary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);width:90%;max-width:800px;max-height:85vh;overflow-y:auto;padding:var(--space-xl);position:relative}.coordinator-dashboard .modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid rgba(255,255,255,.08)}.coordinator-dashboard .modal-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.coordinator-dashboard .modal-close-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md);color:#fff;font-size:1.1rem;line-height:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.coordinator-dashboard .modal-close-btn:hover{background:#fff3;color:#fff}@media(max-width:768px){.coordinator-dashboard .modal-content.course-manager-modal{width:95%;max-height:90vh;padding:var(--space-md)}}.course-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.course-editor-modal{background:linear-gradient(180deg,#0e2f47,#1a4a6e,#0e2f47);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.editor-header h2{font-size:1rem;font-weight:700;color:#fff;margin:0;letter-spacing:.1em;font-family:Poppins,sans-serif}.editor-header .btn-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff1a;border:none;border-radius:8px;color:#ffffffb3;cursor:pointer;transition:all .2s}.editor-header .btn-close:hover{background:#ffffff26;color:#fff}.editor-content{flex:1;overflow-y:auto;padding:1.5rem}.editor-section{margin-bottom:1.25rem}.editor-section:last-child{margin-bottom:0}.modules-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.modules-section-header .section-toggle-header{border-bottom:none;padding-bottom:0}.section-toggle-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding-bottom:.5rem;margin-bottom:0;border:none;border-bottom:1px solid rgba(255,255,255,.1);background:none;cursor:pointer;text-align:left;transition:opacity .2s}.section-toggle-header:hover{opacity:.8}.section-toggle-header.no-border{border-bottom:none;padding-bottom:0}.section-toggle-header h3{font-size:.9rem;font-weight:600;color:#fffc;margin:0;padding:0;border:none}.section-chevron{color:#ffffff80;flex-shrink:0;transition:transform .25s ease;transform:rotate(0)}.section-toggle-header.collapsed .section-chevron{transform:rotate(-90deg)}.section-body{margin-top:1rem;max-height:2000px;overflow:hidden;transition:max-height .3s ease,opacity .25s ease,margin-top .3s ease;opacity:1}.section-body.section-body--collapsed{max-height:0;opacity:0;margin-top:0;pointer-events:none}.modules-list{max-height:5000px;overflow:hidden;transition:max-height .35s ease,opacity .25s ease;opacity:1}.modules-list.section-body--collapsed{max-height:0;opacity:0;pointer-events:none}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.section-header h3{margin:0;padding:0;border:none}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.8rem;font-weight:500;color:#fff9;margin-bottom:.5rem}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#8b5cf680}.form-group input::placeholder,.form-group textarea::placeholder{color:#ffffff4d}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row--3{grid-template-columns:1fr 1fr 1fr}@media(max-width:600px){.form-row,.form-row--3{grid-template-columns:1fr}}.image-preview{margin-top:.5rem;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.image-preview--std{position:relative;height:140px;cursor:pointer}.image-preview--std img{width:100%;height:100%;object-fit:cover;display:block;transition:filter .2s}.image-preview--std:hover img{filter:brightness(.6)}.preview-zoom-hint{position:absolute;bottom:0;left:0;right:0;padding:.3rem .5rem;background:#0000008c;color:#ffffffb3;font-size:.68rem;text-align:center;opacity:0;transition:opacity .2s;pointer-events:none}.image-preview--std:hover .preview-zoom-hint{opacity:1}.img-file-input-hidden{display:none}.btn-upload-img{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.55rem 1rem;margin-top:.25rem;background:#ffffff0f;border:1px dashed rgba(255,255,255,.2);border-radius:8px;color:#ffffffa6;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.btn-upload-img:hover:not(:disabled){background:#8b5cf61f;border-color:#8b5cf673;color:#ffffffe6}.btn-upload-img:active:not(:disabled){background:#8b5cf633}.btn-upload-img.is-uploading{cursor:not-allowed;opacity:.6;border-style:solid;animation:pulse-border 1s ease-in-out infinite}@keyframes pulse-border{0%,to{border-color:#8b5cf633}50%{border-color:#8b5cf699}}.img-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.img-lightbox{background:#141e2df2;border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 60px #0009;animation:slideUp .2s ease}.img-lightbox-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.img-lightbox-header span{font-size:.82rem;font-weight:600;color:#ffffffbf}.img-lightbox-close{width:26px;height:26px;background:none;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#ffffff80;font-size:1.1rem;line-height:1;cursor:pointer;transition:background .15s,color .15s}.img-lightbox-close:hover{background:#ef444426;border-color:#ef444466;color:#ef4444}.img-lightbox-img{display:block;max-width:85vw;max-height:80vh;object-fit:contain}.gradient-picker{display:flex;gap:.5rem;flex-wrap:wrap}.gradient-option{width:40px;height:40px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .2s}.gradient-option:hover{transform:scale(1.1)}.gradient-option.selected{border-color:#fff;box-shadow:0 0 0 2px #ffffff4d}.categories-grid{display:flex;flex-wrap:wrap;gap:.75rem}.category-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer}.category-checkbox input{display:none}.category-label{padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;font-size:.85rem;color:#ffffffb3;transition:all .2s}.category-checkbox input:checked+.category-label{background:var(--cat-color, #4D9BA4);border-color:var(--cat-color, #4D9BA4);color:#fff}.options-grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem 1.5rem}.option-toggle{display:flex;align-items:center;gap:.75rem;cursor:pointer}.option-toggle input{width:18px;height:18px;accent-color:#4D9BA4}.option-toggle span{font-size:.9rem;color:#fffc}.option-toggle-row{display:flex;align-items:center;gap:.5rem}.btn-edit-checks{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:5px;color:#ffffff80;font-size:.72rem;font-weight:500;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.btn-edit-checks:hover,.btn-edit-checks.active{background:#4d9ba42e;border-color:#4d9ba473;color:#4d9ba4}.learning-checks-panel{overflow:hidden;max-height:2000px;opacity:1;margin-top:1rem;transition:max-height .4s ease,opacity .35s ease,margin-top .35s ease;display:flex;flex-direction:column;gap:.75rem;border-top:1px solid rgba(77,155,164,.2);padding-top:.85rem}.learning-checks-panel--collapsed{max-height:0;opacity:0;margin-top:0;padding-top:0;border-top-color:transparent;pointer-events:none}.inaug-lesson-panel{margin-top:.85rem;padding:.85rem;background:#fbbf240d;border:1px solid rgba(251,191,36,.2);border-radius:8px;display:flex;flex-direction:column;gap:.3rem;overflow:hidden;max-height:2000px;opacity:1;transition:max-height .35s ease,opacity .3s ease,margin-top .3s ease}.inaug-lesson-panel .learning-checks-panel{border-top:none;padding-top:0;margin-top:.35rem}.inaug-lesson-panel input[type=url],.inaug-lesson-panel input[type=date]{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.9rem;transition:border-color .2s;box-sizing:border-box}.inaug-lesson-panel input[type=url]:focus,.inaug-lesson-panel input[type=date]:focus{outline:none;border-color:#fbbf2473}.inaug-lesson-panel input[type=url]::placeholder{color:#ffffff4d}.inaug-lesson-panel--collapsed{max-height:0;opacity:0;margin-top:0;padding:0;border-color:transparent;pointer-events:none}.checks-scale-hint{font-size:.78rem;color:#fff6;margin:0 0 .5rem}.checks-scale-hint strong{color:#4d9ba4}.checks-empty{font-size:.82rem;color:#ffffff59;text-align:center;padding:.75rem}.learning-check-block{background:#0003;border:1px solid rgba(77,155,164,.15);border-radius:8px;padding:.75rem}.check-block-header{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem;margin-bottom:0;padding:0;background:none;border:none;cursor:pointer;text-align:left}.check-block-header-info{display:flex;align-items:center;gap:.5rem}.check-chevron{color:#ffffff59;flex-shrink:0;transition:transform .25s ease;transform:rotate(-90deg)}.check-chevron.open{transform:rotate(0)}.check-block-body{overflow:hidden;max-height:1000px;transition:max-height .3s ease,opacity .25s ease,margin-top .25s ease;opacity:1;margin-top:.65rem}.check-block-body--collapsed{max-height:0;opacity:0;margin-top:0;pointer-events:none}.check-mod-label{font-size:.68rem;font-weight:700;color:#4d9ba4;letter-spacing:.06em;text-transform:uppercase}.check-mod-title{font-size:.8rem;color:#fff9}.check-questions-list{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.check-question-row{display:flex;align-items:center;gap:.4rem}.check-q-num{flex-shrink:0;font-size:.72rem;color:#ffffff59;width:16px;text-align:right}.check-question-row input[type=text]{flex:1;padding:.35rem .6rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-size:.82rem}.check-question-row input[type=text]:focus{outline:none;border-color:#4d9ba480}.check-remove-q{flex-shrink:0;width:22px;height:22px;border-radius:4px;background:none;border:1px solid rgba(255,255,255,.1);color:#ffffff59;font-size:1rem;line-height:1;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.check-remove-q:hover{background:#ef444426;border-color:#ef444466;color:#ef4444}.check-add-q{display:block;width:100%;padding:.3rem;background:none;border:1px dashed rgba(77,155,164,.25);border-radius:4px;color:#4d9ba48c;font-size:.75rem;cursor:pointer;transition:border-color .18s,color .18s}.check-add-q:hover{border-color:#4d9ba48c;color:#4d9ba4}.release-date-group{margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.release-date-group label{display:flex;align-items:center;gap:.5rem}.release-date-group label svg{opacity:.7}.release-date-group input[type=date]{max-width:200px}.field-hint{display:block;margin-top:.5rem;font-size:.75rem;color:#fff6;font-style:italic}.btn-add-module{padding:.4rem .9rem;background:#ffffff0f;color:#ffffffa6;border:1px solid rgba(255,255,255,.15);border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s,border-color .2s;white-space:nowrap}.btn-add-module:hover{background:#ffffff1f;color:#ffffffe6;border-color:#ffffff40}.modules-list{display:flex;flex-direction:column;gap:.75rem}.empty-modules{padding:2rem;text-align:center;color:#fff6;background:#ffffff05;border:1px dashed rgba(255,255,255,.1);border-radius:8px}.module-editor{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden}.module-editor.expanded{border-color:#4d9ba473}.module-editor--inaugural{border-color:#fbbf248c}.badge-inaugural{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;background:#fbbf2426;border:1px solid rgba(251,191,36,.4);border-radius:4px;font-size:.68rem;font-weight:600;color:#fbbf24;white-space:nowrap;letter-spacing:.04em;flex-shrink:0}.btn-toggle-inaugural{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:5px;color:#ffffff59;cursor:pointer;transition:background .18s,color .18s,border-color .18s;flex-shrink:0}.btn-toggle-inaugural:hover{background:#fbbf241f;border-color:#fbbf2466;color:#fbbf24}.btn-toggle-inaugural.is-active{background:#fbbf2426;border-color:#fbbf2480;color:#fbbf24}.module-delete-confirm{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .9rem;background:#ef444414;border-top:1px solid rgba(239,68,68,.2);border-bottom:1px solid rgba(239,68,68,.2)}.module-delete-confirm span{font-size:.8rem;color:#ffc8c8d9}.module-delete-confirm-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-confirm-cancel,.btn-confirm-delete{padding:.3rem .75rem;border-radius:5px;font-size:.78rem;font-weight:500;cursor:pointer;border:1px solid;transition:background .18s,color .18s}.btn-confirm-cancel{background:#ffffff0f;border-color:#ffffff26;color:#ffffffb3}.btn-confirm-cancel:hover{background:#ffffff1f;color:#fff}.btn-confirm-delete{background:#ef444426;border-color:#ef444466;color:#fca5a5}.btn-confirm-delete:hover{background:#ef44444d;color:#fff}.module-editor-header{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#ffffff05}.module-order-controls{display:flex;flex-direction:column;gap:2px}.btn-move,.btn-move-small{width:20px;height:16px;background:#ffffff1a;border:none;border-radius:3px;color:#ffffff80;font-size:.65rem;cursor:pointer;transition:all .2s}.btn-move:hover:not(:disabled),.btn-move-small:hover:not(:disabled){background:#fff3;color:#fff}.btn-move:disabled,.btn-move-small:disabled{opacity:.3;cursor:not-allowed}.module-title-input{flex:1;padding:.5rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-size:.9rem;font-weight:500}.module-title-input:focus{outline:none;border-color:#8b5cf680}.lesson-count{font-size:.75rem;color:#fff6;padding:0 .5rem}.btn-expand{height:28px;width:auto;padding:0 .6rem;display:flex;align-items:center;justify-content:center;gap:.35rem;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#ffffff8c;cursor:pointer;transition:background .2s,color .2s,border-color .2s;flex-shrink:0;white-space:nowrap}.btn-expand .lesson-count{font-size:.75rem;color:inherit;padding:0}.btn-expand svg{transition:transform .25s ease;flex-shrink:0}.btn-expand.expanded svg{transform:rotate(180deg)}.btn-expand:hover{background:#ffffff24;color:#fff;border-color:#ffffff38}.btn-delete-module,.btn-delete-lesson{width:28px;height:28px;background:none;border:none;border-radius:4px;color:#fff6;font-size:1.2rem;cursor:pointer;transition:all .2s}.btn-delete-module:hover,.btn-delete-lesson:hover{background:#ef444433;color:#ef4444}.lessons-editor{padding:.75rem;background:#0003;border-top:1px solid rgba(255,255,255,.05)}.lesson-editor-item{display:flex;flex-direction:column;background:#ffffff08;border-radius:4px;margin-bottom:.5rem;overflow:hidden}.lesson-editor-row{display:flex;align-items:center;gap:.5rem;padding:.5rem}.lesson-order-controls{display:flex;flex-direction:column;gap:2px}.lesson-title-input{flex:1;padding:.5rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-size:.85rem}.lesson-title-input:focus{outline:none;border-color:#4d9ba48c}.btn-edit-lesson{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffff73;cursor:pointer;transition:background .18s,color .18s,border-color .18s;flex-shrink:0}.btn-edit-lesson:hover,.btn-edit-lesson.active{background:#4d9ba42e;border-color:#4d9ba473;color:#4d9ba4}.lesson-url-editor{display:flex;flex-direction:column;gap:.3rem;padding:.4rem .5rem .5rem;border-top:1px solid rgba(77,155,164,.15);background:#4d9ba40d}.lesson-url-editor label{font-size:.72rem;color:#4d9ba4cc;font-weight:500;letter-spacing:.03em}.lesson-url-input{width:100%;padding:.4rem .65rem;background:#ffffff0d;border:1px solid rgba(77,155,164,.3);border-radius:4px;color:#fff;font-size:.82rem;font-family:Poppins,sans-serif}.lesson-url-input:focus{outline:none;border-color:#4d9ba499}.lesson-url-input-row{display:flex;align-items:center;gap:.4rem}.lesson-url-input-row .lesson-url-input{flex:1}.btn-yt-preview{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;background:#ff00001a;border:1px solid rgba(255,0,0,.25);border-radius:6px;text-decoration:none;transition:background .18s,border-color .18s,transform .15s}.btn-yt-preview:hover{background:#ff000038;border-color:#ff000080;transform:scale(1.08)}.yt-thumb-preview{display:flex;flex-direction:column;gap:.25rem;margin-top:.25rem}.yt-thumb-preview img{width:100%;max-height:120px;object-fit:cover;border-radius:6px;border:1px solid rgba(255,0,0,.2);display:block}.yt-thumb-label{font-size:.68rem;color:#ff505099;letter-spacing:.03em}.lesson-delete-confirm{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .9rem;background:#ef444412;border-top:1px solid rgba(239,68,68,.18)}.lesson-delete-confirm span{font-size:.78rem;color:#ffc8c8d9}.btn-add-lesson{display:block;width:100%;padding:.5rem;background:none;border:1px dashed rgba(255,255,255,.2);border-radius:4px;color:#ffffff80;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-add-lesson:hover{border-color:#8b5cf680;color:#4d9ba4}.btn-lesson-action{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#ffffff73;cursor:pointer;transition:background .18s,border-color .18s,color .18s,transform .15s;gap:.3rem;padding:0}.btn-lesson-action:hover{background:#ffffff1f;border-color:#ffffff38;color:#fffc;transform:scale(1.06)}.btn-lesson-action.active{background:#4d9ba42e;border-color:#4d9ba473;color:#4d9ba4}.btn-lesson-action.has-value{background:#4d9ba41f;border-color:#4d9ba459;color:#4d9ba4}.btn-action-badge{position:absolute;top:-7px;right:-7px;min-width:16px;height:16px;padding:0 3px;background:#4d9ba4;color:#fff;border-radius:8px;font-size:.6rem;font-weight:700;line-height:16px;text-align:center;white-space:nowrap;pointer-events:none}.btn-action-badge--check{background:#8b5cf6}.lesson-subpanel{margin-top:.65rem;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#0003;overflow:hidden}.subpanel-header{display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.07);font-size:.78rem;font-weight:600;color:#fff9}.lesson-subpanel--date .subpanel-header{color:#ffc850cc}.lesson-subpanel--date .subpanel-header svg{color:#ffc850cc}.lesson-subpanel--check .subpanel-header{color:#8b5cf6d9}.lesson-subpanel--check .subpanel-header svg{color:#8b5cf6d9}.check-toggle-inline{display:flex;align-items:center;gap:.4rem;margin-left:auto;cursor:pointer;font-size:.75rem;color:#ffffff80;font-weight:400}.check-toggle-inline input[type=checkbox]{width:14px;height:14px;accent-color:#8b5cf6;cursor:pointer}.lesson-subpanel--date .subpanel-body input[type=date]{padding:.4rem .65rem;background:#ffffff0d;border:1px solid rgba(255,200,80,.25);border-radius:5px;color:#ffffffd9;font-size:.82rem;font-family:Poppins,sans-serif;color-scheme:dark;max-width:180px}.lesson-subpanel--date .subpanel-body input[type=date]:focus{outline:none;border-color:#ffc8508c}.subpanel-body{padding:.75rem .85rem;display:flex;flex-direction:column;gap:.5rem}.subpanel-body--row{flex-direction:row;align-items:center;flex-wrap:wrap;gap:.5rem}.subpanel-body--row .field-hint{margin:0;white-space:nowrap}.btn-clear-date{padding:.25rem .6rem;background:none;border:1px solid rgba(239,68,68,.25);border-radius:4px;color:#ef444499;font-size:.72rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap;flex-shrink:0}.btn-clear-date:hover{background:#ef44441f;border-color:#ef444473;color:#f87171}.cq-card{background:#0000002e;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.65rem .75rem;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.cq-card--multiple_choice{border-left:2px solid rgba(77,155,164,.4)}.cq-card--scale{border-left:2px solid rgba(139,92,246,.4)}.cq-header{display:flex;align-items:center;gap:.45rem}.cq-num{font-size:.68rem;font-weight:700;color:#ffffff59;letter-spacing:.05em;flex-shrink:0;width:22px}.cq-type-select{flex:1;padding:.22rem .5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffffa6;font-size:.74rem;font-family:Poppins,sans-serif;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.cq-type-select:focus{outline:none;border-color:#4d9ba473}.cq-remove{flex-shrink:0;width:22px;height:22px;background:none;border:1px solid rgba(239,68,68,.2);border-radius:4px;color:#ef444480;font-size:1rem;line-height:1;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.cq-remove:hover{background:#ef44441f;border-color:#ef444466;color:#ef4444}.cq-text-input{width:100%;padding:.35rem .6rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:5px;color:#fff;font-size:.82rem;font-family:Poppins,sans-serif}.cq-text-input:focus{outline:none;border-color:#4d9ba473}.cq-options{display:flex;flex-direction:column;gap:.3rem;padding-top:.2rem}.cq-option-row{display:flex;align-items:center;gap:.4rem}.cq-option-row input[type=radio]{flex-shrink:0;width:14px;height:14px;accent-color:#4D9BA4;cursor:pointer}.cq-opt-letter{flex-shrink:0;font-size:.7rem;font-weight:700;color:#ffffff59;width:14px;text-align:center}.cq-opt-text{flex:1;padding:.28rem .55rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:4px;color:#ffffffbf;font-size:.8rem;font-family:Poppins,sans-serif;transition:border-color .15s}.cq-opt-text:focus{outline:none;border-color:#4d9ba466}.cq-opt-text.is-correct{border-color:#4d9ba480;background:#4d9ba412;color:#4d9ba4}.cq-opt-remove{flex-shrink:0;width:18px;height:18px;background:none;border:1px solid rgba(255,255,255,.1);border-radius:3px;color:#ffffff40;font-size:.85rem;line-height:1;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.cq-opt-remove:hover{background:#ef44441a;border-color:#ef444459;color:#f87171}.cq-add-opt{align-self:flex-start;margin-top:.15rem;padding:.22rem .6rem;background:none;border:1px dashed rgba(77,155,164,.25);border-radius:4px;color:#4d9ba48c;font-size:.72rem;cursor:pointer;transition:border-color .15s,color .15s}.cq-add-opt:hover{border-color:#4d9ba48c;color:#4d9ba4}.cq-scale{display:flex;flex-direction:column;gap:.35rem}.cq-passing-label{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:#ffffff8c}.cq-passing-input{width:52px;padding:.28rem .5rem;background:#ffffff0d;border:1px solid rgba(139,92,246,.3);border-radius:4px;color:#c4b5fd;font-size:.85rem;font-family:Poppins,sans-serif;text-align:center}.cq-passing-input:focus{outline:none;border-color:#8b5cf68c}.cq-passing-hint{font-size:.75rem;color:#ffffff4d}.cq-hint{font-size:.7rem;color:#ffffff4d;margin:.1rem 0 0;font-style:italic}.cq-add-row{display:flex;gap:.5rem;flex-wrap:wrap}.check-add-q--scale{border-color:#8b5cf640;color:#8b5cf68c}.check-add-q--scale:hover{border-color:#8b5cf68c;color:#8b5cf6}.editor-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.25rem 1.5rem;border-top:1px solid rgba(255,255,255,.1);background:#0003}.btn-cancel{padding:.75rem 1.5rem;background:none;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#ffffffb3;font-size:.9rem;cursor:pointer;transition:all .2s}.btn-cancel:hover{border-color:#fff6;color:#fff}.btn-save{padding:.75rem 1.5rem;background:linear-gradient(135deg,#0e2f47,#4d9ba4);border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-save:hover:not(:disabled){opacity:.9}.btn-save:disabled{opacity:.6;cursor:not-allowed}.lesson-editor-item.is-published{border-left:2px solid rgba(77,155,164,.4);background:#4d9ba408}.lesson-published-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;background:#4d9ba41f;border:1px solid rgba(77,155,164,.3);border-radius:10px;font-size:.68rem;font-weight:600;color:#4d9ba4e6;letter-spacing:.04em;white-space:nowrap;flex-shrink:0;-webkit-user-select:none;user-select:none}.lesson-published-badge svg{flex-shrink:0;opacity:.85}.btn-edit-lesson.readonly-mode{background:#4d9ba414;border-color:#4d9ba440;color:#4d9ba499}.btn-edit-lesson.readonly-mode:hover,.btn-edit-lesson.readonly-mode.active{background:#4d9ba426;border-color:#4d9ba466;color:#4d9ba4}.lesson-url-editor--readonly{background:#4d9ba408;border-top-color:#4d9ba41a}.readonly-hint{font-size:.68rem;font-weight:400;font-style:italic;color:#4d9ba48c;letter-spacing:0}.lesson-editor-item.is-published input[readonly],.lesson-editor-item.is-published input:read-only{opacity:.65;cursor:default;pointer-events:none}.lesson-editor-item.is-published input[type=date]:read-only{pointer-events:none;opacity:.65}.lesson-editor-item.is-published select:disabled,.lesson-editor-item.is-published input[type=checkbox]:disabled,.lesson-editor-item.is-published input[type=radio]:disabled{opacity:.5;cursor:default}.lesson-title-input:read-only{cursor:default;border-color:#ffffff0f}.course-manager-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden}.course-manager-card .card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}.course-manager-card .header-info h3{font-size:1rem;font-weight:700;color:#fff;margin:0;letter-spacing:.1em;font-family:Poppins,sans-serif}.course-manager-card .course-count{font-size:.8rem;color:#ffffff80}.course-manager-card .btn-new-course{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#0e2f47,#4d9ba4);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:opacity .2s}.course-manager-card .btn-new-course:hover{opacity:.9}.course-manager-card .header-actions{display:flex;align-items:center;gap:.5rem}.course-manager-card .btn-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:1rem;cursor:pointer;transition:background .2s;flex-shrink:0}.course-manager-card .btn-modal-close:hover{background:#fff3}.course-manager-card .courses-list{max-height:400px;overflow-y:auto}.course-manager-card .loading-state,.course-manager-card .empty-state{padding:2rem;text-align:center;color:#ffffff80}.course-manager-card .empty-state button{margin-top:1rem;padding:.5rem 1rem;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer}.course-manager-card .course-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.05);transition:background .2s}.course-manager-card .course-item:hover{background:#ffffff08}.course-manager-card .course-item:last-child{border-bottom:none}.course-manager-card .course-item.hidden-course{opacity:.5}.course-manager-card .course-poster{width:64px;height:64px;border-radius:8px;overflow:hidden;flex-shrink:0;background:#ffffff1a}.course-manager-card .course-poster img{width:100%;height:100%;object-fit:cover}.course-manager-card .poster-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ffffff4d}.course-manager-card .course-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;align-self:center}.course-manager-card .course-info h4{font-size:.9rem;font-weight:500;color:#fff;margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-manager-card .course-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#ffffff80}.course-manager-card .hero-badge{background:linear-gradient(135deg,#0e2f47,#4d9ba4);color:#fff;padding:.125rem .5rem;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase}.course-manager-card .course-actions{display:flex;align-items:center;gap:.25rem}.course-manager-card .course-actions button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;cursor:pointer;transition:background .2s,color .2s;color:#ffffff80}.course-manager-card .course-actions button:hover{background:#ffffff1a;color:#fff}.course-manager-card .btn-visibility.visible{color:#22c55e}.course-manager-card .btn-visibility.hidden{color:#ffffff4d}.course-manager-card .btn-delete:hover{color:#ef4444;background:#ef44441a}.hero-banner-editor{width:90%;max-width:800px;max-height:80vh;background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;display:flex;flex-direction:column}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-bottom:1px solid var(--border-color);background:var(--glass-bg)}.editor-header h2{margin:0;font-size:var(--font-size-xl)}.editor-header .close-btn{width:32px;height:32px;border-radius:var(--radius-full);border:none;background:#ffffff1a;color:var(--text-primary);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.editor-header .close-btn:hover{background:#fff3}.editor-tabs{display:flex;padding:var(--space-md) var(--space-lg) 0;gap:var(--space-sm);border-bottom:1px solid var(--border-color)}.tab-btn{padding:var(--space-sm) var(--space-md);background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--transition-fast)}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.editor-content{flex:1;overflow-y:auto;padding:var(--space-lg)}.loading-state,.empty-state{text-align:center;padding:var(--space-3xl);color:var(--text-secondary)}.empty-state p{font-size:var(--font-size-lg);margin-bottom:var(--space-xs);color:var(--text-primary)}.banner-queue{display:flex;flex-direction:column;gap:var(--space-md)}.queue-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--glass-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast)}.queue-item:hover{border-color:var(--accent-primary)}.queue-order{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.order-btn{width:24px;height:24px;border:none;background:#ffffff1a;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:10px;transition:all var(--transition-fast)}.order-btn:hover:not(:disabled){background:var(--accent-primary);color:#fff}.order-btn:disabled{opacity:.3;cursor:not-allowed}.order-number{font-weight:600;font-size:var(--font-size-sm);color:var(--accent-primary)}.queue-thumbnail{width:120px;height:68px;background-size:cover;background-position:center;border-radius:var(--radius-sm);flex-shrink:0}.queue-info{flex:1;min-width:0}.type-badge{display:inline-block;padding:2px 8px;font-size:10px;font-weight:600;text-transform:uppercase;border-radius:var(--radius-sm);margin-bottom:var(--space-xs)}.type-badge.course{background:#4d9ba433;color:var(--accent-primary)}.type-badge.custom{background:#a855f733;color:#a855f7}.queue-info h4{margin:0 0 var(--space-xs) 0;font-size:var(--font-size-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cta-preview{margin:0;font-size:var(--font-size-xs);color:var(--text-secondary)}.queue-actions{display:flex;gap:var(--space-xs)}.course-hint-msg{display:flex;align-items:flex-start;gap:6px;margin-top:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-sm);color:#f59e0b;font-size:var(--font-size-xs);line-height:1.4;animation:hint-fade-in .2s ease}.course-hint-msg strong{color:#fbbf24}@keyframes hint-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.action-btn{width:32px;height:32px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-fast)}.action-btn.edit{background:#f59e0b26;color:#f59e0b}.action-btn.edit:hover{background:#f59e0b;color:#fff}.action-btn.remove{background:#ef444433;color:#ef4444}.action-btn.remove:hover{background:#ef4444;color:#fff}.banner-creator{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-lg)}.form-section{display:flex;flex-direction:column;gap:var(--space-md)}.form-section h3{margin:0;font-size:var(--font-size-lg);color:var(--text-primary)}.form-section h4{margin:0;font-size:var(--font-size-base);color:var(--accent-primary)}.form-hint{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.form-label{display:flex;flex-direction:column;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--text-secondary)}.form-input,.form-select,.form-textarea{padding:var(--space-sm) var(--space-md);background:#ffffff0d;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-family:inherit;transition:all var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent-primary);background:#ffffff14}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:60px}.form-select{cursor:pointer}.form-select option{background:var(--bg-secondary);color:var(--text-primary)}.gradient-picker{display:flex;gap:var(--space-sm);margin-top:var(--space-xs)}.gradient-option{width:48px;height:32px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.gradient-option:hover{transform:scale(1.05)}.gradient-option.selected{border-color:var(--accent-primary);box-shadow:0 0 0 2px #4d9ba44d}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-color)}.btn-cancel{padding:var(--space-sm) var(--space-lg);background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-cancel:hover{background:#ffffff0d;color:var(--text-primary)}.btn-save{padding:var(--space-sm) var(--space-lg);background:var(--accent-primary);border:none;border-radius:var(--radius-sm);color:#fff;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-save:hover:not(:disabled){background:var(--accent-secondary)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.add-from-courses{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border-color)}.add-from-courses h4{margin:0 0 var(--space-md) 0;font-size:var(--font-size-base)}.course-list{display:flex;flex-direction:column;gap:var(--space-sm)}.course-option{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--glass-bg);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.course-option span{font-size:var(--font-size-sm)}.add-btn{padding:var(--space-xs) var(--space-sm);background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.add-btn:hover{background:var(--accent-secondary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.metrics-overlay .metrics-modal{background:var(--bg-primary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);width:96vw;max-width:1320px;height:90vh;max-height:968px;display:flex;flex-direction:column;overflow:hidden}.metrics-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xl) var(--space-xl) var(--space-md);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.metrics-modal-title-group{display:flex;align-items:center;gap:var(--space-md)}.metrics-modal-icon{width:44px;height:44px;border-radius:var(--radius-md);background:#4d9ba426;display:flex;align-items:center;justify-content:center;color:#4d9ba4;flex-shrink:0}.metrics-modal-icon svg{width:22px;height:22px}.metrics-modal-subtitle{font-size:var(--font-size-sm);color:#ffffff73;margin:2px 0 0}.metrics-body-layout{display:flex;flex:1;overflow:hidden}.metrics-sidebar{width:225px;flex-shrink:0;border-right:1px solid rgba(255,255,255,.07);padding:var(--space-lg) var(--space-sm);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-lg);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.metrics-nav-group{display:flex;flex-direction:column;gap:2px}.metrics-nav-group-label{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffff4d;padding:0 var(--space-sm) var(--space-xs)}.metrics-nav-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-sm);background:transparent;border:none;border-radius:var(--radius-md);color:#ffffff8c;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:left}.metrics-nav-item:hover{background:#ffffff0f;color:var(--text-primary)}.metrics-nav-item.active{background:#4d9ba426;color:#4d9ba4}.metrics-nav-icon{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.metrics-nav-icon svg{width:16px;height:16px}.metrics-content{flex:1;overflow-y:auto;padding:var(--space-xl);scrollbar-width:thin;scrollbar-color:rgba(77,155,164,.3) transparent}.metrics-panel-fade{animation:panelFadeIn .18s ease-out}@keyframes panelFadeIn{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:translate(0)}}.metrics-updating .metrics-kpi-grid{opacity:.4;pointer-events:none;transition:opacity .15s ease-out}.metrics-section-wrap{display:flex;flex-direction:column;gap:var(--space-xl)}.metrics-analitico-wrap{display:flex;flex-direction:column;gap:var(--space-xs)}.metrics-analitico-wrap .metrics-rank-divider{margin:var(--space-xs) 0}.metrics-section-header{margin-bottom:var(--space-xs)}.metrics-section-header h3{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 var(--space-xs)}.metrics-section-header p{font-size:var(--font-size-sm);color:#fff6;margin:0}.metrics-filters{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.metrics-filter-item{display:flex;flex-direction:column;gap:4px;flex:1;min-width:180px}.metrics-filter-item label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#fff6}.metrics-filter-item select{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--text-primary);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}.metrics-filter-item select:hover{border-color:#4d9ba466}.metrics-filter-item select:focus{outline:none;border-color:#4d9ba4;box-shadow:0 0 0 2px #4d9ba426}.metrics-filter-item select:disabled{opacity:.35;cursor:not-allowed}.metrics-filter-item select optgroup{font-weight:600;font-style:normal;color:#ffffffa6}.metrics-filter-item select option{background:var(--bg-primary);color:var(--text-primary)}.metrics-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:var(--space-md)}.metrics-kpi-card{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs);transition:all var(--transition-fast)}.metrics-kpi-card:hover{border-color:#4d9ba44d;transform:translateY(-2px);box-shadow:0 6px 20px #00000040}.metrics-kpi-icon{width:36px;height:36px;border-radius:var(--radius-md);background:#4d9ba41f;display:flex;align-items:center;justify-content:center;color:#4d9ba4;margin-bottom:var(--space-xs)}.metrics-kpi-icon svg{width:18px;height:18px}.metrics-kpi-value{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;color:#4d9ba4;line-height:1}.metrics-kpi-label{font-size:.7rem;font-weight:500;color:#ffffff73;text-transform:uppercase;letter-spacing:.06em}.metrics-funnel{display:flex;flex-direction:column;gap:2px}.metrics-funnel-row{display:grid;grid-template-columns:240px 1fr 56px 52px;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-sm);border-radius:var(--radius-md);transition:background var(--transition-fast)}.metrics-funnel-row:hover{background:#ffffff08}.metrics-funnel-row.indented .metrics-funnel-label{padding-left:var(--space-xl);color:#fff6;font-size:.8rem}.metrics-funnel-label{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500}.metrics-funnel-bar-wrap{height:8px;background:#ffffff12;border-radius:var(--radius-full);overflow:hidden}.metrics-funnel-bar{height:100%;background:linear-gradient(90deg,#4d9ba4,#0e2f47);border-radius:var(--radius-full);min-width:4px;transition:width .6s cubic-bezier(.4,0,.2,1)}.metrics-funnel-row.indented .metrics-funnel-bar{background:linear-gradient(90deg,#4d9ba480,#0e2f4780)}.metrics-funnel-value{font-size:var(--font-size-sm);font-weight:700;color:var(--text-primary);text-align:right}.metrics-funnel-pct{font-size:.72rem;color:#ffffff59;text-align:right}.metrics-period-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);margin-bottom:var(--space-lg)}.metrics-period-card{border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-xs);position:relative;overflow:hidden}.metrics-period-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.metrics-period-card.alpha{background:#4d9ba41a;border:1px solid rgba(77,155,164,.25)}.metrics-period-card.alpha:before{background:linear-gradient(90deg,#4d9ba4,#2a7a83)}.metrics-period-card.omega{background:#0e2f4766;border:1px solid rgba(77,155,164,.15)}.metrics-period-card.omega:before{background:linear-gradient(90deg,#0e2f47,#4d9ba4)}.metrics-period-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#4d9ba4}.metrics-period-sub{font-size:.75rem;color:#fff6;margin-bottom:var(--space-sm)}.metrics-period-value{font-size:clamp(2rem,4vw,3.5rem);font-weight:700;color:var(--text-primary);line-height:1}.metrics-period-pct{font-size:var(--font-size-sm);color:#ffffff73}.metrics-period-total{display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-xl)}.metrics-period-total-label{font-size:var(--font-size-sm);color:#ffffff8c;font-weight:500}.metrics-period-total-value{font-size:1.6rem;font-weight:700;color:#4d9ba4}.metrics-rank-table{display:flex;flex-direction:column;gap:2px}.metrics-rank-section-title{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff9;padding:var(--space-xs) var(--space-sm) var(--space-sm);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);text-align:left}.metrics-rank-section-title:hover{color:#ffffffd9;background:#ffffff0a}.metrics-rank-title-group,.metrics-rank-section-actions{display:flex;align-items:center;gap:8px}.metrics-rank-toggle-pill{font-size:.62rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#ffffff59;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.metrics-rank-toggle-pill:hover{border-color:#ffffff40;color:#fff9}.metrics-rank-toggle-pill.active{background:#4d9ba42e;border-color:#4d9ba473;color:#4d9ba4f2}.metrics-rank-chevron{width:14px;height:14px;flex-shrink:0;opacity:.5;transition:transform .2s ease,opacity .2s ease}.metrics-rank-chevron.collapsed{transform:rotate(-90deg);opacity:.3}.metrics-rank-divider{height:1px;background:#ffffff0f;margin:var(--space-md) 0}.metrics-rank-collapse{display:grid;grid-template-rows:1fr;transition:grid-template-rows .28s ease}.metrics-rank-collapse>*{overflow:hidden;min-height:0}.metrics-rank-collapse.collapsed{grid-template-rows:0fr}.metrics-rank-group-header{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#4d9ba4b3;padding:var(--space-md) var(--space-sm) var(--space-xs);margin-top:var(--space-xs);border-bottom:1px solid rgba(77,155,164,.15)}.metrics-rank-table>div:first-child .metrics-rank-group-header{margin-top:0}.metrics-rank-group-btn{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.metrics-rank-group-btn:hover{background:#4d9ba40f}.metrics-rank-group-btn .metrics-rank-chevron{width:11px;height:11px;opacity:.4}.metrics-rank-subgroup-header.metrics-rank-group-btn .metrics-rank-chevron{width:9px;height:9px;opacity:.3}.metrics-rank-subgroup-header{font-size:.68rem;font-weight:600;color:#ffffff4d;padding:var(--space-sm) var(--space-sm) 2px var(--space-xl);letter-spacing:.06em;text-transform:uppercase}.metrics-rank-row{display:grid;grid-template-columns:28px 1fr 180px 52px 44px;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-sm);border-radius:var(--radius-md);transition:background var(--transition-fast)}.metrics-rank-row:hover{background:#ffffff08}.metrics-rank-pos{font-size:.7rem;font-weight:700;color:#fff3;text-align:center;min-width:0}.metrics-rank-label{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metrics-rank-bar-wrap{height:6px;background:#ffffff12;border-radius:var(--radius-full);overflow:hidden}.metrics-rank-bar{height:100%;background:linear-gradient(90deg,#4d9ba4,#0e2f47cc);border-radius:var(--radius-full);min-width:4px;transition:width .5s cubic-bezier(.4,0,.2,1)}.metrics-rank-value{font-size:var(--font-size-sm);font-weight:700;color:var(--text-primary);text-align:right}.metrics-rank-pct{font-size:.72rem;color:#ffffff59;text-align:right}.metrics-skeleton{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:var(--space-md)}.metrics-skeleton-block{height:120px;border-radius:var(--radius-lg);background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.metrics-error{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-2xl);text-align:center;color:#ffffff80}.metrics-error span{font-size:2rem}.metrics-error p{font-size:var(--font-size-sm)}.metrics-footer{padding:var(--space-sm) var(--space-xl);border-top:1px solid rgba(255,255,255,.06);text-align:center;flex-shrink:0}.metrics-footer span{font-size:.68rem;color:#ffffff38;letter-spacing:.03em}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.metrics-overlay .metrics-modal{width:100%;height:100%;max-height:100vh;border-radius:0}.metrics-body-layout{flex-direction:column}.metrics-sidebar{width:100%;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:var(--space-sm) var(--space-md);border-right:none;border-bottom:1px solid rgba(255,255,255,.07);gap:var(--space-xs);scrollbar-width:none}.metrics-sidebar::-webkit-scrollbar{display:none}.metrics-nav-group{flex-direction:row;gap:var(--space-xs);flex-shrink:0}.metrics-nav-group-label{display:none}.metrics-nav-item{white-space:nowrap;padding:var(--space-xs) var(--space-sm);font-size:.78rem}.metrics-rank-row{grid-template-columns:24px 1fr 52px 38px}.metrics-rank-bar-wrap,.metrics-rank-pct{display:none}.metrics-period-cards{grid-template-columns:1fr}}.course-page{min-height:100vh;background:#121212;color:#fff}.course-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:2rem}.course-not-found h1{font-size:2rem;margin-bottom:1rem}.course-not-found p{color:#ffffffb3;margin-bottom:2rem}.btn-back{padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b5cf6,#d946ef);color:#fff;border-radius:8px;text-decoration:none;font-weight:500;transition:opacity .2s}.btn-back:hover{opacity:.9}.course-hero{position:relative;min-height:65vh;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:5rem 2rem 2rem}.course-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(18,18,18,1) 0%,rgba(18,18,18,.6) 25%,transparent 55%)}.course-hero-content{position:relative;z-index:1;width:100%;max-width:1200px;margin:0 auto}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:#fffc;text-decoration:none;font-size:.9rem;margin-bottom:1.5rem;transition:color .2s}.back-link:hover{color:#fff}.course-info h1{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;margin-bottom:.75rem;line-height:1.2}.course-description{font-size:1rem;color:#ffffffd9;max-width:600px;line-height:1.6;margin-bottom:1rem}.course-meta{display:flex;gap:1.5rem;margin-bottom:1.25rem}.meta-item{display:flex;align-items:center;gap:.5rem;color:#ffffffb3;font-size:.9rem}.meta-item svg{opacity:.8}.progress-bar-container{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;max-width:400px}.progress-bar{flex:1;height:6px;background:#fff3;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#22c55e,#4ade80);border-radius:3px;transition:width .3s ease}.progress-text{font-size:.85rem;color:#ffffffb3;white-space:nowrap}.btn-main-action{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:linear-gradient(135deg,#f5a623,#e6951a);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:-1.3rem}.btn-main-action:hover{transform:translateY(-2px);box-shadow:0 8px 25px #f5a62366}.btn-main-action.enrolled{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 8px 25px #22c55e66;transform:translateY(-2px)}.btn-main-action.enrolled:hover{box-shadow:0 8px 25px #22c55e66}.btn-main-action.locked{background:#ffffff26;cursor:not-allowed;opacity:.9}.btn-main-action.locked:hover{transform:none;box-shadow:none}.locked-course-info{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.release-date{font-size:1.05rem;color:#ffffffb3;display:flex;align-items:center;gap:.5rem;margin-top:.75rem}.release-date svg{opacity:.8}.course-content{padding:2rem}.course-container{max-width:900px;margin:0 auto}.section-title{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:#fff}.inaugural-lesson-block{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;margin-bottom:1.25rem;background:color-mix(in srgb,var(--cat-color, #F5A623) 8%,transparent);border:1px solid color-mix(in srgb,var(--cat-color, #F5A623) 45%,transparent);border-radius:12px;transition:border-color .2s,background .2s}.inaugural-lesson-block:hover{background:color-mix(in srgb,var(--cat-color, #F5A623) 13%,transparent)}.inaugural-lesson-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.inaugural-label{font-size:.7rem;font-weight:700;color:var(--cat-color, #F5A623);text-transform:uppercase;letter-spacing:.06em}.inaugural-title{font-size:1rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modules-list{display:flex;flex-direction:column;gap:1rem}.module-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;transition:border-color .2s}.module-card:hover{border-color:#fff3}.module-card.expanded{border-color:#f5a623cc}.module-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1.25rem;background:none;border:none;color:#fff;cursor:pointer;text-align:left}.module-info{display:flex;flex-direction:column;gap:.25rem}.module-number{font-size:.75rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.module-title{font-size:1.1rem;font-weight:600;margin:0}.module-lessons-count{font-size:.85rem;color:#fff9}.module-actions{display:flex;align-items:center;gap:.75rem}.module-status-icon{display:flex;align-items:center}.module-status-icon.locked{color:#ffffff4d}.module-status-icon.pending{color:#ffffff80}.module-status-icon.available,.module-status-icon.done{transition:color .2s}.expand-icon{color:#fff9;transition:transform .2s}.expand-icon.rotated{transform:rotate(180deg)}.lessons-list{border-top:1px solid rgba(255,255,255,.1);padding:.5rem}.lesson-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;border-radius:8px;transition:background .2s}.lesson-item:hover:not(.locked){background:#ffffff0d;cursor:pointer}.lesson-item.locked{opacity:.5}.lesson-item.completed .lesson-icon{color:#22c55e}.lesson-icon{color:#fff9;flex-shrink:0;display:flex;align-items:center;gap:.35rem}.lesson-icon .icon-separator{color:#ffffff4d;font-size:.85rem}.lesson-icon .check-icon{color:#22c55e}.lesson-info{flex:1;display:flex;flex-direction:column;gap:.125rem}.lesson-title{font-size:.95rem;color:#fff}.lesson-duration{font-size:.8rem;color:#ffffff80}.btn-lesson-action{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;flex-shrink:0;text-decoration:none;transition:background .2s,box-shadow .2s,transform .2s}.btn-lesson-action.locked{background:#ffffff0f;color:#ffffff4d;cursor:default}.btn-lesson-action.pending{background:#ffffff14;color:#fff9;cursor:default}.btn-lesson-action.available{color:#fff;cursor:pointer}.btn-lesson-action.available:hover{transform:scale(1.15);filter:brightness(1.2);box-shadow:0 0 16px var(--cat-color, #F5A623)}.btn-lesson-action.done{background:transparent;cursor:default}@media(max-width:768px){.course-hero{min-height:45vh;padding:1.5rem;padding-top:calc(var(--navbar-height, 60px) + 1rem)}.course-content{padding:1.5rem}.module-header{padding:1rem}.module-info{flex:1;min-width:0;max-width:calc(100% - 90px)}.module-actions{flex-shrink:0}.module-title{word-break:break-word}.course-meta{flex-wrap:wrap;gap:1rem}.btn-main-action{width:100%;justify-content:center}}@media(max-width:480px){.course-hero{min-height:40vh;padding:1rem;padding-top:calc(var(--navbar-height, 60px) + .5rem)}.course-info h1{font-size:1.5rem}.course-description{font-size:.9rem}.section-title{font-size:1.25rem}}.quiz-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#050f1ed9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;animation:quizFadeIn .25s ease}@keyframes quizFadeIn{0%{opacity:0}to{opacity:1}}.quiz-modal{position:relative;background:#0f2236;border:1px solid rgba(255,255,255,.08);border-radius:20px;width:100%;max-width:480px;margin:16px;box-shadow:0 32px 80px #00000080;animation:quizSlideUp .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes quizSlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.quiz-close-btn{position:absolute;top:16px;right:16px;background:#ffffff0f;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#64748b;cursor:pointer;transition:background .2s,color .2s}.quiz-close-btn:hover{background:#ffffff1f;color:#e2e8f0}.quiz-screen{display:flex;flex-direction:column;align-items:center;padding:40px 36px;text-align:center;gap:14px}.quiz-loading{color:#64748b;font-size:14px}.quiz-spinner{width:32px;height:32px;border:3px solid rgba(77,155,164,.2);border-top-color:#4d9ba4;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.quiz-trophy{font-size:52px;line-height:1;margin-bottom:4px}.quiz-congrats-title{font-size:24px;font-weight:700;color:#e2e8f0;margin:0}.quiz-congrats-sub{font-size:14px;color:#94a3b8;line-height:1.6;margin:0;max-width:340px}.quiz-congrats-sub strong{color:#c8e6e8}.quiz-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;background:#4d9ba4;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s,opacity .2s;width:100%;justify-content:center;margin-top:4px}.quiz-btn-primary:hover:not(:disabled){background:#3d8a93}.quiz-btn-primary:disabled{opacity:.4;cursor:not-allowed}.quiz-btn-secondary{background:none;border:none;color:#475569;font-size:13px;cursor:pointer;padding:4px;text-decoration:underline;transition:color .2s}.quiz-btn-secondary:hover{color:#94a3b8}.quiz-questions{align-items:stretch;text-align:left;gap:16px}.quiz-progress-bar-wrap{width:100%;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.quiz-progress-bar-fill{height:100%;background:#4d9ba4;border-radius:2px;transition:width .4s ease}.quiz-progress-label{font-size:12px;color:#4d9ba4;font-weight:600;letter-spacing:.04em}.quiz-question-text{font-size:16px;font-weight:600;color:#e2e8f0;line-height:1.5;margin:4px 0}.quiz-attempt-row{display:flex;justify-content:flex-start;width:100%}.quiz-attempt-label{font-size:11px;font-weight:600;color:#475569;letter-spacing:.04em;text-transform:uppercase}.quiz-options{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.quiz-option{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#94a3b8;font-size:14px;text-align:left;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.quiz-option:hover{background:#4d9ba414;border-color:#4d9ba44d;color:#e2e8f0}.quiz-option.selected{background:#4d9ba426;border-color:#4d9ba4;color:#e2e8f0}.quiz-exit-warning{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:#050f1ee0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:20px;display:flex;align-items:center;justify-content:center;animation:quizFadeIn .18s ease}.quiz-exit-warning-content{display:flex;flex-direction:column;align-items:center;gap:20px;padding:32px 28px;text-align:center;max-width:320px}.quiz-exit-warning-text{font-size:15px;color:#94a3b8;line-height:1.6;margin:0}.quiz-exit-warning-text strong{color:#e2e8f0}.quiz-exit-warning-actions{display:flex;flex-direction:column;gap:10px;width:100%}.quiz-btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:#f8717126;border:1px solid rgba(248,113,113,.35);color:#fca5a5;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s;width:100%}.quiz-btn-danger:hover{background:#f8717140;border-color:#f8717199}.quiz-result-score{display:flex;align-items:baseline;gap:4px;margin-bottom:4px}.quiz-score-num{font-size:56px;font-weight:800;color:#4d9ba4;line-height:1}.quiz-score-total{font-size:24px;color:#475569}.quiz-result-title{font-size:22px;font-weight:700;color:#e2e8f0;margin:0}.quiz-result-sub{font-size:14px;color:#94a3b8;margin:0}.quiz-result-sub strong{color:#c8e6e8}.quiz-result-actions{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.quiz-btn-retry{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:#4d9ba41a;border:1px solid rgba(77,155,164,.35);color:#4d9ba4;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s;width:100%}.quiz-btn-retry:hover{background:#4d9ba433;border-color:#4d9ba499}.quiz-attempts-remaining{font-size:12px;color:#475569}.quiz-result{align-items:stretch;text-align:center}.quiz-summary-list{list-style:none;padding:0;margin:4px 0 8px;display:flex;flex-direction:column;gap:6px;width:100%;text-align:left}.quiz-summary-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:8px;border-left:3px solid transparent;background:#ffffff08}.quiz-summary-row.correct{border-left-color:#4ade80;background:#4ade800d}.quiz-summary-row.incorrect{border-left-color:#f87171;background:#f871710d}.quiz-summary-indicator{flex-shrink:0;margin-top:2px;display:flex;align-items:center}.quiz-summary-row.correct .quiz-summary-indicator{color:#4ade80}.quiz-summary-row.incorrect .quiz-summary-indicator{color:#f87171}.quiz-summary-content{display:flex;flex-direction:column;gap:2px;min-width:0}.quiz-summary-question{font-size:12px;color:#94a3b8;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.quiz-summary-answer{font-size:12px;font-weight:600;color:#cbd5e1;line-height:1.3}.quiz-summary-row.correct .quiz-summary-answer{color:#86efac}.quiz-summary-row.incorrect .quiz-summary-answer{color:#fca5a5}.course-player{min-height:100vh;background:#0a1a24;display:flex;flex-direction:column;color:#e2e8f0;font-family:inherit}.player-header{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 20px;background:#0e2f47;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;gap:16px;z-index:50}.player-back{display:flex;align-items:center;gap:6px;color:#94a3b8;text-decoration:none;font-size:13px;font-weight:500;transition:color .18s;white-space:nowrap;flex-shrink:0}.player-back:hover{color:#e2e8f0}.player-header-course{display:flex;flex-direction:column;align-items:center;gap:1px;overflow:hidden;flex:1;min-width:0}.player-course-name{font-size:13px;font-weight:600;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.player-progress-text{font-size:11px;color:#64748b}.player-logo{flex-shrink:0}.player-logo img{height:34px;width:auto;display:block}.player-body{display:grid;grid-template-columns:1fr 340px;flex:1;overflow:hidden;transition:grid-template-columns .3s ease}.player-main{display:flex;flex-direction:column;overflow-y:auto;min-width:0}.player-video-wrapper{position:relative;width:80%;margin:0 auto;aspect-ratio:16 / 9;background:#000;flex-shrink:0}.player-iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none}.completed-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#081424e0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.completed-overlay-card{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:36px 40px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:16px;max-width:360px}.completed-overlay-icon{width:64px;height:64px;background:#4ade801a;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.completed-overlay-title{font-size:18px;font-weight:700;color:#e2e8f0;margin:0}.completed-overlay-sub{font-size:14px;color:#64748b;margin:0}.completed-overlay-actions{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:8px}.completed-btn-rewatch{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;background:#4d9ba4;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.completed-btn-rewatch:hover{background:#3d8a93}.completed-btn-course{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:transparent;color:#94a3b8;border:1px solid rgba(255,255,255,.12);border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,color .2s}.completed-btn-course:hover{background:#ffffff0d;color:#e2e8f0}.yt-mouse-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;cursor:pointer}.custom-controls{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:14px;padding:12px 16px;background:#1e1e1eeb;opacity:0;transition:opacity .3s;z-index:10;pointer-events:none}.custom-controls.visible{opacity:1;pointer-events:auto}.cc-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#fff;cursor:pointer;padding:6px;border-radius:4px;transition:transform .15s,opacity .15s;opacity:.9;flex-shrink:0}.cc-btn svg{width:22px;height:22px}.cc-btn:hover{opacity:1;transform:scale(1.15)}.cc-progress{flex:1;height:5px;background:#ffffff40;border-radius:3px;cursor:pointer;position:relative;transition:height .15s}.cc-progress:hover{height:8px}.cc-progress-bar{height:100%;background:#e74c3c;border-radius:2px;transition:width .3s linear;position:relative}.cc-progress-bar:after{content:"";position:absolute;right:-5px;top:50%;transform:translateY(-50%) scale(0);width:10px;height:10px;background:#e74c3c;border-radius:50%;transition:transform .15s}.cc-progress:hover .cc-progress-bar:after{transform:translateY(-50%) scale(1)}.cc-time{font-size:13px;color:#ffffffd9;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.player-video-wrapper:fullscreen{width:100%;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;background:#000}.player-video-wrapper:fullscreen .player-iframe{position:relative;width:100%;height:100%}.player-video-wrapper.is-fullscreen-mobile{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;aspect-ratio:unset;z-index:9999;background:#000;display:flex;align-items:center;justify-content:center;margin:0}.player-video-wrapper.is-fullscreen-mobile .player-iframe{position:relative;width:100%;height:56.25vw;max-height:100%}.player-video-wrapper.is-fullscreen-mobile .yt-mouse-overlay,.player-video-wrapper.is-fullscreen-mobile .custom-controls,.player-video-wrapper.is-fullscreen-mobile .completed-overlay{position:absolute}.player-info{padding:24px 32px;display:flex;flex-direction:column;gap:20px;border-bottom:1px solid rgba(255,255,255,.06)}.player-module-label{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#4d9ba4}.player-lesson-title{font-size:clamp(1rem,2vw,1.4rem);font-weight:700;color:#f1f5f9;margin:6px 0 0;line-height:1.3}.player-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;color:#94a3b8;gap:1rem}.player-no-video{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#64748b;font-size:.9rem}.player-sidebar{display:flex;flex-direction:column;background:#0d2035;border-left:1px solid rgba(255,255,255,.07);overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.sidebar-title{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#64748b}.sidebar-modules{overflow-y:auto;flex:1;padding-bottom:24px}.sidebar-module{border-bottom:1px solid rgba(255,255,255,.05)}.sidebar-module--inaugural{border-bottom:1px solid rgba(251,191,36,.15)}.sidebar-module-inaugural-header{padding:12px 20px 8px;background:#fbbf240d}.sidebar-inaugural-label{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#fbbf24}.sidebar-module--inaugural .sidebar-lesson{border-left-color:transparent}.sidebar-module--inaugural .sidebar-lesson.is-active{border-left-color:#fbbf24;background:#fbbf2412}.sidebar-module-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 20px 12px;background:#0d2035;border:none;cursor:pointer;text-align:left;position:sticky;top:0;z-index:1;transition:background .15s}.sidebar-module-header:hover{background:#ffffff0a}.sidebar-module-header.is-open{background:#4d9ba40f}.sidebar-module-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.module-chevron{flex-shrink:0;color:#475569;transition:transform .25s ease;margin-left:8px}.module-chevron.open{transform:rotate(180deg)}.sidebar-module-num{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#4d9ba4;margin-bottom:3px}.sidebar-module-title{font-size:14px;font-weight:600;color:#94a3b8;line-height:1.35}.sidebar-lessons{list-style:none;padding:0;margin:0;overflow:hidden;max-height:9999px;transition:max-height .35s ease}.sidebar-lessons--collapsed{max-height:0}.sidebar-lesson{display:flex;align-items:flex-start;gap:12px;width:100%;padding:10px 20px;background:none;border:none;text-align:left;cursor:pointer;transition:background .15s;border-left:3px solid transparent;color:#94a3b8;font-size:14px}.sidebar-lesson:hover{background:#ffffff0a;color:#e2e8f0}.sidebar-lesson.is-active{border-left-color:#4d9ba4;background:#4d9ba414;color:#e2e8f0}.sidebar-lesson.is-done{color:#4ade80}.sidebar-lesson.is-done .lesson-title{opacity:.7}.sidebar-lesson.is-locked{opacity:.4;cursor:not-allowed}.sidebar-lesson.is-locked:hover{background:none;color:#94a3b8}.sidebar-lesson.is-locked .lesson-indicator{color:#64748b}.sidebar-lesson.is-date-locked{opacity:.55}.sidebar-lesson.is-date-locked .lesson-indicator{color:#f59e0b}.sidebar-lesson.is-date-locked:hover{background:#f59e0b0d;color:#94a3b8}.lesson-indicator{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;margin-top:1px}.lesson-num{font-size:11px;color:#475569}.lesson-title{font-size:12.5px;line-height:1.4}@media(max-width:768px){.player-header-course{display:none}.player-body{display:flex;flex-direction:column;height:calc(100vh - 56px);overflow:hidden;padding:0}.player-main{flex-shrink:0;overflow-y:visible;display:flex;flex-direction:column;padding-top:16px}.player-video-wrapper{width:95%;margin:0 auto}.player-info{padding:24px 20px 16px;position:relative;z-index:1}.player-sidebar{flex:1;min-height:0;overflow-y:auto;border-left:none;border-top:1px solid rgba(255,255,255,.1);background:#0d2035;box-shadow:0 -4px 16px #0000004d;position:static;max-height:none}.completed-overlay-card{padding:20px 24px;gap:8px;max-width:280px}.completed-overlay-icon{width:44px;height:44px;margin-bottom:0}.completed-overlay-icon svg{width:28px;height:28px}.completed-overlay-title{font-size:15px}.completed-overlay-sub{font-size:12px}.completed-overlay-actions{gap:6px;margin-top:4px}.completed-btn-rewatch,.completed-btn-course{padding:8px 16px;font-size:13px}}.player-lesson-actions{display:flex;align-items:center;gap:10px;padding:12px 3px 16px;border-top:1px solid rgba(255,255,255,.05);margin-top:4px}.lesson-action-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.lesson-action-btn:hover{background:#4d9ba41f;border-color:#4d9ba466;color:#fff}.lesson-action-btn svg{flex-shrink:0;opacity:.8}.lesson-action-btn.locked{color:#fff;border-color:#ffffff0f;cursor:not-allowed}.lesson-action-btn.locked:hover{background:#ffffff08;border-color:#ffffff14;color:#fff}.quiz-btn-wrap{position:relative;display:inline-flex}.quiz-locked-toast{position:absolute;bottom:calc(100% + 8px);left:0;display:flex;align-items:center;gap:6px;background:#1e293b;border:1px solid rgba(255,255,255,.1);color:#94a3b8;font-size:12px;padding:8px 12px;border-radius:8px;white-space:nowrap;pointer-events:none;animation:toastFade .2s ease;z-index:10;box-shadow:0 8px 24px #0000004d}.quiz-locked-toast:after{content:"";position:absolute;top:100%;left:16px;border:5px solid transparent;border-top-color:#1e293b}@keyframes toastFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
