.tp-phone-control,.tp-phone-picker{--tp-phone-bg:#fff;--tp-phone-fg:#172136;--tp-phone-line:#d9dfeb;--tp-phone-alt:#f6f7fb;--tp-phone-muted:#687386;--tp-phone-selected:#eeeaff}
.tp-phone-control{display:flex;direction:ltr;align-items:stretch;width:100%;min-width:0;gap:0;border:1px solid var(--t24-divider,var(--tp-phone-line));border-radius:12px;background:var(--t24-surface,var(--tp-phone-bg));color:var(--t24-title,var(--tp-phone-fg));overflow:hidden}
.tp-phone-control:focus-within{outline:2px solid var(--t24-primary,#6255d9);outline-offset:2px}
.tp-phone-country-open{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:8px;min-width:100px;padding:12px 10px;border:0;border-inline-end:1px solid var(--t24-divider,var(--tp-phone-line));background:transparent;color:inherit;font:inherit;white-space:nowrap;cursor:pointer}
.tp-phone-country-open::after{content:'⌄';font-size:14px;opacity:.7}
.tp-phone-control input.tp-phone-number{flex:1;min-width:0;width:100%;margin:0;border:0!important;border-radius:0;background:transparent!important;padding:12px!important;direction:ltr;text-align:left;box-shadow:none!important;outline:0!important;color:inherit}
.tp-phone-number::placeholder{letter-spacing:.04em;color:var(--t24-muted,var(--tp-phone-muted));opacity:1}
.tp-phone-format,.tp-phone-error{display:block;margin-top:6px;font-size:12px;line-height:1.6;color:var(--t24-muted,var(--tp-phone-muted,#687386))}
.tp-phone-format{unicode-bidi:plaintext}
.tp-phone-error{color:var(--t24-error,#d32643)}
.tp-phone-error[hidden],.tp-phone-country[hidden],.tp-phone-empty[hidden]{display:none!important}
.tp-phone-picker{width:min(440px,calc(100vw - 24px));max-height:min(680px,calc(100dvh - 32px));padding:0;border:1px solid var(--t24-divider,var(--tp-phone-line));border-radius:20px;background:var(--t24-surface,var(--tp-phone-bg));color:var(--t24-title,var(--tp-phone-fg));box-shadow:0 24px 80px #08122650;overflow:hidden;font:inherit}
.tp-phone-picker::backdrop{background:#0a102c80;backdrop-filter:blur(4px)}
.tp-phone-picker-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 10px}
.tp-phone-picker-header h2{margin:0;font-size:18px;font-weight:700}
.tp-phone-picker-close{width:36px;height:36px;border:0;border-radius:50%;background:var(--t24-surface-raised,var(--tp-phone-alt));color:inherit;font-size:26px;line-height:1;cursor:pointer}
.tp-phone-search{display:block;width:calc(100% - 40px);margin:0 20px 12px;padding:12px 14px;border:1px solid var(--t24-divider,var(--tp-phone-line));border-radius:12px;background:var(--t24-canvas,var(--tp-phone-alt));color:inherit;font:inherit;box-sizing:border-box}
.tp-phone-countries{overflow:auto;max-height:min(500px,calc(100dvh - 188px));padding:0 10px 12px;overscroll-behavior:contain}
.tp-phone-country{display:flex;align-items:center;gap:12px;width:100%;padding:12px 10px;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:start;cursor:pointer}
.tp-phone-country:hover,.tp-phone-country:focus-visible,.tp-phone-country[aria-pressed=true]{background:var(--t24-surface-raised,var(--tp-phone-selected))}
.tp-phone-flag{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;font-size:24px;text-align:center;line-height:1.2}
.tp-phone-flag img{display:block;width:32px;height:24px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px #8491a32b}
.tp-phone-country-name{flex:1;min-width:0}
.tp-phone-dial{flex:0 0 auto;direction:ltr;opacity:.7;font-variant-numeric:tabular-nums}
.tp-phone-empty{padding:18px;text-align:center;color:var(--t24-muted,var(--tp-phone-muted))}
@media(prefers-color-scheme:dark){.tp-phone-control,.tp-phone-picker{--tp-phone-bg:#172035;--tp-phone-fg:#eef2ff;--tp-phone-line:#35415c;--tp-phone-alt:#111a2d;--tp-phone-muted:#a0adc4;--tp-phone-selected:#342d56}}
html[data-theme=light] .tp-phone-control,html[data-theme=light] .tp-phone-picker{--tp-phone-bg:#fff;--tp-phone-fg:#172136;--tp-phone-line:#d9dfeb;--tp-phone-alt:#f6f7fb;--tp-phone-muted:#687386;--tp-phone-selected:#eeeaff}
html[data-theme=dark] .tp-phone-control,html[data-theme=dark] .tp-phone-picker,html[data-appearance=dark] .tp-phone-control,html[data-appearance=dark] .tp-phone-picker{--tp-phone-bg:#172035;--tp-phone-fg:#eef2ff;--tp-phone-line:#35415c;--tp-phone-alt:#111a2d;--tp-phone-muted:#a0adc4;--tp-phone-selected:#342d56}
@media(max-width:480px){.tp-phone-country-open{min-width:88px;padding-inline:8px}.tp-phone-control input.tp-phone-number{padding-inline:10px!important}.tp-phone-picker-header{padding-inline:16px}.tp-phone-search{margin-inline:16px;width:calc(100% - 32px)}}
@media(max-width:600px){#tapu24-app .tp-phone-form .t24-form-grid{grid-template-columns:minmax(0,1fr)}}

/* Completion is a quiet visual confirmation; validation errors are shown on submit. */
.tp-phone-control.tp-phone-complete{border-color:#118750;box-shadow:0 0 0 1px #118750}
.tp-phone-control.tp-phone-complete:focus-within{outline-color:#118750}
.tp-phone-control.tp-phone-complete .tp-phone-country-open{border-inline-end-color:#11875066}
.tp-phone-control .tp-phone-number{font-variant-numeric:tabular-nums;letter-spacing:.035em}
