.onboarding-container{max-width:980px;margin:clamp(2rem,6vw,3rem) auto;padding-inline:clamp(1rem,4vw,2.25rem);color:var(--app-text-primary)}.onboarding-card{background:var(--app-gradient-card);border-radius:var(--app-radius-lg);border:1px solid var(--app-border-subtle);box-shadow:var(--app-shadow-lg);backdrop-filter:blur(18px);overflow:hidden;position:relative}.onboarding-header{background:var(--app-gradient-hero);color:#fff;padding:clamp(2rem,6vw,2.8rem);text-align:center;position:relative}.onboarding-header::after{content:'';position:absolute;inset:0;background:radial-gradient(65% 85% at 100% 10%,rgba(255,255,255,.18),transparent 70%);opacity:.6;pointer-events:none}.onboarding-header h1{font-size:clamp(2rem,4vw,2.4rem);font-weight:600;margin-bottom:.8rem}.onboarding-header p{margin:0;font-size:1.05rem;opacity:.92}.progress-container{padding:clamp(1.5rem,4vw,2rem) clamp(2rem,6vw,2.5rem) 0;background:var(--app-gradient-hero)}.progress-steps{--progress-step-count:6;--step-indicator-size:42px;--progress-gutter:clamp(.25rem,2vw,.75rem);display:grid;grid-template-columns:repeat(var(--progress-step-count),minmax(0,1fr));position:relative;margin-bottom:1.5rem;padding-inline:var(--progress-gutter);gap:0;align-items:start}.progress-line{position:absolute;top:calc(var(--step-indicator-size)/2);left:calc(var(--progress-gutter) + var(--step-indicator-size)/2);right:calc(var(--progress-gutter) + var(--step-indicator-size)/2);height:3px;background:rgba(148,163,184,.3);border-radius:999px}.progress-line-fill{height:100%;width:0%;background:linear-gradient(135deg,var(--app-primary-500),var(--app-secondary-500));border-radius:inherit;transition:width .35s ease;transform-origin:center left}.progress-step{text-align:center;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.45rem;pointer-events:none;min-width:0}.step-number{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;background:rgba(255,255,255,.22);border:2px solid rgba(255,255,255,.45);color:#fff;transition:all .25s ease}.progress-step.active .step-number{background:#fff;color:var(--app-primary-600);box-shadow:0 10px 20px rgba(79,70,229,.25);border-color:transparent}.progress-step.completed .step-number{background:#fff;color:var(--app-success-600);border-color:transparent}.step-label{font-size:.9rem;color:rgba(255,255,255,.85);max-width:110px;line-height:1.3}.progress-step.active .step-label{color:#fff;font-weight:600}.onboarding-content{padding:clamp(2rem,5vw,2.8rem);background:var(--app-surface-1);border-top:1px solid rgba(148,163,184,.15);position:relative}.step-content{display:none!important;opacity:0;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease}.step-content.active{display:block!important;opacity:1;transform:translateY(0)}.medical-form-group{margin-bottom:1.5rem}.step-content input,.step-content select,.step-content textarea{display:block!important;width:100%!important;min-height:44px!important;opacity:1!important;visibility:visible!important}.step-content label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--app-text-primary)}.injection-sites-builder{border:1px dashed rgba(99,102,241,.35);border-radius:var(--app-radius-md);padding:1.25rem;margin-bottom:1.25rem;background:rgba(99,102,241,.05)}.sites-list{display:grid;gap:.75rem}.add-site-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.site-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:var(--app-radius-sm);background:rgba(255,255,255,.92);border:1px solid rgba(148,163,184,.2);box-shadow:0 8px 20px rgba(15,23,42,.06)}.site-number{width:36px;height:36px;border-radius:12px;background:rgba(99,102,241,.12);color:var(--app-primary-600);display:grid;place-items:center;font-weight:600}.site-name{font-weight:500;color:var(--app-text-primary);word-break:break-word}.btn-remove-site{width:34px;height:34px;border-radius:50%;border:0;background:rgba(239,68,68,.12);color:#dc2626;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.btn-remove-site:hover{background:rgba(239,68,68,.2);color:#b91c1c;transform:translateY(-1px)}.btn-remove-site:focus-visible{outline:2px solid rgba(239,68,68,.45);outline-offset:2px}.btn-remove-site-icon{font-size:1rem;line-height:1}.toggle-switch{position:relative;width:54px;height:30px;display:inline-flex;align-items:center;justify-content:center}.toggle-slider{position:absolute;inset:0;background:rgba(148,163,184,.45);border-radius:999px;transition:background .2s ease}.toggle-slider::before{content:'';position:absolute;top:4px;inset-inline-start:4px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 4px 10px rgba(15,23,42,.15);transition:transform .2s ease}.toggle-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;border:0;background:transparent;-webkit-appearance:none;appearance:none;z-index:2}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,var(--app-primary-500),var(--app-secondary-500))}.toggle-switch input:checked+.toggle-slider::before{transform:translateX(24px)}.toggle-switch input:focus-visible+.toggle-slider{box-shadow:0 0 0 3px rgba(99,102,241,.25)}.toggle-label{font-weight:500;color:var(--app-text-secondary);display:flex;flex-direction:column;gap:.25rem}.toggle-label strong{font-weight:600;color:var(--app-text-primary)}.toggle-description{font-size:.9rem;line-height:1.4;color:var(--app-text-secondary)}.child-access-toggle{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.child-access-toggle .toggle-switch{flex-shrink:0}.child-access-toggle .toggle-label{flex:1;min-width:220px}.notification-permission-card{background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.25);border-radius:var(--app-radius-md);padding:1.35rem;margin-bottom:1.5rem}.permission-icon{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(56,189,248,.22);color:var(--app-info-600);font-size:1.5rem}.child-access-section{padding:1.25rem;border-radius:var(--app-radius-md);border:1px solid rgba(148,163,184,.2);background:rgba(99,102,241,.06);margin-top:1rem}.child-login-details{display:none!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;padding:1.25rem;border-radius:var(--app-radius-sm);background:rgba(255,255,255,.94);border:1px solid rgba(148,163,184,.2);margin-top:1.25rem;box-shadow:0 12px 30px rgba(15,23,42,.08);opacity:0;transition:opacity .25s ease,transform .25s ease;position:relative;border-inline-start:4px solid rgba(99,102,241,.25);overflow:hidden;transform:translateY(6px)}.child-login-details::before{content:'';position:absolute;inset-block:.75rem;inset-inline-start:0;width:4px;border-radius:999px;background:linear-gradient(180deg,rgba(99,102,241,.45),rgba(129,140,248,.25))}.child-login-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.child-login-icon{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--app-primary-500),var(--app-secondary-500));display:inline-flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.child-login-icon svg{width:24px;height:24px;display:block}.child-login-copy h5{margin:0;font-size:1.05rem;color:var(--app-text-primary)}.child-login-copy p{margin:.25rem 0 0;color:var(--app-text-secondary);font-size:.9rem;line-height:1.4}.child-login-details .medical-form-group{margin:0}.child-login-details .medical-form-help{font-size:.9rem}.child-login-details.show{display:grid!important;opacity:1;transform:translateY(0)}.child-login-details .medical-form-group{margin:0}.child-login-details .medical-form-help{font-size:.9rem}.onboarding-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:clamp(1.5rem,4vw,2rem);border-top:1px solid rgba(148,163,184,.12);background:rgba(244,247,255,.7);flex-wrap:wrap}.onboarding-actions .btn-medical{min-width:150px}.completion-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;font-size:2rem;color:var(--app-success-600);background:rgba(16,185,129,.12);margin:0 auto 1.25rem}.welcome-completion{text-align:center}.welcome-completion ul{margin:1.25rem 0 0;padding:0;list-style:none}.welcome-completion li{padding:.55rem 0;color:var(--app-text-secondary);border-bottom:1px dashed rgba(148,163,184,.2)}.welcome-completion li:last-child{border-bottom:0}@media(max-width:768px){.onboarding-container{padding-inline:1rem}.onboarding-actions{justify-content:center}.onboarding-actions .btn-medical{width:100%}.progress-steps{--progress-gutter:.5rem;--step-indicator-size:36px}.step-label{font-size:.85rem}}@media(prefers-reduced-motion:reduce){.progress-line-fill,.step-content{transition:none!important}}#step-5 .medical-form-group:first-of-type{background:rgba(var(--app-primary-rgb),.05);padding:1.25rem;border-radius:var(--app-radius-md);border:1px solid rgba(var(--app-primary-rgb),.15);margin-bottom:2rem}#step-5 .medical-form-group:first-of-type label{color:var(--app-primary-700);font-size:1.1rem}#step-5 #syringeCount{font-size:1.2rem;font-weight:600;padding:.75rem;border-color:var(--app-primary-300);box-shadow:0 4px 6px rgba(0,0,0,.05)}.form-control.is-invalid{border-color:var(--app-danger-500)!important;background-image:none!important;box-shadow:0 0 0 4px rgba(239,68,68,.15)!important}.invalid-feedback{background:rgba(239,68,68,.1);padding:.5rem .75rem;border-radius:var(--app-radius-sm);margin-top:.5rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.invalid-feedback::before{content:'⚠';font-size:1rem}