: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}}
