@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 400; font-display: swap; src: url('../assets/fonts/outfit-400.ttf') format('truetype'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 500; font-display: swap; src: url('../assets/fonts/outfit-500.ttf') format('truetype'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 600; font-display: swap; src: url('../assets/fonts/outfit-600.ttf') format('truetype'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 700; font-display: swap; src: url('../assets/fonts/outfit-700.ttf') format('truetype'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 800; font-display: swap; src: url('../assets/fonts/outfit-800.ttf') format('truetype'); }


/* English pages use Outfit; Chinese pages retain their existing font stack. */
html[lang="en"] body,
html[lang="en"] button,
html[lang="en"] input,
html[lang="en"] select,
html[lang="en"] textarea {
  font-family: 'Outfit', sans-serif;
}

/* Compact shared footer. Keep logo artwork at consistent optical sizes. */
.lobbyFooter.compactFooter { container-type: inline-size; padding: 30px 26px 18px; background: #071d3b; color: #d6e3f1; }
.compactFooter h2 { display: block; margin: 0 0 14px; color: #f1f7ff; font-size: 15px; font-weight: 600; line-height: 1.4; }
.compactFooter p, .compactFooter a, .compactFooter address { color: #d6e3f1; font-size: 14px; line-height: 1.6; }
.compactFooterTop { display: grid; grid-template-columns: 1fr .75fr 1.3fr; gap: 26px; padding-bottom: 24px; }
.compactFooterTop > * { min-width: 0; }
.compactFooterBrand .footerBrand img { width: 150px; height: auto; }
.compactFooterBrand p { margin: 16px 0 5px; max-width: 27ch; }
.compactFooter .compactFooterMapLink { color: #16c9f3; text-decoration: none; }
.compactFooterLinks { padding-left: 20px; border-left: 1px solid #30445f; }
.compactFooterMenu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
.compactFooterMenu a { min-width: 0; }
.compactFooterVisit { display: grid; gap: 14px; }
.compactFooterVisit address { margin: 0 0 7px; font-style: normal; }
.compactFooterVisit address span { display: inline; }
.compactFooterVisit address span + span::before { content: ', '; }
.compactFooterMap { height: 100px; overflow: hidden; border-radius: 8px; background: #142c48; }
.compactFooterMap iframe { display: block; width: 100%; height: 100%; border: 0; }
.compactFooterDetails { display: grid; grid-template-columns: 1.3fr 1fr; gap: 24px; border-top: 1px solid #30445f; padding: 22px 0; }
.compactFooterBanks { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; gap: 14px 12px; }
.compactFooterBanks img { display: block; width: 100%; height: 24px; object-fit: contain; }
.compactFooterCredentials { display: grid; gap: 18px; padding-left: 22px; border-left: 1px solid #30445f; }
.compactFooterTrust { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.compactFooterTrust img { max-width: 76px; width: auto; height: 24px; object-fit: contain; }
.compactFooterLicenses { display: flex; align-items: center; gap: 20px; }
.compactFooterLicenses img { width: auto; max-width: 110px; height: 32px; object-fit: contain; }
.compactFooterBottom { display: flex; justify-content: space-between; align-items: center; gap: 16px; border-top: 1px solid #30445f; padding-top: 16px; }
.compactFooterBottom p { margin: 0; font-size: 12px; }
.compactFooter .compactFooterBottom a { font-size: 13px; color: #16c9f3; white-space: nowrap; }
.compactFooter a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.compactFooter a:focus-visible { outline: 2px solid #16c9f3; outline-offset: 4px; }
@container (min-width: 1000px) {
  .compactFooterTop { grid-template-columns: 1.05fr .85fr 2fr; gap: 32px; }
  .compactFooterVisit { grid-template-columns: 1fr 1.15fr; gap: 24px; }
  .compactFooterMap { height: 140px; }
  .compactFooterBanks { grid-template-columns: repeat(7, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .lobbyFooter.compactFooter { padding: 24px 18px 18px; }
  .compactFooterTop { grid-template-columns: 1fr 1fr; gap: 24px 18px; }
  .compactFooterLinks { padding-left: 0; border: 0; }
  .compactFooterMenu { gap: 10px; }
  .compactFooterVisit { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; gap: 16px; }
  .compactFooterMap { height: 130px; }
  .compactFooterDetails { grid-template-columns: 1fr; gap: 22px; }
  .compactFooterCredentials { padding: 0; border: 0; grid-template-columns: 1.2fr 1fr; gap: 18px; }
  .compactFooterBanks { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .compactFooterTrust { gap: 12px; }
  .compactFooterTrust img { max-width: 65px; height: 22px; }
  .compactFooterLicenses { flex-wrap: wrap; gap: 12px; }
  .compactFooterLicenses img { max-width: 90px; height: 26px; }
}
@media (max-width: 380px) {
  .compactFooterTop { grid-template-columns: 1fr; }
  .compactFooterMenu { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .compactFooterVisit { grid-template-columns: 1fr; }
  .compactFooterCredentials { grid-template-columns: 1fr; }
}

/* Small standalone fixes; reference geometry remains in styles.css. */
[hidden] { display: none !important; }
.lobbyMenuPanel[aria-hidden="true"] { visibility: hidden; }
.lobbyMenuPanel[aria-hidden="false"] { visibility: visible; }
.lobbyMenuBackdrop { cursor: pointer; pointer-events: none; visibility: hidden; }
.lobbyMenuBackdrop.isVisible { pointer-events: auto; visibility: visible; }
html { scroll-behavior: smooth; }
/* The source used a negative gap after News/Help; those modules are removed. */
.homeAboutSection { margin-top: 44px; }
:root {
  --type-h1: clamp(30px, 3.2vw, 40px);
  --type-h2: clamp(24px, 2.5vw, 30px);
  --type-h3: clamp(18px, 1.8vw, 21px);
  --type-body-size: 16px;
  --type-body-line: 1.65;
  --type-tight: 1.2;
  --type-heading-line: 1.25;
}
.pageHeroHeadline { font-size: 19px; line-height: 1.5; }
.pageHeroLead, .downloadLead { font-size: 16px; line-height: 1.65; }
.downloadTitle { font-size: clamp(30px, 3.2vw, 40px); line-height: 1.2; }
.homeSearchIntro h1 { font-size: clamp(25px, 2.8vw, 32px); line-height: 1.25; }
.faqAccordionItem summary { font-size: 16px; line-height: 1.45; }
.relatedCard strong { font-size: 16px; line-height: 1.4; }
.footer p, .footer a { font-size: 14px; line-height: 1.65; }
.iframePageOuter--auth .calloutBody p,
.iframePageOuter--auth .featureCard p,
.iframePageOuter--auth .iframeIntroText p,
.iframePageOuter--auth .stepBody p { font-size: 15px; line-height: 1.65; }
.iframePageOuter--auth .calloutBody h3,
.iframePageOuter--auth .featureCard h3,
.iframePageOuter--auth .stepBody h3 { font-size: 18px; line-height: 1.4; }
.iframePageOuter--auth .pageSectionHeading h2 { font-size: 26px; line-height: 1.3; }
.downloadHeroVisual { width: min(100%, 290px); }
.downloadHeroVisual img { border-radius: 20px; filter: none; }
.heroCover .heroImageLink { display: block; position: relative; height: 290px; overflow: hidden; }
.heroCover .heroImageLink > img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.heroCoverCopy { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 32px 38px; background: linear-gradient(90deg,rgba(248,254,255,.97),rgba(248,254,255,.8) 30%,transparent 64%); }
.heroCoverEyebrow { color: #007fb8; font-size: 12px; font-weight: 750; letter-spacing: .12em; }
.heroCoverCopy h2 { max-width: 44%; margin: 9px 0 10px; font-size: 34px; line-height: 1.15; color: #102035; font-weight: 750; }
.heroCoverCopy p { max-width: 36%; margin: 0 0 18px; font-size: 15px; line-height: 1.55; color: #40556f; }
.heroCoverCta { border-radius: 999px; padding: 10px 20px; color: white; background: linear-gradient(110deg,#009fe8,#14c9f3); font-size: 14px; font-weight: 700; }
@media (max-width: 760px) {
  :root { --type-h1: 29px; --type-h2: 24px; --type-h3: 19px; --type-body-size: 15px; --type-body-line: 1.65; }
  .pageHeroHeadline { font-size: 17px; }
  .pageHeroLead, .downloadLead { font-size: 15px; }
  .downloadTitle { font-size: 29px; }
  .homeSearchIntro h1 { font-size: 24px; line-height: 1.3; }
  .faqAccordionItem summary { font-size: 15px; }
  .downloadHeroVisual { width: min(78%, 240px); }
  .heroCover .heroImageLink { height: 205px; }
  .heroCoverCopy { padding: 20px 18px; background: linear-gradient(90deg,rgba(248,254,255,.97),rgba(248,254,255,.85) 28%,transparent 74%); }
  .heroCoverEyebrow { font-size: 10px; }
  .heroCoverCopy h2 { max-width: 48%; font-size: 25px; margin: 8px 0; }
  .heroCoverCopy p { max-width: 47%; font-size: 12px; margin-bottom: 12px; }
  .heroCoverCta { font-size: 12px; padding: 8px 14px; }
}
summary:focus-visible, button:focus-visible, a:focus-visible {
  outline: 2px solid #0ea5e9;
  outline-offset: 3px;
}
/* Removed News/Help links leave four destinations, with no empty grid cells. */
@media (min-width:641px) {
  .homeExploreGrid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .relatedGrid:has(> li:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Homepage account and destination routes, matched to the selected design. */
.homeRouteSection.homeModule {
  padding: 28px 24px;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.homeRouteSection .lobbySectionHeading { gap: 12px; margin-bottom: 0; }
.homeRouteSection .lobbySectionHeading h2 {
  margin: 0; color: #102235; font-size: clamp(24px, 2.2vw, 30px);
  font-weight: 750; line-height: 1.25;
}
.homeRouteSection .sectionIcon,
.homeRouteSection .sectionIcon.red {
  display: grid; place-items: center; flex: 0 0 34px;
  width: 34px; height: 34px; border-radius: 10px;
  color: #fff; background: #00b7e5; box-shadow: none;
}
.homeRouteSection .sectionIcon svg { width: 21px; height: 21px; }
.homePlayerLead, .homeRouteSection .homeExploreLead {
  display: block; margin: 8px 0 24px; color: #5d7089;
  font-size: 16px; font-weight: 400; line-height: 1.55;
}
.homePlayerLead { padding-left: 46px; }
.homePlayerSection .toolCardGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.homePlayerSection .toolCard {
  grid-template-columns: 52px minmax(0, 1fr) 20px;
  gap: 20px; min-height: 128px; padding: 24px;
  border: 1px solid #cae9f4; border-radius: 16px; background: #fff;
  transition: border-color .16s ease, background-color .16s ease;
}
.homePlayerSection .toolCard:first-child { border-color: #00b7e5; background: #f4fbfe; }
.homePlayerSection .toolCardIcon,
.homeExploreSection.homeRouteSection .homeExploreIcon {
  width: 52px; height: 52px; border: 1px solid #d4f1fb;
  border-radius: 13px; color: #00afe0; background: #eefaff; box-shadow: none;
}
.homePlayerSection .toolCardIcon svg,
.homeExploreSection.homeRouteSection .homeExploreIcon svg { width: 28px; height: 28px; }
.homePlayerSection .toolCardBody { gap: 8px; }
.homePlayerSection .toolCardBody strong { font-size: 20px; font-weight: 700; line-height: 1.3; }
.homePlayerSection .toolCardBody > span { display: block; color: #5d7089; font-size: 15px; line-height: 1.55; }
.homePlayerSection .toolCardAction { display: flex; color: #00afe0; }
.homePlayerSection .toolCardAction svg { width: 20px; height: 20px; }
.homeExploreSection.homeRouteSection { margin-top: 8px; }
.homeExploreSection.homeRouteSection .homeExploreGrid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px; margin: 0; padding: 0; list-style: none;
}
.homeExploreSection.homeRouteSection .homeExploreCard {
  display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start;
  gap: 14px; min-height: 148px; padding: 24px;
  border: 1px solid #cae9f4; border-radius: 16px;
  color: #102235; background: #f6fcff; box-shadow: none;
  transition: border-color .16s ease, background-color .16s ease;
}
.homeExploreSection.homeRouteSection .homeExploreBody { text-align: left; }
.homeExploreSection.homeRouteSection .homeExploreBody strong { font-size: 18px; line-height: 1.3; font-weight: 700; }
.homeExploreSection.homeRouteSection .homeExploreBody > span { display: none; }
.homeExploreSection.homeRouteSection .homeExploreArrow {
  display: flex; position: absolute; top: 30px; right: 22px; color: #00afe0;
}
.homePlayerSection .toolCard:hover,
.homeExploreSection.homeRouteSection .homeExploreCard:hover {
  background: #edfaff; border-color: #00b7e5; transform: none;
}
.homeRouteSection a:focus-visible { outline: 3px solid #0085b1; outline-offset: 4px; }
@media (max-width: 900px) {
  .homeRouteSection.homeModule { padding: 24px 18px; }
  .homePlayerSection .toolCard { padding: 20px 16px; gap: 14px; }
  .homeExploreSection.homeRouteSection .homeExploreGrid { gap: 14px; }
  .homeExploreSection.homeRouteSection .homeExploreCard { padding: 20px 16px; }
}
@media (max-width: 640px) {
  .homeRouteSection.homeModule { padding: 20px 14px; }
  .homePlayerLead { padding-left: 0; }
  .homePlayerLead, .homeRouteSection .homeExploreLead { font-size: 14px; margin-bottom: 18px; }
  .homePlayerSection .toolCardGrid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .homePlayerSection .toolCard { min-height: 110px; grid-template-columns: 44px minmax(0, 1fr) 18px; padding: 18px 16px; }
  .homePlayerSection .toolCardBody strong { font-size: 18px; }
  .homePlayerSection .toolCardBody > span { font-size: 14px; }
  .homePlayerSection .toolCardIcon,
  .homeExploreSection.homeRouteSection .homeExploreIcon { width: 44px; height: 44px; }
  .homeExploreSection.homeRouteSection .homeExploreGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .homeExploreSection.homeRouteSection .homeExploreCard { min-height: 130px; padding: 18px 16px; }
  .homeExploreSection.homeRouteSection .homeExploreBody strong { font-size: 16px; }
  .homeExploreSection.homeRouteSection .homeExploreArrow { top: 26px; right: 16px; }
}

/* Full-width embedded login within the main content area. */
.frameWrap.frameWrap--fullWidth { width: 100%; max-width: 100%; min-width: 0; left: auto; transform: none; padding-left: 0; padding-right: 0; }

.compactFooterBrand .compactFooterPhone { display:block; width:fit-content; margin-top:8px; color:#d6e3f1; text-decoration:none; }
.compactFooterBrand .compactFooterPhone:hover { color:#16c9f3; }
.whatsappFloat { position:fixed; right:calc(20px + env(safe-area-inset-right,0px)); bottom:calc(20px + env(safe-area-inset-bottom,0px)); z-index:45; display:flex; align-items:center; justify-content:center; width:56px; height:56px; border:2px solid #fff; border-radius:50%; background:#25d366; color:#fff; box-shadow:0 4px 18px rgba(0,0,0,.22); text-decoration:none; }
.whatsappFloat svg { display:block; width:30px; height:30px; }
.whatsappFloat:hover { background:#128c4b; }
.whatsappFloat:focus-visible { outline:3px solid #102b40; outline-offset:4px; }
@media(max-width:560px) { .whatsappFloat { right:calc(14px + env(safe-area-inset-right,0px)); bottom:calc(16px + env(safe-area-inset-bottom,0px)); width:52px; height:52px; } }

/* One heading scale across home, download and every inner page. */
.lobbyMain h1,
.lobbyMain .pageHeroTitle,
.lobbyMain .downloadTitle,
.lobbyMain .homeSearchIntro h1,
.lobbyMain .iframeIntro h1 { font-size:36px; font-weight:700; line-height:1.2; letter-spacing:0; }
.lobbyMain .pageSectionHeading h2,
.lobbyMain .sectionHeading h2 { font-size:28px; font-weight:700; line-height:1.25; letter-spacing:0; }
.lobbyMain .pageHeroHeadline { font-size:19px; font-weight:600; line-height:1.5; }
.lobbyMain .pageHeroLead,
.lobbyMain .downloadLead { font-size:16px; font-weight:400; line-height:1.65; }
@media(max-width:760px) {
 .lobbyMain h1,
 .lobbyMain .pageHeroTitle,
 .lobbyMain .downloadTitle,
 .lobbyMain .homeSearchIntro h1,
 .lobbyMain .iframeIntro h1 { font-size:28px; }
 .lobbyMain .pageSectionHeading h2,
 .lobbyMain .sectionHeading h2 { font-size:24px; }
 .lobbyMain .pageHeroHeadline { font-size:17px; }
 .lobbyMain .pageHeroLead,
 .lobbyMain .downloadLead { font-size:15px; }
}

/* Keep remaining homepage shortcuts evenly spaced. */
@media(min-width:641px) { .homeExploreSection.homeRouteSection .homeExploreGrid { grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* Login landing: shared geometry for every action, desktop and mobile. */
.winbox-login-popup-overlay { padding:36px 24px; justify-content:flex-start; background:radial-gradient(ellipse at 15% 15%,#d6f4fc 0,transparent 48%),radial-gradient(ellipse at 95% 90%,#dfeaff 0,transparent 48%),#f3f8fc; border-radius:0; }
.winbox-login-popup { flex-shrink:0; width:100%; max-width:440px; margin:auto; padding:32px; border:1px solid #fff; border-top:4px solid #0398d1; border-radius:24px; background:#fff; box-shadow:0 24px 80px -24px rgba(23,67,101,.25),0 4px 16px rgba(23,67,101,.04); pointer-events:auto; }
.winbox-login-popup-logo { padding:0; text-align:center; }
.winbox-login-popup-logo img { width:164px; height:auto; max-height:104px; object-fit:contain; }
.authWelcome { text-align:center; margin:16px 0 26px; }
.authEyebrow { display:block; margin-bottom:10px; color:#007fae; font-size:10px; font-weight:700; letter-spacing:2px; }
.authWelcome h2 { margin:0 0 8px; color:#102d45; font-size:30px; font-weight:700; line-height:1.25; }
.authWelcome p { margin:0; color:#63768a; font-size:14px; line-height:1.6; }
.winbox-login-popup-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; padding:0; }
.winbox-login-popup .winbox-login-popup-btn { display:grid; grid-template-columns:24px minmax(0,1fr) 20px; align-items:center; gap:12px; box-sizing:border-box; width:100%; min-width:0; height:56px; min-height:56px; margin:0; padding:0 18px; border:1px solid #d9e5ef; border-radius:12px; background:#fff; color:#29465d; font-family:inherit; font-size:16px; font-weight:600; line-height:1.25; text-align:left; text-decoration:none; box-shadow:none; cursor:pointer; transition:background .18s,border-color .18s,box-shadow .18s; }
.winbox-login-popup-btn .authActionIcon,.winbox-login-popup-btn .authActionIcon svg { display:block; width:24px; height:24px; }
.winbox-login-popup-btn > svg { width:20px; height:20px; opacity:.65; }
.winbox-login-popup .authAction--primary { background:linear-gradient(110deg,#008cce,#0078b7); color:#fff; border-color:#007dbb; box-shadow:0 6px 14px rgba(0,126,187,.18); }
.winbox-login-popup .authAction--secondary { background:#edf8fd; color:#0076a8; border-color:#cce9f5; }
.winbox-login-popup .authAction--home { color:#62778a; }
.winbox-login-popup .winbox-login-popup-btn:hover { background:#f1f8fc; border-color:#80c7e6; }
.winbox-login-popup .authAction--primary:hover { background:#006da6; border-color:#006da6; box-shadow:0 8px 18px rgba(0,126,187,.24); }
.winbox-login-popup .winbox-login-popup-btn:focus-visible,.authHelp a:focus-visible { outline:3px solid #007eb5; outline-offset:4px; }
.authHelp { margin-top:24px; padding-top:20px; border-top:1px solid #edf1f5; text-align:center; color:#738396; font-size:13px; line-height:1.6; }
.authHelp a { display:inline-flex; align-items:center; gap:4px; margin-left:4px; color:#007caf; font-weight:600; text-decoration:none; }
.authHelp svg { width:14px; height:14px; }
.lobbyAccountActions .lobbyLoginButton,.lobbyAccountActions .lobbyRegisterButton { box-sizing:border-box; min-width:112px; height:40px; padding:0 16px; gap:8px; border-radius:9px; font-size:14px; line-height:1; }
@media(max-width:600px) {
 .winbox-login-popup-overlay { padding:24px 18px 84px; }
 .winbox-login-popup { max-width:400px; padding:26px 22px; border-radius:20px; }
 .winbox-login-popup-logo img { width:144px; }
 .authWelcome { margin:12px 0 22px; }
 .authWelcome h2 { font-size:26px; }
 .lobbyAccountActions .lobbyLoginButton,.lobbyAccountActions .lobbyRegisterButton { min-width:84px; height:40px; padding:0 12px; font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .winbox-login-popup .winbox-login-popup-btn { transition:none; } }

/* Full-width auth stage, centered third-party mobile form viewport. */
.iframePageOuter--auth .authPortalIntro { display:block; width:100%; max-width:none; padding:32px 20px 24px; text-align:center; }
.authPortalIntro .iframeIntroText { width:100%; max-width:640px; margin-inline:auto; }
.authPortalEyebrow { display:block; margin-bottom:10px; color:#007eaf; font-size:11px; font-weight:700; letter-spacing:2px; }
.iframePageOuter--auth .authPortalIntro h1 { margin:0 0 12px; color:#102d45; }
.iframePageOuter--auth .authPortalIntro p { margin:0; color:#63768a; font-size:15px; line-height:1.65; }
.authPortalStage { display:flex; flex-direction:column; align-items:center; gap:22px; width:100%; min-width:0; padding:28px 24px; margin:0 0 36px; border:1px solid #e0edf5; border-radius:24px; background:radial-gradient(ellipse at 0 0,#ddf6fd,transparent 55%),radial-gradient(ellipse at 100% 100%,#e0eaff,transparent 55%),#f3f8fc; }
.authPortalTabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; box-sizing:border-box; width:100%; max-width:400px; padding:5px; border:1px solid #dce8f0; border-radius:14px; background:#eaf1f7; }
.authPortalTabs a { display:flex; align-items:center; justify-content:center; height:46px; min-width:0; padding:0 12px; border:1px solid transparent; border-radius:10px; color:#5a7083; font-size:15px; font-weight:600; line-height:1.25; text-align:center; text-decoration:none; }
.authPortalTabs a[aria-current="page"] { background:#fff; border-color:#dbeaf3; color:#007eaf; box-shadow:0 2px 8px rgba(23,67,101,.08); }
.authPortalTabs a:hover { color:#006c9c; background:#f7fcff; }
.authPortalTabs a:focus-visible,.authPortalSupport a:focus-visible { outline:3px solid #007eaf; outline-offset:3px; }
.registrationQr { box-sizing:border-box; display:flex; align-items:center; gap:24px; width:min(100%,620px); margin:0 auto 24px; padding:20px 24px; border:1px solid #d7e9f1; border-radius:20px; background:#fff; box-shadow:0 12px 32px -22px rgba(23,67,101,.3); }
.registrationQr img { flex:none; width:176px; height:176px; object-fit:contain; }
.registrationQr h2 { margin:0 0 8px; color:#102d45; font-size:22px; line-height:1.3; }
.registrationQr p { margin:0; color:#63768a; font-size:15px; line-height:1.6; }
.authPortalStage > .frameWrap.authPortalFrame { flex:0 0 auto; align-self:center; box-sizing:border-box; width:100%; max-width:100%; height:900px; min-height:900px; margin:0 auto; padding:0; position:relative; left:auto; transform:none; overflow:hidden; border:1px solid #d7e6ef; border-top:3px solid #0398d1; border-radius:18px; background:#fff; box-shadow:0 16px 40px -18px rgba(23,67,101,.22); }
.authPortalFrame--desktop iframe { position:absolute; top:0; left:0; max-width:none; transform-origin:top left; }
.authPortalFrame iframe { display:block; width:100%; height:100%; border:0; background:#fff; }
.authPortalSupport { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; color:#687e90; font-size:13px; line-height:1.6; text-align:center; }
.authPortalSupport a { color:#007eaf; font-weight:600; text-decoration:none; }
.authPortalSupport a:hover { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:600px) {
 .iframePageOuter--auth .authPortalIntro { padding:24px 12px 20px; }
 .iframePageOuter--auth .authPortalIntro h1 { font-size:26px; }
 .iframePageOuter--auth .authPortalIntro p { font-size:14px; }
 .authPortalStage { padding:20px 10px; gap:18px; border-radius:18px; }
 .authPortalTabs a { height:46px; font-size:14px; }
 .registrationQr { flex-direction:column; gap:12px; width:calc(100% - 24px); margin-bottom:18px; padding:18px 16px; text-align:center; }
 .registrationQr img { width:180px; height:180px; }
 .registrationQr h2 { font-size:20px; }
 .registrationQr p { font-size:14px; }
 .authPortalStage > .frameWrap.authPortalFrame { border-radius:12px; }
}
