@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.explore-page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.explore-page-heading h1{margin:4px 0 8px;font-size:clamp(30px,4vw,44px)}.explore-page-heading p{color:var(--muted);margin:0}.explore-page-heading .course-grid-search{flex:0 0 min(100%,430px);width:min(100%,430px)}.catalog-content-grid{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:24px;display:grid}.catalog-results-column{min-width:0}.catalog-content-grid .filters{position:sticky;top:24px}@media (width<=1050px){.catalog-content-grid{grid-template-columns:220px minmax(0,1fr)}}@media (width<=820px){.explore-page-heading{flex-direction:column;align-items:stretch}.explore-page-heading .course-grid-search{flex-basis:auto;width:100%}.catalog-content-grid{grid-template-columns:1fr}.catalog-content-grid .filters{position:static}}.publicidad-admin-content{width:min(100%,1540px)}.publicidad-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.publicidad-heading>strong{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border-radius:10px;padding:10px 14px}.publicidad-filtros{grid-template-columns:minmax(260px,1fr) 180px 180px;gap:16px;margin-bottom:18px;padding:18px;display:grid}.publicidad-filtros label{color:#334155;gap:7px;font-size:13px;font-weight:700;display:grid}.publicidad-filtros input,.publicidad-filtros select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:9px;min-height:44px;padding:0 12px}.publicidad-tabla-contenedor{overflow-x:auto}.publicidad-tabla{border-collapse:collapse;width:100%;min-width:1120px}.publicidad-tabla th,.publicidad-tabla td{text-align:left;vertical-align:middle;border-bottom:1px solid #e2e8f0;padding:13px 12px}.publicidad-tabla th{color:#475569;text-transform:uppercase;background:#f8fafc;font-size:12px}.publicidad-tabla td{color:#334155;font-size:14px}.publicidad-tabla td small{color:#64748b;margin-top:3px;display:block}.publicidad-fila.estado-acepto{background:#f0fdf4}.publicidad-fila.estado-rechazo{background:#fff1f2}.publicidad-estado{color:#475569;background:#f1f5f9;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.publicidad-estado.pendiente{color:#92400e;background:#fef3c7}.publicidad-estado.acepto{color:#166534;background:#dcfce7}.publicidad-estado.rechazo{color:#991b1b;background:#fee2e2}.publicidad-acciones{align-items:center;gap:7px;display:flex}.publicidad-acciones button{border-radius:8px;min-height:36px;font-weight:800}.publicidad-contactar{color:#fff;background:#16a34a;padding:0 12px}.publicidad-aceptar,.publicidad-rechazar{color:#fff;width:36px;padding:0}.publicidad-aceptar{background:#15803d}.publicidad-rechazar{background:#dc2626}.publicidad-acciones button:disabled{opacity:.55;cursor:not-allowed}.publicidad-vacio{text-align:center!important;color:#64748b!important;padding:34px!important}.publicidad-paginacion{justify-content:flex-end;align-items:center;gap:12px;margin-top:18px;display:flex}.publicidad-paginacion button{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:9px 14px;font-weight:700}.publicidad-paginacion button:disabled{opacity:.45}@media (width<=900px){.publicidad-heading{display:grid}.publicidad-filtros{grid-template-columns:1fr}.publicidad-paginacion{justify-content:center}}.publicidad-whatsapp-panel{z-index:1200;background:#fff;border:1px solid #bbf7d0;border-radius:16px;width:min(520px,100vw - 48px);padding:20px;position:fixed;bottom:24px;right:24px;box-shadow:0 20px 45px #0f172a38}.publicidad-whatsapp-cerrar{color:#475569;background:#f1f5f9;border:0;border-radius:50%;width:34px;height:34px;font-weight:800;position:absolute;top:10px;right:10px}.publicidad-whatsapp-info{gap:4px;padding-right:36px;display:grid}.publicidad-whatsapp-info strong{color:#14532d;font-size:17px}.publicidad-whatsapp-info span{color:#64748b;font-size:13px}.publicidad-whatsapp-info p{color:#334155;margin:8px 0 14px;line-height:1.5}.publicidad-whatsapp-abrir{color:#fff;background:#16a34a;border:0;border-radius:10px;width:100%;min-height:46px;font-weight:800}.publicidad-whatsapp-espera,.publicidad-whatsapp-ayuda{text-align:center;border-radius:9px;margin-top:12px;padding:10px 12px;font-size:13px}.publicidad-whatsapp-espera{color:#92400e;background:#fef3c7;font-weight:800}.publicidad-whatsapp-ayuda{color:#166534;background:#f0fdf4}@media (width<=600px){.publicidad-whatsapp-panel{width:calc(100vw - 24px);bottom:12px;right:12px}}:root{--navy:#0f1b2d;--navy-2:#06162b;--blue:#1d4ed8;--blue-2:#3b82f6;--light:#f5f7fa;--white:#fff;--text:#111827;--muted:#6b7280;--border:#e5e7eb;--green:#16a34a;--orange:#f97316;--purple:#7c3aed;--shadow:0 10px 30px #0f1b2d17}*{box-sizing:border-box}body{background:var(--light);color:var(--text);margin:0;font-family:Inter,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}.logo{color:#fff;text-align:center}.logo-mark{letter-spacing:-7px;font-size:54px;font-weight:800;line-height:.9}.logo-subtitle{letter-spacing:3px;margin-top:8px;font-size:14px}.logo-dark{color:var(--navy)}.logo-small{text-align:left}.logo-small .logo-mark{font-size:44px}.logo-small .logo-subtitle{letter-spacing:2px;font-size:10px}.icon{place-items:center;width:24px;height:24px;font-weight:700;display:inline-grid}.primary-button,.dark-button{background:linear-gradient(135deg, var(--blue), #0b45c6);color:#fff;border-radius:8px;padding:12px 18px;font-weight:700;box-shadow:0 10px 22px #1d4ed838}.dark-button{background:var(--navy)}.outline-button,.secondary-button{border:1px solid var(--blue);color:var(--blue);background:#fff;border-radius:8px;margin-top:15px;padding:12px 18px;font-weight:700;width:100%!important;height:55px!important}.secondary-button{color:#fff;background:0 0;border-color:#ffffffb3}.plain-link{color:var(--blue);font-weight:700}.panel{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:16px}.status-box{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:14px;margin:12px 0;padding:18px}.status-error{color:#991b1b;background:#fff7f7;border-color:#fecaca}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;background:linear-gradient(#071a31,#031224);flex-direction:column;width:256px;height:100vh;padding:28px 16px;display:flex;position:sticky;top:0}.sidebar nav{gap:10px;margin-top:40px;display:grid}.sidebar button{color:#f8fafc;border-radius:10px;align-items:center;gap:12px;width:100%;padding:14px 16px;font-weight:600;display:flex}.sidebar button.active{background:linear-gradient(135deg,#173b88,#1d4ed8)}.sidebar-bottom{border-top:1px solid #ffffff14;gap:10px;margin-top:auto;padding-top:18px;display:grid}.main-area{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--border);background:#fff;align-items:center;gap:28px;height:88px;padding:0 42px;display:flex}.menu-button{font-size:24px}.search-box{border:1px solid var(--border);width:min(520px,48vw);height:48px;color:var(--muted);border-radius:10px;align-items:center;gap:10px;padding:0 16px;display:flex}.search-box input{background:0 0;border:0;outline:0;width:100%}.topbar-actions{align-items:center;gap:18px;margin-left:auto;display:flex}.notification{font-size:22px;position:relative}.notification span{background:var(--blue);color:#fff;border-radius:99px;padding:2px 6px;font-size:12px;position:absolute;top:-8px;right:-6px}.user-chip{align-items:center;gap:12px;display:flex}.avatar,.table-avatar{background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:inline-grid}.user-chip small{color:var(--muted);margin-top:2px;display:block}.content{padding:34px 42px}.content h1{margin:0 0 8px;font-size:38px}.page-subtitle{color:#374151;margin:0 0 28px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:24px;display:grid}.stat-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:14px;align-items:center;gap:18px;min-height:142px;padding:26px;display:flex}.stat-icon{border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.stat-blue .stat-icon{color:var(--blue);background:#dbeafe}.stat-green .stat-icon{color:var(--green);background:#dcfce7}.stat-purple .stat-icon{color:var(--purple);background:#ede9fe}.stat-orange .stat-icon{color:var(--orange);background:#ffedd5}.stat-content p{color:#374151;margin:0 0 8px}.stat-content strong{font-size:28px}.stat-content span{color:var(--green);margin-top:12px;font-size:13px;display:block}.sparkline{align-items:end;gap:4px;height:40px;margin-left:auto;display:flex}.sparkline i{background:var(--blue);border-radius:4px;width:5px}.sparkline i:first-child{height:12px}.sparkline i:nth-child(2){height:24px}.sparkline i:nth-child(3){height:18px}.sparkline i:nth-child(4){height:10px}.sparkline i:nth-child(5){height:22px}.admin-grid{grid-template-columns:1.4fr .9fr .9fr;gap:22px;display:grid}.section-title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;padding-bottom:18px;display:flex}.section-title h2,.form-panel h2{align-items:center;gap:10px;margin:0;font-size:20px;display:flex}.user-table-card,.form-panel{padding:24px}.user-table{border-collapse:collapse;width:100%}.user-table th{text-align:left;color:var(--muted);padding:14px 8px;font-size:13px;font-weight:600}.user-table td{border-top:1px solid var(--border);padding:14px 8px;font-size:14px}.user-table td:first-child{align-items:center;gap:10px;font-weight:700;display:flex}.table-avatar{color:#111827;background:#e5e7eb;width:34px;height:34px}.role-pill,.status-pill{color:#0b45c6;background:#e8f1ff;border-radius:8px;padding:7px 11px;font-size:12px;font-weight:700}.status-pill.activo{color:#15803d;background:#dcfce7}.status-pill.inactivo{color:#b91c1c;background:#fee2e2}.user-table td button{border:1px solid var(--border);border-radius:8px;margin-right:8px;padding:7px}.align-right{margin:20px 0 0 auto;display:block}.form-panel form{gap:18px;margin-top:22px;display:grid}.form-panel label,.login-card label{font-size:14px;font-weight:700}.form-panel input,.form-panel select,.login-card input{color:#111827;background:#fff;border:1px solid #d9dee8;border-radius:8px;width:100%;height:46px;margin-top:8px;padding:0 14px}.two-cols{grid-template-columns:1fr 1fr;gap:18px;display:grid}.recent-list{border-top:1px solid var(--border);margin-top:22px;padding-top:14px}.recent-list h3{font-size:14px}.recent-list p{border-bottom:1px solid var(--border);gap:10px;margin:0;padding:10px 0;font-size:13px;display:flex}footer{border-top:1px solid var(--border);color:var(--muted);padding:22px 42px;font-size:13px}footer span{float:right}.login-page{background:#fff;grid-template-columns:.8fr 1fr;min-height:100vh;display:grid}.login-brand{color:#fff;background:radial-gradient(circle at 70% 20%,#3b82f640,#0000 35%),linear-gradient(135deg,#071a31,#031225);padding:72px 88px;position:relative;overflow:hidden}.brand-kicker{align-items:center;gap:14px;font-weight:700;display:flex}.login-brand h1{letter-spacing:-2px;margin:72px 0 24px;font-size:56px;line-height:1.08}.login-brand h1 strong{color:#4f86ff;display:block}.login-brand>p{color:#cbd5e1;max-width:600px;font-size:20px;line-height:1.55}.brand-features{gap:28px;margin-top:44px;display:grid}.brand-features p{align-items:center;gap:22px;margin:0;display:flex}.brand-features .icon{background:#1d4ed859;border-radius:16px;width:64px;height:64px}.brand-features b{color:#fff;margin-bottom:4px;display:block}.brand-features span{color:#cbd5e1;line-height:1.45}.login-form-wrap{background:radial-gradient(circle at 90% 5%,#1d4ed817,#0000 18%),#fff;place-items:center;padding:48px;display:grid}.login-card{border:1px solid var(--border);text-align:center;background:#fff;border-radius:24px;width:min(620px,100%);padding:44px 56px;box-shadow:0 20px 55px #0f1b2d1f}.login-card h1{margin:22px 0 8px;font-size:30px}.login-card p{color:#1f2a44;margin:0 0 30px}.login-card label{text-align:left;margin-top:18px;display:block}.input-icon{color:#64748b;border:1px solid #d9dee8;border-radius:8px;align-items:center;height:54px;margin-top:8px;padding:0 14px;display:flex}.input-icon input{border:0;outline:0;margin:0}.login-options{color:#1f2a44;justify-content:space-between;margin:20px 0;display:flex}.login-options label{margin:0;font-weight:500}.login-options button{color:var(--blue)}.login-card .primary-button,.login-card .outline-button{width:100%;margin-top:12px}.social-separator{color:#64748b;align-items:center;gap:16px;margin:28px 0;display:flex}.social-separator span{background:var(--border);flex:1;height:1px}.social-buttons{grid-template-columns:1fr 1fr;gap:14px;display:grid}.social-buttons button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:14px;font-weight:600}.form-error{color:#991b1b;text-align:left;background:#fee2e2;border-radius:8px;padding:12px}.student-shell .content{max-width:1500px;margin:0 auto}.course-section{margin-bottom:20px;padding:24px}.course-grid{grid-template-columns:repeat(4,1fr);gap:22px;display:grid}.course-card{border:1px solid var(--border);background:#fff;border-radius:18px;transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden;box-shadow:0 10px 28px #0f1b2d14}.course-card:hover{border-color:#1d4ed859;transform:translateY(-4px);box-shadow:0 18px 42px #0f1b2d24}.course-cover{color:#fff;background:radial-gradient(circle at 85% 15%,#3b82f673,#0000 28%),linear-gradient(135deg,#06162b,#103a68);flex-direction:column;justify-content:space-between;padding:16px;display:flex;position:relative}.course-cover-top{z-index:1;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:relative}.course-status-badge,.course-price-badge{border-radius:999px;align-items:center;min-height:28px;padding:0 11px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.course-status-badge.new{color:#fff;background:#3b82f6f2}.course-status-badge.progress{color:#111827;background:#f59e0bf2}.course-status-badge.completed{color:#fff;background:#16a34af2}.course-price-badge{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff24;border:1px solid #ffffff38}.course-price-badge.free{background:#16a34aeb;border-color:#16a34aeb}.course-price-badge.paid{background:#ffffff29}.course-cover-content{z-index:1;position:relative}.course-language{color:#bfdbfe;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:12px;font-weight:900;display:inline-flex}.course-cover strong{text-transform:uppercase;letter-spacing:-.02em;font-size:19px;line-height:1.15;display:block}.course-cover small{color:#dbeafe;text-transform:capitalize;margin-top:10px;font-weight:700;display:inline-flex}.course-body{padding:18px}.course-body h3{color:var(--text);margin:0 0 8px;font-size:18px;line-height:1.25}.course-body p{color:#4b5563;-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:66px;margin:0 0 16px;line-height:1.5;display:-webkit-box;overflow:hidden}.course-meta-row{color:#4b5563;flex-wrap:wrap;align-items:center;gap:10px;min-height:42px;font-size:13px;display:flex}.course-meta-row span{background:#f1f5f9;border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-weight:800;display:inline-flex}.course-meta-row span:first-child{color:#b45309;background:#fffbeb}.course-meta-row strong{color:var(--blue);margin-left:auto;font-size:16px;font-weight:900}.course-progress-block{gap:8px;margin-top:4px;display:grid}.course-progress-info{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;font-weight:800;display:flex}.course-progress-info strong{color:var(--blue)}.progress{background:#d8deea;border-radius:999px;height:8px;overflow:hidden}.progress span{background:linear-gradient(90deg, var(--blue), var(--blue-2));border-radius:999px;height:100%;display:block}.course-action-button{width:100%;min-height:46px;color:var(--blue);background:#eff6ff;border-radius:12px;justify-content:center;align-items:center;gap:9px;margin-top:18px;font-weight:900;transition:background .18s,color .18s,transform .18s;display:flex}.course-action-button span{transition:transform .18s}.course-action-button:hover{background:var(--blue);color:#fff}.course-action-button:hover span{transform:translate(3px)}.course-card-compact .course-cover{min-height:120px}.course-card-compact .course-body p{-webkit-line-clamp:2;min-height:auto}.motivation-banner b{font-size:20px;display:block}.motivation-banner span{color:#dbeafe}.motivation-banner button{background:var(--blue);color:#fff;border-radius:8px;padding:13px 22px;font-weight:800}.catalog-page{background:#fff;min-height:100vh}.catalog-nav{border-bottom:1px solid var(--border);align-items:center;gap:48px;height:88px;padding:0 38px;display:flex}.catalog-nav nav{gap:28px;display:flex}.catalog-nav nav button{color:#1f2937;height:88px;font-weight:600}.catalog-nav nav button.active{color:var(--blue);border-bottom:3px solid var(--blue)}.catalog-nav .topbar{border:0;flex:1;height:auto;padding:0}.catalog-layout{width:100%;display:block}.catalog-layout>section{padding:24px 38px}.catalog-hero{color:#fff;background:radial-gradient(circle at 70% 30%,#3b82f659,#0000 26%),linear-gradient(135deg,#06162b,#071a31);border-radius:14px;justify-content:space-between;gap:40px;min-height:330px;padding:38px 52px;display:flex}.catalog-hero h1{max-width:580px;margin:20px 0 14px;font-size:46px;line-height:1.1}.catalog-hero h1 strong{color:#3b82f6;display:block}.catalog-hero p{max-width:600px;font-size:18px;line-height:1.5}.catalog-hero ul{gap:24px;min-width:330px;margin:30px 0 0;padding:0;list-style:none;display:grid}.catalog-hero li{grid-template-columns:56px 1fr;column-gap:16px;display:grid}.catalog-hero li b{background:#3b82f630;border-radius:14px;grid-row:span 2;place-items:center;font-size:24px;display:grid}.catalog-hero li small{color:#dbeafe;margin-top:6px}.hero-actions{gap:20px;margin-top:28px;display:flex}.hero-actions button{background:var(--blue);color:#fff;border-radius:8px;padding:14px 24px;font-weight:800}.category-pills{flex-wrap:wrap;gap:18px;margin:18px 0;display:flex}.category-pills button{border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px 20px;font-weight:700}.category-pills button:first-child{color:var(--blue);border-color:var(--blue)}.catalog-content{grid-template-columns:240px 1fr;gap:22px;display:grid}.filters{padding:18px}.filters h3{justify-content:space-between;display:flex}.filters h3 button{color:var(--blue)}.filters fieldset{border:0;border-top:1px solid var(--border);margin:16px 0 0;padding:16px 0 0}.filters legend{font-weight:800}.filters label{color:#374151;margin:12px 0;display:block}.filters .dark-button{width:100%;margin-top:16px}.catalog-toolbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.catalog-toolbar select{border:1px solid var(--border);background:#fff;border-radius:8px;padding:10px 14px}.catalog-grid{grid-template-columns:repeat(4,1fr)}.catalog-grid .course-cover{height:110px}.catalog-grid .course-cover strong{font-size:15px}.catalog-grid .course-badge{left:12px;right:auto}.style-guide{border-left:1px solid var(--border);background:#fbfcff;padding:30px 38px}.style-guide h2{font-size:20px}.style-guide h3{border-top:1px solid #cbd5e1;margin-top:22px;padding-top:18px;font-size:14px}.style-guide p{color:#1f2937;align-items:center;gap:18px;display:flex}.style-guide p i{background:var(--navy);border-radius:4px;width:42px;height:32px}.style-guide p:nth-of-type(2) i{background:var(--blue)}.style-guide p:nth-of-type(3) i{background:var(--blue-2)}.style-guide p:nth-of-type(4) i{background:var(--light)}.style-guide p:nth-of-type(5) i{border:1px solid var(--border);background:#fff}.style-guide p:nth-of-type(6) i{background:var(--text)}.style-guide strong{font-size:58px;display:block}.style-guide li{color:#374151;margin:10px 0}@media (width<=1300px){.stats-grid,.course-grid,.catalog-grid{grid-template-columns:repeat(2,1fr)}.admin-grid,.catalog-layout{grid-template-columns:1fr}.style-guide{display:none}.login-page{grid-template-columns:1fr}.login-brand{display:none}}@media (width<=800px){.sidebar{display:none}.topbar{padding:0 18px}.search-box{display:none}.content{padding:24px 18px}.stats-grid,.course-grid,.catalog-grid,.catalog-content{grid-template-columns:1fr}.catalog-nav{gap:16px;padding:0 18px}.catalog-nav nav{display:none}.catalog-hero{padding:28px;display:block}.social-buttons,.two-cols{grid-template-columns:1fr}.login-card{padding:30px 22px}.admin-grid{display:block}.form-panel,.user-table-card{margin-bottom:18px;overflow:auto}}.catalog-search{border:1px solid var(--border);width:min(520px,34vw);min-width:320px;height:48px;color:var(--muted);background:#f8fafc;border-radius:10px;align-items:center;gap:10px;margin-left:auto;padding:0 16px;display:flex}.catalog-search input{background:0 0;border:0;outline:0;width:100%}.public-actions{align-items:center;gap:18px;margin-left:18px;display:flex}.login-nav-button{background:linear-gradient(135deg, var(--blue), #0b45c6);color:#fff;border-radius:10px;padding:12px 22px;font-weight:800;box-shadow:0 10px 22px #1d4ed838}.public-user{background:0 0}.public-user .avatar{width:42px;height:42px}@media (width<=800px){.catalog-search{display:none}.public-actions{margin-left:auto}.login-nav-button{padding:10px 16px}}.profile-layout{grid-template-columns:320px 1fr;gap:24px;margin-top:26px;display:grid}.profile-card,.profile-info-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px}.profile-card{text-align:center;align-self:start;padding:32px 24px}.profile-avatar{background:linear-gradient(135deg, var(--navy), var(--blue));color:#fff;border-radius:50%;place-items:center;width:96px;height:96px;margin:0 auto 18px;font-size:42px;font-weight:800;display:grid}.profile-card h2{color:var(--text);margin:0;font-size:24px}.profile-card p{color:var(--muted);margin:8px 0 24px;font-weight:600}.profile-card button{background:var(--blue);color:#fff;border-radius:12px;width:100%;height:46px;font-weight:800}.profile-info-card{padding:26px}.profile-info-card+.profile-info-card{grid-column:2}.section-title{align-items:center;gap:12px;margin-bottom:22px;display:flex}.section-title svg{color:var(--blue)}.section-title h2{color:var(--text);margin:0;font-size:20px}.profile-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.profile-info-grid div{border:1px solid var(--border);background:#f8fafc;border-radius:14px;min-height:82px;padding:16px}.profile-info-grid span{color:var(--muted);margin-bottom:8px;font-size:13px;display:block}.profile-info-grid strong{color:var(--text);font-size:16px;display:block}.profile-security-box{border:1px solid var(--border);background:#f8fafc;border-radius:14px;padding:18px}.profile-security-box p{color:var(--muted);margin:0 0 18px;line-height:1.6}.secondary-button{border:1px solid var(--blue);height:44px;color:var(--blue);background:#fff;border-radius:12px;padding:0 18px;font-weight:800}@media (width<=900px){.profile-layout{grid-template-columns:1fr}.profile-info-card+.profile-info-card{grid-column:auto}.profile-info-grid{grid-template-columns:1fr}}.course-generator-panel{max-width:860px;padding:30px}.course-generator-panel .section-title{align-items:flex-start;gap:14px;margin-bottom:26px;display:flex}.course-generator-panel .section-title .icon{width:46px;height:46px;color:var(--blue);background:#1d4ed81a;border-radius:14px;place-items:center;font-size:22px;display:grid}.course-generator-panel .section-title h2{color:var(--text);margin:0 0 6px;font-size:24px}.course-generator-panel .section-title p{color:var(--muted);margin:0;line-height:1.5}.course-generator-form{gap:20px;display:grid}.course-generator-form label{color:var(--text);gap:9px;font-size:14px;font-weight:800;display:grid}.course-generator-form select,.course-generator-form textarea{border:1px solid var(--border);width:100%;color:var(--text);font:inherit;background:#fff;border-radius:12px;outline:none}.course-generator-form select{height:48px;padding:0 14px}.course-generator-form textarea{resize:vertical;min-height:110px;padding:14px;line-height:1.6}.course-generator-form select:focus,.course-generator-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #1d4ed81f}.readonly-course-config{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.readonly-course-config div{border:1px solid var(--border);background:#f8fafc;border-radius:14px;padding:18px}.readonly-course-config span{color:var(--muted);margin-bottom:8px;font-size:13px;display:block}.readonly-course-config strong{color:var(--text);font-size:16px}.course-generator-form .primary-button{width:100%;height:52px;margin-top:6px}.course-generator-form .primary-button:disabled{opacity:.65;cursor:not-allowed}@media (width<=900px){.course-generator-panel{max-width:100%}.readonly-course-config{grid-template-columns:1fr}}.admin-courses-layout{grid-template-columns:minmax(520px,1fr) 420px;align-items:start;gap:24px;display:grid}.admin-courses-layout .course-generator-panel{max-width:none}.generated-courses-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;min-height:520px;padding:24px}.generated-courses-header{border-bottom:1px solid var(--border);align-items:flex-start;gap:14px;margin-bottom:20px;padding-bottom:20px;display:flex}.generated-courses-icon{width:46px;height:46px;color:var(--blue);background:#1d4ed81a;border-radius:14px;flex-shrink:0;place-items:center;display:grid}.generated-courses-header h2{color:var(--text);margin:0 0 5px;font-size:22px}.generated-courses-header p{color:var(--muted);margin:0;line-height:1.5}.generated-courses-list{gap:18px;max-height:650px;padding-right:6px;display:grid;overflow-y:auto}.generated-courses-list::-webkit-scrollbar{width:6px}.generated-courses-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.generated-language-group{border:1px solid var(--border);background:#f8fafc;border-radius:16px;overflow:hidden}.generated-language-title{background:var(--navy);color:#fff;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.generated-language-title span{text-transform:capitalize;font-weight:900}.generated-language-title strong{background:#ffffff24;border-radius:999px;place-items:center;width:28px;height:28px;font-size:13px;display:grid}.generated-level-group{padding:14px}.generated-level-group+.generated-level-group{border-top:1px solid var(--border)}.generated-level-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.generated-level-title span{color:var(--blue);text-transform:capitalize;font-weight:900}.generated-level-title small{min-width:26px;height:24px;color:var(--blue);background:#1d4ed81a;border-radius:999px;place-items:center;padding:0 8px;font-weight:800;display:grid}.generated-course-items{gap:10px;display:grid}.generated-course-item{border:1px solid var(--border);background:#fff;border-radius:13px;padding:13px 14px}.generated-course-item h4{color:var(--text);margin:0 0 6px;font-size:14px;line-height:1.35}.generated-course-item p{color:var(--muted);margin:0;font-size:13px}.empty-generated-courses{border:1px dashed var(--border);text-align:center;background:#f8fafc;border-radius:16px;place-items:center;min-height:340px;padding:28px;display:grid}.empty-generated-courses svg{color:var(--blue);margin-bottom:10px}.empty-generated-courses h3{color:var(--text);margin:0 0 8px}.empty-generated-courses p{color:var(--muted);margin:0;line-height:1.5}@media (width<=1200px){.admin-courses-layout{grid-template-columns:1fr}.generated-courses-panel{min-height:auto}}.course-detail-page{background:var(--bg);min-height:100vh}.course-detail-hero{background:linear-gradient(135deg, var(--navy), #08264a);color:#fff;width:calc(100% - 56px);box-shadow:var(--shadow);border-radius:20px;grid-template-columns:1fr 340px;align-items:center;gap:32px;margin:24px auto;padding:42px;display:grid}.course-detail-badge{color:#bfdbfe;background:#3b82f62e;border-radius:999px;align-items:center;height:30px;margin-bottom:18px;padding:0 14px;font-weight:800;display:inline-flex}.course-detail-hero h1{margin:0 0 14px;font-size:clamp(32px,4vw,54px);line-height:1.02}.course-detail-hero p{color:#dbeafe;max-width:760px;margin:0;font-size:18px;line-height:1.6}.course-detail-meta{flex-wrap:wrap;gap:14px;margin-top:24px;display:flex}.course-detail-meta span{background:#ffffff1a;border-radius:12px;align-items:center;gap:9px;height:42px;padding:0 16px;font-weight:800;display:inline-flex}.course-detail-action-card{color:var(--text);background:#fff;border-radius:18px;padding:26px;box-shadow:0 22px 44px #0003}.course-detail-action-card h3{margin:0 0 10px;font-size:22px}.course-detail-action-card p{color:var(--muted);margin-bottom:20px;font-size:15px}.detail-progress{background:#e5e7eb;border-radius:999px;width:100%;height:12px;margin:14px 0 10px;overflow:hidden}.detail-progress div{background:var(--blue);border-radius:inherit;height:100%}.course-detail-action-card .primary-button{width:100%;height:48px;margin-top:18px}.course-detail-action-card .primary-button:disabled{opacity:.55;cursor:not-allowed}.course-learning-layout{grid-template-columns:360px 1fr;align-items:start;gap:24px;width:calc(100% - 56px);margin:0 auto 42px;display:grid}.course-session-list,.course-session-content{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px}.course-session-list{flex-direction:column;height:calc(100vh - 40px);padding:20px;display:flex;position:sticky;top:18px;overflow:hidden}.course-session-list-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:18px;padding-bottom:18px;display:flex}.course-session-list-header svg{color:var(--blue)}.course-session-list-header h2{margin:0;font-size:20px}.course-session-list-header p{color:var(--muted);margin:4px 0 0;font-size:13px}.course-session-items{flex:1;gap:10px;padding-right:6px;overflow-y:auto}.course-session-item{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;border-radius:14px;grid-template-columns:44px 1fr 22px;align-items:center;gap:12px;width:100%;min-height:74px;margin-top:10px;padding:12px;display:grid}.course-session-item.active{border-color:var(--blue);box-shadow:0 0 0 4px #1d4ed81a}.course-session-item.locked{opacity:.45;filter:blur(.3px);cursor:not-allowed}.session-number{width:44px;height:44px;color:var(--blue);background:#1d4ed81a;border-radius:12px;place-items:center;font-weight:900;display:grid}.course-session-item strong{color:var(--text);line-height:1.3;display:block}.course-session-item small{color:var(--muted);text-transform:capitalize}.preview-note{color:var(--blue);background:#eff6ff;border-radius:14px;margin-top:18px;padding:14px;font-weight:700;line-height:1.5}.course-session-content{min-height:640px;padding:30px}.empty-session-content{min-height:320px;color:var(--muted);place-items:center;font-weight:700;display:grid}.session-content-header{border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:22px}.session-content-header span{color:var(--blue);font-weight:900}.session-content-header h2{color:var(--text);margin:8px 0;font-size:30px}.session-content-header p{color:var(--muted);margin:0;line-height:1.6}.session-box{border:1px solid var(--border);background:#f8fafc;border-radius:16px;margin-bottom:18px;padding:20px}.session-box h3{margin:0 0 10px}.session-box p{color:var(--muted);white-space:pre-line;margin:0;line-height:1.7}.session-exercises{margin-top:28px}.exercise-block{border:1px solid var(--border);background:#fff;border-radius:16px;margin-top:16px;padding:20px}.exercise-header{justify-content:space-between;gap:18px;margin-bottom:14px;display:flex}.exercise-header span{color:var(--blue);font-size:13px;font-weight:900}.exercise-header h4{color:var(--text);margin:4px 0 0;font-size:18px}.exercise-header strong{color:var(--blue)}.exercise-question,.exercise-instructions{color:var(--muted);line-height:1.6}.exercise-options{gap:10px;margin-top:16px;display:grid}.exercise-options label{border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:10px;min-height:46px;padding:12px 14px;display:flex}.exercise-answer{border:1px solid var(--border);resize:vertical;width:100%;min-height:130px;font:inherit;border-radius:14px;outline:none;padding:14px}.exercise-answer:focus{border-color:var(--blue);box-shadow:0 0 0 4px #1d4ed81a}.exercise-submit{height:44px;margin-top:14px;padding:0 18px}.exercise-locked-message{border:1px dashed var(--border);color:var(--muted);background:#f8fafc;border-radius:14px;align-items:center;gap:10px;margin-top:16px;padding:16px;font-weight:700;display:flex}.muted-text{color:var(--muted)}@media (width<=1100px){.course-detail-hero,.course-learning-layout{grid-template-columns:1fr}.course-session-list{position:static}}@media (width<=700px){.course-detail-hero,.course-learning-layout{width:calc(100% - 28px)}.course-detail-hero{padding:28px}.course-session-content{padding:20px}}.content-full{padding-top:24px}.student-shell .course-detail-hero,.student-shell .course-learning-layout{width:100%}.student-shell .course-detail-hero{margin-top:0}.student-shell .course-learning-layout{margin-bottom:0}.profile-edit-card{align-self:start}.profile-edit-form{gap:20px;display:grid}.profile-edit-form label{color:var(--text);gap:9px;font-size:14px;font-weight:800;display:grid}.profile-edit-form input{border:1px solid var(--border);width:100%;height:48px;color:var(--text);font:inherit;background:#fff;border-radius:12px;outline:none;padding:0 14px}.profile-edit-form input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #1d4ed81f}.profile-edit-form input:disabled{cursor:not-allowed;background:#f1f5f9}.profile-edit-form .primary-button{height:50px;margin-top:4px}.profile-edit-form .primary-button:disabled{opacity:.65;cursor:not-allowed}.admin-create-user-layout{grid-template-columns:minmax(620px,1fr) 420px;align-items:start;gap:24px;display:grid}.admin-user-form{padding:30px}.admin-user-form .section-title,.selected-courses-panel .section-title{border-bottom:1px solid var(--border);align-items:flex-start;gap:14px;margin-bottom:24px;padding-bottom:20px;display:flex}.admin-user-form .section-title h2,.selected-courses-panel .section-title h2{color:var(--text);margin:0 0 6px;font-size:22px}.admin-user-form .section-title p,.selected-courses-panel .section-title p{color:var(--muted);margin:0}.admin-user-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.admin-user-form label,.admin-course-select-box label{color:var(--text);gap:9px;font-size:14px;font-weight:800;display:grid}.admin-user-form input,.admin-user-form select,.admin-course-select-box select{border:1px solid var(--border);width:100%;height:48px;color:var(--text);font:inherit;background:#fff;border-radius:12px;outline:none;padding:0 14px}.admin-user-form input:focus,.admin-user-form select:focus,.admin-course-select-box select:focus{border-color:var(--blue);box-shadow:0 0 0 4px #1d4ed81f}.admin-course-select-box{margin-top:22px}.admin-course-select-row{grid-template-columns:1fr 130px;gap:12px;display:grid}.admin-course-select-row button{background:var(--navy);color:#fff;border-radius:12px;height:48px;font-weight:800}.admin-user-submit{width:100%;height:52px;margin-top:24px}.selected-courses-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;min-height:420px;padding:24px}.selected-courses-empty{border:1px dashed var(--border);min-height:220px;color:var(--muted);text-align:center;background:#f8fafc;border-radius:16px;place-items:center;padding:24px;font-weight:700;display:grid}.selected-courses-list{gap:12px;display:grid}.selected-course-item{border:1px solid var(--border);background:#f8fafc;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.selected-course-item strong{color:var(--text);margin-bottom:4px;display:block}.selected-course-item span{color:var(--muted);font-size:13px}.selected-course-item button{color:#b91c1c;background:#fff1f2;border:1px solid #fecaca;border-radius:10px;height:36px;padding:0 12px;font-weight:800}@media (width<=1100px){.admin-create-user-layout{grid-template-columns:1fr}}@media (width<=700px){.admin-user-form-grid,.admin-course-select-row{grid-template-columns:1fr}}.admin-editor-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.admin-session-editor-hero{background:linear-gradient(135deg, var(--navy), #08264a);color:#fff;box-shadow:var(--shadow);border-radius:20px;margin-bottom:24px;padding:30px}.admin-session-editor-hero span{color:#bfdbfe;font-weight:900}.admin-session-editor-hero h2{margin:8px 0;font-size:34px}.admin-session-editor-hero p{color:#dbeafe;margin:0;line-height:1.6}.admin-session-editor-layout{width:100%;margin:0}.admin-session-editor-content{padding:24px}.admin-edit-card{border:1px solid var(--border);background:#fff;border-radius:18px;margin-bottom:22px;padding:24px}.admin-edit-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;padding-bottom:18px;display:flex}.admin-edit-card-header span{color:var(--blue);font-size:13px;font-weight:900}.admin-edit-card-header h2,.admin-edit-card-header h3{color:var(--text);margin:6px 0 0}.admin-edit-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-edit-actions .primary-button,.admin-edit-actions .danger-button{min-height:42px;padding:0 16px}.danger-button{color:#b91c1c;background:#fff1f2;border:1px solid #fecaca;border-radius:12px;font-weight:900}.danger-button:disabled,.primary-button:disabled{opacity:.6;cursor:not-allowed}.admin-editor-form{gap:16px;display:grid}.admin-editor-form label,.admin-option-editor label{color:var(--text);gap:8px;font-size:14px;font-weight:800;display:grid}.admin-editor-form textarea,.admin-editor-form select,.admin-option-editor textarea{border:1px solid var(--border);width:100%;font:inherit;color:var(--text);resize:vertical;border-radius:14px;outline:none;padding:14px;line-height:1.6}.admin-editor-form textarea:focus,.admin-editor-form select:focus,.admin-option-editor textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #1d4ed81a}.admin-editor-form select{resize:none;background:#fff;height:52px}.admin-exercise-editor-list{gap:22px;display:grid}.admin-exercise-editor{border:1px solid var(--border);background:#f8fafc;border-radius:16px;padding:20px}.admin-options-editor{gap:14px;margin-top:22px;display:grid}.admin-options-editor h4{color:var(--text);margin:0}.admin-option-editor{border:1px solid var(--border);background:#fff;border-radius:14px;gap:14px;padding:16px;display:grid}.admin-checkbox-row{grid-template-columns:auto 1fr;align-items:center;gap:10px!important;display:flex!important}.admin-checkbox-row input{width:18px;height:18px}.generated-course-edit-button{background:var(--blue);color:#fff;border-radius:10px;width:100%;min-height:38px;margin-top:10px;font-weight:800}@media (width<=900px){.admin-editor-heading,.admin-edit-card-header{flex-direction:column}.admin-edit-actions,.admin-edit-actions .primary-button,.admin-edit-actions .danger-button{width:100%}}.admin-editor-heading-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.copy-course-button{background:var(--blue);color:#fff;border-radius:12px;min-height:44px;padding:0 18px;font-weight:900;box-shadow:0 10px 22px #1d4ed838}.copy-course-button:disabled{opacity:.55;cursor:not-allowed}@media (width<=900px){.admin-editor-heading-actions,.admin-editor-heading-actions button{width:100%}}.admin-code-exercise-note{border:1px dashed var(--border);color:var(--muted);background:#f8fafc;border-radius:14px;margin-top:22px;padding:16px;font-weight:700;line-height:1.5}.code-exercise-runner{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;margin-top:18px;display:grid}.code-editor-panel,.code-output-panel{border:1px solid var(--border);background:#f8fafc;border-radius:16px;overflow:hidden}.code-runner-header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 16px;display:flex}.code-runner-header span{color:var(--blue);font-size:13px;font-weight:900}.code-runner-header strong{color:var(--text);font-size:13px}.code-editor-textarea{color:#e5e7eb;tab-size:2;background:#0f172a;border:0;border-radius:0;min-height:300px;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6}.code-editor-textarea:focus{box-shadow:none}.code-output-panel pre{color:#d1d5db;white-space:pre-wrap;background:#020617;min-height:300px;margin:0;padding:16px;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6;overflow:auto}.run-code-button{min-height:42px;margin:12px;padding:0 18px}.code-language-note{border:1px dashed var(--border);color:var(--muted);background:#fff;border-radius:12px;margin:12px;padding:12px;font-weight:700}@media (width<=1000px){.code-exercise-runner{grid-template-columns:1fr}}.session-content-card{padding:24px}.session-content-grid{flex-direction:column;gap:18px;margin-top:14px;display:flex}.session-content-section{background:#fff;border:1px solid #e5eaf2;border-radius:16px;padding:18px 20px}.session-content-section h4{color:#0f172a;margin:0 0 10px;font-size:16px;font-weight:800}.session-content-section p{color:#5b6b84;margin:0;font-size:15px;line-height:1.75}.session-steps{flex-direction:column;gap:10px;margin:0;padding-left:22px;display:flex}.session-steps li{color:#5b6b84;padding-left:4px;font-size:15px;line-height:1.7}.session-steps li::marker{color:#2563eb;font-weight:800}.code-example-guide{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:18px;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:18px;margin-top:18px;padding:18px;display:grid}.code-example-info span{color:var(--blue);margin-bottom:8px;font-size:13px;font-weight:900;display:inline-flex}.code-example-info h5{color:var(--text);margin:0 0 8px;font-size:20px}.code-example-info p{color:var(--muted);margin:0;line-height:1.6}.code-example-steps{color:var(--text);background:#f8fafc;border-radius:14px;margin-top:14px;padding:14px}.code-example-steps strong{margin-bottom:8px;display:block}.code-example-steps ol{color:var(--muted);margin:0;padding-left:20px;line-height:1.7}.code-example-box{border:1px solid var(--border);background:#020617;border-radius:16px;overflow:hidden}.code-example-header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 14px;display:flex}.code-example-header span{color:var(--blue);font-size:13px;font-weight:900}.code-example-header button{background:var(--blue);color:#fff;border-radius:10px;min-height:34px;padding:0 12px;font-size:13px;font-weight:900}.code-example-box pre{color:#e5e7eb;white-space:pre-wrap;margin:0;padding:16px;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6;overflow:auto}.code-example-output{color:#cbd5e1;background:#0f172a;border-top:1px solid #ffffff14;padding:12px 16px;font-size:14px}.code-example-output strong{color:#fff}.code-run-helper{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;grid-column:1/-1;padding:14px 16px;font-weight:800}@keyframes runButtonPulse{0%{transform:scale(1);box-shadow:0 0 #1d4ed840}70%{transform:scale(1.03);box-shadow:0 0 0 10px #1d4ed800}to{transform:scale(1);box-shadow:0 0 #1d4ed800}}@media (width<=1000px){.code-example-guide{grid-template-columns:1fr}}.session-code-example{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:18px;margin-top:22px;margin-bottom:26px;padding:22px}.session-code-example-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.session-code-example-heading span{color:var(--blue);margin-bottom:8px;font-size:13px;font-weight:900;display:inline-flex}.session-code-example-heading h3{color:var(--text);margin:0 0 8px;font-size:22px}.session-code-example-heading p{color:var(--muted);margin:0;line-height:1.6}.session-code-helper{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;max-width:310px;padding:12px 14px;font-weight:800;line-height:1.5}.session-example-runner{margin-top:0}.session-example-expected{color:#cbd5e1;background:#0f172a;border-top:1px solid #ffffff14;padding:12px 16px;font-size:14px}.session-example-expected strong{color:#fff}.run-code-button-guide{border-color:var(--blue);animation:1.2s infinite runButtonPulse;box-shadow:0 0 0 6px #1d4ed81f}@media (width<=1000px){.session-code-example-heading{flex-direction:column}.session-code-helper{max-width:100%}}.monaco-editor-shell{background:#0f172a;width:100%;overflow:hidden}.code-editor-panel .monaco-editor-shell,.monaco-editor-shell .monaco-editor,.monaco-editor-shell .overflow-guard{border-radius:0}.ai-evaluation-result{gap:10px;display:grid}.code-output-panel pre{white-space:pre-wrap}.exercise-submit{margin-top:14px}.exercise-block-completed{background:linear-gradient(#fff 0%,#f5f8ff 100%);border-color:#1d4ed873;box-shadow:0 14px 34px #1d4ed81f}.exercise-block-completed .exercise-header h4{color:var(--blue)}.exercise-completed-badge{width:fit-content;color:var(--blue);background:#1d4ed81a;border-radius:999px;align-items:center;gap:7px;margin-top:10px;padding:7px 12px;font-size:13px;font-weight:900;display:inline-flex}.exercise-completed-badge svg{width:16px;height:16px}.exercise-block-completed .code-editor-panel,.exercise-block-completed .code-output-panel{border-color:#1d4ed859}.exercise-block-completed .code-runner-header{background:#eff6ff}.exercise-block-completed .exercise-options label{background:#eff6ff;border-color:#1d4ed859}.exercise-block-completed input,.exercise-block-completed textarea{cursor:not-allowed}.exercise-submit-completed,.exercise-submit-completed:disabled{background:var(--blue);color:#fff;opacity:1;cursor:not-allowed;box-shadow:0 10px 24px #1d4ed833}.exercise-block-is-blocked{background:linear-gradient(#fff7f7 0%,#fff1f2 100%);border-color:#dc2626a6;box-shadow:0 14px 34px #dc26261f}.exercise-block-is-blocked .exercise-header h4{color:#b91c1c}.exercise-blocked-badge{color:#b91c1c;background:#dc26261f;border-radius:999px;align-items:center;gap:7px;width:fit-content;margin-top:10px;padding:7px 12px;font-size:13px;font-weight:900;display:inline-flex}.exercise-blocked-badge svg{width:16px;height:16px}.exercise-blocked-message{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5;border-radius:10px;margin-top:14px;padding:12px 14px;font-size:14px;font-weight:500}.exercise-blocked-message strong{font-weight:700}.logo-img{object-fit:contain;width:280px}.logo-subtitle{color:#222;text-align:center;font-size:13px;font-weight:600;line-height:1.1}.logo-dark .logo-subtitle{color:#fff}.logo-small .logo-img{width:120px;margin-top:10px}.logo-small .logo-subtitle{font-size:10px}ion-icon.icon{vertical-align:middle;pointer-events:none;width:1.25em;min-width:1.25em;height:1.25em;font-size:22px;display:inline-block}.logo-img{object-fit:contain;width:min(260px,100%);height:auto;display:block}.logo-small .logo-img{width:170px}.logo-dark .logo-img{filter:none}.login-page{background:#f6f8fc;grid-template-columns:minmax(440px,.92fr) minmax(480px,1.08fr)}.login-brand{background:radial-gradient(circle at 82% 16%,#3c82f647,#0000 28%),radial-gradient(circle at 16% 88%,#1d4ed838,#0000 34%),linear-gradient(145deg,#061426 0%,#09213d 52%,#071a31 100%);flex-direction:column;justify-content:center;min-height:100vh;padding:52px clamp(42px,6vw,92px);display:flex}.login-brand-logo{z-index:2;top:36px;left:clamp(42px,6vw,92px)}.login-brand-logo .logo-img{background:#fffffff2;border-radius:12px;width:80%;margin-left:10%}.brand-content{z-index:2;max-width:660px;position:relative}.brand-kicker{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff26;border-radius:999px;width:fit-content;padding:9px 14px}.login-brand h1{margin:34px 0 22px;font-size:clamp(42px,4.8vw,66px)}.login-brand h1 strong{color:#69a1ff}.login-brand>.brand-content>p{color:#d6e0ee;font-size:18px}.brand-features .icon{color:#9ec2ff;background:#1d4ed83d;border:1px solid #ffffff1f;width:56px;min-width:56px;height:56px;padding:15px;font-size:26px}.brand-decoration{border:1px solid #ffffff14;border-radius:50%;position:absolute}.brand-decoration-one{width:340px;height:340px;top:15%;right:-170px}.brand-decoration-two{width:220px;height:220px;bottom:8%;left:-110px}.login-form-wrap{background:radial-gradient(circle at 90% 8%,#1d4ed817,#0000 24%),linear-gradient(#fbfcff,#f4f7fb);align-content:center;gap:18px;padding:48px clamp(28px,6vw,90px)}.login-card{border:1px solid #e2e8f0;border-radius:22px;width:min(520px,100%);padding:38px 44px 40px;box-shadow:0 24px 70px #0f1b2d21}.login-card>.logo{display:none}.login-heading{margin-bottom:26px}.login-heading h1{color:#0f1b2d;margin:14px 0 7px;font-size:34px}.login-heading p{color:#64748b;margin:0}.login-badge{color:#1d4ed8;text-transform:uppercase;letter-spacing:.06em;background:#eef4ff;border-radius:999px;align-items:center;gap:7px;margin-top:20px;padding:7px 11px;font-size:12px;font-weight:800;display:inline-flex}.login-badge .icon{font-size:16px}.login-card label,.auth-simple-card label{color:#24324a}.input-icon{background:#fff;border-radius:11px;transition:border-color .18s,box-shadow .18s,background .18s}.input-icon:focus-within{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61f}.input-icon>.icon{color:#64748b;font-size:20px}.input-icon input{background:0 0;height:50px;padding:0 10px}.input-icon input:disabled{opacity:.7}.password-toggle{color:#64748b;border-radius:8px;place-items:center;padding:7px;display:grid}.password-toggle:hover{color:#1d4ed8;background:#f1f5f9}.remember-option{align-items:center;gap:8px;font-size:13px!important;display:inline-flex!important}.remember-option input{accent-color:#1d4ed8;width:16px;height:16px;margin:0}.forgot-link{font-size:13px;font-weight:700}.login-submit{border-radius:11px;justify-content:center;align-items:center;gap:9px;min-height:50px;display:flex}.login-submit:disabled{cursor:wait;opacity:.78}.button-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}.form-error,.form-success{text-align:left;border-radius:10px;align-items:flex-start;gap:9px;margin:0 0 18px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.form-error{color:#9f1239;background:#fff1f2;border:1px solid #fecaca}.form-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.form-error .icon,.form-success .icon{margin-top:1px;font-size:19px}.security-note{color:#64748b;align-items:center;gap:7px;font-size:12px;display:flex}.security-note .icon{font-size:16px}.auth-simple-page{background:radial-gradient(circle at 12% 10%,#3b82f626,#0000 26%),linear-gradient(145deg,#061426 0%,#0b2442 100%);place-items:center;min-height:100vh;padding:28px;display:grid}.auth-simple-card{text-align:center;background:#fff;border-radius:22px;width:min(500px,100%);padding:38px 42px;box-shadow:0 28px 80px #00000047}.auth-simple-card .logo-img{width:190px;margin:0 auto 20px}.auth-icon{color:#1d4ed8;background:#eef4ff;border-radius:16px;place-items:center;width:58px;height:58px;margin:0 auto 14px;display:grid}.auth-icon .icon{font-size:29px}.auth-simple-card h1{margin:0 0 8px;font-size:29px}.auth-simple-card>p{color:#64748b;margin:0 0 24px;line-height:1.55}.auth-simple-card form{text-align:left;gap:12px;display:grid}.auth-simple-card form .primary-button{width:100%;min-height:48px;margin-top:8px}.back-login-link{color:#1d4ed8;align-items:center;gap:7px;margin-top:22px;font-size:13px;font-weight:700;display:inline-flex}@media (width<=980px){.login-page{grid-template-columns:1fr}.login-brand{min-height:auto;padding:115px 34px 48px}.login-brand-logo{top:26px;left:34px}.brand-features{grid-template-columns:repeat(3,1fr);gap:14px}.brand-features p{align-items:flex-start;gap:12px}.brand-features .icon{width:44px;min-width:44px;height:44px;padding:11px}.login-form-wrap{padding:42px 24px}}@media (width<=680px){.login-brand{display:none}.login-form-wrap{min-height:100vh;padding:24px 16px}.login-card{border-radius:18px;padding:30px 22px}.login-card>.logo{display:block}.login-card>.logo .logo-img{width:180px;margin:0 auto 18px}.login-options{align-items:center;gap:12px}.auth-simple-card{padding:30px 22px}}.student-dashboard{background:radial-gradient(circle at 82% 4%,#3b82f61a,#0000 24%),linear-gradient(#f8fbff 0%,#f4f7fb 100%)}.student-dashboard-content{width:min(100%,1540px);padding-top:30px;padding-bottom:44px}.enhanced-sidebar{z-index:50;background:radial-gradient(circle at 50% 0,#2563eb42,#0000 28%),linear-gradient(#061a31 0%,#031326 100%);width:272px;padding:20px 14px 18px;overflow:hidden;box-shadow:18px 0 45px #02102221}.enhanced-sidebar:before{content:"";pointer-events:none;background:radial-gradient(circle,#2563eb33,#0000 68%);border-radius:50%;width:240px;height:240px;animation:5s ease-in-out infinite alternate sidebarGlow;position:absolute;inset:auto -110px -120px auto}.sidebar-brand-row{justify-content:center;align-items:flex-start;min-height:132px;display:flex;position:relative}.sidebar-brand-row .logo{transition:transform .35s cubic-bezier(.22,1,.36,1),filter .35s}.sidebar-brand-row .logo:hover{filter:drop-shadow(0 12px 20px #3b82f638);transform:scale(1.045)rotate(-1deg)}.sidebar-close-button{height:38px;position:absolute;top:2px;right:0;background:#ffffff14!important;border-radius:50%!important;justify-content:center!important;width:38px!important;padding:0!important;display:none!important}.enhanced-sidebar nav{gap:9px;margin-top:18px}.enhanced-sidebar button{color:#dce8f8;border:1px solid #0000;border-radius:14px;min-height:54px;padding:12px 14px;transition:transform .28s cubic-bezier(.22,1,.36,1),color .25s,background .25s,border-color .25s,box-shadow .25s;position:relative;overflow:hidden}.enhanced-sidebar button:before{content:"";background:linear-gradient(110deg,#0000 20%,#ffffff1a 48%,#0000 76%);transition:transform .65s;position:absolute;inset:0;transform:translate(-130%)}.enhanced-sidebar button:hover:before{transform:translate(130%)}.enhanced-sidebar button:hover{color:#fff;background:#ffffff13;border-color:#ffffff1a;transform:translate(5px)}.enhanced-sidebar button.active{color:#fff;background:linear-gradient(135deg,#1d4ed8,#2d65ec);border-color:#ffffff29;box-shadow:0 12px 28px #1d4ed857}.sidebar-item-icon{background:#ffffff13;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;transition:transform .35s cubic-bezier(.22,1,.36,1),background .25s;display:inline-flex}.enhanced-sidebar button:hover .sidebar-item-icon{background:#ffffff24;transform:rotate(-12deg)scale(1.08)}.enhanced-sidebar button.active .sidebar-item-icon{background:#ffffff2b}.sidebar-item-arrow{opacity:0;margin-left:auto;transition:opacity .25s,transform .25s;transform:translate(-8px)}.enhanced-sidebar button:hover .sidebar-item-arrow,.enhanced-sidebar button.active .sidebar-item-arrow{opacity:1;transform:translate(0)}.enhanced-sidebar .sidebar-bottom{z-index:1;position:relative}.enhanced-sidebar .logout-button:hover{color:#fecaca;background:#dc262621;border-color:#f871712e}.sidebar-overlay{display:none}.enhanced-topbar{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border-bottom:1px solid #e2e8f0e0;height:76px;padding:0 34px;position:sticky;top:0;box-shadow:0 8px 30px #0f172a09}.animated-icon-button{border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:transform .35s cubic-bezier(.22,1,.36,1),background .25s,color .25s,box-shadow .25s;display:inline-flex}.animated-icon-button:hover{color:#fff;background:#1d4ed8;transform:rotate(180deg)scale(1.06);box-shadow:0 9px 22px #1d4ed840}.enhanced-search-box{background:#f8fafc;border-color:#dce4ef;width:min(560px,48vw);height:46px;transition:transform .25s,background .25s,border-color .25s,box-shadow .25s}.enhanced-search-box:hover{background:#fff;border-color:#1d4ed857;transform:translateY(-1px)}.enhanced-search-box:focus-within{background:#fff;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 0 0 4px #2563eb1a,0 10px 24px #0f172a12}.search-clear-button{color:#64748b;border-radius:50%;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;transition:transform .3s,color .25s,background .25s;display:inline-flex}.search-clear-button:hover{color:#fff;background:#ef4444;transform:rotate(180deg)}.enhanced-user-chip{text-align:left;border-radius:14px;padding:6px 8px 6px 6px;transition:background .25s,transform .25s,box-shadow .25s}.enhanced-user-chip:hover{background:#f1f5f9;transform:translateY(-2px);box-shadow:0 8px 20px #0f172a0f}.enhanced-user-chip .avatar{background:linear-gradient(135deg,#0f172a,#1d4ed8);transition:transform .35s;box-shadow:0 6px 14px #1d4ed838}.enhanced-user-chip:hover .avatar{transform:rotate(360deg)scale(1.06)}.user-chip-arrow{color:#64748b;width:18px;height:18px;transition:transform .3s}.enhanced-user-chip:hover .user-chip-arrow{transform:rotate(180deg)}.student-welcome-hero{color:#fff;background:radial-gradient(circle at 80% 10%,#3b82f67a,#0000 26%),radial-gradient(circle at 15% 110%,#2563eb5c,#0000 36%),linear-gradient(135deg,#041326 0%,#092a4f 54%,#0b3d75 100%);border-radius:26px;grid-template-columns:minmax(0,1.45fr) minmax(320px,.7fr);align-items:center;gap:42px;min-height:290px;margin-bottom:28px;padding:42px 48px;animation:.6s cubic-bezier(.22,1,.36,1) both studentHeroEntrance;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 55px #08244638}.student-welcome-hero:before,.student-welcome-hero:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.student-welcome-hero:before{border:1px solid #ffffff21;width:260px;height:260px;animation:11s linear infinite heroOrbit;top:-120px;right:-100px;box-shadow:0 0 0 36px #ffffff06,0 0 0 72px #ffffff05}.student-welcome-hero:after{filter:blur(3px);background:#3b82f62e;width:180px;height:180px;bottom:-150px;left:46%}.student-welcome-copy,.student-progress-summary{z-index:2;position:relative}.student-eyebrow{color:#dbeafe;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:8px;width:fit-content;margin-bottom:14px;padding:8px 12px;font-size:12px;font-weight:800;display:inline-flex}.student-welcome-copy h1{color:#fff;letter-spacing:-.045em;max-width:720px;margin:0;font-size:clamp(34px,4vw,54px);line-height:1.03}.student-welcome-copy h1>span:first-child{color:#60a5fa}.wave-emoji{transform-origin:70% 70%;animation:2.4s ease-in-out infinite waveHand;display:inline-block}.student-welcome-copy>p{color:#cedced;max-width:650px;margin:16px 0 0;font-size:17px;line-height:1.65}.welcome-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.student-primary-action,.student-secondary-action{border-radius:13px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 20px;font-weight:800;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s,background .28s,color .28s;display:inline-flex;position:relative;overflow:hidden}.student-primary-action{color:#fff;background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 12px 25px #2563eb59}.student-primary-action:hover{transform:translateY(-4px)scale(1.02);box-shadow:0 18px 32px #2563eb70}.student-primary-action .action-shine{background:linear-gradient(90deg,#0000,#ffffff80,#0000);width:24%;height:180%;transition:left .7s;position:absolute;top:-40%;left:-42%;transform:rotate(18deg)}.student-primary-action:hover .action-shine{left:125%}.student-primary-action .icon,.student-secondary-action .icon{transition:transform .32s}.student-primary-action:hover .icon{transform:translate(6px)rotate(-8deg)}.student-secondary-action{color:#e7f0fb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff2e}.student-secondary-action:hover{color:#0f172a;background:#fff;transform:translateY(-4px);box-shadow:0 14px 26px #00000029}.student-secondary-action:hover .icon{transform:rotate(360deg)scale(1.08)}.student-progress-summary{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff16;border:1px solid #ffffff24;border-radius:22px;grid-template-columns:170px 1fr;align-items:center;gap:24px;padding:22px;display:grid;box-shadow:inset 0 1px #ffffff14}.progress-ring{background:conic-gradient(#60a5fa var(--progress), #ffffff21 0);border-radius:50%;place-items:center;width:154px;height:154px;animation:3s ease-in-out infinite ringFloat;display:grid;box-shadow:0 16px 34px #00000029}.progress-ring:before{content:"";background:#092746;border-radius:50%;width:124px;height:124px;position:absolute;box-shadow:inset 0 0 22px #00000038}.progress-ring>div{z-index:1;text-align:center;display:grid;position:relative}.progress-ring strong{font-size:31px;line-height:1}.progress-ring span{color:#cfe0f2;margin-top:7px;font-size:11px;font-weight:700}.summary-metrics{gap:12px;display:grid}.summary-metrics>div{border-radius:14px;align-items:center;gap:11px;padding:10px;transition:transform .25s,background .25s;display:flex}.summary-metrics>div:hover{background:#ffffff14;transform:translate(4px)}.summary-icon{color:#bfdbfe;background:#60a5fa2e;border-radius:12px;flex:0 0 39px;justify-content:center;align-items:center;width:39px;height:39px;transition:transform .35s;display:inline-flex}.summary-metrics>div:hover .summary-icon{transform:rotate(-12deg)scale(1.08)}.summary-metrics p{gap:2px;margin:0;display:grid}.summary-metrics strong{font-size:20px}.summary-metrics p span{color:#cbd8e8;font-size:12px}.enhanced-course-section{margin:0;padding:26px 0 12px}.enhanced-section-header{justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:18px;display:flex}.enhanced-section-header>div{min-width:0}.section-kicker{color:#2563eb;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:900;display:inline-block}.enhanced-section-header h2{letter-spacing:-.03em;margin:0;font-size:27px}.enhanced-section-header p{color:#64748b;margin:7px 0 0;line-height:1.5}.section-action-button{color:#1d4ed8;white-space:nowrap;border-radius:11px;align-items:center;gap:8px;padding:10px 13px;font-weight:800;transition:color .25s,background .25s,transform .25s,box-shadow .25s;display:inline-flex}.section-action-button:hover{color:#fff;background:#1d4ed8;transform:translateY(-2px);box-shadow:0 10px 22px #1d4ed833}.section-action-button .icon{transition:transform .3s}.section-action-button:hover .icon{transform:translate(5px)rotate(-8deg)}.student-dashboard .course-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.enhanced-course-card{isolation:isolate;border-color:#cbd5e1bd;border-radius:20px;transition:transform .36s cubic-bezier(.22,1,.36,1),box-shadow .36s,border-color .36s;position:relative;box-shadow:0 12px 30px #0f172a14}.enhanced-course-card:hover{border-color:#2563eb61;transform:translateY(-10px)scale(1.012);box-shadow:0 24px 48px #0f172a29}.course-card-glow{filter:blur(26px);opacity:0;pointer-events:none;background:#3b82f62e;border-radius:50%;width:150px;height:150px;transition:opacity .35s,transform .45s;position:absolute;top:70px;right:-90px}.enhanced-course-card:hover .course-card-glow{opacity:1;transform:translate(-30px,28px)scale(1.35)}.enhanced-course-card .course-cover{min-height:148px;padding:18px;overflow:hidden}.enhanced-course-card .course-cover:after{content:"";background:linear-gradient(115deg,#0000 24%,#ffffff1f 48%,#0000 72%);transition:transform .8s;position:absolute;inset:0;transform:translate(-130%)}.enhanced-course-card:hover .course-cover:after{transform:translate(130%)}.course-cover-decoration{color:#ffffff1f;transition:transform .45s cubic-bezier(.22,1,.36,1),color .35s;position:absolute;bottom:8px;right:14px;transform:rotate(-10deg)}.course-cover-decoration .icon{width:68px;height:68px}.enhanced-course-card:hover .course-cover-decoration{color:#ffffff38;transform:rotate(10deg)scale(1.12)}.enhanced-course-card .course-body{z-index:2;padding:19px;position:relative}.enhanced-course-card .course-body h3{transition:color .25s}.enhanced-course-card:hover .course-body h3{color:#1d4ed8}.enhanced-course-card .course-body p{-webkit-line-clamp:2;min-height:48px}.enhanced-course-card .course-meta-row span{gap:5px}.enhanced-course-card .course-meta-row .icon{width:15px;height:15px}.enhanced-course-card .progress span{animation:.8s cubic-bezier(.22,1,.36,1) both progressLoad}.animated-course-action{isolation:isolate;border-radius:13px;min-height:48px;transition:transform .28s cubic-bezier(.22,1,.36,1),color .25s,background .25s,box-shadow .25s;position:relative;overflow:hidden}.animated-course-action>span,.animated-course-action>.icon{z-index:2;position:relative}.animated-course-action:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 24px #1d4ed83d}.animated-course-action .icon{transition:transform .32s}.animated-course-action:hover .icon{transform:translate(6px)rotate(-8deg)}.course-button-shine{background:linear-gradient(90deg,#0000,#ffffff7a,#0000);width:24%;height:190%;transition:left .7s;top:-45%;left:-42%;transform:rotate(18deg);z-index:1!important;position:absolute!important}.animated-course-action:hover .course-button-shine{left:125%}.enhanced-status-box{background:#fff;border-radius:18px;align-items:center;gap:16px;min-height:132px;margin:24px 0;padding:22px 24px;display:flex;box-shadow:0 12px 30px #0f172a12}.enhanced-status-box>div{gap:5px;display:grid}.enhanced-status-box strong{color:#0f172a;font-size:17px}.enhanced-status-box span{color:#64748b;line-height:1.5}.status-view-icon{background:#eff6ff;border-radius:16px;flex:0 0 52px;justify-content:center;align-items:center;width:52px;height:52px;animation:2.5s ease-in-out infinite statusIconFloat;display:inline-flex;color:#2563eb!important}.status-view-icon .icon{width:28px;height:28px}.enhanced-status-box>button{color:#fff;background:#2563eb;border-radius:11px;align-items:center;gap:7px;min-height:42px;margin-left:auto;padding:0 16px;font-weight:800;transition:transform .25s,box-shadow .25s;display:inline-flex}.enhanced-status-box>button:hover{transform:translateY(-3px);box-shadow:0 10px 22px #2563eb3d}.status-spinner{border:4px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;flex:0 0 42px;width:42px;height:42px;animation:.8s linear infinite spin}.student-motivation-banner{color:#fff;background:radial-gradient(circle at 86% 20%,#3b82f652,#0000 28%),linear-gradient(135deg,#071a31,#103f76);border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-top:26px;padding:24px 26px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 40px #071a312b}.motivation-icon{color:#bfdbfe;background:#ffffff1a;border-radius:17px;justify-content:center;align-items:center;width:58px;height:58px;transition:transform .4s cubic-bezier(.22,1,.36,1),background .3s;display:inline-flex}.student-motivation-banner:hover .motivation-icon{background:#ffffff29;transform:rotate(-14deg)scale(1.08)}.student-motivation-banner b{margin-bottom:7px}.student-motivation-banner span{line-height:1.5;display:block}.student-motivation-banner button{border-radius:12px;align-items:center;gap:8px;min-height:46px;transition:transform .28s,box-shadow .28s,background .28s;display:inline-flex}.student-motivation-banner button:hover{background:#3b82f6;transform:translateY(-4px);box-shadow:0 13px 28px #2563eb57}.student-motivation-banner button .icon{transition:transform .3s}.student-motivation-banner button:hover .icon{transform:translate(6px)rotate(-8deg)}@keyframes sidebarGlow{0%{transform:translate(0)scale(1)}to{transform:translate(-24px,-22px)scale(1.18)}}@keyframes studentHeroEntrance{0%{opacity:0;transform:translateY(22px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes heroOrbit{to{transform:rotate(360deg)}}@keyframes waveHand{0%,60%,to{transform:rotate(0)}10%{transform:rotate(18deg)}20%{transform:rotate(-10deg)}30%{transform:rotate(16deg)}40%{transform:rotate(-6deg)}50%{transform:rotate(10deg)}}@keyframes ringFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes progressLoad{0%{width:0!important}}@keyframes statusIconFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-4px)rotate(-5deg)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1250px){.student-welcome-hero{grid-template-columns:1fr}.student-progress-summary{max-width:560px}.student-dashboard .course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.enhanced-sidebar{transition:transform .38s cubic-bezier(.22,1,.36,1);position:fixed;left:0;transform:translate(-105%)}.enhanced-sidebar.sidebar-open{transform:translate(0)}.sidebar-close-button{display:inline-flex!important}.sidebar-overlay{z-index:45;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02081794;animation:.25s both overlayFade;display:block;position:fixed;inset:0}.enhanced-topbar{padding:0 18px}.enhanced-search-box{width:min(100%,480px)}}@media (width<=680px){.student-dashboard-content{padding:20px 16px 34px}.enhanced-topbar{gap:10px;padding:0 12px}.enhanced-search-box{flex:1;width:auto}.enhanced-user-chip>div:not(.avatar),.user-chip-arrow,.notification{display:none}.student-welcome-hero{border-radius:22px;padding:30px 24px}.student-welcome-copy h1{font-size:36px}.student-progress-summary{grid-template-columns:1fr;justify-items:center}.summary-metrics{grid-template-columns:1fr 1fr;width:100%}.enhanced-section-header{flex-direction:column;align-items:flex-start}.student-dashboard .course-grid{grid-template-columns:1fr}.enhanced-status-box{flex-wrap:wrap;align-items:flex-start}.enhanced-status-box>button{justify-content:center;width:100%;margin-left:0}.student-motivation-banner{grid-template-columns:auto 1fr}.student-motivation-banner button{grid-column:1/-1;justify-content:center}}@media (prefers-reduced-motion:reduce){.enhanced-sidebar:before,.student-welcome-hero,.student-welcome-hero:before,.wave-emoji,.progress-ring,.status-view-icon,.status-spinner,.enhanced-course-card .progress span{animation:none}}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}.course-session-list-modern{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:radial-gradient(circle at 0 0,#2563eb1a,#0000 36%),#fffffff5;border:1px solid #94a3b838;border-radius:24px;position:sticky;top:86px;overflow:hidden;box-shadow:0 18px 50px #0f172a17}.course-session-list-modern .course-session-list-header{align-items:center;gap:13px;padding:20px 20px 12px;display:flex}.session-list-main-icon{color:#fff;background:linear-gradient(135deg,#2563eb,#0f3d91);border-radius:14px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .35s cubic-bezier(.22,1,.36,1);display:inline-flex;box-shadow:0 10px 22px #2563eb47}.course-session-list-modern:hover .session-list-main-icon{transform:rotate(-9deg)scale(1.08)}.course-session-progress{background:#e8eef8;border-radius:999px;height:5px;margin:0 20px 14px;overflow:hidden}.course-session-progress>span{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#60a5fa);height:100%;transition:width .45s;display:block}.session-list-helper{color:#1e40af;background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;align-items:center;gap:8px;margin:0 20px 14px;padding:10px 12px;font-size:.78rem;line-height:1.35;display:flex}.course-session-list-modern .course-session-items{scrollbar-width:thin;scrollbar-color:#94a3b8 transparent;gap:10px;max-height:calc(100vh - 330px);padding:3px 14px 18px;display:grid;overflow-y:auto}.session-item-modern{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:16px;grid-template-columns:44px minmax(0,1fr) 32px;align-items:center;gap:11px;width:100%;min-height:84px;padding:12px;transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .25s,box-shadow .25s,background-color .25s;display:grid;position:relative;overflow:hidden}.session-item-modern:before{content:"";background:#2563eb;border-radius:0 999px 999px 0;width:4px;transition:transform .25s;position:absolute;inset:0 auto 0 0;transform:scaleY(0)}.session-item-modern:hover:not(:disabled){z-index:2;border-color:#2563eb66;transform:translateY(-3px)translate(2px);box-shadow:0 14px 28px #0f172a1c}.session-item-modern:hover:not(:disabled):before,.session-item-modern.active:before{transform:scaleY(1)}.session-item-modern.active{background:linear-gradient(135deg,#eff6ff,#fff);border-color:#2563eb;box-shadow:0 12px 28px #2563eb29}.session-item-modern .session-number{color:#1d4ed8;background:#eff6ff;border-radius:13px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:800;transition:transform .28s,color .28s,background-color .28s;display:inline-flex}.session-item-modern:hover:not(:disabled) .session-number,.session-item-modern.active .session-number{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:rotate(-7deg)scale(1.07)}.session-item-copy{min-width:0}.session-item-copy strong{color:#0f172a;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.34;display:-webkit-box;overflow:hidden}.session-item-copy small{color:#64748b;align-items:center;gap:6px;margin-top:6px;font-size:.72rem;display:flex}.session-status-dot{background:#22c55e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #22c55e1f}.session-item-modern.in-progress .session-status-dot{background:#f59e0b;box-shadow:0 0 0 4px #f59e0b21}.session-item-modern.locked .session-status-dot{box-shadow:none;background:#94a3b8}.session-item-action{color:#2563eb;background:#eff6ff;border-radius:50%;justify-content:center;align-items:center;width:31px;height:31px;transition:transform .35s cubic-bezier(.22,1,.36,1),color .25s,background-color .25s;display:inline-flex}.session-item-modern:hover:not(:disabled) .session-item-action{color:#fff;background:#2563eb;transform:translate(3px)rotate(360deg)}.session-item-modern.locked{opacity:.66;cursor:not-allowed;background:#f8fafc}.preview-note-modern{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:15px;gap:10px;margin:0 14px 16px;padding:13px;display:flex}.preview-note-modern p{margin:3px 0 0;font-size:.75rem}.preview-note-icon{color:#fff;background:#f97316;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.exercise-block-modern{background:#fff;border:1px solid #e2e8f0;border-radius:22px;transition:transform .28s,border-color .28s,box-shadow .28s;position:relative;overflow:hidden;box-shadow:0 16px 42px #0f172a14}.exercise-block-modern:before{content:"";background:linear-gradient(90deg,#2563eb,#60a5fa,#2563eb) 0 0/200% 100%;height:4px;animation:4s linear infinite courseAccentFlow;position:absolute;top:0;left:0;right:0}.exercise-block-modern:hover{border-color:#2563eb52;transform:translateY(-3px);box-shadow:0 22px 50px #0f172a1f}.exercise-points{white-space:nowrap;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;color:#92400e!important;display:inline-flex!important}.exercise-options-modern{gap:11px;margin-top:18px;display:grid}.exercise-options-heading{color:#475569;justify-content:space-between;align-items:center;gap:12px;padding-bottom:4px;display:flex}.exercise-options-heading>div{color:#0f172a;align-items:center;gap:8px;font-weight:800;display:flex}.exercise-options-heading>div .icon{color:#2563eb}.exercise-options-heading small{color:#64748b}.exercise-option-card{cursor:pointer;grid-template-columns:42px minmax(0,1fr) 30px;align-items:center;gap:12px;min-height:68px;transition:transform .24s cubic-bezier(.22,1,.36,1),border-color .24s,background-color .24s,box-shadow .24s;position:relative;overflow:hidden;background:#fff!important;border:1px solid #dbe3ef!important;border-radius:16px!important;padding:12px 14px!important;display:grid!important}.exercise-option-card:after{content:"";background:linear-gradient(90deg,#0000,#ffffffa6,#0000);width:22%;height:220%;transition:left .65s;position:absolute;top:-60%;left:-30%;transform:rotate(18deg)}.exercise-option-card:hover:not(.disabled){transform:translateY(-3px)translate(2px);box-shadow:0 13px 28px #2563eb1f;background:#f8fbff!important;border-color:#2563eb7a!important}.exercise-option-card:hover:not(.disabled):after{left:120%}.exercise-option-card.selected{box-shadow:0 12px 28px #2563eb26;background:linear-gradient(135deg,#eff6ff,#fff)!important;border-color:#2563eb!important}.exercise-option-card input{opacity:0;pointer-events:none;position:absolute}.exercise-option-letter{color:#1d4ed8;background:#eff6ff;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-weight:900;transition:transform .3s,color .3s,background-color .3s;display:inline-flex}.exercise-option-card:hover .exercise-option-letter,.exercise-option-card.selected .exercise-option-letter{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:rotate(-8deg)scale(1.06)}.exercise-option-text{color:#1e293b;font-weight:650;line-height:1.45}.exercise-option-check{color:#94a3b8;justify-content:center;align-items:center;font-size:1.35rem;transition:transform .35s,color .25s;display:inline-flex}.exercise-option-card.selected .exercise-option-check{color:#2563eb;transform:rotate(360deg)scale(1.1)}.exercise-alert-card{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:15px;align-items:flex-start;gap:12px;animation:2.2s ease-in-out infinite alertSoftPulse;display:flex}.exercise-alert-icon{color:#fff;background:#f97316;border-radius:11px;flex:0 0 35px;justify-content:center;align-items:center;width:35px;height:35px;display:inline-flex;box-shadow:0 7px 18px #f9731640}.exercise-submit-modern{min-height:48px;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden;box-shadow:0 12px 25px #2563eb3d;border-radius:14px!important}.exercise-submit-modern:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 17px 32px #2563eb57}.exercise-submit-modern:active:not(:disabled){transform:translateY(-1px)scale(.985)}.swal2-popup{border:1px solid #94a3b838!important;border-radius:24px!important;padding:2rem!important;animation:.35s cubic-bezier(.22,1,.36,1) both swalCourseEntrance!important;box-shadow:0 28px 80px #0f172a3d!important}.swal2-title{color:#0f172a!important;font-size:1.55rem!important}.swal2-html-container{color:#64748b!important;line-height:1.55!important}.swal2-confirm,.swal2-cancel{border-radius:12px!important;min-height:44px!important;padding:0 20px!important;font-weight:800!important;transition:transform .23s,box-shadow .23s!important}.swal2-confirm{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;box-shadow:0 10px 22px #2563eb42!important}.swal2-confirm:hover,.swal2-cancel:hover{transform:translateY(-2px)scale(1.02)}.swal2-icon{animation:.55s cubic-bezier(.22,1,.36,1) both swalIconBounce!important}@keyframes courseAccentFlow{0%{background-position:0 0}to{background-position:200% 0}}@keyframes alertSoftPulse{0%,to{box-shadow:0 0 #f9731600}50%{box-shadow:0 0 0 6px #f9731614}}@keyframes swalCourseEntrance{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes swalIconBounce{0%{opacity:0;transform:scale(.5)rotate(-12deg)}70%{opacity:1;transform:scale(1.08)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (width<=980px){.course-session-list-modern{position:relative;top:auto}.course-session-list-modern .course-session-items{max-height:390px}}@media (width<=640px){.exercise-options-heading{flex-direction:column;align-items:flex-start}.exercise-option-card{grid-template-columns:38px minmax(0,1fr) 26px;padding:11px!important}.exercise-option-letter{width:36px;height:36px}}@media (prefers-reduced-motion:reduce){.exercise-block-modern:before,.exercise-alert-card,.swal2-popup,.swal2-icon{animation:none!important}.session-item-modern,.session-number,.session-item-action,.exercise-option-card,.exercise-option-letter,.exercise-option-check,.exercise-submit-modern{transition:none!important}}.admin-review-strip{gap:10px;margin:0 0 18px;display:flex}.admin-review-strip button{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:12px;padding:11px 16px;font-weight:900}.admin-review-strip button.active{background:var(--blue);color:#fff;border-color:var(--blue)}.admin-review-strip strong{background:#fff3;border-radius:999px;margin-left:6px;padding:2px 7px}.admin-review-panel{border:1px solid var(--border);background:#fff;border-radius:20px;padding:22px}.admin-review-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px;display:grid}.admin-review-cards article{border-radius:14px;gap:4px;padding:16px;display:grid}.admin-review-cards article.warning{background:#fff7ed;border:1px solid #fed7aa}.admin-review-cards article.ok{background:#ecfdf5;border:1px solid #a7f3d0}.admin-review-cards strong{font-size:26px}.admin-review-cards span{font-size:12px;font-weight:900}.admin-review-table{gap:10px;display:grid}.admin-review-table button{text-align:left;border:1px solid var(--border);background:#fff;border-radius:12px;grid-template-columns:110px 1fr auto;align-items:center;gap:12px;padding:14px;display:grid}.admin-review-table button:hover{border-color:var(--blue);transform:translateY(-1px)}.admin-review-table em{color:#b45309;font-size:12px;font-style:normal;font-weight:900}.admin-status-select{border:1px solid var(--border);background:#fff;border-radius:12px;min-height:42px;padding:0 12px;font-weight:900}.status-pill{text-transform:uppercase;border-radius:999px;padding:4px 9px;font-size:11px}.status-activo,.status-publicado{color:#047857;background:#ecfdf5}.status-borrador{color:#475569;background:#f1f5f9}.status-en_revision{color:#b45309;background:#fff7ed}.status-inactivo,.status-archivado{color:#be123c;background:#fff1f2}.admin-count-badge{color:var(--blue);background:#eff6ff;border-radius:999px;padding:6px 10px}.admin-exercise-summary{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.admin-exercise-summary h3{margin:5px 0}.admin-exercise-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-expand-button{border:1px solid var(--border);width:38px;height:38px;color:var(--blue);background:#fff;border-radius:12px;font-size:24px}.admin-exercise-editor.is-open{background:#fff;border-color:#bfdbfe;box-shadow:0 10px 30px #0f172a0f}.admin-exercise-body{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.admin-exercise-toolbar{flex-wrap:wrap;gap:9px;margin-bottom:18px;display:flex}.admin-exercise-toolbar button,.admin-subsection-title button{color:var(--blue);background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:9px 12px;font-weight:900}.admin-form-grid{grid-template-columns:1fr 1fr}.admin-form-grid .full{grid-column:1/-1}.admin-editor-form input,.admin-editor-form select,.admin-editor-form textarea{border:1px solid var(--border);width:100%;font:inherit;border-radius:12px;padding:12px}.code-textarea{color:#e2e8f0!important;background:#0f172a!important;font-family:Consolas,Monaco,monospace!important}.admin-subsection{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.admin-subsection-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.admin-subsection-title h4{margin:0}.admin-inline-item{border:1px solid var(--border);background:#f8fafc;border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;margin-bottom:10px;padding:12px;display:grid}.admin-inline-item textarea{border:1px solid var(--border);border-radius:10px;min-height:68px;padding:10px}.admin-inline-item.compact{grid-template-columns:1fr auto}.admin-inline-item p{color:var(--muted);margin:5px 0}.danger-link{color:#be123c;background:0 0;border:0;font-weight:900}.admin-bottom-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.admin-preview{text-align:left;line-height:1.6}.admin-preview-note{background:#eff6ff;border-radius:12px;margin:12px 0;padding:12px}.admin-preview pre{color:#e2e8f0;white-space:pre-wrap;background:#0f172a;border-radius:12px;padding:16px}.admin-preview-option{border:1px solid #dbeafe;border-radius:12px;margin:8px 0;padding:12px}.admin-preview-field{gap:6px;margin:10px 0;font-weight:800;display:grid}.admin-preview-field input{border:1px solid var(--border);border-radius:10px;padding:12px}@media (width<=900px){.admin-form-grid{grid-template-columns:1fr}.admin-form-grid .full{grid-column:auto}.admin-review-table button,.admin-inline-item{grid-template-columns:1fr}.admin-bottom-actions{flex-direction:column}.admin-bottom-actions button{width:100%}}.swal2-popup.course-answer-toast{border-radius:12px!important;grid-template-columns:auto 1fr!important;align-items:center!important;column-gap:10px!important;width:auto!important;min-width:230px!important;max-width:360px!important;padding:12px 16px!important;animation:none!important;display:grid!important}.swal2-popup.course-answer-toast .swal2-icon{width:28px!important;height:28px!important;margin:0!important;font-size:10px!important;animation:none!important}.swal2-popup.course-answer-toast .swal2-title{text-align:left!important;margin:0!important;padding:0!important;font-size:14px!important;line-height:1.35!important}.swal2-container.swal2-backdrop-hide{pointer-events:none!important}.swal2-popup.swal2-hide,.swal2-popup.course-answer-toast.swal2-hide{pointer-events:none!important;animation:.18s ease-in forwards swalCourseExit!important}@keyframes swalCourseExit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;visibility:hidden;transform:translateY(-10px)scale(.96)}}.d-none{display:none}.course-exercises-enroll-footer{background:linear-gradient(135deg,#f5f9ff 0%,#eef5ff 100%);border:1px solid #cfe0ff;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;margin-top:22px;padding:18px 20px;display:flex}.course-exercises-enroll-footer>div{color:#42526b;align-items:center;gap:11px;font-weight:600;line-height:1.45;display:flex}.course-exercises-enroll-footer>div ion-icon{color:#2457d6;flex:none;font-size:24px}.course-exercises-enroll-footer .primary-button{justify-content:center;align-items:center;gap:8px;width:auto;min-width:170px;display:inline-flex}.enrollment-page-content{padding-bottom:52px}.enrollment-back-button{color:#31517d;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-bottom:14px;padding:8px 0;font-weight:700;display:inline-flex}.enrollment-back-button:hover{color:#1f56d8}.enrollment-hero{color:#fff;background:linear-gradient(135deg,#0c1d35 0%,#112b50 100%);border-radius:24px;justify-content:space-between;align-items:center;gap:28px;padding:34px 38px;display:flex;box-shadow:0 18px 45px #142b4e29}.enrollment-kicker{color:#cfe0ff;background:#3f7eff38;border-radius:999px;margin-bottom:13px;padding:7px 12px;font-size:13px;font-weight:800;display:inline-flex}.enrollment-hero h1{margin:0 0 10px;font-size:clamp(28px,4vw,44px);line-height:1.1}.enrollment-hero p{color:#cbd7e8;max-width:700px;margin:0;line-height:1.65}.enrollment-price-card{color:#13243e;text-align:center;background:#fff;border-radius:20px;flex:0 0 210px;padding:22px;box-shadow:0 14px 34px #00000024}.enrollment-price-card span,.enrollment-price-card small{color:#68778d;display:block}.enrollment-price-card strong{color:#2055d6;margin:6px 0;font-size:34px;display:block}.enrollment-layout{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:start;gap:24px;margin-top:24px;display:grid}.enrollment-payment-panel,.enrollment-request-panel{background:#fff;border:1px solid #e1e8f2;border-radius:24px;padding:28px;box-shadow:0 14px 36px #203d6714}.enrollment-panel-heading{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.enrollment-step{color:#fff;background:#2457d6;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-weight:900;display:inline-grid}.enrollment-panel-heading h2{color:#152238;margin:0 0 5px}.enrollment-panel-heading p{color:#6c788a;margin:0;line-height:1.5}.enrollment-qr-frame{background:#8604a1;border-radius:24px;max-width:560px;margin:0 auto;overflow:hidden;box-shadow:0 18px 38px #770a8f2e}.enrollment-qr-frame img{width:100%;height:auto;display:block}.enrollment-amount-banner{color:#3e4b60;background:#eff5ff;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:16px 20px;font-weight:700;display:flex}.enrollment-amount-banner strong{color:#1f56d8;font-size:28px}.enrollment-open-form-button,.enrollment-submit-button{justify-content:center;align-items:center;gap:9px;width:100%;min-height:52px;display:inline-flex}.enrollment-status-box{border-radius:15px;gap:12px;margin-bottom:18px;padding:15px 16px;display:flex}.enrollment-status-box ion-icon{flex:none;font-size:25px}.enrollment-status-box strong,.enrollment-status-box span{display:block}.enrollment-status-box span{margin-top:3px;font-size:13px;line-height:1.45}.enrollment-status-box.pending{color:#8d5a00;background:#fff7e5}.enrollment-status-box.approved{color:#17733b;background:#eafaf0}.enrollment-form{gap:20px;display:grid}.enrollment-form label>span{color:#283750;margin-bottom:8px;font-weight:800;display:block}.enrollment-input-wrap{background:#f9fbfe;border:1px solid #d8e1ee;border-radius:14px;align-items:center;gap:10px;min-height:52px;padding:0 15px;transition:border-color .2s,box-shadow .2s;display:flex}.enrollment-input-wrap:focus-within{border-color:#2b65e7;box-shadow:0 0 0 4px #2b65e71a}.enrollment-input-wrap ion-icon{color:#52709c;font-size:22px}.enrollment-input-wrap input{width:100%;font:inherit;color:#17263d;background:0 0;border:0;outline:0}.enrollment-file-drop{text-align:center;cursor:pointer;background:#f8fbff;border:2px dashed #c7d4e7;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:190px;padding:22px;display:flex;position:relative;overflow:hidden}.enrollment-file-drop input{opacity:0;cursor:pointer;z-index:2;width:100%;height:100%;position:absolute;inset:0}.enrollment-file-drop ion-icon{color:#2b65e7;font-size:42px}.enrollment-file-drop strong{color:#26364f;text-overflow:ellipsis;white-space:nowrap;max-width:90%;overflow:hidden}.enrollment-file-drop small{color:#748196}.enrollment-file-drop.has-file{border-style:solid;min-height:250px}.enrollment-file-drop img{object-fit:contain;background:#f7f9fc;width:100%;height:100%;padding:12px;position:absolute;inset:0}.enrollment-file-drop.has-file strong,.enrollment-file-drop.has-file small{z-index:1;background:#ffffffeb;border-radius:7px;padding:4px 8px;position:relative}@media (width<=980px){.enrollment-layout{grid-template-columns:1fr}.enrollment-hero{align-items:stretch}}@media (width<=680px){.course-exercises-enroll-footer,.enrollment-hero{flex-direction:column;align-items:stretch}.course-exercises-enroll-footer .primary-button,.enrollment-price-card{width:100%;min-width:0}.enrollment-hero,.enrollment-payment-panel,.enrollment-request-panel{padding:22px}.enrollment-layout{grid-template-columns:minmax(0,1fr)}}.certificate-content{padding:34px}.certificate-page-header{color:#fff;background:linear-gradient(135deg,#10243f,#193a64);border-radius:24px;margin-bottom:26px;padding:28px}.certificate-page-header span{color:#ffb27d;align-items:center;gap:8px;font-weight:800;display:inline-flex}.certificate-page-header h1{margin:8px 0 4px;font-size:34px}.certificate-page-header p{color:#ffffffc7;margin:0}.certificate-card-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:20px;display:grid}.certificate-card{background:#fff;border:1px solid #dbe4ef;border-radius:22px;grid-template-columns:58px 1fr;gap:16px;padding:24px;display:grid;position:relative;box-shadow:0 14px 38px #10243f14}.certificate-card-icon{color:#ef6c24;background:#fff0e7;border-radius:18px;place-items:center;width:58px;height:58px;font-size:28px;display:grid}.certificate-card small{color:#ef6c24;text-transform:uppercase;letter-spacing:.6px;font-weight:900}.certificate-card h2{color:#10243f;margin:5px 0 7px}.certificate-card p{color:#697586;margin:0;line-height:1.5}.certificate-card button{color:#fff;cursor:pointer;background:#2454d7;border:0;border-radius:13px;grid-column:1/-1;justify-content:center;align-items:center;gap:9px;width:100%;padding:13px 18px;font-weight:800;display:flex}.certificate-card button:disabled{opacity:.65;cursor:wait}.certificate-verification-page{background:radial-gradient(circle at top,#edf4ff,#f8fafc 55%);place-items:center;min-height:100vh;padding:30px;display:grid}.verification-card{text-align:center;background:#fff;border-radius:26px;width:min(620px,100%);padding:36px;box-shadow:0 24px 70px #10243f24}.verification-card .logo{justify-content:center;margin-bottom:26px}.verification-status>ion-icon{font-size:74px}.verification-status.valid>ion-icon{color:#20a464}.verification-status.invalid>ion-icon{color:#dc3545}.verification-status.loading>ion-icon{color:#2454d7}.verification-status h1{color:#10243f;margin:10px 0 6px}.verification-status p{color:#667085;margin:0 0 24px}.verification-status dl{text-align:left;border:1px solid #e2e8f0;border-radius:16px;margin:22px 0;overflow:hidden}.verification-status dl div{border-bottom:1px solid #e2e8f0;grid-template-columns:130px 1fr;gap:12px;padding:13px 16px;display:grid}.verification-status dl div:last-child{border-bottom:0}.verification-status dt{color:#667085;font-weight:700}.enhanced-section-header{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.course-grid-search{background:#0a1c3099;border:1px solid #8eb1d933;border-radius:12px;align-items:center;gap:10px;width:min(100%,340px);min-height:46px;padding:0 12px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.course-grid-search:focus-within{background:#0a223ee6;border-color:#308cff;box-shadow:0 0 0 3px #308cff1f}.course-grid-search>ion-icon,.course-grid-search>svg{color:#77b8ff;flex:none;font-size:20px}.course-grid-search input{color:#fff;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0}.course-grid-search input::placeholder{color:#dce9f88c}.course-search-clear{color:#b8cce1;cursor:pointer;background:#ffffff0f;border:0;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;padding:0;display:grid}.course-search-clear:hover{color:#fff;background:#ffffff1f}.course-section-action{color:#5ca6ff;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;font-weight:700;display:inline-flex}.course-grid-pagination{justify-content:center;align-items:center;gap:14px;margin-top:24px;display:flex}.course-pagination-button{color:#fff;cursor:pointer;background:#0f3154bf;border:1px solid #68a4e640;border-radius:12px;place-items:center;width:44px;height:44px;padding:0;transition:transform .2s,border-color .2s,background .2s;display:grid}.course-pagination-button:hover:not(:disabled){background:#1558b4;border-color:#308cff;transform:translateY(-2px)}.course-pagination-button:disabled{opacity:.35;cursor:not-allowed}.course-pagination-button ion-icon,.course-pagination-button svg{font-size:22px}.course-pagination-info{flex-direction:column;align-items:center;min-width:90px;line-height:1.25;display:flex}.course-pagination-info strong{color:#fff;font-size:14px}.course-pagination-info span{color:#d6e5f5a6;font-size:12px}.course-grid-no-results{color:#dceaf8a6;text-align:center;background:#0a1b2d59;border:1px dashed #78a4d240;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:190px;padding:24px;display:flex}.course-grid-no-results ion-icon,.course-grid-no-results svg{color:#5ca6ff;margin-bottom:4px;font-size:34px}.course-grid-no-results strong{color:#fff}.course-grid-no-results span{font-size:14px}@media (width<=768px){.enhanced-section-header{flex-direction:column;align-items:stretch}.course-grid-search{width:100%}.course-grid-pagination{margin-top:18px}}.verification-status dd{color:#10243f;overflow-wrap:anywhere;margin:0;font-weight:800}.verification-card>button{color:#fff;cursor:pointer;background:#10243f;border:0;border-radius:12px;margin-top:8px;padding:12px 22px;font-weight:800}@media (width<=640px){.certificate-content{padding:20px}.verification-card{padding:26px 20px}.verification-status dl div{grid-template-columns:1fr;gap:4px}}.certificate-pdf-viewer{text-align:left;margin-top:30px}.certificate-pdf-viewer h2{color:#10243f;margin-bottom:14px;font-size:20px}.certificate-pdf-viewer iframe{background:#f8fafc;border:1px solid #dce3ec;border-radius:14px;width:100%;height:650px}@media (width<=640px){.certificate-pdf-viewer iframe{height:500px}}.student-mobile-header{display:none}@media (width<=900px){.student-shell,.certificates-page{width:100%;min-width:0;overflow-x:hidden}.student-shell .main-area,.certificates-page .main-area{width:100%;min-width:0}.student-mobile-header{z-index:35;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-bottom:1px solid #e2e8f0f2;grid-template-columns:44px minmax(0,1fr) 40px;align-items:center;gap:12px;min-height:68px;padding:10px 18px;display:grid;position:sticky;top:0;box-shadow:0 8px 24px #0f172a0f}.student-mobile-menu-button,.student-mobile-header-mark{border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.student-mobile-menu-button{color:#10243f;background:#fff;border:1px solid #dbe5f1;font-size:23px;box-shadow:0 5px 14px #0f172a12}.student-mobile-header-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.student-mobile-header-copy span{color:#64748b;letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:800}.student-mobile-header-copy strong{color:#10243f;text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:1.25;overflow:hidden}.student-mobile-header-mark{color:#1d4ed8;background:linear-gradient(135deg,#e9f2ff,#f4f8ff);font-size:21px}.student-shell .content,.certificates-page .content{width:100%;max-width:none;margin:0}.enhanced-sidebar{width:min(86vw,310px);max-width:310px;height:100dvh;padding-bottom:max(18px, env(safe-area-inset-bottom));overscroll-behavior:contain;overflow-y:auto}.sidebar-overlay{border:0;border-radius:0}.course-card,.certificate-card,.enhanced-course-section,.filters{min-width:0}}@media (width<=680px){.student-mobile-header{grid-template-columns:42px minmax(0,1fr) 38px;min-height:64px;padding:9px 14px}.student-dashboard-content,.certificate-content{padding:18px 14px 30px}.student-welcome-hero{border-radius:20px;gap:26px;padding:25px 19px}.student-eyebrow{max-width:100%;font-size:11px;line-height:1.35}.student-welcome-copy h1{margin-top:14px;font-size:clamp(29px,9vw,36px);line-height:1.08}.student-welcome-copy>p{font-size:15px;line-height:1.65}.welcome-actions{grid-template-columns:1fr;gap:11px;width:100%;display:grid}.student-primary-action,.student-secondary-action{text-align:center;justify-content:center;width:100%;min-height:50px;padding:13px 16px}.student-progress-summary{gap:20px;width:100%;max-width:none;padding:20px 16px}.progress-ring{width:142px;height:142px}.summary-metrics{gap:10px}.summary-metrics>div{min-width:0;padding:13px 10px}.summary-metrics p strong{font-size:21px}.summary-metrics p span{font-size:11px}.enhanced-course-section{border-radius:18px;padding:18px 14px}.enhanced-section-header{gap:15px;margin-bottom:18px}.enhanced-section-header h2,.certificate-page-header h1,.explore-page-heading h1{font-size:clamp(25px,8vw,32px);line-height:1.12}.enhanced-section-header p,.certificate-page-header p,.explore-page-heading p{font-size:14px;line-height:1.55}.course-grid-search{min-width:0;height:48px}.student-dashboard .course-grid,.catalog-results-column .course-grid{grid-template-columns:minmax(0,1fr);gap:16px}.course-card{border-radius:16px;width:100%}.course-cover{min-height:155px;padding:15px}.course-body{padding:16px}.course-body h3{overflow-wrap:anywhere}.course-actions,.course-card-actions{flex-wrap:wrap;width:100%}.course-actions button,.course-card-actions button,.course-actions a,.course-card-actions a{flex:100%;justify-content:center;min-width:0}.course-grid-pagination{justify-content:space-between;gap:10px;width:100%}.course-pagination-info{min-width:0}.student-motivation-banner{text-align:center;grid-template-columns:1fr;gap:13px;padding:20px 17px}.student-motivation-banner .motivation-icon{margin:0 auto}.student-motivation-banner button{width:100%}.certificate-page-header{margin-bottom:20px}.certificate-card-grid{grid-template-columns:minmax(0,1fr);gap:15px}.certificate-card{grid-template-columns:48px minmax(0,1fr);gap:14px;padding:18px 15px}.certificate-card-icon{width:48px;height:48px}.certificate-card h2{overflow-wrap:anywhere;font-size:18px}.certificate-card button{grid-column:1/-1;justify-content:center;width:100%}}@media (width<=390px){.student-dashboard-content,.certificate-content{padding-inline:11px}.student-mobile-header-mark{display:none}.student-mobile-header{grid-template-columns:42px minmax(0,1fr)}.summary-metrics{grid-template-columns:1fr}.course-grid-pagination{align-items:center}.course-pagination-info span{display:none}}.course-learning-layout{grid-template-columns:minmax(0,1fr)}.course-session-navigator{z-index:20;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:12px;width:100%;display:grid;position:relative}.session-navigation-arrow{color:#1d4ed8;cursor:pointer;background:#fff;border:1px solid #dbe4f0;border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .2s,border-color .2s,background-color .2s;display:inline-flex;box-shadow:0 8px 22px #0f172a14}.session-navigation-arrow:hover:not(:disabled){background:#eff6ff;border-color:#2563eb;transform:translateY(-2px)}.session-navigation-arrow:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}.session-selector{min-width:0;position:relative}.session-selector-current{text-align:left;color:#0f172a;cursor:pointer;background:#fff;border:1px solid #dbe4f0;border-radius:18px;grid-template-columns:48px minmax(0,1fr) auto 30px;align-items:center;gap:13px;width:100%;min-height:74px;padding:12px 16px;display:grid;box-shadow:0 10px 28px #0f172a14}.session-selector.open .session-selector-current{border-color:#2563eb;box-shadow:0 12px 30px #2563eb24}.session-selector-number,.session-selector-option-number{color:#fff;background:linear-gradient(135deg,#2563eb,#0f3d91);border-radius:14px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.session-selector-number{width:48px;height:48px}.session-selector-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.session-selector-copy small{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.session-selector-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.session-selector-counter{color:#1d4ed8;background:#eff6ff;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:800}.session-selector-chevron{color:#64748b;transition:transform .2s;display:inline-flex}.session-selector.open .session-selector-chevron{transform:rotate(180deg)}.session-selector-menu{background:#fff;border:1px solid #dbe4f0;border-radius:20px;max-height:min(520px,70vh);padding:14px;position:absolute;top:calc(100% + 10px);left:0;right:0;overflow:hidden;box-shadow:0 24px 60px #0f172a2e}.session-selector-menu-heading{justify-content:space-between;align-items:center;gap:12px;padding:4px 4px 12px;display:flex}.session-selector-menu-heading div{flex-direction:column;gap:3px;display:flex}.session-selector-menu-heading span{color:#64748b;font-size:.78rem}.session-selector-menu-heading button{color:#475569;cursor:pointer;background:#f1f5f9;border:0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.session-selector-options{gap:8px;max-height:390px;padding-right:4px;display:grid;overflow-y:auto}.session-selector-option{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:42px minmax(0,1fr) 30px;align-items:center;gap:11px;width:100%;padding:10px;display:grid}.session-selector-option:hover:not(:disabled),.session-selector-option.active{background:#eff6ff;border-color:#2563eb}.session-selector-option-number{border-radius:12px;width:42px;height:42px;font-size:.82rem}.session-selector-option-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.session-selector-option-copy strong{text-overflow:ellipsis;white-space:nowrap;color:#0f172a;font-size:.86rem;overflow:hidden}.session-selector-option-copy small{color:#64748b;font-size:.72rem}.session-selector-option-icon{color:#2563eb;justify-content:center;display:inline-flex}.session-selector-option.locked{opacity:.52;cursor:not-allowed;background:#f8fafc}.session-selector-preview-note{color:#9a3412;background:#fff7ed;border-radius:12px;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;font-size:.76rem;display:flex}@media (width<=680px){.course-session-navigator{grid-template-columns:44px minmax(0,1fr) 44px;gap:7px}.session-navigation-arrow{border-radius:14px;width:44px;height:50px}.session-selector-current{grid-template-columns:42px minmax(0,1fr) 22px;gap:10px;min-height:66px;padding:10px}.session-selector-number{border-radius:12px;width:42px;height:42px;font-size:.82rem}.session-selector-copy small,.session-selector-counter{display:none}.session-selector-copy strong{font-size:.86rem}.session-selector-menu{z-index:1200;border-radius:22px;max-height:72dvh;position:fixed;inset:auto 12px 12px}.session-selector-options{max-height:calc(72dvh - 112px)}}.terms-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#080f1fc7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.terms-modal{background:#fff;border:1px solid #0f172a1f;border-radius:22px;flex-direction:column;width:min(760px,100%);max-height:calc(100vh - 40px);display:flex;overflow:hidden;box-shadow:0 28px 80px #0208175c}.terms-modal-header{border-bottom:1px solid #e5e7eb;align-items:center;gap:14px;padding:22px 24px 18px;display:flex}.terms-modal-icon{color:#4338ca;background:#eef2ff;border-radius:14px;flex:0 0 48px;place-items:center;width:48px;height:48px;font-size:25px;display:grid}.terms-modal-eyebrow{color:#4f46e5;letter-spacing:.08em;text-transform:uppercase;margin:0 0 3px;font-size:.74rem;font-weight:800}.terms-modal-header h2{color:#111827;margin:0;font-size:clamp(1.25rem,2.4vw,1.65rem)}.terms-modal-content{color:#475569;scrollbar-gutter:stable;flex:1;padding:22px 24px;line-height:1.65;overflow-y:auto}.terms-modal-content h3{color:#172033;margin:22px 0 7px;font-size:1rem}.terms-modal-content h3:first-of-type{margin-top:14px}.terms-modal-content p{margin:0 0 10px}.terms-modal-check{color:#1f2937;cursor:pointer;background:#f8fafc;border:1px solid #dbe3ef;border-radius:13px;align-items:flex-start;gap:11px;margin:0 24px;padding:16px;font-weight:650;display:flex}.terms-modal-check input{accent-color:#4f46e5;flex:0 0 18px;width:18px;height:18px;margin-top:2px}.terms-modal-error{color:#b91c1c;margin:10px 24px 0;font-size:.9rem;font-weight:650}.terms-modal-button{color:#fff;min-height:48px;font:inherit;cursor:pointer;background:#4f46e5;border:0;border-radius:12px;margin:16px 24px 24px;font-weight:800;transition:transform .18s,background .18s,opacity .18s}.terms-modal-button:hover:not(:disabled){background:#4338ca;transform:translateY(-1px)}.terms-modal-button:disabled{opacity:.48;cursor:not-allowed}@media (width<=640px){.terms-modal-overlay{padding:0}.terms-modal{border-radius:0;width:100%;min-height:100vh;max-height:100vh}.terms-modal-header,.terms-modal-content{padding-left:18px;padding-right:18px}.terms-modal-check,.terms-modal-button,.terms-modal-error{margin-left:18px;margin-right:18px}}
