.auth-shell{min-height:100vh;padding:24px;background:radial-gradient(circle at 20% 10%,var(--soft),transparent 35%),var(--bg)}
.auth-card{width:min(100%,460px);margin:0 auto;padding:38px;background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 48px #0002}
.auth-card h1{font-size:clamp(2rem,6vw,2.8rem);line-height:1.02;margin:.25em 0 .65em}.auth-card .field{margin:0 0 16px}.auth-card .field p{margin:0}.auth-card label{display:block;font-size:.88rem;font-weight:750;margin-bottom:5px}.auth-card input{box-sizing:border-box;width:100%;min-height:48px;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit}.auth-card input[type=checkbox]{width:auto;min-height:0;margin-right:7px}.auth-card input[type=submit]{margin-top:8px;background:var(--a);color:#fff;border:0;font-weight:800;cursor:pointer}.auth-card .actions{margin:20px 0}.auth-card a{color:var(--a);display:inline-block;margin:7px 0}.auth-card .field:has(input[type=checkbox]){display:flex;align-items:center;gap:4px}.auth-card .field:has(input[type=checkbox]) p{display:contents}
.registration-shell{display:flex;align-items:center}.registration-card{width:min(calc(100vw - 48px),1180px);max-width:none;padding:30px 36px 36px}.registration-card--access{width:min(calc(100vw - 48px),520px)}.registration-card>.brand{margin-bottom:28px}.registration-access-card{max-width:460px}.registration-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(460px,1.05fr);gap:48px;align-items:start}.registration-introduction{padding:20px 8px 8px}.registration-introduction h1{max-width:640px;font-family:Georgia,serif;font-size:clamp(2.8rem,5vw,4.7rem);line-height:.98;letter-spacing:-.045em}.registration-lede{max-width:600px;margin:0;color:#405852;font-size:1.15rem;line-height:1.55}.registration-benefits{margin-top:30px}.registration-benefits h2,.registration-form-panel h2{margin:.15em 0 .45em;font-family:Georgia,serif;font-size:1.7rem}.registration-benefits ul{display:grid;gap:15px;margin:0;padding:0;list-style:none}.registration-benefits li{position:relative;padding-left:25px;color:#506762;line-height:1.5}.registration-benefits li:before{position:absolute;left:0;top:.4em;width:10px;height:10px;border:2px solid var(--a);border-radius:50%;content:""}.registration-benefits strong{color:var(--ink)}.registration-privacy-note{margin-top:30px;padding:18px 19px;border:1px solid #c8e2da;border-radius:14px;background:#f2fbf7}.registration-privacy-note p:last-child{margin:6px 0 0;color:#506762;line-height:1.5}.registration-comparison{margin:24px 0 0;color:#607570;line-height:1.5}.registration-form-panel{padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 28px #173e3612}.registration-form-panel>.muted{margin:0 0 22px}.registration-form{display:grid;gap:2px}.registration-selected-building{display:grid;gap:4px;margin:0 0 24px;padding:18px 19px;border:1px solid #bcdcd2;border-radius:13px;background:#f2fbf7}.registration-selected-building .eyebrow{margin:0}.registration-selected-building>strong{color:#1f3d37;font-size:1.12rem}.registration-selected-building>span{color:#607570;font-size:.9rem}.registration-complex-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px;padding-top:12px;border-top:1px solid #cbe3da}.registration-complex-choice p{margin:0;color:#506963;font-size:.86rem}.registration-complex-choice .secondary-button{min-height:34px;padding:0 11px;white-space:nowrap;font-size:.78rem}.registration-building-fields{margin:4px 0 8px;padding:20px}.registration-building-fields>.muted{margin:0 0 17px}.registration-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.registration-name-fields,.registration-password-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-form .field{margin:0 0 16px}.field-hint{margin:-1px 0 6px!important;color:var(--muted);font-size:.78rem}.registration-data-note{margin:4px 0 0;color:#596d68;font-size:.82rem;line-height:1.45}.registration-form .actions{margin:4px 0 0}.registration-form input[type=submit]{margin:0}.registration-form .legal-consent{margin:14px 0 0}
.registration-introduction .community-benefits-compact{margin-top:30px}.registration-introduction .community-benefits-compact h2{margin:.15em 0 .45em;font-family:Georgia,serif;font-size:1.7rem}.registration-introduction .community-benefits-compact ul{display:grid;gap:15px;margin:0;padding:0;list-style:none}.registration-introduction .community-benefits-compact li{position:relative;padding-left:25px;color:#506762;line-height:1.5}.registration-introduction .community-benefits-compact li:before{position:absolute;left:0;top:.4em;width:10px;height:10px;border:2px solid var(--a);border-radius:50%;content:""}.registration-introduction .community-benefits-compact strong{color:var(--ink)}
.registration-selected-building{gap:0;padding:20px 21px;background:linear-gradient(135deg,#f2fbf7,#fbfdfc)}.registration-selected-building h2{margin:0 0 5px;color:#1f3d37;font-family:Georgia,serif;font-size:1.65rem;line-height:1.05}.registration-selected-building-address{margin:0;color:#405e57;line-height:1.45}.registration-selected-building-complex{margin:14px 0 0;padding-top:12px;border-top:1px solid #cbe3da;color:#57706a;font-size:.88rem;line-height:1.4}.registration-selected-building-complex strong{color:#315148}
.registration-legal-consent{display:grid;grid-template-columns:18px minmax(0,1fr);gap:11px;align-items:start;margin:14px 0 2px;padding:13px 14px;border:1px solid #d7e4df;border-radius:10px;background:#f8fbfa;color:#526963;font-size:.82rem;line-height:1.45}.registration-legal-consent input[type=checkbox]{width:16px;min-height:16px;height:16px;margin:3px 0 0;padding:0;accent-color:#176b61}.registration-legal-consent label{display:inline;margin:0!important;color:#405853;font-size:inherit!important;font-weight:650!important}.registration-legal-consent label a{display:inline;margin:0;color:#176b61;font-weight:800}.registration-legal-consent small{display:block;margin-top:3px;color:#71817e;font-size:.75rem}
.handle-choice{margin:2px 0 16px;padding:20px;border:1px solid #c8e2da;border-radius:14px;background:#f7fcfa}.handle-choice .eyebrow,.handle-choice h2,.handle-choice>p{margin-top:0}.handle-choice h2{font-size:1.35rem}.handle-choice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.handle-option{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid #cfe0da;border-radius:11px;background:#fff;cursor:pointer}.handle-option--selected{border:2px solid var(--a);padding:13px}.handle-option input{margin-top:4px}.handle-option span{display:grid;gap:3px}.handle-option small{color:#176b61;font-weight:800}.handle-option b{font-size:1rem}.handle-choice-notice{margin:0;color:#506762;font-size:.88rem;line-height:1.45}
@media(max-width:900px){.registration-card{width:min(calc(100vw - 28px),700px)}.registration-card--access{width:min(calc(100vw - 28px),520px)}.registration-layout{grid-template-columns:1fr;gap:22px}.registration-introduction{padding:8px 0}.registration-introduction h1{font-size:clamp(2.7rem,9vw,4.2rem)}.registration-benefits,.registration-comparison{display:none}.registration-privacy-note{margin-top:22px}}
@media(max-width:620px){.auth-shell{padding:14px}.registration-card,.auth-card{padding:25px 20px}.registration-form-panel{padding:21px 18px}.registration-field-grid,.registration-name-fields,.registration-password-fields,.handle-choice-options{grid-template-columns:1fr}.registration-building-fields{padding:17px}.registration-complex-choice{align-items:stretch;flex-direction:column}.registration-complex-choice .secondary-button{justify-content:center}.registration-introduction h1{font-size:2.65rem}}
.validation-result{margin-bottom:1rem;border-color:#9dcfc0;background:#f2fbf7}.validation-result.is-error{border-color:#efc4b4;background:#fff7f3;color:#9b3e20}.validation-result p:last-child{margin-bottom:0}

/* Both password columns reserve the same hint area. The inputs therefore
   share an exact baseline even when the password rule wraps on a narrow form. */
.registration-password-fields .registration-password-field{display:grid;grid-template-rows:auto 2.4em auto;align-content:start}.registration-password-fields .registration-password-field>p{margin:0}.registration-password-fields .registration-password-hint{display:block;height:2.4em;margin:0!important;padding-top:1px;line-height:1.2}
