/* Scoped adoption for authentication and guided onboarding inside app.html. */
.ms-auth,.ms-onboarding { --text:var(--ms-ink); --deep:var(--ms-ink); --text-light:var(--ms-muted); --cream:var(--ms-cream); --sage:var(--ms-sage); --sage-dark:var(--ms-green); --coral:var(--ms-green); }
.ms-auth .auth-container { padding:40px 20px; }
.ms-auth .auth-card { max-width:480px; padding:32px; border:1px solid var(--ms-line); border-radius:12px; box-shadow:none; }
.ms-auth .ms-wordmark { margin-bottom:28px; }
.ms-auth .auth-card h1 { font-family:var(--ms-font-display); font-size:2.5rem; font-weight:400; line-height:1.15; margin-bottom:16px; color:var(--ms-ink); }
.ms-auth .auth-card p { font-size:1rem; line-height:1.7; color:var(--ms-ink); margin-bottom:24px; }
.ms-auth #inviteForm { margin-bottom:24px; }
.ms-auth .auth-card a:not(.ms-wordmark) { color:var(--ms-green); text-underline-offset:4px; }
.ms-auth .auth-card .auth-disclosure,.ms-auth #signupDisclosure { font-size:.875rem; line-height:1.7; }
.ms-auth .auth-centered,.ms-auth .auth-disclosure { text-align:center; }
.ms-auth .auth-switch { font-size:.875rem; }
.ms-auth .auth-switch button,.ms-auth .btn-logout { min-height:44px; font-size:.875rem; color:var(--ms-green); border-color:var(--ms-muted); border-radius:7px; }
.ms-auth .auth-divider::before,.ms-auth .auth-divider::after { background:var(--ms-line); }
.ms-auth .auth-divider span { font-size:.875rem; }
.ms-auth .btn-google { border-color:var(--ms-muted); border-radius:7px; min-height:48px; font-size:1rem; }
.ms-auth .form-group label,.ms-onboarding .form-group label { font-size:.875rem; }
.ms-auth .form-group input,.ms-onboarding .form-group :is(input:not([type=checkbox]),select,textarea) { min-height:48px; font-size:1rem; border:1px solid var(--ms-muted); border-radius:6px; color:var(--ms-ink); background:var(--ms-cream); }
.ms-auth .form-group input:focus-visible,.ms-onboarding .form-group :is(input,select,textarea):focus-visible { outline:3px solid var(--ms-focus); outline-offset:4px; }
.ms-auth .btn-primary,.ms-onboarding .btn-wiz-next { border-radius:7px; min-height:48px; background:var(--ms-green); font-weight:600; }
.ms-auth .btn-primary:hover,.ms-onboarding .btn-wiz-next:hover { background:var(--ms-green-hover); }
.ms-auth .btn-primary:disabled,.ms-onboarding .btn-wiz-next:disabled { opacity:1; background:var(--ms-sage); color:var(--ms-muted); }
.ms-auth .error-msg,.ms-onboarding .error-msg { background:var(--ms-color-error-surface); color:var(--ms-color-error); border:1px solid var(--ms-color-error); border-radius:6px; font-size:.875rem; }
.ms-auth .trial-intervals { border:0; padding:0; margin:20px 0; }
.ms-auth .trial-choice { display:block; padding:14px; }
#cardCaptureView.ms-auth fieldset label { border-color:var(--ms-muted); border-radius:7px; }
#cardCaptureView.ms-auth fieldset label:has(input:checked) { background:var(--ms-sage); border-color:var(--ms-green); }
.ms-auth #trialTerms,.ms-auth #verificationMessage:not(:empty) { padding:16px; background:var(--ms-sage); border-radius:10px; color:var(--ms-ink); }
.ms-auth #trialBack { white-space:normal; }
.ms-onboarding.onboarding-wizard { max-width:600px; padding:24px 0; }
.ms-onboarding .wizard-card { padding:32px; border:1px solid var(--ms-line); border-radius:12px; box-shadow:none; }
.ms-onboarding .wizard-card h2,.ms-onboarding .wiz-generating-header h2 { font-family:var(--ms-font-display); font-size:2rem; font-weight:400; color:var(--ms-ink); }
.ms-onboarding .wizard-step-hint { font-size:1rem; line-height:1.7; }
.ms-onboarding .wiz-step-dot { border-color:var(--ms-muted); font-size:.875rem; }
.ms-onboarding .wiz-step-dot.active { background:var(--ms-green); border-color:var(--ms-green); box-shadow:0 0 0 4px var(--ms-sage); }
.ms-onboarding .wiz-step-label-item { font-size:.875rem; }
.ms-onboarding .wiz-step-line { background:var(--ms-line); }
.ms-onboarding .wiz-step-line.done { background:var(--ms-green); }
.ms-onboarding :is(.allergy-chip,.diet-chip,.age-toggle-btn,.btn-wiz-back) { min-height:44px; border-radius:7px; border-color:var(--ms-muted); color:var(--ms-ink); font-size:.875rem; }
.ms-onboarding :is(.allergy-chip,.diet-chip).selected { background:var(--ms-sage); border-color:var(--ms-green); color:var(--ms-ink); }
.ms-onboarding .btn-wiz-back { background:transparent; }
.ms-onboarding .smart-default-hint { font-size:.875rem; background:var(--ms-sage); color:var(--ms-ink); border-radius:6px; }
@media(max-width:650px) { .ms-auth .auth-container { padding:24px 20px; align-items:flex-start; } .ms-auth .auth-card,#cardCaptureView.ms-auth .auth-card,.ms-onboarding .wizard-card { padding:24px; } .ms-auth .auth-card h1 { font-size:2.25rem; } .ms-onboarding .wizard-nav { flex-wrap:wrap; } }
.ms-auth #authForm + p { margin-top:20px; }
