.ha-auth{width:min(calc(100% - 2.5rem),var(--ha-shell));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:clamp(2rem,7vw,7rem);padding-block:clamp(2.5rem,6vw,5.5rem);align-items:start}
.ha-auth__intro{max-width:32rem;padding-block:1rem}.ha-auth__intro h2{font-size:clamp(2.4rem,4vw,3.75rem);line-height:1.12;margin:1rem 0 1.5rem}.ha-auth__intro p{color:var(--ha-ink-soft);line-height:1.7}.ha-auth__support{margin-block-start:2rem}
.ha-auth__panel{min-width:0;background:var(--ha-canvas);padding:clamp(1.3rem,3vw,2.5rem);border:1px solid var(--ha-line);border-block-start:3px solid var(--ha-action)}
.ha-auth__panel h1{font-size:clamp(2rem,3vw,2.8rem);line-height:1.15;margin:0 0 1rem}.ha-auth__lede{color:var(--ha-ink-soft);line-height:1.6;margin-block-end:1.7rem}
.ha-auth__form,.ha-auth__field{display:grid;gap:1.1rem}.ha-auth__field{gap:.45rem;min-width:0}.ha-auth__field label{font-weight:600;font-size:.9rem}.ha-auth__names{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ha-auth__field input,.ha-auth__field textarea{width:100%;min-width:0;min-height:48px;border:1px solid var(--ha-line);border-radius:2px;background:#fff;color:var(--ha-ink);font:inherit;font-size:16px;padding:.7rem .85rem;box-sizing:border-box}
.ha-auth :is(input,textarea,button,a):focus-visible{outline:3px solid var(--ha-action);outline-offset:3px}
.ha-auth__password{position:relative}.ha-auth__password input{padding-inline-end:9rem}.ha-auth__password button{position:absolute;inset-inline-end:.25rem;inset-block:.1rem;min-height:44px;max-width:8.4rem;border:0;background:transparent;color:var(--ha-ink);font:inherit;font-size:.78rem;padding:.4rem .5rem;cursor:pointer}
.ha-auth a:not(.ha-btn),.ha-auth__link{color:var(--ha-action);text-underline-offset:3px}.ha-auth__link{font:inherit;font-size:.85rem;background:none;border:0;padding:.5rem 0;cursor:pointer;text-align:start;text-decoration:underline}
.ha-auth__submit{width:100%;min-height:48px;justify-content:center}.ha-auth__notice,.ha-auth__feedback{padding:.9rem 1rem;margin-block:1rem;border-inline-start:3px solid var(--ha-action);background:var(--ha-surface);line-height:1.6;font-size:.9rem;overflow-wrap:anywhere}.ha-auth__notice--error{color:#8c2424;border-color:#8c2424}
.ha-auth [hidden]{display:none!important}.ha-auth__check{display:flex;align-items:center;gap:.7rem;min-height:44px;font-size:.9rem}.ha-auth__check input{width:20px;height:20px;accent-color:var(--ha-action)}.ha-auth__instructor{display:grid;gap:1rem;padding:1rem;border:1px solid var(--ha-line);min-width:0}.ha-auth__instructor legend{float:none;width:auto;font-size:.9rem}.ha-auth__field small{color:var(--ha-ink-soft);line-height:1.5}.ha-auth__switch{margin:1.5rem 0 0;font-size:.9rem;line-height:1.7}
.ha-legacy-content{min-height:45vh}.ha-legacy-content :is(.btn-primary,.btn-danger){background:var(--ha-action);border-color:var(--ha-action);border-radius:2px}
@media(max-width:960px){.ha-auth{grid-template-columns:1fr;gap:1.5rem;padding-block:2rem}.ha-auth__intro{padding:0}.ha-auth__intro h2{font-size:2rem;margin:.6rem 0}.ha-auth__intro .ha-btn,.ha-auth__support{display:none}.ha-auth__panel{padding:1.3rem}}
@media(max-width:380px){.ha-auth__names{grid-template-columns:1fr}}
