.sign-in-card [hidden] { display: none !important; }
.sign-in-page { margin: 0; min-height: 100vh; background: var(--color-bg); color: var(--color-text); font-family: var(--font-sans); }
.sign-in-card { box-sizing: border-box; width: min(100%, 30rem); margin: 0 auto; padding: 2rem 1.25rem; overflow-wrap: anywhere; }
.sign-in-card h1 { font-family: var(--font-display); font-size: var(--text-display); }
.sign-in-card p { line-height: 1.6; }
.sign-in-card .banner { margin-block: var(--space-4); }
#sign-in-feedback { border-inline-start: calc(3 * var(--rule-width)) solid var(--color-warn); background: var(--color-warn-bg); padding: .75rem 1rem; margin-block: 1rem; }
#sign-in-form { display: grid; gap: .75rem; }
#sign-in-form input:not([type="hidden"], [type="checkbox"]), #sign-in-form button { box-sizing: border-box; min-height: var(--control-target-min); max-width: 100%; border: var(--rule-width) solid var(--color-border-strong); border-radius: var(--radius-control, .25rem); font: inherit; }
#sign-in-form input:not([type="hidden"]):not([type="checkbox"]) { width: 100%; min-width: 0; padding: .65rem; color: var(--color-text); background: var(--color-surface); }
#sign-in-form button { padding: .75rem var(--space-6); font-weight: 600; justify-self: start; background: var(--color-action); color: var(--color-on-action); cursor: pointer; }
#sign-in-form button:disabled { cursor: wait; }
.sign-in-accept { display: flex; align-items: start; gap: .75rem; line-height: 1.5; }
#sign-in-form .sign-in-accept input { margin: 0; accent-color: var(--color-action); } /* drawn at --control-glyph (phone.css); the label is the 44px target */
.sign-in-link { display: inline-flex; align-items: center; min-height: var(--control-target-min); color: var(--color-link); }
.sign-in-card :focus-visible { outline: var(--space-half) solid var(--color-action); outline-offset: calc(3 * var(--rule-width)); }
.sign-in-footer { color: var(--color-text-secondary); font-size: var(--text-sm); }
/* Batch 11 clean-up (C6): the acceptance box and the terms version it accepts are one group; the version is a quiet line under the box. */
.sign-in-terms { display: grid; gap: var(--space-2); }
.sign-in-card .sign-in-meta { margin: 0; color: var(--color-text-secondary); font-size: var(--text-sm); }
.sign-in-accept a { color: var(--color-link); }
