:root{--color-bg-primary: #050816;--color-bg-secondary: #0B1020;--color-bg-surface: #0f172a;--color-bg-card: rgba(17, 24, 39, .75);--color-bg-card-hover: rgba(24, 34, 54, .85);--color-bg-muted: rgba(255, 255, 255, .04);--color-border: rgba(255, 255, 255, .09);--color-border-subtle: rgba(255, 255, 255, .05);--color-border-hover: rgba(0, 217, 255, .35);--color-border-focus: #00D9FF;--color-primary: #2563EB;--color-primary-hover: #1d4ed8;--color-primary-dim: rgba(37, 99, 235, .15);--color-cyan: #00D9FF;--color-cyan-hover: #38e1ff;--color-cyan-dim: rgba(0, 217, 255, .12);--color-violet: #7C3AED;--color-violet-hover: #8b5cf6;--color-violet-dim: rgba(124, 58, 237, .15);--color-success: #22C55E;--color-success-hover: #16a34a;--color-success-dim: rgba(34, 197, 94, .12);--color-warning: #F59E0B;--color-warning-hover: #d97706;--color-warning-dim: rgba(245, 158, 11, .12);--color-danger: #EF4444;--color-danger-hover: #dc2626;--color-danger-dim: rgba(239, 68, 68, .12);--color-text-primary: #F8FAFC;--color-text-secondary: #94A3B8;--color-text-muted: #64748B;--color-text-inverse: #050816;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Outfit", "Inter", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px -2px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 32px -4px rgba(0, 0, 0, .6);--shadow-glow-cyan: 0 0 20px rgba(0, 217, 255, .15);--shadow-glow-primary: 0 0 24px rgba(37, 99, 235, .2);--shadow-glow-violet: 0 0 24px rgba(124, 58, 237, .2);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .35s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.25;color:var(--color-text-primary)}h1{font-size:2.25rem;letter-spacing:-.025em}h2{font-size:1.75rem;letter-spacing:-.02em}h3{font-size:1.35rem;letter-spacing:-.015em}h4{font-size:1.15rem;font-weight:600}h5{font-size:1rem;font-weight:600}p{color:var(--color-text-secondary)}code,kbd,samp,pre{font-family:var(--font-mono)}.gradient-text{background:linear-gradient(135deg,#00d9ff,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}.gradient-text-cyan{background:linear-gradient(135deg,#00d9ff,#2563eb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}.container{width:100%;max-width:1240px;margin:0 auto;padding:0 1.25rem}@media(min-width:768px){.container{padding:0 2rem}}.container-narrow{width:100%;max-width:860px;margin:0 auto;padding:0 1.25rem}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.25rem;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;text-decoration:none;line-height:1.4;white-space:nowrap}.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 2px 10px #2563eb4d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 4px 16px #2563eb73}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:#ffffff0d;color:var(--color-text-primary);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-secondary:hover:not(:disabled){background:#ffffff1a;border-color:var(--color-border-hover);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:#ffffff0f;color:var(--color-text-primary)}.btn-danger{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.3)}.btn-danger:hover:not(:disabled){background:#ef444438;border-color:var(--color-danger);color:#fff}.btn-success{background:#22c55e1f;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.btn-success:hover:not(:disabled){background:#22c55e38;border-color:var(--color-success);color:#fff}.btn-outline-cyan{background:transparent;color:var(--color-cyan);border:1px solid rgba(0,217,255,.4)}.btn-outline-cyan:hover:not(:disabled){background:var(--color-cyan-dim);border-color:var(--color-cyan);box-shadow:0 0 16px #00d9ff40}.btn-sm{padding:.4rem .75rem;font-size:.8rem;border-radius:var(--radius-sm);gap:.35rem}.btn-lg{padding:.85rem 1.75rem;font-size:1rem;border-radius:var(--radius-lg);gap:.6rem}.btn-icon{padding:.55rem;border-radius:var(--radius-md);line-height:1}.btn-full{width:100%}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.025em;line-height:1.2}.badge-primary{background:var(--color-primary-dim);color:#60a5fa;border:1px solid rgba(37,99,235,.3)}.badge-cyan{background:var(--color-cyan-dim);color:var(--color-cyan);border:1px solid rgba(0,217,255,.3)}.badge-violet{background:var(--color-violet-dim);color:#c084fc;border:1px solid rgba(124,58,237,.3)}.badge-success{background:var(--color-success-dim);color:#4ade80;border:1px solid rgba(34,197,94,.3)}.badge-warning{background:var(--color-warning-dim);color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.badge-danger{background:var(--color-danger-dim);color:#f87171;border:1px solid rgba(239,68,68,.3)}.badge-neutral{background:#ffffff0f;color:var(--color-text-secondary);border:1px solid var(--color-border)}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot.active,.status-dot.success{background-color:var(--color-success);box-shadow:0 0 8px var(--color-success)}.status-dot.warning{background-color:var(--color-warning);box-shadow:0 0 8px var(--color-warning)}.status-dot.danger{background-color:var(--color-danger);box-shadow:0 0 8px var(--color-danger)}.status-dot.cyan{background-color:var(--color-cyan);box-shadow:0 0 8px var(--color-cyan)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);position:relative}.card-hover:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-glow-cyan);transform:translateY(-2px)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border-subtle)}.card-body{position:relative}.card-footer{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--color-border-subtle);display:flex;align-items:center;justify-content:space-between}.form-group{margin-bottom:1.25rem;display:flex;flex-direction:column}.form-label{display:block;font-size:.85rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.45rem}.form-label .required-indicator{color:var(--color-danger);margin-left:2px}.form-input,.form-select,.form-textarea{width:100%;padding:.7rem .95rem;background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.925rem;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-cyan);box-shadow:0 0 0 1px var(--color-cyan),0 0 12px #00d9ff33}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{opacity:.6;cursor:not-allowed;background-color:#ffffff05}.form-input.has-error,.form-select.has-error,.form-textarea.has-error{border-color:var(--color-danger)}.form-input.has-error:focus,.form-select.has-error:focus,.form-textarea.has-error:focus{box-shadow:0 0 0 1px var(--color-danger),0 0 12px #ef444433}.form-error{font-size:.8rem;color:#f87171;margin-top:.35rem;display:flex;align-items:center;gap:.35rem}.form-helper{font-size:.775rem;color:var(--color-text-muted);margin-top:.35rem}.table-container{width:100%;overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-overflow-scrolling:touch}.responsive-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.responsive-table th{background-color:#05081699;color:var(--color-text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:.85rem 1rem;border-bottom:1px solid var(--color-border);white-space:nowrap}.responsive-table td{padding:.95rem 1rem;border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-primary);vertical-align:middle}.responsive-table tbody tr{transition:background-color var(--transition-fast)}.responsive-table tbody tr:hover{background-color:#ffffff08}.responsive-table tbody tr:last-child td{border-bottom:none}.skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff17,#ffffff0a 75%);background-size:200% 100%;animation:skeleton-pulse 1.6s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1rem;margin-bottom:.5rem;border-radius:var(--radius-xs)}.skeleton-title{height:1.75rem;width:60%;margin-bottom:1rem;border-radius:var(--radius-sm)}.skeleton-circle{border-radius:50%;flex-shrink:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#050816d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1.25rem;animation:modal-fade-in .2s ease-out}.modal-dialog{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);max-width:580px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:modal-scale-up .25s cubic-bezier(.16,1,.3,1);overflow:hidden}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:flex-end;gap:.75rem;background-color:#05081666}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-scale-up{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.2);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite;display:inline-block;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}@media(max-width:640px){.hide-mobile{display:none!important}}@media(min-width:641px){.hide-desktop{display:none!important}}.whatsapp-btn:hover{transform:scale(1.08) translateY(-2px);box-shadow:0 12px 28px #25d36680,0 4px 10px #0006}.whatsapp-btn:focus-visible{outline:2px solid #FFFFFF;outline-offset:3px}.carousel-nav-btn:hover{background-color:#00d9ff26!important;border-color:var(--color-cyan)!important;color:var(--color-cyan)!important;transform:translateY(-50%) scale(1.06)!important}.carousel-nav-btn:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}.filter-pill:hover:not(.active){border-color:#ffffff40!important;background-color:#ffffff0d!important;color:#fff!important}.spotlight-card{z-index:5}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.whatsapp-btn:hover,.carousel-nav-btn:hover{transform:none!important}}.course-player-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.5rem;align-items:start}.lesson-header-flex{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.lesson-nav-buttons{display:flex;align-items:center;gap:.5rem}@media(max-width:960px){.course-player-grid{grid-template-columns:1fr!important;gap:1.25rem!important}.lesson-header-flex{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important}.lesson-nav-buttons{width:100%!important;display:flex!important;gap:.5rem!important}.lesson-nav-buttons button{flex:1!important}}.neon-text-fire{background:linear-gradient(135deg,#ff6b00,#ff3d00,#ffb800);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 16px rgba(255,107,0,.4))}.neon-text-gold{background:linear-gradient(135deg,#ffe259,#ffa751);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 14px rgba(255,167,81,.45))}.neon-text-cyan{background:linear-gradient(135deg,#00f0ff,#0072ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 14px rgba(0,240,255,.4))}.neon-card-fire{background:#120c0ad9;border:1px solid rgba(255,85,0,.35);box-shadow:0 8px 32px #ff3c0026,inset 0 0 18px #ff55000d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius-xl);transition:all .3s cubic-bezier(.16,1,.3,1)}.neon-card-fire:hover{border-color:#ff6b00b3;box-shadow:0 12px 48px #ff550047,inset 0 0 24px #ff6b001a;transform:translateY(-3px)}.neon-card-cyan{background:#08121ed9;border:1px solid rgba(0,217,255,.3);box-shadow:0 8px 32px #00d9ff1f,inset 0 0 18px #00d9ff0a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius-xl);transition:all .3s cubic-bezier(.16,1,.3,1)}.neon-card-cyan:hover{border-color:#00f0ffa6;box-shadow:0 12px 44px #00d9ff40,inset 0 0 24px #00d9ff14;transform:translateY(-3px)}.btn-neon-fire{background:linear-gradient(135deg,#ff4500,#ff8c00);color:#fff!important;font-weight:800!important;letter-spacing:.03em;border:1px solid rgba(255,200,100,.4);box-shadow:0 4px 20px #ff450080,0 0 35px #ff8c004d;position:relative;overflow:hidden;transition:all .25s ease}.btn-neon-fire:hover{background:linear-gradient(135deg,#ff5722,#ffa000);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 32px #ff4500b3,0 0 45px #ffa00073}.btn-neon-fire:active{transform:translateY(0) scale(.99)}.btn-neon-green{background:linear-gradient(135deg,#059669,#10b981);color:#fff!important;font-weight:800!important;letter-spacing:.03em;border:1px solid rgba(52,211,153,.4);box-shadow:0 4px 20px #10b98173,0 0 30px #10b98140;transition:all .25s ease}.btn-neon-green:hover{background:linear-gradient(135deg,#047857,#34d399);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 30px #10b981a6}.btn-shine:after{content:"";position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:linear-gradient(60deg,#fff0,#fff6,#fff0);transform:rotate(25deg);animation:shine-sweep 3.5s infinite}@keyframes shine-sweep{0%{left:-60%}35%{left:140%}to{left:140%}}.badge-payment{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .9rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:700;letter-spacing:.02em;transition:all .2s ease;-webkit-user-select:none;user-select:none}.badge-payment-nequi{background:#e6007e24;border:1px solid rgba(230,0,126,.4);color:#ff66b2}.badge-payment-nequi:hover{background:#e6007e38;box-shadow:0 0 16px #e6007e66}.badge-payment-daviplata{background:#ed1c2424;border:1px solid rgba(237,28,36,.4);color:#ff6b6b}.badge-payment-daviplata:hover{background:#ed1c2438;box-shadow:0 0 16px #ed1c2466}.badge-payment-breb{background:#00b4d824;border:1px solid rgba(0,180,216,.45);color:#00d4ff}.badge-payment-breb:hover{background:#00b4d83d;box-shadow:0 0 16px #00b4d866}.badge-payment-pse{background:#003c8240;border:1px solid rgba(59,130,246,.45);color:#60a5fa}.badge-payment-bancolombia{background:#fdda241f;border:1px solid rgba(253,218,36,.4);color:#fde047}.social-proof-toast{position:fixed;bottom:24px;left:24px;z-index:80;max-width:360px;width:calc(100% - 48px);background:#0f172af0;border:1px solid rgba(0,217,255,.35);box-shadow:0 12px 35px #0009,0 0 20px #00d9ff33;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius-lg);padding:.85rem 1rem;display:flex;align-items:center;gap:.85rem;animation:toastSlideUp .4s cubic-bezier(.16,1,.3,1);transition:all .3s ease}@keyframes toastSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.sticky-mobile-offer-bar{position:fixed;bottom:0;left:0;right:0;z-index:90;background:#070b14f2;border-top:1px solid rgba(255,85,0,.4);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;box-shadow:0 -4px 20px #0009,0 -1px 15px #ff550026}.pulse-ring{position:relative}.pulse-ring:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:inherit;background:currentColor;opacity:.6;animation:pulse-ring-anim 1.8s cubic-bezier(.24,0,.38,1) infinite}@keyframes pulse-ring-anim{0%{transform:scale(.95);opacity:.8}70%{transform:scale(1.6);opacity:0}to{transform:scale(1.6);opacity:0}}.timer-unit-box{background:#00000073;border:1px solid rgba(255,85,0,.35);border-radius:var(--radius-md);padding:.4rem .65rem;min-width:52px;text-align:center;box-shadow:inset 0 0 10px #ff55001a}.timer-unit-value{font-family:var(--font-mono);font-size:1.4rem;font-weight:800;color:#ff8c00;line-height:1;text-shadow:0 0 10px rgba(255,140,0,.5)}.timer-unit-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-top:2px}@keyframes float3D{0%{transform:translateY(0) rotateX(0) scale(1)}50%{transform:translateY(-8px) rotateX(1.5deg) scale(1.015)}to{transform:translateY(0) rotateX(0) scale(1)}}.floating-mockup-3d{animation:float3D 4.5s ease-in-out infinite;perspective:1000px;transform-style:preserve-3d;will-change:transform}.neon-mockup-container{position:relative;display:inline-block;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 16px 40px #000000b3,0 0 35px #ff550059,0 0 70px #00d9ff33;border:1px solid rgba(255,140,0,.45);background:radial-gradient(circle at center,#ff550026,#050816f2);transition:all .3s ease}.neon-mockup-container:hover{box-shadow:0 20px 50px #000c,0 0 45px #ff550080,0 0 90px #00d9ff59;border-color:#ffaa00b3}
