/* Generated flag sprite — 240 countries, one file.
   Emoji flags were the previous approach and they DO NOT RENDER on Android:
   Android ships no flag glyphs, so every flag showed as two letters. This is
   real artwork, one request, cached forever. */
.ubsflag{display:inline-block;width:18px;height:13.5px;flex:0 0 18px;
  background-image:url(../img/flags.png?v=1);background-size:18px 3240px;
  background-repeat:no-repeat;border-radius:2px;vertical-align:-2px;
  box-shadow:0 0 0 1px rgba(0,0,0,.10) inset}
.ubsflag-ad{background-position:0 -0px}
.ubsflag-ae{background-position:0 -13.5px}
.ubsflag-af{background-position:0 -27px}
.ubsflag-ag{background-position:0 -40.5px}
.ubsflag-ai{background-position:0 -54px}
.ubsflag-al{background-position:0 -67.5px}
.ubsflag-am{background-position:0 -81px}
.ubsflag-ao{background-position:0 -94.5px}
.ubsflag-ar{background-position:0 -108px}
.ubsflag-as{background-position:0 -121.5px}
.ubsflag-at{background-position:0 -135px}
.ubsflag-au{background-position:0 -148.5px}
.ubsflag-aw{background-position:0 -162px}
.ubsflag-az{background-position:0 -175.5px}
.ubsflag-ba{background-position:0 -189px}
.ubsflag-bb{background-position:0 -202.5px}
.ubsflag-bd{background-position:0 -216px}
.ubsflag-be{background-position:0 -229.5px}
.ubsflag-bf{background-position:0 -243px}
.ubsflag-bg{background-position:0 -256.5px}
.ubsflag-bh{background-position:0 -270px}
.ubsflag-bi{background-position:0 -283.5px}
.ubsflag-bj{background-position:0 -297px}
.ubsflag-bl{background-position:0 -310.5px}
.ubsflag-bm{background-position:0 -324px}
.ubsflag-bn{background-position:0 -337.5px}
.ubsflag-bo{background-position:0 -351px}
.ubsflag-br{background-position:0 -364.5px}
.ubsflag-bs{background-position:0 -378px}
.ubsflag-bt{background-position:0 -391.5px}
.ubsflag-bw{background-position:0 -405px}
.ubsflag-by{background-position:0 -418.5px}
.ubsflag-bz{background-position:0 -432px}
.ubsflag-ca{background-position:0 -445.5px}
.ubsflag-cc{background-position:0 -459px}
.ubsflag-cd{background-position:0 -472.5px}
.ubsflag-cf{background-position:0 -486px}
.ubsflag-cg{background-position:0 -499.5px}
.ubsflag-ch{background-position:0 -513px}
.ubsflag-ci{background-position:0 -526.5px}
.ubsflag-ck{background-position:0 -540px}
.ubsflag-cl{background-position:0 -553.5px}
.ubsflag-cm{background-position:0 -567px}
.ubsflag-cn{background-position:0 -580.5px}
.ubsflag-co{background-position:0 -594px}
.ubsflag-cr{background-position:0 -607.5px}
.ubsflag-cu{background-position:0 -621px}
.ubsflag-cv{background-position:0 -634.5px}
.ubsflag-cw{background-position:0 -648px}
.ubsflag-cx{background-position:0 -661.5px}
.ubsflag-cy{background-position:0 -675px}
.ubsflag-cz{background-position:0 -688.5px}
.ubsflag-de{background-position:0 -702px}
.ubsflag-dj{background-position:0 -715.5px}
.ubsflag-dk{background-position:0 -729px}
.ubsflag-dm{background-position:0 -742.5px}
.ubsflag-do{background-position:0 -756px}
.ubsflag-dz{background-position:0 -769.5px}
.ubsflag-ec{background-position:0 -783px}
.ubsflag-ee{background-position:0 -796.5px}
.ubsflag-eg{background-position:0 -810px}
.ubsflag-eh{background-position:0 -823.5px}
.ubsflag-er{background-position:0 -837px}
.ubsflag-es{background-position:0 -850.5px}
.ubsflag-et{background-position:0 -864px}
.ubsflag-fi{background-position:0 -877.5px}
.ubsflag-fj{background-position:0 -891px}
.ubsflag-fk{background-position:0 -904.5px}
.ubsflag-fm{background-position:0 -918px}
.ubsflag-fo{background-position:0 -931.5px}
.ubsflag-fr{background-position:0 -945px}
.ubsflag-ga{background-position:0 -958.5px}
.ubsflag-gb{background-position:0 -972px}
.ubsflag-gd{background-position:0 -985.5px}
.ubsflag-ge{background-position:0 -999px}
.ubsflag-gf{background-position:0 -1012.5px}
.ubsflag-gg{background-position:0 -1026px}
.ubsflag-gh{background-position:0 -1039.5px}
.ubsflag-gi{background-position:0 -1053px}
.ubsflag-gl{background-position:0 -1066.5px}
.ubsflag-gm{background-position:0 -1080px}
.ubsflag-gn{background-position:0 -1093.5px}
.ubsflag-gp{background-position:0 -1107px}
.ubsflag-gq{background-position:0 -1120.5px}
.ubsflag-gr{background-position:0 -1134px}
.ubsflag-gs{background-position:0 -1147.5px}
.ubsflag-gt{background-position:0 -1161px}
.ubsflag-gu{background-position:0 -1174.5px}
.ubsflag-gw{background-position:0 -1188px}
.ubsflag-gy{background-position:0 -1201.5px}
.ubsflag-hk{background-position:0 -1215px}
.ubsflag-hn{background-position:0 -1228.5px}
.ubsflag-hr{background-position:0 -1242px}
.ubsflag-ht{background-position:0 -1255.5px}
.ubsflag-hu{background-position:0 -1269px}
.ubsflag-id{background-position:0 -1282.5px}
.ubsflag-ie{background-position:0 -1296px}
.ubsflag-il{background-position:0 -1309.5px}
.ubsflag-im{background-position:0 -1323px}
.ubsflag-in{background-position:0 -1336.5px}
.ubsflag-io{background-position:0 -1350px}
.ubsflag-iq{background-position:0 -1363.5px}
.ubsflag-ir{background-position:0 -1377px}
.ubsflag-is{background-position:0 -1390.5px}
.ubsflag-it{background-position:0 -1404px}
.ubsflag-je{background-position:0 -1417.5px}
.ubsflag-jm{background-position:0 -1431px}
.ubsflag-jo{background-position:0 -1444.5px}
.ubsflag-jp{background-position:0 -1458px}
.ubsflag-ke{background-position:0 -1471.5px}
.ubsflag-kg{background-position:0 -1485px}
.ubsflag-kh{background-position:0 -1498.5px}
.ubsflag-ki{background-position:0 -1512px}
.ubsflag-km{background-position:0 -1525.5px}
.ubsflag-kn{background-position:0 -1539px}
.ubsflag-kp{background-position:0 -1552.5px}
.ubsflag-kr{background-position:0 -1566px}
.ubsflag-kw{background-position:0 -1579.5px}
.ubsflag-ky{background-position:0 -1593px}
.ubsflag-kz{background-position:0 -1606.5px}
.ubsflag-la{background-position:0 -1620px}
.ubsflag-lb{background-position:0 -1633.5px}
.ubsflag-lc{background-position:0 -1647px}
.ubsflag-li{background-position:0 -1660.5px}
.ubsflag-lk{background-position:0 -1674px}
.ubsflag-lr{background-position:0 -1687.5px}
.ubsflag-ls{background-position:0 -1701px}
.ubsflag-lt{background-position:0 -1714.5px}
.ubsflag-lu{background-position:0 -1728px}
.ubsflag-lv{background-position:0 -1741.5px}
.ubsflag-ly{background-position:0 -1755px}
.ubsflag-ma{background-position:0 -1768.5px}
.ubsflag-mc{background-position:0 -1782px}
.ubsflag-md{background-position:0 -1795.5px}
.ubsflag-mf{background-position:0 -1809px}
.ubsflag-mg{background-position:0 -1822.5px}
.ubsflag-mh{background-position:0 -1836px}
.ubsflag-mk{background-position:0 -1849.5px}
.ubsflag-ml{background-position:0 -1863px}
.ubsflag-mn{background-position:0 -1876.5px}
.ubsflag-mo{background-position:0 -1890px}
.ubsflag-mp{background-position:0 -1903.5px}
.ubsflag-mq{background-position:0 -1917px}
.ubsflag-mr{background-position:0 -1930.5px}
.ubsflag-ms{background-position:0 -1944px}
.ubsflag-mt{background-position:0 -1957.5px}
.ubsflag-mu{background-position:0 -1971px}
.ubsflag-mv{background-position:0 -1984.5px}
.ubsflag-mw{background-position:0 -1998px}
.ubsflag-mx{background-position:0 -2011.5px}
.ubsflag-my{background-position:0 -2025px}
.ubsflag-mz{background-position:0 -2038.5px}
.ubsflag-na{background-position:0 -2052px}
.ubsflag-nc{background-position:0 -2065.5px}
.ubsflag-ne{background-position:0 -2079px}
.ubsflag-nf{background-position:0 -2092.5px}
.ubsflag-ng{background-position:0 -2106px}
.ubsflag-ni{background-position:0 -2119.5px}
.ubsflag-nl{background-position:0 -2133px}
.ubsflag-no{background-position:0 -2146.5px}
.ubsflag-np{background-position:0 -2160px}
.ubsflag-nr{background-position:0 -2173.5px}
.ubsflag-nu{background-position:0 -2187px}
.ubsflag-nz{background-position:0 -2200.5px}
.ubsflag-om{background-position:0 -2214px}
.ubsflag-pa{background-position:0 -2227.5px}
.ubsflag-pe{background-position:0 -2241px}
.ubsflag-pf{background-position:0 -2254.5px}
.ubsflag-pg{background-position:0 -2268px}
.ubsflag-ph{background-position:0 -2281.5px}
.ubsflag-pk{background-position:0 -2295px}
.ubsflag-pl{background-position:0 -2308.5px}
.ubsflag-pm{background-position:0 -2322px}
.ubsflag-pn{background-position:0 -2335.5px}
.ubsflag-pr{background-position:0 -2349px}
.ubsflag-ps{background-position:0 -2362.5px}
.ubsflag-pt{background-position:0 -2376px}
.ubsflag-pw{background-position:0 -2389.5px}
.ubsflag-py{background-position:0 -2403px}
.ubsflag-qa{background-position:0 -2416.5px}
.ubsflag-re{background-position:0 -2430px}
.ubsflag-ro{background-position:0 -2443.5px}
.ubsflag-rs{background-position:0 -2457px}
.ubsflag-ru{background-position:0 -2470.5px}
.ubsflag-rw{background-position:0 -2484px}
.ubsflag-sa{background-position:0 -2497.5px}
.ubsflag-sb{background-position:0 -2511px}
.ubsflag-sc{background-position:0 -2524.5px}
.ubsflag-sd{background-position:0 -2538px}
.ubsflag-se{background-position:0 -2551.5px}
.ubsflag-sg{background-position:0 -2565px}
.ubsflag-sh{background-position:0 -2578.5px}
.ubsflag-si{background-position:0 -2592px}
.ubsflag-sj{background-position:0 -2605.5px}
.ubsflag-sk{background-position:0 -2619px}
.ubsflag-sl{background-position:0 -2632.5px}
.ubsflag-sm{background-position:0 -2646px}
.ubsflag-sn{background-position:0 -2659.5px}
.ubsflag-so{background-position:0 -2673px}
.ubsflag-sr{background-position:0 -2686.5px}
.ubsflag-ss{background-position:0 -2700px}
.ubsflag-st{background-position:0 -2713.5px}
.ubsflag-sv{background-position:0 -2727px}
.ubsflag-sx{background-position:0 -2740.5px}
.ubsflag-sy{background-position:0 -2754px}
.ubsflag-sz{background-position:0 -2767.5px}
.ubsflag-tc{background-position:0 -2781px}
.ubsflag-td{background-position:0 -2794.5px}
.ubsflag-tg{background-position:0 -2808px}
.ubsflag-th{background-position:0 -2821.5px}
.ubsflag-tj{background-position:0 -2835px}
.ubsflag-tk{background-position:0 -2848.5px}
.ubsflag-tl{background-position:0 -2862px}
.ubsflag-tm{background-position:0 -2875.5px}
.ubsflag-tn{background-position:0 -2889px}
.ubsflag-to{background-position:0 -2902.5px}
.ubsflag-tr{background-position:0 -2916px}
.ubsflag-tt{background-position:0 -2929.5px}
.ubsflag-tv{background-position:0 -2943px}
.ubsflag-tw{background-position:0 -2956.5px}
.ubsflag-tz{background-position:0 -2970px}
.ubsflag-ua{background-position:0 -2983.5px}
.ubsflag-ug{background-position:0 -2997px}
.ubsflag-us{background-position:0 -3010.5px}
.ubsflag-uy{background-position:0 -3024px}
.ubsflag-uz{background-position:0 -3037.5px}
.ubsflag-va{background-position:0 -3051px}
.ubsflag-vc{background-position:0 -3064.5px}
.ubsflag-ve{background-position:0 -3078px}
.ubsflag-vg{background-position:0 -3091.5px}
.ubsflag-vi{background-position:0 -3105px}
.ubsflag-vn{background-position:0 -3118.5px}
.ubsflag-vu{background-position:0 -3132px}
.ubsflag-wf{background-position:0 -3145.5px}
.ubsflag-ws{background-position:0 -3159px}
.ubsflag-ye{background-position:0 -3172.5px}
.ubsflag-yt{background-position:0 -3186px}
.ubsflag-za{background-position:0 -3199.5px}
.ubsflag-zm{background-position:0 -3213px}
.ubsflag-zw{background-position:0 -3226.5px}

/* No ISO, no artwork — a neutral tile rather than a broken-image gap. */
.ubsflag--none{background-image:none;background:rgba(127,140,160,.22)}

/* index.php keeps its own picker CSS in an inline <style> in the head, and an
   inline block always beats a linked stylesheet of equal specificity. So every
   selector below is prefixed with `body` — one step of specificity, enough to
   win, and it keeps the override honest instead of scattering !important. */
/* ── Telegram-shaped country picker ────────────────────────────────────
   Full screen, not a half sheet: 240 rows with a search field needs the
   height, and a sheet that covers most of the screen anyway is just a sheet
   pretending. Same markup and the same handlers as before — only the shell,
   the rows and the motion changed. */
body .country-sheet-backdrop{position:fixed;inset:0;z-index:9998;background:var(--auth-bg,#0f1621);
  display:flex;flex-direction:column;opacity:0;visibility:hidden;
  transform:translateY(14px);transition:opacity .22s ease,transform .26s cubic-bezier(.2,.8,.2,1),visibility .26s}
body .country-sheet-backdrop.is-open{opacity:1;visibility:visible;transform:none}
body .country-sheet-backdrop .country-sheet{display:flex;flex-direction:column;
  height:100%;max-height:none;width:100%;background:transparent;border:0;
  border-radius:0;box-shadow:none;padding:0}
body .country-sheet-backdrop .country-sheet-handle{display:none}
body .country-sheet-backdrop .country-sheet-head{display:flex;align-items:center;gap:10px;
  justify-content:flex-start;
  padding:calc(env(safe-area-inset-top,0px) + 8px) 12px 8px;
  border-bottom:1px solid var(--auth-border,rgba(255,255,255,.08))}
body .country-sheet-backdrop .country-sheet-title{margin:0;font-size:19px;font-weight:700;letter-spacing:-.02em;order:2;flex:1}
body .country-sheet-backdrop .country-sheet-close{order:1;width:40px;height:40px;flex:0 0 40px;border:0;background:none;
  color:inherit;font-size:0;position:relative;border-radius:50%}
body .country-sheet-backdrop .country-sheet-close::before{content:'';position:absolute;inset:0;margin:auto;width:11px;height:11px;
  border-left:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translate(2px,-2px);border-radius:1px}
body .country-sheet-backdrop .country-sheet-close:active{background:rgba(127,140,160,.16)}
body .country-sheet-backdrop .country-sheet-search{margin:10px 12px 2px;display:flex;align-items:center;gap:9px;
  background:rgba(127,140,160,.13);border:1px solid transparent;border-radius:12px;padding:0 12px;min-height:44px;
  box-shadow:none}
body .country-sheet-backdrop .country-sheet-search:focus-within{border-color:var(--auth-red,#e60028);background:rgba(127,140,160,.08)}
body .country-sheet-backdrop .country-sheet-search input{flex:1;min-width:0;border:0;background:none;outline:none;
  font:inherit;font-size:16px;color:inherit;padding:12px 0}
/* The page's own rule caps this at `min(76svh,680px) - 136px`, which is why
   the list stopped part-way down and left a dead band underneath. On a full
   screen there is nothing to cap it to — it takes the height that is left. */
body .country-sheet-backdrop .country-sheet-list{flex:1 1 auto;min-height:0;
  max-height:none;height:auto;overflow-y:auto;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;scroll-behavior:smooth;
  padding:2px 8px calc(env(safe-area-inset-bottom,0px) + 12px)}
body .country-sheet-backdrop .country-section-title{font-size:10.5px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;opacity:.45;padding:12px 10px 4px;
  position:sticky;top:0;z-index:1;background:var(--auth-bg,#0f1621)}
body .country-sheet-backdrop .country-smart-option{display:flex;align-items:center;gap:12px;width:100%;border:0;
  background:none;color:inherit;font:inherit;text-align:left;padding:9px 10px;border-radius:10px;min-height:46px}
body .country-sheet-backdrop .country-smart-option:active,body .country-sheet-backdrop .country-smart-option.is-active{background:rgba(127,140,160,.16)}
body .country-sheet-backdrop .country-smart-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
body .country-sheet-backdrop .country-smart-name{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body .country-sheet-backdrop .country-smart-code{font-size:15px;font-weight:600;opacity:.62;font-variant-numeric:tabular-nums}
body .country-sheet-backdrop .country-smart-option.is-active .country-smart-code{opacity:1;color:var(--auth-red,#e60028)}
body .country-sheet-backdrop .country-no-result{padding:34px 16px;text-align:center;opacity:.55;font-size:14px}
body .country-picker-trigger{display:flex;align-items:center;gap:9px}
body .country-picker-flag{display:flex;align-items:center}
@media (prefers-reduced-motion:reduce){
body .country-sheet-backdrop{transition:none;transform:none}
}
