/* Account surfaces share the prepared public header, footer and neutral tokens. */
.portal-account-page .account-portal{max-width:1100px;margin:20px auto 40px;color:var(--el-ink,#263238)}
.portal-account-page .account-portal-card{background:var(--el-card,#fff);border-color:var(--el-border,#d5dadd);padding:22px}
.portal-account-page .account-portal h1,.account-auth-dialog h1{font-size:clamp(26px,3vw,36px);line-height:1.2;margin:6px 0 14px}
.portal-account-page .account-portal h2{font-size:24px;line-height:1.3}
.portal-account-page .registration-form,.account-auth-dialog .registration-form{display:grid;gap:16px}
.portal-account-page .destination-form-grid,.account-auth-dialog .destination-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.portal-account-page .account-residence label:first-child,.account-auth-dialog .account-residence label:first-child{grid-column:1/-1}
.portal-account-page .registration-form label,.account-auth-dialog .registration-form label{display:grid;gap:6px;min-width:0}
.portal-account-page .registration-form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea),.account-auth-dialog .registration-form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){box-sizing:border-box;width:100%;min-height:44px;padding:10px;border:1px solid var(--el-control-border,#bbc3c7);border-radius:8px;background:#fff;color:inherit;font:inherit}
/* Compatibility: global legacy form rules otherwise enlarge native choice controls. */
.portal-account-page .registration-form :is(input[type=checkbox],input[type=radio]),.account-auth-dialog .registration-form :is(input[type=checkbox],input[type=radio]){width:19px!important;height:19px!important;min-height:19px!important;flex:0 0 19px;margin:2px 0;padding:0;accent-color:var(--el-action,#52666d)}
.portal-account-page .registration-form :is(.registration-consent,.account-consent),.account-auth-dialog .registration-form .registration-consent{display:flex!important;align-items:flex-start;gap:12px;line-height:1.5}
.portal-account-page .account-consent input{order:-1}
.portal-account-page fieldset,.account-auth-dialog fieldset{min-width:0;padding:16px;margin:0;border:1px solid var(--el-border,#d5dadd);border-radius:12px}
.portal-account-page [hidden],.account-auth-dialog [hidden]{display:none!important}
.portal-account-page .registration-form button,.account-auth-dialog .registration-form button{justify-self:start;margin:6px 0;min-height:44px}
.account-auth-dialog{box-sizing:border-box;width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:28px 24px;border:1px solid var(--el-border,#d5dadd);border-radius:18px;background:var(--el-card,#fff);color:var(--el-ink,#263238)}
.account-auth-dialog .account-portal-card{border:0;padding:0;background:transparent}
.account-auth-dialog::backdrop{background:rgba(20,30,35,.55)}
.account-auth-dialog p{font-size:15px;line-height:1.5;margin:12px 0}
.account-auth-dialog .account-login-close{position:absolute;right:12px;top:8px}
.portal-account-page .registration-extra-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.portal-account-page .registration-extra-categories label{display:flex!important;align-items:center;gap:10px;padding:12px;border:1px solid var(--el-border,#d5dadd);border-radius:8px;font-size:14px}
.category-icon{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:1.7}
.account-auth-dialog :focus-visible{outline:3px solid var(--el-action,#52666d);outline-offset:3px}
@media(max-width:650px){.portal-account-page .destination-form-grid,.account-auth-dialog .destination-form-grid{grid-template-columns:1fr}.portal-account-page .registration-extra-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.account-auth-dialog{padding:34px 20px}.portal-account-page .account-portal{padding:0 16px}}

.portal-account-page .destination-form-grid>.wide{grid-column:1/-1}
.portal-account-page .registration-optional{margin-top:14px;padding:16px;border:1px solid var(--el-border,#d5dadd);border-radius:10px}.portal-account-page .registration-optional>summary{cursor:pointer;font-weight:650;padding:8px}.portal-account-page .registration-optional[open]>.destination-form-grid{margin-top:14px}
.account-auth-dialog .account-portal-card{box-shadow:none}.account-auth-dialog fieldset>p{margin:8px 0 14px}
.portal-account-page .registration-extra-categories label[hidden]{display:none!important}

/* Compact public signup; each location has exactly one searchable dropdown. */
.account-auth-dialog .registration-form{gap:12px}
.account-auth-dialog .registration-form fieldset{padding:12px}
.account-auth-dialog .registration-form .destination-form-grid{gap:12px}
.account-auth-dialog .registration-form label{gap:4px}
.account-auth-dialog .registration-form .floating-select-toggle{margin:0;min-height:36px}
.account-auth-dialog .registration-form .floating-select-native{display:none!important}
.portal-account-page .registration-form .floating-select-native{display:none!important}
.account-auth-dialog .registration-form :is(input:not([type=checkbox]):not([type=radio]),select){min-height:40px;padding:8px 10px}
.account-auth-dialog h1{font-size:28px;margin:0 0 10px}
.account-auth-dialog .account-residence>p{font-size:13px;margin:4px 0 10px}

.account-auth-dialog .registration-form label{margin:0}
.account-auth-dialog .registration-form .registration-consent{flex-direction:row!important;align-items:flex-start!important;gap:10px!important}
.account-auth-dialog .registration-form .registration-consent span{flex:1;min-width:0}
.account-auth-dialog .account-residence legend{font-size:17px;padding:0 4px}
/* Category choices remain horizontal, including inside legacy admin-page wrappers. */
.portal-account-page .account-portal .registration-extra-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}
.portal-account-page .account-portal .registration-form .registration-extra-categories label{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start;gap:10px;margin:0;padding:12px;min-height:52px;box-sizing:border-box;line-height:1.35;cursor:pointer}
.portal-account-page .registration-extra-categories .category-icon{display:block;width:22px;height:22px;flex-shrink:0}
.portal-account-page .registration-extra-categories label:has(input:checked){border-color:var(--el-action);background:var(--el-panel)}
.portal-account-page .registration-form>fieldset #registration-not-found{padding:10px 16px;border:1px solid var(--el-action);border-radius:999px;background:var(--el-card);color:var(--el-action);font:inherit;font-weight:650;cursor:pointer}
.portal-account-page .registration-form>fieldset #registration-not-found:hover:enabled{background:var(--el-panel)}
.portal-account-page .registration-form>fieldset #registration-not-found:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:650px){.portal-account-page .account-portal .registration-extra-categories{grid-template-columns:1fr}}
.portal-account-page .account-portal .registration-form .registration-extra-categories label[hidden]{display:none!important}

.portal-account-page [data-holder-identity] .destination-form-grid{align-items:start}
.portal-account-page .registration-form [data-holder-identity] label{align-content:start}
.portal-account-page [data-holder-identity] .holder-number-help{display:block;margin:-6px 0 0;font-size:13px;line-height:1.4;color:var(--el-muted);overflow-wrap:anywhere}
