:root{--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .875rem;--font-size-sm: .9375rem;--font-size-base: 1.0625rem;--font-size-md: 1.125rem;--font-size-lg: 1.1875rem;--font-size-xl: 1.3125rem;--font-size-2xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-ui: 1.5;--line-height-copy: 1.55}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,#root{font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-copy)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans)}.dashboard-main,.dashboard-container,.login-container,.care-seeker-onboarding,.caregiver-onboarding,.my-appointments-page,.visit-details-panel,.booking-wizard-root{font-size:var(--font-size-base)}:root{--brand-ink: #191919;--brand-cream: #fafaf7;--brand-surface: #ffffff;--brand-surface-muted: #f5f4f0;--brand-border: #e7e5e0;--brand-border-strong: #d8d4cc;--brand-muted: #6b6760;--brand-muted-soft: #8a857c;--brand-error-bg: #fdf5f4;--brand-error-border: #e8c4c0;--brand-error-text: #7a2e28;--auth-radius-card: 14px;--auth-radius-control: 8px;--auth-control-h: 48px;--auth-primary-h: 52px;--auth-font: var(--font-sans)}body:has(.login-container),body:has(.care-seeker-onboarding),body:has(.caregiver-onboarding),body:has(.auth-wrapper-loading){margin:0;background-color:var(--brand-cream);color:var(--brand-ink);-webkit-font-smoothing:antialiased}.login-container{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,5vw,3rem) clamp(1.25rem,4vw,2rem);background:var(--brand-cream);font-family:var(--auth-font)}.login-card{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:stretch;padding:clamp(2rem,5vw,2.5rem) clamp(1.75rem,4vw,2.25rem);border-radius:var(--auth-radius-card);border:1px solid var(--brand-border);background:var(--brand-surface);box-shadow:0 1px 2px #1919190a}.login-header{text-align:left;margin-bottom:1.75rem}.login-header--password{margin-bottom:1.5rem}.login-title{margin:0;font-size:clamp(1.5rem,3.5vw,1.75rem);font-weight:700;line-height:1.2;letter-spacing:-.03em;color:var(--brand-ink)}.login-change-email{display:inline-block;margin:0 0 .75rem;padding:0;border:none;background:none;font-family:inherit;font-size:var(--font-size-sm, .9375rem);font-weight:600;color:var(--brand-muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.login-change-email:hover:not(:disabled){color:var(--brand-ink)}.login-change-email:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px;border-radius:4px}.login-change-email:disabled{opacity:.5;cursor:not-allowed}.login-email-display{margin:.5rem 0 0;font-size:1rem;font-weight:500;line-height:1.35;color:var(--brand-muted);word-break:break-all}.login-card--password-step .login-divider,.login-card--password-step .login-google-sso,.login-card--password-step .signup-links,.login-badge{display:none}.login-error{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem .875rem;margin-bottom:1rem;background-color:var(--brand-error-bg);border:1px solid var(--brand-error-border);border-radius:var(--auth-radius-control);color:var(--brand-error-text)}.login-error svg{flex-shrink:0;margin-top:.125rem}.login-error span{font-size:var(--font-size-sm, .9375rem);line-height:1.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}.login-form{display:flex;flex-direction:column;gap:.75rem;width:100%}.login-form--step{gap:.5rem}.login-form--step .btn-login{margin-top:0}.forgot-row{display:flex;justify-content:flex-end;margin:.125rem 0 .25rem}.form-input{width:100%;height:var(--auth-control-h);padding:0 1rem;font-size:1rem;font-family:inherit;color:var(--brand-ink);-webkit-text-fill-color:var(--brand-ink);caret-color:var(--brand-ink);background-color:var(--brand-surface-muted);border:1px solid var(--brand-border);border-radius:var(--auth-radius-control);transition:border-color .15s ease,background-color .15s ease;box-sizing:border-box}.form-input::placeholder{color:var(--brand-muted-soft)}.form-input:hover:not(:disabled){border-color:var(--brand-border-strong);background-color:var(--brand-surface)}.form-input:focus{outline:none;border-color:var(--brand-ink);background-color:var(--brand-surface);box-shadow:0 0 0 1px var(--brand-ink)}.form-input:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px}.form-input:disabled{background-color:var(--brand-surface-muted);cursor:not-allowed;opacity:.55}.login-field{display:flex;flex-direction:column;gap:.25rem}.form-input--error{border-color:var(--brand-error-border);background-color:var(--brand-error-bg)}.form-input--error:focus,.form-input--error:focus-visible{border-color:var(--brand-error-text);box-shadow:0 0 0 1px var(--brand-error-border)}.login-field-error{margin:0;font-size:var(--font-size-xs, .875rem);font-weight:500;line-height:1.35;color:var(--brand-error-text)}.form-input:-webkit-autofill,.form-input:-webkit-autofill:hover,.form-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--brand-ink);box-shadow:0 0 0 1000px var(--brand-surface-muted) inset;transition:background-color 9999s ease-in-out 0s}.forgot-password-link{font-size:var(--font-size-sm, .9375rem);font-weight:500;color:var(--brand-muted);background:none;border:none;padding:0;cursor:pointer;text-decoration:none;line-height:1.3;transition:color .15s ease}.forgot-password-link:hover{color:var(--brand-ink);text-decoration:underline}.forgot-password-link:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px;border-radius:4px}.forgot-password-link:disabled{cursor:not-allowed;opacity:.5}.btn-login{width:100%;height:var(--auth-primary-h);margin-top:.25rem;padding:0 1.25rem;font-size:1.0625rem;font-weight:600;font-family:inherit;letter-spacing:-.01em;color:var(--brand-cream);border:1px solid var(--brand-ink);border-radius:var(--auth-radius-control);background:var(--brand-ink);box-shadow:none;cursor:pointer;transition:background-color .15s ease,opacity .15s ease}.btn-login:hover:not(:disabled){background:#2a2a2a;border-color:#2a2a2a}.btn-login:active:not(:disabled){background:#0f0f0f}.btn-login:focus-visible{outline:2px solid var(--brand-ink);outline-offset:3px}.btn-login:disabled{cursor:not-allowed;opacity:.7}.btn-login--continue:disabled{opacity:1;background:var(--brand-ink);border-color:var(--brand-ink);color:var(--brand-cream)}.login-divider{position:relative;text-align:center;margin:1.75rem 0 1.25rem}.login-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--brand-border)}.login-divider span{position:relative;display:inline-block;padding:0 .75rem;background-color:var(--brand-surface);font-size:var(--font-size-sm, .9375rem);font-weight:500;color:var(--brand-muted-soft);text-transform:lowercase}.login-google-sso{width:100%}.login-google-btn{width:100%;min-height:var(--auth-control-h);padding:.75rem 1.125rem;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;border-radius:var(--auth-radius-control);border:1px solid var(--brand-border);background:var(--brand-surface-muted);font-family:inherit;font-size:.9375rem;font-weight:600;color:var(--brand-ink);letter-spacing:-.01em;cursor:pointer;transition:border-color .15s ease,background-color .15s ease;box-sizing:border-box}.login-google-btn:hover:not(:disabled){border-color:var(--brand-border-strong);background:var(--brand-surface-muted)}.login-google-btn:active:not(:disabled){background:var(--brand-border)}.login-google-btn:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px}.login-google-btn:disabled{cursor:not-allowed;opacity:.5}.login-google-btn-icon{width:20px;height:20px;flex-shrink:0;display:block;opacity:.92}.login-google-btn-label{line-height:1.25}.login-google-btn-spinner{width:20px;height:20px;flex-shrink:0;border:2px solid rgba(25,25,25,.12);border-top-color:var(--brand-ink);border-radius:50%;animation:loginGoogleSpin .75s linear infinite}@keyframes loginGoogleSpin{to{transform:rotate(360deg)}}.signup-links{margin-top:1.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .5rem}.signup-title{font-size:.9375rem;color:var(--brand-muted)}.signup-link-row{display:flex;align-items:center;gap:.375rem}.signup-link{font-size:.9375rem;color:var(--brand-ink);text-decoration:none;font-weight:600;transition:opacity .15s ease}.signup-link:hover{text-decoration:underline;opacity:.85}.signup-link:focus-visible,.back-link:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px;border-radius:4px}.login-footer{margin-top:1rem;text-align:center}.back-link{font-size:var(--font-size-sm, .9375rem);color:var(--brand-muted);background:none;border:none;padding:.25rem .5rem;cursor:pointer;transition:color .15s ease}.back-link:hover{color:var(--brand-ink)}@media(max-width:480px){.login-card{max-width:100%;padding:1.75rem 1.35rem 1.5rem}.login-title{font-size:1.4375rem}.form-input{height:46px;font-size:1rem}.btn-login{height:50px}}@media(max-height:740px){.login-container{padding:1rem}.login-card{padding:1.5rem 1.35rem}.login-header{margin-bottom:1.25rem}.login-divider{margin:1.125rem 0 1rem}.signup-links{margin-top:1.125rem}}@media(prefers-reduced-motion:reduce){.form-input,.btn-login,.login-google-btn,.forgot-password-link,.back-link,.signup-link,.login-change-email{transition:none}.login-google-btn-spinner{animation:none;border-color:var(--brand-ink);border-top-color:transparent}}@media(print){.login-container{background:#fff}.login-card{box-shadow:none;border:1px solid var(--brand-border)}.btn-login,.login-google-btn,.back-link{display:none}}
