.iti:has([data-phone-input]) { width: 100%; display: block; }
.iti__search-input { color: #1e293b !important; background: #fff !important; }
.iti--container { z-index: 10000 !important; }
[data-phone-input][aria-invalid="true"] { border-color: #e11d48 !important; }
[data-phone-input][data-phone-valid="true"] { border-color: #10b981 !important; }
.phone-input-error { color: #e11d48; font-size: 12px; line-height: 1.4; margin-top: 4px; }
.phone-input-error[hidden] { display: none !important; }
.iti__dropdown-content.inti-country-keyboard-ready { display: flex; flex-direction: column; max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
.inti-country-keyboard-ready > .iti__search-input { flex-shrink: 0; }
.inti-country-keyboard-ready > .iti__country-list { min-height: 56px; overflow-y: auto; overscroll-behavior: contain; }
.iti__dropdown-content.inti-country-keyboard-open { width: min(360px, calc(100vw - 24px)) !important; }
.inti-country-keyboard-open > .iti__country-list { flex: 1 1 185px; max-height: 185px; }
.inti-country-keyboard-controls { flex: 0 0 auto; padding: 6px; border-top: 1px solid #cbd5e1; background: #f1f5f9; cursor: default; }
.inti-country-keyboard[hidden] { display: none !important; }
.inti-country-keyboard { padding-top: 6px; }
.inti-country-keyboard-row { display: flex; justify-content: center; gap: 2px; margin-bottom: 3px; overflow-x: auto; }
.inti-country-keyboard-key { min-width: 32px; min-height: 36px; padding: 4px 6px; border: 1px solid #94a3b8; border-radius: 4px; background: #fff; color: #1e293b; font: inherit; font-size: 13px; line-height: 1.2; cursor: pointer; touch-action: manipulation; }
.inti-country-keyboard-key:focus-visible { outline: 2px solid #2563eb; outline-offset: 1px; }
.inti-country-keyboard-key:active { background: #dbeafe; }
.inti-country-keyboard-row > .inti-country-keyboard-key { flex: 0 1 calc((100% - 18px) / 10); padding-inline: 0; }
.inti-country-keyboard-toggle { font-weight: 600; }
.inti-country-keyboard-actions { display: grid; grid-template-columns: 1fr 36px 1.5fr 1fr; gap: 3px; }
.inti-country-keyboard-actions > .inti-country-keyboard-key { min-width: 0; overflow-wrap: anywhere; }
