/* Shared release polish: form clarity, keyboard access and resilient small screens. */
:root{color-scheme:light}img{max-width:100%}main{overflow-wrap:break-word}
.site-page input,.site-page select,.site-page textarea{font-size:max(16px,.9rem);line-height:1.5}
.field-optional,.field-count{font-size:.72rem;font-weight:400;color:#5d707c}.field-count{display:block;text-align:right;margin-top:5px}
.password-control{display:block;position:relative}.password-control input{padding-right:88px}.site-page .password-visibility{position:absolute;right:5px;top:5px;min-height:42px;margin:0;padding:7px 12px;background:#eef3f6;color:#254e67;box-shadow:none;border:1px solid #d6e0e6;border-radius:6px;font-size:.75rem}.site-page .password-visibility:hover{background:#e0ebf0;color:#173b50}
.site-page .password-control>button.password-visibility{width:auto;background:#eef3f6;color:#254e67;box-shadow:none;transform:none}.site-page .password-control>button.password-visibility:hover{background:#e0ebf0;color:#173b50}
.site-page form[aria-busy=true]{cursor:progress}.site-page button:disabled{cursor:wait;opacity:.7}.site-page .notice,.site-page .error{line-height:1.8;overflow-wrap:anywhere}.site-page .error:focus{outline:3px solid #a52c2450;outline-offset:3px}
.site-page .narrow>h1{font-size:clamp(1.45rem,3vw,1.9rem)}.page-login .narrow,.page-register .narrow,.page-otp .narrow{max-width:590px}.page-login .narrow>.panel,.page-register .narrow>.panel,.page-otp .narrow{padding-bottom:28px}.page-login .narrow form>button[type=submit],.page-register .narrow form>button[type=submit],.page-otp .narrow form>button[type=submit]{width:100%}
.site-page .panel,.site-page .card,.site-page .two-col>*,.site-page .candidate-layout>*,.site-page .family-profile-layout>*{min-width:0}.site-page .table-scroll:focus-visible{outline:3px solid #2875a3;outline-offset:3px}.site-page .family-directory-photo{margin:-22px -22px 16px;border-radius:13px 13px 0 0}.site-page .family-directory-photo,.site-page .family-summary-photo{background:#f4eee5;flex-shrink:0}.site-page .family-directory-photo img,.site-page .family-summary-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.site-page a,.site-page button{touch-action:manipulation}
.site-page .recovery-panel{max-width:650px;margin:32px auto;padding:32px;border:1px solid #d7e2e8;border-radius:20px;background:#fff}.site-page .recovery-panel p{color:#58707e}.site-page .recovery-panel .row{margin-top:20px}
@media(max-width:700px){.header-actions{gap:12px}.header-actions .help-link{font-size:.8rem}.site-page .confirm-dialog{max-height:calc(100dvh - 32px);overflow:auto;padding:22px}.site-page .confirm-dialog .row>button{flex:1;min-width:110px}.site-page .pagination{gap:14px}.site-page .candidate-facts dd,.site-page .family-profile-facts strong{overflow-wrap:anywhere}.site-page .two-col{grid-template-columns:minmax(0,1fr)}.site-page footer{padding-left:20px;padding-right:20px}.site-page footer a{display:inline-block;min-height:44px;padding-top:8px}.site-page input[type=file]{max-width:100%;font-size:.8rem}.site-page input[type=file]::file-selector-button{max-width:100%;white-space:normal}.site-page .recovery-panel{padding:24px}.site-page .page-heading{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.password-visibility,.field-count,.community-section-links,.community-shortcuts,.community-help,.community-join{display:none!important}.community-map-layout,.community-chart{break-inside:avoid;box-shadow:none}.table-scroll{overflow:visible}}
