.address-picker { min-width:0; margin:16px 0; }
.signup-page { display:block; height:auto; flex-shrink:0; }
.signup-page .auth-card { max-width:560px; margin:0 auto; }
/* Let the profile's content determine its height, including expanded fields. */
.profile-page { display:block; flex:1 0 auto; height:auto; }
.profile-page .auth-card { max-width:560px; }
.address-picker [hidden] { display:none !important; }
.address-editor { border:1px solid #cbd5e1; border-radius:14px; padding:16px; min-width:0; margin:0; }
.address-editor legend { font-weight:700; padding:0 6px; }
.address-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.address-grid label { display:flex; flex-direction:column; gap:6px; font-size:14px; font-weight:600; min-width:0; }
.address-grid input,.address-grid select { box-sizing:border-box; width:100%; max-width:100%; min-width:0; min-height:44px; padding:10px; border:1px solid #aab5c3; border-radius:8px; background:#fff; color:#111827; font:inherit; font-size:16px; }
.address-grid select:disabled { background:#eef2f6; color:#64748b; }
.address-grid input:focus,.address-grid select:focus { outline:2px solid #245d93; outline-offset:2px; }
.address-wide { grid-column:1/-1; }
.address-help { color:#475569; font-size:13px; line-height:1.5; margin:8px 0 14px; }
.address-status { color:#9a3412; font-size:14px; line-height:1.5; }
.address-status:empty { display:none; }
.address-picker button { min-height:44px; border:1px solid #94a3b8; padding:10px 14px; border-radius:8px; background:#fff; color:#123653; cursor:pointer; font-weight:600; }
.address-saved { padding:16px; border:1px solid #cbd5e1; border-radius:12px; background:#f8fafc; }
.address-saved p { white-space:pre-line; overflow-wrap:anywhere; line-height:1.6; }
@media(max-width:600px) { .address-grid { grid-template-columns:minmax(0,1fr); } .auth-page { padding:16px; } .auth-card { padding:24px 20px; } }
