.phone-entry { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; width: 100%; text-align: start; }
.phone-entry .phone-country-picker, .phone-entry .phone-national { box-sizing: border-box; width: 100%; min-width: 0; min-height: 50px; border: 1px solid #30425c; border-radius: 12px; background: #091525; color: #edf4ff; padding: 12px 14px; font: inherit; }
.phone-entry .phone-country-picker { display: flex; align-items: center; gap: 8px; cursor: pointer; text-align: start; }
.phone-country-picker span:first-of-type { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phone-country-picker img, .phone-country-choice img { flex: none; border-radius: 2px; object-fit: cover; }
.phone-country-picker b, .phone-country-choice b { font-size: .83em; color: #b2c9ef; white-space: nowrap; }
.phone-entry .phone-national { letter-spacing: .05em; text-align: left; }
.phone-entry :is(button,input):focus-visible { outline: 2px solid #4e8cff; outline-offset: 2px; }
.phone-entry input[aria-invalid="true"] { border-color: #f28e95; }
.phone-help { color: #9aaec8; line-height: 1.65; font-size: .78rem; }
@media (min-width: 580px) { .phone-entry { grid-template-columns: minmax(140px, .95fr) minmax(130px, 1fr); } .phone-help { grid-column: 1 / -1; } }
.phone-entry [hidden] { display: none !important; }
.phone-country-dialog { box-sizing: border-box; position: fixed; color: #edf4ff; background: #0d192c; border: 1px solid #30425c; border-radius: 20px; padding: 24px; width: min(480px, calc(100vw - 28px)); max-height: min(640px, 85dvh); overflow: hidden; }
.phone-country-dialog::backdrop { background: #020812b8; backdrop-filter: blur(4px); }
.phone-country-dialog h2 { font-size: 1.12rem; margin: 0 0 18px; padding-inline-end: 28px; }
.phone-country-dialog .phone-country-close { position: absolute; inset-inline-end: 12px; top: 10px; color: #afc3df; background: transparent; border: 0; font: inherit; font-size: 1.7rem; padding: 4px 12px; cursor: pointer; }
.phone-country-dialog input { box-sizing: border-box; width: 100%; padding: 12px; border: 1px solid #30425c; border-radius: 10px; color: #edf4ff; background: #07111f; font: inherit; }
.phone-country-list { margin-top: 12px; overflow-y: auto; max-height: min(460px, 55dvh); overscroll-behavior: contain; }
.phone-country-choice { display: flex; align-items: center; width: 100%; gap: 12px; padding: 12px 10px; background: transparent; color: #edf4ff; border: 0; border-radius: 9px; font: inherit; text-align: start; cursor: pointer; }
.phone-country-choice span { flex: 1; }
.phone-country-choice:hover, .phone-country-choice[aria-pressed="true"] { background: #173259; }
.phone-country-dialog :focus-visible { outline: 2px solid #4e8cff; outline-offset: -2px; }
