:root{--bg-dark:220 25% 9%;--bg-card:220 22% 13%;--bg-popover:220 22% 15%;--border:220 15% 20%;--primary:210 100% 50%;--primary-hover:210 100% 45%;--primary-foreground:0 0% 100%;--success:142 70% 45%;--success-hover:142 75% 40%;--success-foreground:0 0% 100%;--warning:38 92% 50%;--warning-hover:38 95% 45%;--destructive:346 84% 61%;--destructive-foreground:0 0% 100%;--text-primary:210 20% 98%;--text-secondary:210 12% 70%;--text-muted:210 10% 50%;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0003, 0 4px 6px -2px #0000001a;--shadow-glow:0 0 20px #3b82f659;--font-heading:"Outfit", sans-serif;--font-body:"Inter", sans-serif;--radius:16px}*{box-sizing:border-box;font-family:var(--font-body);margin:0;padding:0}body{background-color:hsl(var(--bg-dark));color:hsl(var(--text-primary));-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:700}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px #3b82f633}50%{box-shadow:0 0 25px #3b82f699}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes success-pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.shake{animation:.3s ease-in-out shake}.float-anim{animation:3s ease-in-out infinite float}.pulse-glow-anim{animation:2s ease-in-out infinite pulse-glow}.app-container{min-height:100vh;display:flex}.sidebar{background-color:hsl(var(--bg-card));border-right:1px solid hsl(var(--border));z-index:10;flex-direction:column;width:260px;height:100vh;padding:24px;display:flex;position:fixed;top:0;left:0}.sidebar-logo{align-items:center;gap:12px;margin-bottom:40px;display:flex}.sidebar-logo-text{font-size:22px;font-family:var(--font-heading);background:linear-gradient(135deg,#3b82f6,#60a5fa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-weight:800}.sidebar-menu{flex-direction:column;flex:1;gap:8px;display:flex}.sidebar-item{border-radius:var(--radius);color:hsl(var(--text-secondary));cursor:pointer;border:1px solid #0000;align-items:center;gap:16px;padding:14px 18px;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.sidebar-item:hover{background-color:hsl(var(--border));color:hsl(var(--text-primary))}.sidebar-item.active{background-color:hsl(var(--primary) / .15);color:#60a5fa;border-color:hsl(var(--primary) / .3)}.sidebar-footer{border-top:1px solid hsl(var(--border));margin-top:auto;padding-top:20px}.main-content{flex-direction:column;flex:1;min-height:100vh;margin-left:260px;padding:40px;display:flex}.topbar{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:center;margin-bottom:40px;padding-bottom:20px;display:flex}.stats-container{gap:16px;display:flex}.stat-badge{background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border));font-weight:700;font-family:var(--font-heading);border-radius:9999px;align-items:center;gap:8px;padding:10px 16px;display:flex}.stat-badge.heart{color:#ef4444}.stat-badge.xp{color:#3b82f6}.stat-badge.streak{color:#f59e0b}.path-container{flex-direction:column;align-items:center;gap:32px;max-width:600px;margin:0 auto;padding-bottom:80px;display:flex}.unit-header{border-radius:var(--radius);width:100%;box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#1d4ed8,#2563eb);margin-bottom:24px;padding:24px;position:relative;overflow:hidden}.unit-header:before{content:"";background:#ffffff0d;border-radius:50%;width:150px;height:150px;position:absolute;top:-50px;right:-50px}.unit-title{color:#fff;margin-bottom:4px;font-size:20px}.unit-desc{color:#fffc;font-size:14px}.path-node-wrapper{flex-direction:column;align-items:center;display:flex;position:relative}.path-node{background-color:hsl(var(--bg-card));border:6px solid hsl(var(--border));cursor:pointer;width:90px;height:90px;box-shadow:0 8px 0 hsl(var(--border));border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative}.path-node:active{box-shadow:0 4px 0 hsl(var(--border));transform:translateY(4px)}.path-node.unlocked{color:#fff;background-color:#3b82f6;border-color:#2563eb;box-shadow:0 8px #1d4ed8}.path-node.unlocked:active{transform:translateY(4px);box-shadow:0 4px #1d4ed8}.path-node.active-node{background-color:#10b981;border-color:#059669;animation:3s ease-in-out infinite float;box-shadow:0 8px #047857}.path-node.active-node:active{transform:translateY(4px);box-shadow:0 4px #047857}.path-node.completed{color:#fff;background-color:#f59e0b;border-color:#d97706;box-shadow:0 8px #b45309}.path-node.completed:active{transform:translateY(4px);box-shadow:0 4px #b45309}.path-node.locked{opacity:.5;cursor:not-allowed}.node-label{text-align:center;max-width:140px;margin-top:12px;font-size:14px;font-weight:700}.path-connector{background-color:hsl(var(--border));width:4px;height:32px}.path-connector.active{background-color:#3b82f6}.theory-card{background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border));border-radius:var(--radius);width:100%;max-width:700px;box-shadow:var(--shadow-lg);margin:0 auto;padding:32px}.theory-title{color:#3b82f6;align-items:center;gap:12px;margin-bottom:16px;font-size:28px;display:flex}.theory-content{color:hsl(var(--text-secondary));white-space:pre-line;margin-bottom:24px;font-size:16px}.theory-points{flex-direction:column;gap:12px;margin-bottom:32px;display:flex}.theory-point{background-color:hsl(var(--bg-dark));border-left:4px solid #3b82f6;border-radius:12px;align-items:flex-start;gap:12px;padding:16px;display:flex}.player-container{flex-direction:column;width:100%;max-width:650px;min-height:80vh;margin:0 auto;display:flex}.player-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.progress-bar-outer{background-color:hsl(var(--border));border-radius:9999px;flex:1;height:16px;overflow:hidden}.progress-bar-inner{background:linear-gradient(90deg,#10b981,#34d399);border-radius:9999px;height:100%;transition:width .3s}.question-card{flex-direction:column;flex:1;margin-bottom:40px;display:flex}.question-text{font-size:22px;line-height:1.4;font-family:var(--font-heading);margin-bottom:24px}.options-grid{flex-direction:column;gap:12px;display:flex}.option-btn{background-color:hsl(var(--bg-card));border:2px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--text-primary));text-align:left;cursor:pointer;box-shadow:0 4px 0 hsl(var(--border));align-items:center;padding:18px 24px;font-size:16px;font-weight:500;transition:all .2s;display:flex}.option-btn:hover{background-color:hsl(var(--primary) / .05);border-color:#3b82f6}.option-btn.selected{background-color:hsl(var(--primary) / .1);border-color:#3b82f6;font-weight:600;box-shadow:0 4px #2563eb}.matching-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.matching-column{flex-direction:column;gap:12px;display:flex}.match-item{background-color:hsl(var(--bg-card));border:2px solid hsl(var(--border));cursor:pointer;text-align:center;box-shadow:0 4px 0 hsl(var(--border));border-radius:12px;justify-content:center;align-items:center;min-height:70px;padding:16px;font-weight:600;transition:all .2s;display:flex}.match-item:hover{border-color:#3b82f6}.match-item.selected{background-color:hsl(var(--primary) / .1);border-color:#3b82f6;box-shadow:0 4px #2563eb}.match-item.matched{background-color:hsl(var(--success) / .1);color:#34d399;box-shadow:none;cursor:not-allowed;opacity:.8;border-color:#10b981}.sequence-container{flex-direction:column;gap:8px;display:flex}.sequence-item{background-color:hsl(var(--bg-card));border:2px solid hsl(var(--border));cursor:grab;border-radius:12px;align-items:center;gap:16px;padding:14px 20px;font-weight:600;transition:all .2s;display:flex}.sequence-item:active{cursor:grabbing}.sequence-number{background-color:hsl(var(--bg-dark));color:#3b82f6;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:flex}.player-footer{border-top:1px solid hsl(var(--border));justify-content:space-between;align-items:center;margin-top:auto;padding-top:24px;display:flex}.btn{border-radius:var(--radius);cursor:pointer;font-size:16px;font-weight:700;font-family:var(--font-heading);border:none;padding:14px 28px;transition:all .2s}.btn-primary{color:#fff;background-color:#3b82f6;box-shadow:0 4px #2563eb}.btn-primary:hover{background-color:#2563eb}.btn-primary:active{transform:translateY(2px);box-shadow:0 2px #2563eb}.btn-success{color:#fff;background-color:#10b981;box-shadow:0 4px #059669}.btn-success:hover{background-color:#059669}.btn-secondary{background-color:hsl(var(--border));color:hsl(var(--text-primary));box-shadow:0 4px 0 hsl(var(--border) / .8)}.feedback-bar{border-radius:var(--radius);justify-content:space-between;align-items:center;margin-top:20px;padding:20px;animation:.3s success-pop;display:flex}.feedback-bar.correct{background-color:hsl(var(--success) / .15);color:#34d399;border:1px solid #10b981}.feedback-bar.incorrect{background-color:hsl(var(--destructive) / .15);color:#f87171;border:1px solid #ef4444}.simulator-layout{flex:1;grid-template-columns:280px 1fr;gap:24px;display:grid}.simulator-instructions{background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border));border-radius:var(--radius);height:fit-content;box-shadow:var(--shadow-md);flex-direction:column;gap:20px;padding:24px;display:flex}.simulator-window{color:#333;box-shadow:var(--shadow-lg);border:1px solid hsl(var(--border));background-color:#fff;border-radius:12px;flex-direction:column;min-height:600px;display:flex;overflow:hidden}.sim-header{color:#fff;background-color:#1e3a5f;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.sim-logo{font-weight:800;font-family:var(--font-heading);letter-spacing:.5px}.sim-body{background-color:#f3f4f6;flex:1;min-height:500px;display:flex}.sim-sidebar{color:#ecf0f1;background-color:#2c3e50;flex-direction:column;gap:8px;width:200px;padding:20px 10px;display:flex}.sim-sidebar-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:500;transition:background-color .2s;display:flex}.sim-sidebar-item:hover{background-color:#34495e}.sim-sidebar-item.active{background-color:#3498db}.sim-content{background-color:#fff;flex-direction:column;flex:1;gap:16px;padding:24px;display:flex;overflow-y:auto}.sim-form-group{flex-direction:column;gap:6px;display:flex}.sim-label{color:#4b5563;font-size:13px;font-weight:700}.sim-input{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-size:14px}.sim-input:focus{border-color:#3498db;outline:none}.sim-textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;min-height:120px;padding:10px 12px;font-size:14px}.hotspot-container{border:2px solid hsl(var(--border));border-radius:8px;width:100%;position:relative;overflow:hidden}.hotspot{cursor:pointer;background-color:#ff475733;border:3px solid #ff4757;border-radius:4px;animation:1.5s infinite pulse-glow;position:absolute}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background-color:#000000b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-content{background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border));border-radius:var(--radius);text-align:center;width:100%;max-width:500px;box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;padding:32px;display:flex}.modal-icon{border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:24px;display:flex}.modal-icon.success{background-color:hsl(var(--success) / .15);color:#34d399}.modal-icon.error{background-color:hsl(var(--destructive) / .15);color:#f87171}.dashboard-summary-card{background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border));border-radius:var(--radius);justify-content:space-between;align-items:center;margin-bottom:24px;padding:24px;display:flex}.dashboard-summary-text h3{margin-bottom:4px;font-size:20px}.dashboard-summary-text p{color:hsl(var(--text-secondary));font-size:14px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px;display:grid}.dashboard-card{background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border));border-radius:var(--radius);flex-direction:column;gap:16px;padding:24px;display:flex}.dashboard-card-header{align-items:center;gap:12px;display:flex}.dashboard-card-title{font-size:18px}.dashboard-card-value{font-size:32px;font-weight:800;font-family:var(--font-heading);color:#3b82f6}.program-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:24px;display:grid}.program-card{background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;padding:20px;transition:all .2s}.program-card:hover{border-color:#3b82f6;transform:translateY(-4px)}.program-card-num{text-transform:uppercase;color:#3b82f6;margin-bottom:8px;font-size:12px;font-weight:700}.program-card-title{margin-bottom:8px;font-size:18px}.program-card-desc{color:hsl(var(--text-secondary));font-size:14px}@media (width<=900px){.sidebar{width:80px;padding:16px 8px}.sidebar-logo-text,.sidebar-item span{display:none}.main-content{margin-left:80px;padding:20px}.dashboard-grid,.simulator-layout,.matching-grid{grid-template-columns:1fr}.tooltip-bubble{width:280px!important;top:calc(100% + 8px)!important;left:50%!important;transform:translate(-50%)!important}.tooltip-bubble:before{border-color:transparent transparent hsl(var(--border)) transparent!important;top:auto!important;bottom:100%!important;left:50%!important;transform:translate(-50%)!important}}.tooltip-bubble{background-color:hsl(var(--bg-popover));border:1px solid hsl(var(--border));width:280px;box-shadow:var(--shadow-lg), var(--shadow-glow);z-index:100;pointer-events:none;text-align:left;border-radius:12px;flex-direction:column;gap:6px;padding:14px;font-size:13px;animation:.2s ease-out success-pop;display:flex;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.tooltip-bubble:before{content:"";border-style:solid;border-width:6px;border-color:transparent hsl(var(--border)) transparent transparent;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.tooltip-bubble-title{color:#60a5fa;font-size:14px;font-weight:700;font-family:var(--font-heading)}.tooltip-bubble-desc{color:hsl(var(--text-secondary));line-height:1.4}.tooltip-bubble-hint{color:#f59e0b;border-top:1px solid hsl(var(--border));margin-top:4px;padding-top:6px;font-weight:600}.registration-overlay{background-color:hsl(var(--bg-dark));z-index:999;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.registration-card{background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border));width:100%;max-width:480px;box-shadow:var(--shadow-lg), var(--shadow-glow);border-radius:24px;flex-direction:column;gap:24px;padding:40px;display:flex}.registration-header{text-align:center}.registration-header h2{color:#60a5fa;margin-bottom:8px;font-size:26px}.registration-header p{color:hsl(var(--text-secondary));font-size:14px}.registration-form{flex-direction:column;gap:16px;display:flex}.registration-group{flex-direction:column;gap:6px;display:flex}.registration-group label{color:hsl(var(--text-secondary));font-size:13px;font-weight:600}.registration-input{background-color:hsl(var(--bg-dark));border:1px solid hsl(var(--border));color:hsl(var(--text-primary));border-radius:12px;padding:12px 16px;font-size:14px;transition:border-color .2s}.registration-input:focus{border-color:#3b82f6;outline:none}.faq-section{flex-direction:column;gap:16px;width:100%;max-width:800px;margin:0 auto;display:flex}.faq-card{background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border));border-radius:var(--radius);transition:border-color .2s;overflow:hidden}.faq-card:hover{border-color:#3b82f6}.faq-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.faq-question{color:hsl(var(--text-primary));font-size:16px;font-weight:700}.faq-icon{color:#60a5fa;transition:transform .2s}.faq-header.open .faq-icon{transform:rotate(180deg)}.faq-body{color:hsl(var(--text-secondary));border-top:1px solid hsl(var(--border));white-space:pre-line;padding:16px 24px 20px;font-size:14px;line-height:1.6}.certificate-wrapper{flex-direction:column;align-items:center;gap:24px;width:100%;max-width:850px;margin:0 auto;display:flex}.certificate-box{aspect-ratio:1.414;color:#1e293b;box-sizing:border-box;background:#fff;border:8px solid #0f172a;border-radius:8px;width:100%;max-width:800px;padding:30px;position:relative;box-shadow:0 10px 30px #0006}.certificate-border-inner{box-sizing:border-box;text-align:center;border:2px solid #3b4252;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;padding:40px 30px;display:flex;position:relative}.cert-stamp-circle{width:90px;height:90px;position:absolute;top:30px;left:40px}.cert-qr{color:#64748b;font-size:10px;font-family:var(--font-body);flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;bottom:40px;right:40px}.cert-title-top{letter-spacing:.15em;text-transform:uppercase;color:#475569;margin-bottom:8px;font-size:12px;font-weight:700}.cert-title-main{font-size:40px;font-family:var(--font-heading);color:#1e3a8a;margin:0;font-weight:800;line-height:1.1}.cert-title-sub{letter-spacing:.25em;text-transform:uppercase;color:#b45309;margin-top:4px;font-size:16px;font-weight:700}.cert-awarded-text{color:#64748b;margin:12px 0 4px;font-size:13px}.cert-user-name{font-size:28px;font-weight:700;font-family:var(--font-heading);color:#0f172a;text-align:center;border-bottom:2px solid #cbd5e1;min-width:280px;margin-bottom:6px;padding-bottom:6px}.cert-user-id{color:#475569;margin-bottom:12px;font-size:12px;font-weight:600}.cert-description{color:#475569;max-width:520px;margin:0 auto;font-size:12px;line-height:1.5}.cert-signatures{justify-content:space-around;width:100%;margin-top:16px;display:flex}.cert-signature-block{flex-direction:column;align-items:center;width:160px;display:flex}.cert-sign-line{color:#64748b;text-align:center;border-top:1px solid #94a3b8;width:100%;margin-top:4px;padding-top:4px;font-size:10px}.cert-cursive{color:#334155;height:28px;font-family:Brush Script MT,cursive,sans-serif;font-size:22px}.sim-screen-container{background-color:#fff;border:1px solid #ccc;border-radius:8px;width:100%;position:relative;overflow:hidden}.sim-screen-image{width:100%;height:auto;display:block}.sim-hotspot-item{cursor:pointer;z-index:10;background-color:#ff475726;border:2px solid #ff4757;border-radius:4px;animation:1.5s infinite pulse-glow;position:absolute}.sim-overlay-input{z-index:20;background-color:#fff;border:2px solid #3b82f6;border-radius:4px;outline:none;padding:6px 10px;font-size:13px;position:absolute;box-shadow:0 4px 6px #00000026}.sim-overlay-input:focus{border-color:#10b981}.sim-overlay-btn{color:#fff;cursor:pointer;z-index:20;font-size:12px;font-weight:700;font-family:var(--font-heading);background:#3b82f6;border:none;border-radius:4px;padding:6px 12px;position:absolute;box-shadow:0 4px 6px #00000026}.sim-overlay-btn:hover{background-color:#2563eb}.certificate-actions{justify-content:center;gap:16px;width:100%;margin-top:12px;display:flex}@keyframes shimmer-blue{0%,to{border-color:#3b82f6;box-shadow:0 0 10px #3b82f666}50%{border-color:#60a5fa;box-shadow:0 0 22px #3b82f6cc}}.sequence-item.dragging{opacity:.7;border-color:#10b981!important;box-shadow:0 0 15px #10b98199!important}.sequence-item.drag-over{animation:1s infinite shimmer-blue;background-color:#3b82f61a!important}.login-toggle-container{border-bottom:1px solid hsl(var(--border));justify-content:center;gap:16px;margin-bottom:8px;padding-bottom:8px;display:flex}.login-toggle-btn{color:hsl(var(--text-secondary));cursor:pointer;font-size:15px;font-weight:700;font-family:var(--font-heading);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 16px;transition:all .2s}.login-toggle-btn.active{color:#60a5fa;border-bottom-color:#3b82f6}.lopdp-box{background-color:hsl(var(--bg-dark));border:1px solid hsl(var(--border));color:hsl(var(--text-secondary));text-align:left;border-left:3px solid #3b82f6;border-radius:12px;max-height:125px;margin-top:4px;padding:16px;font-size:11.5px;line-height:1.5;overflow-y:auto}.lopdp-box strong{color:#fff}.lopdp-checkbox-group{text-align:left;color:hsl(var(--text-secondary));align-items:flex-start;gap:10px;margin-top:8px;font-size:12px;display:flex}.lopdp-checkbox-group input{cursor:pointer;margin-top:3px}.sidebar-item.logout{border-top:1px solid hsl(var(--border));border-radius:0;margin-top:20px;padding-top:16px;color:#f87171!important}.sidebar-item.logout:hover{color:#ef4444!important;background-color:#ef44441a!important}.lopdp-config-container{flex-direction:column;gap:20px;width:100%;max-width:800px;margin:0 auto;display:flex}.lopdp-config-card{background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow-md);flex-direction:column;gap:16px;padding:24px;display:flex}.lopdp-config-title{color:#60a5fa;align-items:center;gap:10px;margin-bottom:4px;font-size:18px;display:flex}.lopdp-rights-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:8px;display:grid}.lopdp-right-btn-card{background-color:hsl(var(--bg-dark));border:1px solid hsl(var(--border));text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:16px;transition:all .2s;display:flex}.lopdp-right-btn-card:hover{border-color:#3b82f6;transform:translateY(-2px)}.lopdp-right-title{color:#fff;font-size:14px;font-weight:700}.lopdp-right-desc{color:hsl(var(--text-muted));font-size:11.5px;line-height:1.4}.lopdp-toggle-row{background-color:hsl(var(--bg-dark));border:1px solid hsl(var(--border));border-radius:12px;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.lopdp-toggle-label{flex-direction:column;gap:4px;display:flex}.lopdp-toggle-title{color:#fff;font-size:14px;font-weight:600}.lopdp-toggle-desc{color:hsl(var(--text-muted));font-size:12px}.switch{width:44px;height:22px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#4b5563;border-radius:22px;transition:all .4s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:14px;height:14px;transition:all .4s;position:absolute;bottom:4px;left:4px}input:checked+.slider{background-color:#3b82f6}input:checked+.slider:before{transform:translate(22px)}.progress-dashboard-container{flex-direction:column;gap:24px;width:100%;display:flex}.progress-welcome-card{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius);box-shadow:var(--shadow-lg), inset 0 1px 1px #ffffff1a;background:#ffffff08;border:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:24px 32px;display:flex;position:relative;overflow:hidden}.progress-welcome-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#3b82f60d 0%,#0000 60%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.welcome-info{flex-direction:column;gap:8px;max-width:70%;display:flex}.welcome-info h2{color:#fff;background:linear-gradient(135deg,#fff,#93c5fd);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:26px}.welcome-info p{color:hsl(var(--text-secondary));font-size:14px;line-height:1.5}.welcome-avatar-container{background:linear-gradient(135deg,#3b82f6,#60a5fa);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;animation:4s ease-in-out infinite float;display:flex;box-shadow:0 0 20px #3b82f666}.welcome-avatar-icon{color:#fff}.progress-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;width:100%;display:grid}.metric-card{background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow-md);flex-direction:column;gap:12px;padding:20px;transition:transform .2s,border-color .2s;display:flex}.metric-card:hover{border-color:#3b82f64d;transform:translateY(-2px)}.metric-header{color:hsl(var(--text-muted));justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.metric-header .icon-container{background-color:hsl(var(--bg-dark));border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.metric-value{color:#fff;font-size:24px;font-weight:700;font-family:var(--font-heading)}.metric-progress-wrapper{flex-direction:column;gap:6px;display:flex}.metric-progress-label{color:hsl(var(--text-muted));justify-content:space-between;font-size:11px;display:flex}.metric-progress-bar{background-color:hsl(var(--bg-dark));border-radius:999px;height:6px;overflow:hidden}.metric-progress-fill{border-radius:999px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.progress-chart-card{background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow-md);flex-direction:column;gap:16px;padding:24px;display:flex}.chart-header{justify-content:space-between;align-items:center;display:flex}.chart-title{color:#fff;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.chart-svg-container{width:100%;position:relative;overflow-x:auto}.chart-svg-container svg{min-width:500px;margin:0 auto;display:block}.chart-line{fill:none;stroke:#3b82f6;stroke-width:4px;stroke-linecap:round;filter:drop-shadow(0 4px 8px #3b82f680);stroke-dasharray:1000;stroke-dashoffset:1000px;animation:2s cubic-bezier(.4,0,.2,1) forwards drawLine}@keyframes drawLine{to{stroke-dashoffset:0}}.chart-grid-line{stroke:hsl(var(--border));stroke-width:1px;stroke-dasharray:4 4}.chart-dot{fill:hsl(var(--bg-card));stroke:#3b82f6;stroke-width:3px;cursor:pointer;transition:r .2s,fill .2s}.chart-dot:hover{r:7;fill:#60a5fa}.chart-label{fill:hsl(var(--text-muted));font-size:10px;font-family:var(--font-body);text-anchor:middle}.chart-value-label{fill:#fff;font-size:10px;font-family:var(--font-heading);text-anchor:middle;font-weight:700}.progress-logs-grid{grid-template-columns:1fr 1.2fr;gap:20px;width:100%;display:grid}@media (width<=1024px){.progress-logs-grid{grid-template-columns:1fr}}.logs-card{background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow-md);flex-direction:column;gap:16px;max-height:450px;padding:20px;display:flex;overflow:hidden}.logs-card-title{color:#fff;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.logs-table-wrapper{border:1px solid hsl(var(--border));background-color:hsl(var(--bg-dark));border-radius:8px;flex:1;overflow-y:auto}.logs-table-wrapper::-webkit-scrollbar{width:6px}.logs-table-wrapper::-webkit-scrollbar-track{background:0 0}.logs-table-wrapper::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:3px}.logs-table-wrapper::-webkit-scrollbar-thumb:hover{background:hsl(var(--text-muted))}.logs-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.logs-table th{background-color:hsl(var(--bg-card));color:hsl(var(--text-secondary));border-bottom:1px solid hsl(var(--border));z-index:1;padding:10px 12px;font-weight:600;position:sticky;top:0}.logs-table td{border-bottom:1px solid hsl(var(--border));color:hsl(var(--text-primary));padding:10px 12px}.logs-table tr:last-child td{border-bottom:none}.logs-table tr:hover td{background-color:#ffffff05}.badge-status{border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.badge-status.excelente{color:#34d399;background-color:#10b98126;border:1px solid #10b9814d}.badge-status.aprobado{color:#60a5fa;background-color:#3b82f626;border:1px solid #3b82f64d}.badge-status.info{color:#fbbf24;background-color:#f59e0b26;border:1px solid #f59e0b4d}body.light-theme{--bg-dark:210 20% 96%;--bg-card:0 0% 100%;--bg-popover:0 0% 98%;--border:210 16% 88%;--text-primary:210 24% 16%;--text-secondary:210 16% 38%;--text-muted:210 12% 54%;--shadow-sm:0 1px 2px 0 #00000008;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #0000000f, 0 4px 6px -2px #0000000a}body.light-theme .main-content h1{color:#1e3a8a!important}body.light-theme .main-content h2,body.light-theme .main-content h3,body.light-theme .main-content h4{color:#1e293b!important}body.light-theme .sidebar-logo-text{background:linear-gradient(135deg,#1e3a8a,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text}body.light-theme .sidebar-item{color:hsl(var(--text-secondary))}body.light-theme .sidebar-item:hover{color:#1e293b;background-color:#f1f5f9}body.light-theme .sidebar-item.active{color:#2563eb;background-color:#3b82f61a;border-color:#3b82f633}body.light-theme .stat-badge{background-color:#fff;border-color:#e2e8f0}body.light-theme .dashboard-summary-card{background-color:#fff;border-color:#cbd5e1}body.light-theme .dashboard-summary-text h3{color:#1e3a8a}body.light-theme .unit-header{background:linear-gradient(135deg,#2563eb,#3b82f6)}body.light-theme .progress-welcome-card{background:#3b82f60a;border-color:#3b82f61f;box-shadow:0 4px 6px -1px #0000000d}body.light-theme .progress-welcome-card:before{background:radial-gradient(circle,#3b82f614 0%,#0000 60%)}body.light-theme .welcome-info h2{background:linear-gradient(135deg,#1e3a8a,#2563eb);-webkit-text-fill-color:transparent;-webkit-background-clip:text}body.light-theme .metric-card{background-color:#fff;border-color:#e2e8f0}body.light-theme .metric-header .icon-container{background-color:#f8fafc}body.light-theme .metric-value{color:#0f172a}body.light-theme .progress-chart-card{background-color:#fff;border-color:#e2e8f0}body.light-theme .chart-title{color:#1e293b}body.light-theme .chart-value-label{fill:#1e293b}body.light-theme .chart-grid-line{stroke:#cbd5e1}body.light-theme .chart-dot{fill:#fff}body.light-theme .logs-card{background-color:#fff;border-color:#e2e8f0}body.light-theme .logs-card-title{color:#1e293b}body.light-theme .logs-table-wrapper{background-color:#f8fafc;border-color:#e2e8f0}body.light-theme .logs-table th{color:#475569;background-color:#f1f5f9;border-bottom-color:#cbd5e1}body.light-theme .logs-table td{border-bottom-color:#f1f5f9}body.light-theme .logs-table tr:hover td{background-color:#3b82f605}body.light-theme .lopdp-config-card{background-color:#fff;border-color:#e2e8f0}body.light-theme .lopdp-config-title{color:#1e293b}body.light-theme .theory-card{background-color:#fff;border-color:#cbd5e1}body.light-theme .theory-point{background-color:#f8fafc;border-left-color:#2563eb}body.light-theme .option-btn{background-color:#fff;border-color:#cbd5e1;box-shadow:0 4px #cbd5e1}body.light-theme .option-btn.selected{background-color:#3b82f614;border-color:#2563eb;box-shadow:0 4px #1d4ed8}body.light-theme .match-item{background-color:#fff;border-color:#cbd5e1;box-shadow:0 4px #cbd5e1}body.light-theme .match-item.selected{background-color:#3b82f614;border-color:#2563eb;box-shadow:0 4px #1d4ed8}body.light-theme .match-item.matched{color:#059669;background-color:#10b98114;border-color:#10b981}body.light-theme .sequence-item{background-color:#fff;border-color:#cbd5e1;box-shadow:0 4px #cbd5e1}body.light-theme .sequence-number{color:#2563eb;background-color:#f1f5f9}body.light-theme .faq-card{background-color:#fff;border-color:#e2e8f0}body.light-theme .faq-header,body.light-theme .faq-question{color:#1e293b}body.light-theme .faq-body{color:#475569;border-top-color:#e2e8f0}body.light-theme .modal-content{background-color:#fff;border-color:#cbd5e1}
