.progress-compact{display:flex;align-items:center;gap:var(--space-2)}.progress-compact-bar{width:60px;height:6px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.progress-compact-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary-light));border-radius:var(--radius-full);transition:width .6s cubic-bezier(.34,1.56,.64,1);min-width:0}.progress-compact-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);min-width:28px;text-align:right}.progress-full{padding:var(--space-4) var(--space-5);background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.progress-full-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.progress-full-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.progress-full-percentage{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary)}.progress-full-bar{height:10px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.progress-full-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary-light));border-radius:var(--radius-full);transition:width .8s cubic-bezier(.34,1.56,.64,1);min-width:0}.progress-full-subtitle{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.layout{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.layout-header{position:sticky;top:0;z-index:100;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-light);padding:var(--space-3) 0}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.header-logo{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);transition:background var(--transition-fast)}.header-logo:hover{background:var(--color-border-light)}.header-logo-icon{font-size:var(--font-size-xl)}.header-logo-text{display:flex;flex-direction:column;line-height:1.2}.header-logo-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-surface-dark);letter-spacing:-.01em}.header-logo-subtitle{font-size:.65rem;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);letter-spacing:.02em}.header-right{display:flex;align-items:center;gap:var(--space-3)}.header-help-link{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);white-space:nowrap;transition:all var(--transition-fast)}.header-help-link:hover{background:var(--color-border-light);color:var(--color-text)}.layout-main{flex:1;display:flex;flex-direction:column}.landing{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--color-bg)}.landing-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.landing-bg-circle{position:absolute;border-radius:50%;filter:blur(80px);opacity:.15}.landing-bg-circle--1{width:400px;height:400px;background:var(--color-primary);top:-100px;right:-80px;animation:floatSlow 20s ease-in-out infinite}.landing-bg-circle--2{width:300px;height:300px;background:var(--color-secondary);bottom:-60px;left:-60px;animation:floatSlow 25s ease-in-out infinite reverse}.landing-bg-circle--3{width:200px;height:200px;background:var(--color-success);top:50%;left:50%;animation:floatSlow 18s ease-in-out infinite}@keyframes floatSlow{0%,to{transform:translate(0)}50%{transform:translate(30px,-30px)}}.landing-content{position:relative;z-index:1;text-align:center;padding:var(--space-6) var(--space-4) var(--space-8);max-width:640px}.landing-icon{font-size:3.5rem;margin-bottom:var(--space-2)}.landing-hospital-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-2)}.landing-title{font-size:clamp(1.8rem,6vw,2.4rem);font-weight:var(--font-weight-bold);color:var(--color-surface-dark);line-height:1.15;margin-bottom:var(--space-3)}.landing-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.6;max-width:480px;margin:0 auto}.landing-features{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-6) 0;text-align:left}.landing-feature{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.landing-feature-icon{font-size:1.5rem;flex-shrink:0;margin-top:2px}.landing-feature h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-surface-dark);margin-bottom:2px}.landing-feature p{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.4}.landing-cta{margin-bottom:var(--space-5)}.landing-cta-card{background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid #bfdbfe;border-radius:var(--radius-xl);padding:var(--space-5) var(--space-5);text-align:left}.landing-cta-card h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-surface-dark);margin-bottom:var(--space-3)}.landing-cta-card p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-2)}.landing-cta-instruction{font-weight:var(--font-weight-semibold);color:var(--color-primary)!important}.landing-admin-link{position:fixed;top:var(--space-3);right:var(--space-4);z-index:10;font-size:var(--font-size-xs);color:var(--color-text-muted);background:none;border:none;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);opacity:1;transition:opacity var(--transition-fast),color var(--transition-fast)}.landing-admin-link:hover{opacity:1;color:var(--color-text-secondary)}.landing-footer{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center}.welcome{flex:1;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;background:linear-gradient(160deg,var(--color-surface-dark) 0%,#1e3a5f 40%,var(--color-primary-dark) 100%);position:relative;overflow:hidden;padding:var(--space-8) 0}.welcome-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.welcome-bg-circle{position:absolute;border-radius:50%;opacity:.08}.welcome-bg-circle--1{width:400px;height:400px;background:var(--color-secondary-light);top:-100px;right:-100px;animation:pulse 6s ease-in-out infinite}.welcome-bg-circle--2{width:300px;height:300px;background:var(--color-accent);bottom:-50px;left:-80px;animation:pulse 8s ease-in-out infinite 1s}.welcome-bg-circle--3{width:200px;height:200px;background:var(--color-primary-light);top:40%;left:60%;animation:pulse 7s ease-in-out infinite 2s}.welcome-content{position:relative;z-index:1;text-align:center}.welcome-hero{margin-bottom:var(--space-8)}.welcome-icon{font-size:3.5rem;margin-bottom:var(--space-3);filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}.welcome-hospital-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.12em;color:var(--color-secondary-light);margin-bottom:var(--space-2)}.welcome-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);color:var(--color-text-on-dark);letter-spacing:-.02em;line-height:var(--line-height-tight);margin-bottom:var(--space-3)}.welcome-subtitle{font-size:var(--font-size-lg);color:var(--color-text-on-dark-muted);line-height:var(--line-height-relaxed);max-width:340px;margin:0 auto}.welcome-features{display:flex;justify-content:center;gap:var(--space-6);margin-bottom:var(--space-8);flex-wrap:wrap}.welcome-feature{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.welcome-feature-icon{font-size:1.5rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.welcome-feature-text{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-on-dark-muted)}.welcome-form{max-width:360px;margin:0 auto}.welcome-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-on-dark-muted);margin-bottom:var(--space-2);text-align:left}.welcome-input{width:100%;padding:var(--space-4);border:2px solid rgba(255,255,255,.15);border-radius:var(--radius-lg);background:#ffffff14;color:var(--color-text-on-dark);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);text-align:center;margin-bottom:var(--space-4);transition:all var(--transition-base);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.welcome-input::placeholder{color:#ffffff59}.welcome-input:focus{outline:none;border-color:var(--color-primary-light);background:#ffffff1f;box-shadow:0 0 0 4px #3b82f633}.welcome-footer{margin-top:var(--space-8);font-size:var(--font-size-xs);color:#ffffff4d}.module-card{display:flex;align-items:flex-start;gap:var(--space-4);width:100%;text-align:left;padding:var(--space-4);background:var(--color-bg-card);border-radius:var(--radius-xl);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);transition:all var(--transition-base);position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.module-card--unlocked:hover,.module-card--completed:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--color-primary-glow)}.module-card--unlocked:active,.module-card--completed:active{transform:translateY(0) scale(.98)}.module-card--locked{opacity:.55;cursor:not-allowed}.module-card--completed{border-color:var(--color-success);background:linear-gradient(135deg,var(--color-success-bg),var(--color-bg-card))}.module-card-icon{font-size:2rem;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-border-light);border-radius:var(--radius-lg)}.module-card--completed .module-card-icon{background:var(--color-success-bg)}.module-card-content{flex:1;min-width:0}.module-card-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-1);line-height:var(--line-height-tight)}.module-card-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.module-card-meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.module-card-duration{font-size:var(--font-size-xs);color:var(--color-text-muted)}.module-card-status{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.module-card-status--completed{background:var(--color-success-bg);color:var(--color-success)}.module-card-status--unlocked{background:var(--color-primary-glow);color:var(--color-primary)}.module-card-status--locked{background:var(--color-border-light);color:var(--color-text-muted)}.module-card-lock-overlay{position:absolute;inset:0;background:transparent;cursor:not-allowed}.dashboard{padding-top:var(--space-6);padding-bottom:var(--space-16)}.dashboard-greeting{margin-bottom:var(--space-4)}.dashboard-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:var(--line-height-tight);margin-bottom:var(--space-2)}.dashboard-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.dashboard-progress{margin-bottom:var(--space-6)}.dashboard-cert-banner{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:left;padding:var(--space-4);background:linear-gradient(135deg,#f59e0b1a,#fbbf240d);border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-xl);margin-bottom:var(--space-6);transition:all var(--transition-base);-webkit-tap-highlight-color:transparent}.dashboard-cert-banner:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.dashboard-cert-icon{font-size:1.5rem}.dashboard-cert-text{flex:1;font-size:var(--font-size-sm);color:var(--color-text)}.dashboard-cert-text strong{color:var(--color-accent)}.dashboard-cert-arrow{font-size:var(--font-size-lg);color:var(--color-accent);font-weight:var(--font-weight-bold)}.dashboard-continue{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:left;padding:var(--space-4);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;border-radius:var(--radius-xl);margin-bottom:var(--space-6);box-shadow:var(--shadow-md);transition:all var(--transition-base);-webkit-tap-highlight-color:transparent}.dashboard-continue:hover{box-shadow:var(--shadow-lg),0 0 20px var(--color-primary-glow);transform:translateY(-1px)}.dashboard-continue-icon{font-size:1.75rem}.dashboard-continue-text{flex:1;display:flex;flex-direction:column;gap:2px}.dashboard-continue-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;opacity:.85;font-weight:var(--font-weight-semibold)}.dashboard-continue-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.dashboard-continue-arrow{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.dashboard-modules{display:flex;flex-direction:column;gap:var(--space-3)}.dashboard-quicklinks{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-8)}.dashboard-quicklink{display:flex;align-items:flex-start;gap:var(--space-3);text-align:left;padding:var(--space-4);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--transition-base);-webkit-tap-highlight-color:transparent}.dashboard-quicklink:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);border-color:var(--color-primary-light)}.dashboard-quicklink--emergency{border-color:#ef444459}.dashboard-quicklink--emergency:hover{border-color:var(--color-danger)}.dashboard-quicklink-icon{font-size:1.4rem}.dashboard-quicklink span strong{display:block;font-size:var(--font-size-sm);color:var(--color-text);margin-bottom:2px}.dashboard-quicklink span small{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-normal)}@media(max-width:480px){.dashboard-quicklinks{grid-template-columns:1fr}}.lesson{font-size:var(--font-size-base)}.lesson-intro{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-6);padding-left:var(--space-4);border-left:4px solid var(--color-primary)}.lesson-section{margin-bottom:var(--space-8)}.lesson-section-heading{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-3);line-height:var(--line-height-tight)}.lesson-section-icon{font-size:1.4em;flex-shrink:0}.lesson-paragraph{color:var(--color-text);line-height:var(--line-height-relaxed);margin-bottom:var(--space-3)}.lesson-box{border-radius:var(--radius-lg);padding:var(--space-4);margin:var(--space-4) 0;border:1px solid}.lesson-box--info{background:#1f569b0f;border-color:#1f569b33}.lesson-box--warning{background:var(--color-danger-bg);border-color:#ef444440}.lesson-box--call{background:var(--color-warning-bg);border-color:#f59e0b4d}.lesson-box-title{font-weight:var(--font-weight-bold);margin-bottom:var(--space-2);color:var(--color-text)}.lesson-box--warning .lesson-box-title{color:#b91c1c}.lesson-box--call .lesson-box-title{color:#92400e}.lesson-box-list{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.lesson-box-list li{line-height:var(--line-height-relaxed);color:var(--color-text)}.lesson-takeaways{background:linear-gradient(135deg,var(--color-surface-dark),var(--color-surface-darker));color:var(--color-text-on-dark);border-radius:var(--radius-xl);padding:var(--space-5);margin:var(--space-8) 0 var(--space-6)}.lesson-takeaways-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--space-3)}.lesson-takeaways-list{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.lesson-takeaways-list li{line-height:var(--line-height-relaxed)}.lesson-sources{margin-bottom:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.lesson-sources-title{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-2)}.lesson-sources-list{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1)}.lesson-sources-list li{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.lesson-actions{margin-top:var(--space-6)}.video-player{animation:fadeInUp .5s ease forwards}.video-player-wrapper{position:relative;width:100%;padding-bottom:56.25%;border-radius:var(--radius-xl);overflow:hidden;background:#000;box-shadow:var(--shadow-lg)}.video-player-iframe,.video-player-native{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video-player-fallback{margin-top:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center}.video-player-actions{margin-top:var(--space-6);text-align:center}.quiz{padding:var(--space-2) 0}.quiz-progress{margin-bottom:var(--space-6)}.quiz-progress-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.quiz-progress-bar{height:6px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.quiz-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary-light));border-radius:var(--radius-full);transition:width .5s cubic-bezier(.34,1.56,.64,1)}.quiz-question{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);line-height:var(--line-height-relaxed);margin-bottom:var(--space-6)}.quiz-options{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.quiz-option{display:flex;align-items:flex-start;gap:var(--space-3);width:100%;text-align:left;padding:var(--space-4);background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base);-webkit-tap-highlight-color:transparent;cursor:pointer}.quiz-option:not(:disabled):hover{border-color:var(--color-primary-light);background:var(--color-primary-glow);transform:translateY(-1px);box-shadow:var(--shadow-md)}.quiz-option:not(:disabled):active{transform:scale(.98)}.quiz-option--selected{border-color:var(--color-primary);background:var(--color-primary-glow)}.quiz-option--correct{border-color:var(--color-success)!important;background:var(--color-success-bg)!important}.quiz-option--incorrect{border-color:var(--color-danger)!important;background:var(--color-danger-bg)!important}.quiz-option--dimmed{opacity:.5}.quiz-option-letter{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-border-light);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:all var(--transition-fast)}.quiz-option--correct .quiz-option-letter{background:var(--color-success);color:#fff}.quiz-option--incorrect .quiz-option-letter{background:var(--color-danger);color:#fff}.quiz-option-text{flex:1;font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text);padding-top:var(--space-1)}.quiz-feedback{padding:var(--space-4);border-radius:var(--radius-xl);margin-top:var(--space-4)}.quiz-feedback--correct{background:var(--color-success-bg);border:1px solid rgba(16,185,129,.2)}.quiz-feedback--incorrect{background:var(--color-danger-bg);border:1px solid rgba(239,68,68,.2)}.quiz-feedback-label{font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);margin-bottom:var(--space-2)}.quiz-feedback--correct .quiz-feedback-label{color:var(--color-success)}.quiz-feedback--incorrect .quiz-feedback-label{color:var(--color-danger)}.quiz-feedback-explanation{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.quiz-summary{text-align:center;padding:var(--space-8) var(--space-4)}.quiz-summary-icon{font-size:4rem;margin-bottom:var(--space-4)}.quiz-summary-icon.passed{animation:scaleIn .6s cubic-bezier(.34,1.56,.64,1) forwards}.quiz-summary-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-2)}.quiz-summary-score{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.quiz-summary-score strong{color:var(--color-text);font-size:var(--font-size-2xl)}.quiz-summary-message{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin-bottom:var(--space-8);max-width:360px;margin-left:auto;margin-right:auto}.quiz-summary-message--pass{color:var(--color-success)}.quiz-summary-message--fail{color:var(--color-text-secondary)}.module-page{padding-top:var(--space-4);padding-bottom:var(--space-16)}.module-back{margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.module-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.module-header-icon{font-size:2.5rem;flex-shrink:0}.module-header-step{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.module-header-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:var(--line-height-tight)}.module-description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-6)}.module-steps{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6)}.module-step{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:2px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:all var(--transition-base);flex:1;justify-content:center;min-height:44px}.module-step:disabled{opacity:.5;cursor:not-allowed}.module-step--active{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md)}.module-step--done:not(.module-step--active){border-color:var(--color-success);color:var(--color-success);background:var(--color-success-bg)}.module-steps-divider{width:var(--space-3);height:2px;background:var(--color-border);flex-shrink:0}.module-step-icon{font-size:1rem;line-height:1}@media(max-width:420px){.module-step{padding:var(--space-2);flex-direction:column;gap:2px}.module-steps-divider{width:var(--space-2)}}.module-retry-notice{background:var(--color-warning-bg);border:1px solid rgba(245,158,11,.35);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-5);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text)}.module-section{margin-top:var(--space-2)}.module-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-1)}.module-section-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-4);line-height:var(--line-height-relaxed)}.module-locked,.module-not-found{text-align:center;padding:var(--space-16) var(--space-4)}.module-locked-icon{font-size:3rem;display:block;margin-bottom:var(--space-4)}.module-locked h2,.module-not-found h2{font-size:var(--font-size-xl);color:var(--color-text);margin-bottom:var(--space-2)}.module-locked p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-6)}.certificate{max-width:480px;margin:0 auto;animation:scaleIn .8s cubic-bezier(.34,1.56,.64,1) forwards}.certificate-border{border:3px solid var(--color-accent);border-radius:var(--radius-2xl);padding:var(--space-2);background:linear-gradient(135deg,#fef3c7,#fffbeb,#fef3c7);box-shadow:var(--shadow-xl),0 0 40px #f59e0b26}.certificate-inner{border:1px dashed var(--color-accent-light);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);text-align:center;background:#fffc}.certificate-seal{font-size:3.5rem;margin-bottom:var(--space-2)}.certificate-subtitle{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent);margin-bottom:var(--space-1)}.certificate-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);color:var(--color-surface-dark);margin-bottom:var(--space-4)}.certificate-divider{width:60px;height:2px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);margin:var(--space-4) auto}.certificate-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:320px;margin:var(--space-2) auto}.certificate-name{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary-dark);margin:var(--space-3) 0;font-style:italic}.certificate-date{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:var(--space-2)}.certificate-footer{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-surface-dark);margin-top:var(--space-4)}.certificate-footer-sub{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);margin-top:var(--space-1)}.cert-page{position:relative;min-height:calc(100vh - 56px);min-height:calc(100dvh - 56px);overflow:hidden}.cert-page-content{padding-top:var(--space-8);padding-bottom:var(--space-16);position:relative;z-index:1}.cert-header{text-align:center;margin-bottom:var(--space-8)}.cert-congrats-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);color:var(--color-text);margin-bottom:var(--space-2)}.cert-congrats-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary)}.cert-actions{text-align:center;margin-top:var(--space-8);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.cert-share-text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}.cert-incomplete{text-align:center;padding:var(--space-16) var(--space-4)}.cert-incomplete-icon{font-size:3rem;display:block;margin-bottom:var(--space-4)}.cert-incomplete h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-2)}.cert-incomplete p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.cert-incomplete-progress{font-weight:var(--font-weight-semibold);color:var(--color-primary)!important;margin-bottom:var(--space-6)!important}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:hidden}.confetti-piece{position:absolute;top:-10px;border-radius:2px;animation:confettiFall linear forwards}@media print{.layout-header,.cert-header,.cert-actions,.confetti-container{display:none!important}body,.cert-page{background:#fff!important;min-height:0;overflow:visible}.cert-page-content{padding:0;max-width:none}.certificate{box-shadow:none!important;margin:0 auto;page-break-inside:avoid}}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-surface-dark) 0%,#1e3a5f 100%);padding:var(--space-4)}.admin-login-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);width:100%;max-width:400px;text-align:center;box-shadow:var(--shadow-xl)}.admin-login-icon{font-size:3rem;margin-bottom:var(--space-3)}.admin-login-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-surface-dark);margin-bottom:var(--space-1)}.admin-login-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-6)}.admin-login-form{display:flex;flex-direction:column;gap:var(--space-3)}.admin-login-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-align:left}.admin-login-input{padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-base);text-align:center;transition:border-color .2s}.admin-login-input:focus{outline:none;border-color:var(--color-primary)}.admin-login-error{color:var(--color-error);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.admin-page{min-height:100vh;background:var(--color-bg);padding:var(--space-4) var(--space-4) var(--space-8);max-width:960px;margin:0 auto}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.admin-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-surface-dark)}.admin-subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.admin-loading{text-align:center;padding:var(--space-8);color:var(--color-text-muted)}.admin-error{background:#fef2f2;color:var(--color-error);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-bottom:var(--space-5)}.stat-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.stat-value{display:block;font-size:2rem;font-weight:var(--font-weight-bold);color:var(--color-primary)}.stat-card--success .stat-value{color:var(--color-success)}.stat-card--progress .stat-value{color:var(--color-secondary)}.stat-label{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px;text-transform:uppercase;letter-spacing:.05em}.admin-actions{margin-bottom:var(--space-4)}.admin-form{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.admin-form-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3);color:var(--color-surface-dark)}.admin-form-row{display:flex;gap:var(--space-3);margin-bottom:var(--space-3)}.admin-form-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-3)}.admin-input{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:inherit;transition:border-color .2s}.admin-input--short{max-width:140px}.admin-input:focus{outline:none;border-color:var(--color-primary)}.admin-select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:inherit;background:var(--color-surface)}.admin-patient-list{display:flex;flex-direction:column;gap:var(--space-3)}.admin-patient-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);overflow:hidden;transition:box-shadow .2s}.admin-patient-card.expanded{box-shadow:var(--shadow-md);border-color:var(--color-primary-light)}.admin-patient-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);cursor:pointer;-webkit-user-select:none;user-select:none}.admin-patient-header:hover{background:#00000005}.admin-patient-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-surface-dark)}.admin-patient-mrn{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:var(--space-2)}.admin-patient-count{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:2px}.admin-patient-status{display:flex;align-items:center;gap:var(--space-2)}.expand-arrow{color:var(--color-text-muted);font-size:var(--font-size-sm)}.badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.badge--certified{background:#ecfdf5;color:var(--color-success)}.badge--progress{background:#eff6ff;color:var(--color-primary)}.badge--new{background:#f3f4f6;color:var(--color-text-muted)}.admin-patient-detail{padding:0 var(--space-4) var(--space-4);border-top:1px solid var(--color-border)}.admin-learner-table{width:100%;border-collapse:collapse;margin-top:var(--space-3);font-size:var(--font-size-sm)}.admin-learner-table th{text-align:left;font-weight:var(--font-weight-medium);color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--color-border)}.admin-learner-table td{padding:var(--space-2) var(--space-2);vertical-align:middle;border-bottom:1px solid rgba(0,0,0,.04)}.row--certified{background:#f0fdf4}.learner-name{font-weight:var(--font-weight-medium)}.role-tag{display:inline-block;padding:1px var(--space-2);border-radius:var(--radius-full);font-size:.7rem;white-space:nowrap}.role-tag--patient{background:#eff6ff;color:var(--color-primary)}.role-tag--family{background:#fefce8;color:#92400e}.role-tag--caregiver{background:#f0fdf4;color:#166534}.learner-progress{display:flex;align-items:center;gap:var(--space-2)}.learner-progress-bar{width:60px;height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.learner-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));border-radius:3px;transition:width .5s ease}.learner-progress-text{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.btn-copy{background:#eff6ff;border:1px solid #bfdbfe;color:var(--color-primary);padding:3px var(--space-2);border-radius:var(--radius-md);font-size:.7rem;cursor:pointer;white-space:nowrap;transition:background .2s}.btn-copy:hover{background:#dbeafe}.btn-delete{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);transition:color .2s,background .2s}.btn-delete:hover{color:var(--color-error);background:#fef2f2}.btn-text{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-2) var(--space-3)}.btn-text--danger{color:var(--color-error)}.btn-small{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.learner-module-detail{margin-top:var(--space-4);padding:var(--space-3);background:#00000005;border-radius:var(--radius-md)}.learner-module-detail h4{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.module-score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.module-score-item{text-align:center;padding:var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border)}.module-score-item.passed{background:#f0fdf4;border-color:#bbf7d0}.module-score-item.attempted{background:#eff6ff;border-color:#bfdbfe}.module-score-name{display:block;font-size:.65rem;color:var(--color-text-muted);margin-bottom:2px}.module-score-value{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.admin-add-learner-form{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.admin-add-learner-actions{display:flex;gap:var(--space-2)}.admin-add-learner-btn{margin-top:var(--space-3)}.admin-patient-actions{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);text-align:right}.admin-empty{text-align:center;padding:var(--space-8);color:var(--color-text-muted)}.admin-empty-icon{font-size:3rem;display:block;margin-bottom:var(--space-3)}.confirm-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.confirm-dialog{background:#fff;border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);box-shadow:0 20px 60px #0000004d;max-width:400px;width:90%;animation:slideUp .2s ease}.confirm-message{font-size:var(--font-size-base);color:var(--color-surface-dark);margin-bottom:var(--space-5);line-height:1.5}.confirm-buttons{display:flex;justify-content:flex-end;gap:var(--space-3)}.btn-danger{background:var(--color-error);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-semibold);font-family:inherit;transition:background .2s}.btn-danger:hover{background:#b91c1c}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.admin-form-row{flex-direction:column}.admin-input--short{max-width:none}.module-score-grid{grid-template-columns:repeat(2,1fr)}.admin-learner-table{font-size:var(--font-size-xs)}.admin-learner-table th:nth-child(3),.admin-learner-table td:nth-child(3){display:none}}.resources{padding-top:var(--space-4);padding-bottom:var(--space-16)}.resources-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);color:var(--color-text);margin-bottom:var(--space-2)}.resources-subtitle{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-8)}.resources-section{margin-bottom:var(--space-10)}.resources-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-4)}.resources-emergency{background:var(--color-bg-card);border:2px solid var(--color-danger);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-10);box-shadow:var(--shadow-md);scroll-margin-top:80px}.resources-emergency-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-danger);margin-bottom:var(--space-4)}.resources-emergency-block{margin-bottom:var(--space-5)}.resources-emergency-block h3{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-2)}.resources-emergency-block ol,.resources-emergency-block ul{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.resources-emergency-block li{line-height:var(--line-height-relaxed);font-size:var(--font-size-sm)}.resources-emergency-note{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);background:var(--color-bg);border-radius:var(--radius-md);padding:var(--space-3);margin:0}.resources-faq{display:flex;flex-direction:column;gap:var(--space-2)}.resources-faq-item{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.resources-faq-item[open]{box-shadow:var(--shadow-md);border-color:var(--color-primary-light)}.resources-faq-q{cursor:pointer;padding:var(--space-4);font-weight:var(--font-weight-semibold);color:var(--color-text);list-style:none;position:relative;padding-right:var(--space-10);-webkit-user-select:none;user-select:none;line-height:var(--line-height-normal)}.resources-faq-q::-webkit-details-marker{display:none}.resources-faq-q:after{content:"+";position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);font-size:var(--font-size-xl);color:var(--color-primary);font-weight:var(--font-weight-light)}.resources-faq-item[open] .resources-faq-q:after{content:"−"}.resources-faq-a{padding:0 var(--space-4) var(--space-4);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);font-size:var(--font-size-sm);margin:0}.resources-glossary{margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.resources-glossary-item{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4)}.resources-glossary-item dt{font-weight:var(--font-weight-bold);color:var(--color-primary);margin-bottom:var(--space-1)}.resources-glossary-item dd{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.resources-links{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.resources-links li{line-height:var(--line-height-relaxed)}.resources-disclaimer{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--line-height-relaxed);text-align:center;border-top:1px solid var(--color-border);padding-top:var(--space-6)}:root{--color-primary: #1F569B;--color-primary-light: #2D6BB5;--color-primary-dark: #163F73;--color-primary-glow: rgba(31, 86, 155, .15);--color-secondary: #227A90;--color-secondary-light: #2C9DB5;--color-accent: #BB0A28;--color-accent-light: #D4122F;--color-success: #10b981;--color-success-light: #34d399;--color-success-bg: rgba(16, 185, 129, .1);--color-danger: #ef4444;--color-danger-light: #f87171;--color-danger-bg: rgba(239, 68, 68, .1);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .1);--color-bg: #f0f4f8;--color-bg-card: #ffffff;--color-bg-elevated: #ffffff;--color-text: #1e293b;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-surface-dark: #0D2240;--color-surface-darker: #03173E;--color-text-on-dark: #f8fafc;--color-text-on-dark-muted: #94a3b8;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .05);--shadow-glow: 0 0 20px rgba(37, 99, 235, .15);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100dvh;overflow-x:hidden}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}img,video,iframe{max-width:100%;display:block}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit}input{font-family:inherit;font-size:inherit}.container{width:100%;max-width:480px;margin:0 auto;padding:0 var(--space-4)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);line-height:var(--line-height-tight);transition:all var(--transition-base);white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;box-shadow:var(--shadow-md),0 0 0 0 var(--color-primary-glow)}.btn-primary:hover{box-shadow:var(--shadow-lg),0 0 20px var(--color-primary-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0) scale(.97)}.btn-large{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg);border-radius:var(--radius-xl);width:100%}.btn-success{background:linear-gradient(135deg,var(--color-success),#059669);color:#fff;box-shadow:var(--shadow-md)}.btn-success:hover{box-shadow:var(--shadow-lg),0 0 20px #10b98133;transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background:var(--color-primary-glow)}.btn-danger{background:linear-gradient(135deg,var(--color-danger),#dc2626);color:#fff}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-border-light);color:var(--color-text)}.card{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);overflow:hidden;transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg)}.card-body{padding:var(--space-4)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes confettiFall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in-up{animation:fadeInUp .6s ease forwards}.animate-fade-in{animation:fadeIn .4s ease forwards}.animate-slide-in-right{animation:slideInRight .5s ease forwards}.animate-scale-in{animation:scaleIn .4s var(--transition-spring) forwards}.delay-1{animation-delay:.1s;opacity:0}.delay-2{animation-delay:.2s;opacity:0}.delay-3{animation-delay:.3s;opacity:0}.delay-4{animation-delay:.4s;opacity:0}.delay-5{animation-delay:.5s;opacity:0}.delay-6{animation-delay:.6s;opacity:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.delay-1,.delay-2,.delay-3,.delay-4,.delay-5,.delay-6{opacity:1}}:focus-visible{outline:3px solid var(--color-primary-light);outline-offset:2px;border-radius:var(--radius-sm)}@media(min-width:640px){.container{max-width:560px}}@media(min-width:768px){.container{max-width:640px}}
