/* Phase 48: shared public form and registration layout repairs */
.form-card{width:100%;max-width:100%;display:grid;gap:18px;margin:22px 0;padding:clamp(20px,4vw,34px);background:#fff;border:1px solid var(--line,#dce3ec);border-radius:18px;box-shadow:0 12px 35px rgba(20,41,78,.08)}
.form-card label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700;color:var(--navy,#14294e)}
.form-card input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.form-card select,.form-card textarea{display:block;width:100%;min-width:0;max-width:100%;min-height:46px;padding:11px 13px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#102447;font:inherit;font-weight:400;line-height:1.5;transition:border-color .15s,box-shadow .15s}
.form-card input:focus-visible,.form-card select:focus-visible,.form-card textarea:focus-visible{outline:2px solid transparent;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.form-card small{font-size:12px;font-weight:400;color:#617089;line-height:1.5}
.form-card .btn,.form-card button[type=submit]{min-height:46px;cursor:pointer}
.form-error{padding:12px 15px;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;border-radius:10px;line-height:1.5}
main.container:has(>.form-card){width:min(620px,92%);padding-inline:0!important}
@media(max-width:640px){main.container:has(>.form-card){padding-top:28px!important;padding-bottom:28px!important}.form-card{padding:20px 16px;gap:15px}.form-card .btn{width:100%}}
