/* PF-14: Health entry surfaces. Shared palette and interaction values come from design-system.css.
   Inter is bundled locally under the SIL Open Font License; sign-in makes no font network request. */
@font-face{font-family:'Inter';src:url('brand-assets/inter-variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
body[data-entry="sign-in"]{font-family:'Inter',ui-sans-serif,system-ui,sans-serif;background:var(--paper);color:var(--text)}
body[data-entry="sign-in"] .app-shell{display:block}
body[data-entry="sign-in"] .main-shell{margin:0;min-height:100vh}
body[data-entry="sign-in"] #main{max-width:1200px;margin:auto;padding:32px 24px 48px}
body[data-entry="sign-in"] #sidebar,body[data-entry="sign-in"] .topbar,body[data-entry="sign-in"] .workspace-footer,[hidden].topbar,[hidden].workspace-footer,[hidden].sidebar{display:none!important}
body[data-entry="sign-in"] .shared-entry{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);max-width:1080px;margin:0 auto;animation:none;border-radius:var(--dawnby-radius-feature);box-shadow:var(--shadow-soft);align-items:stretch}
body[data-entry="sign-in"] .entry-story{padding:40px 32px;background:var(--dawnby-ink);color:var(--dawnby-white)}
body[data-entry="sign-in"] .entry-brand{min-height:48px;min-width:48px;margin-bottom:40px;color:var(--dawnby-white);gap:12px;font-size:1.375rem}
body[data-entry="sign-in"] .entry-brand img{width:48px;height:48px;flex:none;background:var(--dawnby-white);border-radius:var(--dawnby-radius-control);padding:5px;box-sizing:border-box}
body[data-entry="sign-in"] .entry-story h1{color:var(--dawnby-white);font-size:clamp(2rem,3.2vw,2.75rem);line-height:1.18;letter-spacing:-.04em}
body[data-entry="sign-in"] .entry-story p{color:var(--dawnby-line)}
body[data-entry="sign-in"] .shared-entry .login-surface{padding:36px 32px;background:var(--surface);min-width:0}
body[data-entry="sign-in"] .login-surface h2{font-size:1.75rem;letter-spacing:-.035em}
body[data-entry="sign-in"] .public-door{background:var(--paper);border-radius:var(--dawnby-radius-card);padding:20px;margin-top:24px}
body[data-entry="sign-in"] .public-door p{margin:8px 0 16px}
body[data-entry="sign-in"] .staff-door{padding-top:24px}
body[data-entry="sign-in"] .shared-entry #login-form{margin-top:20px;gap:16px}
body[data-entry="sign-in"] #login-submit{justify-content:center}
body[data-entry="sign-in"] .login-surface :is(input,button,.button){font:inherit}
body[data-entry="sign-in"] .login-surface :is(button,.button),body[data-entry="sign-in"] .entry-signup a{min-height:48px;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}
body[data-entry="sign-in"] .login-surface input:not([type="checkbox"]):not([type="radio"]){min-height:48px;background:var(--surface);color:var(--text);border-color:var(--dawnby-control-border)}
body[data-entry="sign-in"] .entry-signup{display:grid;gap:4px;padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}
body[data-entry="sign-in"] .entry-signup a{display:flex;align-items:center;padding:8px 0;color:var(--brand);text-underline-offset:4px}
body[data-entry="sign-in"] .entry-signup h3{margin-bottom:4px}
body[data-entry="sign-in"] .workspace-welcome{animation:none}
body[data-entry="sign-in"] :focus-visible{outline:3px solid var(--brand);outline-offset:4px}
@media(max-width:800px){
 body[data-entry="sign-in"] #main{padding:16px 12px 32px}
 body[data-entry="sign-in"] .shared-entry{grid-template-columns:minmax(0,1fr)}
 body[data-entry="sign-in"] .entry-story{display:block;padding:24px}
 body[data-entry="sign-in"] .entry-brand{margin-bottom:20px}
 body[data-entry="sign-in"] .entry-story h1{font-size:2rem;margin-block:12px}
 body[data-entry="sign-in"] .entry-story>p,body[data-entry="sign-in"] .entry-responsibilities{display:none}
 body[data-entry="sign-in"] .shared-entry .login-surface{padding:28px 24px}
 body[data-entry="sign-in"] .login-surface h2{font-size:1.5rem}
 body[data-entry="sign-in"] .public-actions{flex-wrap:wrap}
}
:root[data-dawnby-theme="dark"] body[data-entry="sign-in"]{color-scheme:dark;--paper:var(--dawnby-health-interaction-focus-gap-on-page-dark);--surface:var(--dawnby-health-interaction-focus-gap-on-card-dark);--ink:var(--dawnby-white);--text:var(--dawnby-white);--muted:var(--dawnby-line);--line:var(--dawnby-muted);--brand:var(--dawnby-health-interaction-focus-ring-dark);--brand-soft:var(--dawnby-health-interaction-secondary-hover-dark)}
:root[data-dawnby-theme="dark"] body[data-entry="sign-in"] .button.primary{background:var(--dawnby-action);border-color:var(--dawnby-action);color:var(--dawnby-white)}
:root[data-dawnby-theme="dark"] body[data-entry="sign-in"] .button.primary:hover{background:var(--dawnby-health-interaction-primary-hover-dark)}
:root[data-dawnby-theme="dark"] body[data-entry="sign-in"] .button.secondary{color:var(--text)}
:root[data-dawnby-theme="dark"] body[data-entry="sign-in"] .notice.error{background:var(--dawnby-health-interaction-danger-tint-dark);color:var(--dawnby-health-interaction-danger-pressed-ink-dark)}
@media(prefers-color-scheme:dark){
 :root[data-dawnby-theme="system"] body[data-entry="sign-in"]{color-scheme:dark;--paper:var(--dawnby-health-interaction-focus-gap-on-page-dark);--surface:var(--dawnby-health-interaction-focus-gap-on-card-dark);--ink:var(--dawnby-white);--text:var(--dawnby-white);--muted:var(--dawnby-line);--line:var(--dawnby-muted);--brand:var(--dawnby-health-interaction-focus-ring-dark);--brand-soft:var(--dawnby-health-interaction-secondary-hover-dark)}
 :root[data-dawnby-theme="system"] body[data-entry="sign-in"] .button.primary{background:var(--dawnby-action);border-color:var(--dawnby-action);color:var(--dawnby-white)}
 :root[data-dawnby-theme="system"] body[data-entry="sign-in"] .button.primary:hover{background:var(--dawnby-health-interaction-primary-hover-dark)}
 :root[data-dawnby-theme="system"] body[data-entry="sign-in"] .button.secondary{color:var(--text)}
 :root[data-dawnby-theme="system"] body[data-entry="sign-in"] .notice.error{background:var(--dawnby-health-interaction-danger-tint-dark);color:var(--dawnby-health-interaction-danger-pressed-ink-dark)}
}
/* Independent Health cards keep the story readable while the form grows for a notice or setup step. */
body[data-entry="sign-in"] .shared-entry{gap:24px;align-items:start;border:0;background:transparent;box-shadow:none;overflow:visible}
body[data-entry="sign-in"] .entry-story{position:relative;top:auto;border-radius:var(--dawnby-radius-feature)}
body[data-entry="sign-in"] .shared-entry .login-surface{border:1px solid var(--line);border-radius:var(--dawnby-radius-feature)}
body[data-entry="sign-in"] .entry-story :is(.eyebrow,svg){color:var(--dawnby-action-tint)}
body[data-entry="sign-in"] .login-surface :is(h1,h2,h3,legend,.field-label,.public-privacy ul){color:var(--text)}
body[data-entry="sign-in"] .login-surface :is(.public-door p,.staff-door p,.passkey-door-note,.public-choice .radio-field label span){color:var(--muted)}
body[data-entry="sign-in"] .login-surface .staff-door{background:var(--surface);border-color:var(--line)}
body[data-entry="sign-in"] .public-privacy{background:var(--paper);border-color:var(--line)}
body[data-entry="sign-in"] .public-privacy a{color:var(--brand)}
body[data-entry="sign-in"] .checkbox-field label{min-height:48px;display:flex;align-items:center}
@media(max-width:800px){body[data-entry="sign-in"] .entry-story{position:relative}body[data-entry="sign-in"] .shared-entry{gap:16px}}
body[data-entry="sign-in"] .public-privacy a{display:inline-flex;align-items:center;min-height:48px;max-width:100%;overflow-wrap:anywhere}
/* Entry copy follows the person's text size, including the older public-account substeps. */
body[data-entry="sign-in"]{font-size:1rem}
body[data-entry="sign-in"] .login-surface :is(.public-door h3,.staff-door h3){font-size:.9375rem}
body[data-entry="sign-in"] :is(.public-privacy ul,.passkey-door-note,.public-choice .radio-field label span){font-size:.8125rem}
body[data-entry="sign-in"] .login-surface p,body[data-entry="sign-in"] #first-run-setup p{font-size:.875rem}
body[data-entry="sign-in"] .public-privacy .checkbox-field label{color:var(--text)}
/* Held-account setup and its security sheets share the entry palette in either appearance. */
body[data-entry="sign-in"] :is(.login-surface,.public-option,.sheet){background:var(--surface);color:var(--text);border-color:var(--line)}
body[data-entry="sign-in"] .public-option p{color:var(--muted)}
body[data-entry="sign-in"] .sheet :is(h1,h2,h3,legend,dd,label,.mfa-code,.recovery-codes code){color:var(--text)}
body[data-entry="sign-in"] .sheet :is(p,dt,.small-note,.eyebrow){color:var(--muted)}
body[data-entry="sign-in"] .sheet .mfa-code{color:var(--text)}

/* Read Health through the existing bridge; a saved appearance overrides the OS preference. */
:root[data-dawnby-theme="dark"] body[data-entry="sign-in"] .entry-story{background:var(--surface);color:var(--text)}
:root[data-dawnby-theme="dark"] body[data-entry="sign-in"] .entry-story :is(.entry-brand,h1,.entry-responsibilities strong){color:var(--dawnby-white)}
:root[data-dawnby-theme="dark"] body[data-entry="sign-in"] .entry-story :is(p,.eyebrow,small,svg){color:var(--muted)}
@media(prefers-color-scheme:dark){
 :root[data-dawnby-theme="system"] body[data-entry="sign-in"] .entry-story{background:var(--surface);color:var(--text)}
 :root[data-dawnby-theme="system"] body[data-entry="sign-in"] .entry-story :is(.entry-brand,h1,.entry-responsibilities strong){color:var(--dawnby-white)}
 :root[data-dawnby-theme="system"] body[data-entry="sign-in"] .entry-story :is(p,.eyebrow,small,svg){color:var(--muted)}
}
