/* Optional SMS country selector; keep the existing signup and consent styling. */
.phone-field{display:grid;grid-template-columns:max-content minmax(0,1fr);width:100%;text-align:left}
.phone-country{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:116px;min-height:54px;padding:0 10px;border:1px solid #ffffff80;border-radius:0;background:#ffffff08;color:#fff;font-size:15px;white-space:nowrap}
.country-flag{display:block;width:21px;height:14px;flex:0 0 21px;object-fit:contain;box-shadow:0 0 0 1px #8884}
.country-flag.flag-missing{visibility:hidden}
.phone-country:hover{background:#ffffff18}
.phone-country:disabled{opacity:.7}
.phone-field #phone{min-width:0;width:100%;border-left:0;padding-inline:12px;text-align:left;font-size:16px}
#country-dialog{width:calc(100% - 32px);max-width:420px;max-height:calc(100dvh - 32px);padding:18px;background:#fff;color:#111;text-align:left;border:1px solid #bbb;overflow:hidden}
#country-dialog::backdrop{background:#0009}
#country-dialog[open]{display:flex;flex-direction:column}
.country-dialog-head,#country-search,#country-status{flex-shrink:0}
.country-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.country-dialog-head h3{font-size:20px;line-height:1.25;margin:0;font-weight:650;letter-spacing:-.025em}
#country-close{display:grid;place-items:center;min-width:44px;min-height:44px;margin:-8px -8px -8px 0;border:0;background:none;color:#111;font-size:28px;line-height:1}
#country-search{display:block;width:100%;height:48px;padding:0 12px;border:1px solid #777;border-radius:0;background:#fff;color:#111;font:inherit;font-size:16px;appearance:none}
#country-search::placeholder{color:#666}
#country-status{margin:9px 0;font-size:12px;line-height:1.5;min-height:18px;color:#555}
.country-results{min-height:0;flex:1 1 auto;max-height:min(46dvh,320px);overflow-y:auto;overscroll-behavior:contain;scroll-padding:4px}
.country-option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 12px;border:1px solid transparent;cursor:pointer;font-size:15px;line-height:1.35}
.country-identity{display:flex;align-items:center;gap:10px;min-width:0}
.country-name{min-width:0;overflow-wrap:anywhere}
.country-dial{flex-shrink:0;color:#555;font-variant-numeric:tabular-nums}
.country-option[aria-selected=true]{font-weight:700}
.country-option.active,.country-option:hover{background:#eee;border-color:#777}
@media(max-width:360px){.phone-country{min-width:108px;padding-inline:8px;gap:6px}.phone-field #phone{padding-inline:10px}#country-dialog{padding:14px}}
@media(forced-colors:active){.phone-country{border-color:ButtonText}.country-option.active{outline:2px solid Highlight}}
