/* NexoraPay v5 — standalone production Mini App design system.
   Light ice is the structural canvas; financial objects use deep-water color.
   Landing, Admin and Status intentionally stay on nexorapay.css. */
:root {
  --nx-ink: #071a36;
  --nx-ink-2: #173353;
  --nx-muted: #5d7390;
  --nx-line: rgba(31, 93, 153, .15);
  --nx-blue: #1268ff;
  --nx-blue-2: #3347ed;
  --nx-cyan: #08cbd5;
  --nx-aqua: #55f1df;
  --nx-violet: #7356f5;
  --nx-coral: #ff765e;
  --nx-surface: rgba(255, 255, 255, .84);
  --nx-shadow: 0 22px 65px rgba(25, 80, 132, .14), 0 3px 14px rgba(32, 95, 157, .08);
  --nx-radius: 28px;
}

html {
  min-width: 320px;
  background: #eaf4ff;
  overflow-x: clip;
}

body.app-v5 {
  width: 100%;
  min-width: 320px;
  min-height: 100dvh;
  margin: 0;
  overflow-x: clip;
  color: var(--nx-ink);
  background:
    radial-gradient(circle at 7% 3%, rgba(62, 204, 255, .24), transparent 31rem),
    radial-gradient(circle at 96% 15%, rgba(92, 89, 255, .16), transparent 34rem),
    linear-gradient(160deg, #f9fcff 0%, #eaf5ff 46%, #f6f9ff 100%);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.app-v5::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  content: "";
  opacity: .3;
  background-image:
    linear-gradient(rgba(24, 105, 177, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(24, 105, 177, .04) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, #000, transparent 66%);
}

.app-v5 *,
.app-v5 *::before,
.app-v5 *::after { box-sizing: border-box; }

.app-v5 button,
.app-v5 input,
.app-v5 a { font: inherit; }

.app-v5 button,
.app-v5 a { -webkit-tap-highlight-color: transparent; }

.app-v5 button { color: inherit; }

.app-v5 img { display: block; max-width: 100%; }

.app-v5 [hidden] { display: none !important; }

.app-v5 .skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 200;
  padding: 10px 14px;
  color: #fff;
  background: var(--nx-blue);
  border-radius: 12px;
  transform: translateY(-160%);
}

.app-v5 .skip-link:focus { transform: translateY(0); }

.app-v5 .app-shell {
  width: min(100%, 1120px);
  min-height: 100dvh;
  margin: 0 auto;
  padding: 0 clamp(14px, 3vw, 30px) calc(118px + env(safe-area-inset-bottom));
}

.app-v5 .app-topbar {
  position: sticky;
  top: 0;
  z-index: 35;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 74px;
  margin: 0 calc(-1 * clamp(14px, 3vw, 30px)) 12px;
  padding: max(10px, env(safe-area-inset-top)) clamp(14px, 3vw, 30px) 9px;
  border-bottom: 1px solid rgba(255, 255, 255, .55);
  background: linear-gradient(180deg, rgba(241, 249, 255, .94), rgba(241, 249, 255, .72));
  -webkit-backdrop-filter: blur(24px) saturate(155%);
  backdrop-filter: blur(24px) saturate(155%);
}

.app-v5 .brand {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  color: var(--nx-ink);
  text-decoration: none;
}

.app-v5 .brand img {
  width: 47px;
  height: 47px;
  margin-right: 9px;
  filter: drop-shadow(0 7px 13px rgba(14, 103, 193, .2));
}

.app-v5 .brand > span {
  font-size: clamp(19px, 4.9vw, 24px);
  font-weight: 790;
  letter-spacing: -.85px;
}

.app-v5 .brand strong { color: #08aaa9; font-weight: 800; }

.app-v5 .topbar-actions { display: flex; align-items: center; gap: 9px; }

.app-v5 .security-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 35px;
  padding: 0 11px;
  color: #176153;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(17, 172, 153, .2);
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(41, 106, 156, .08);
  font-size: 11px;
  font-weight: 760;
}

.app-v5 .security-pill i,
.app-v5 .hero-kicker span,
.app-v5 .wallet-rate-line > span > i {
  width: 7px;
  height: 7px;
  background: #18c49f;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(24, 196, 159, .12), 0 0 14px rgba(24, 196, 159, .7);
}

.app-v5 .avatar-button {
  position: relative;
  display: grid;
  width: 48px;
  height: 48px;
  padding: 3px;
  overflow: visible;
  color: #fff;
  background: linear-gradient(145deg, #0ccfd6, #176dff 56%, #674bea);
  border: 0;
  border-radius: 17px;
  box-shadow: 0 10px 24px rgba(27, 100, 211, .24);
  place-items: center;
}

.app-v5 .avatar-button > span,
.app-v5 .avatar-button > img {
  width: 100%;
  height: 100%;
  border: 2px solid rgba(255, 255, 255, .86);
  border-radius: 14px;
  object-fit: cover;
}

.app-v5 .avatar-button > span { display: grid; background: rgba(7, 34, 73, .5); font-size: 16px; font-weight: 800; place-items: center; }

.app-v5 .avatar-button > i {
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 12px;
  height: 12px;
  background: #2bd8a5;
  border: 3px solid #f0f8ff;
  border-radius: 50%;
}

.app-v5 .app-view { display: none; animation: nx-view-in .28s ease both; }
.app-v5 .app-view.active { display: block; }

@keyframes nx-view-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.app-v5 .hero-copy { padding: clamp(14px, 3vw, 25px) 4px 16px; }
.app-v5 .hero-kicker { display: flex; align-items: center; gap: 8px; margin-bottom: 11px; color: #376986; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.app-v5 .hero-copy > small { display: block; margin-bottom: 7px; color: #4c6d8a; font-size: clamp(14px, 3.8vw, 17px); font-weight: 650; }
.app-v5 .hero-copy h1,
.app-v5 .view-hero h1,
.app-v5 .profile-heading h1 {
  margin: 0;
  color: #071a36;
  font-size: clamp(34px, 9.7vw, 57px);
  line-height: .99;
  letter-spacing: clamp(-2.3px, -.06em, -1px);
}
.app-v5 .hero-copy h1 { max-width: 650px; }
.app-v5 .hero-copy p { max-width: 650px; margin: 14px 0 0; color: #45647f; font-size: clamp(15px, 4vw, 19px); line-height: 1.52; }

.app-v5 .payment-status-banner {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0 0 14px;
  padding: 14px;
  color: #173353;
  background: rgba(255, 255, 255, .88);
  border: 1px solid rgba(18, 104, 255, .18);
  border-radius: 20px;
  box-shadow: var(--nx-shadow);
}
.app-v5 .payment-status-banner > span { display: grid; flex: 0 0 42px; width: 42px; height: 42px; color: #fff; background: var(--nx-blue); border-radius: 14px; font-size: 21px; font-weight: 800; place-items: center; }
.app-v5 .payment-status-banner b { display: block; font-size: 14px; }
.app-v5 .payment-status-banner p { margin: 3px 0 0; color: var(--nx-muted); font-size: 12px; }
.app-v5 .payment-status-banner.success > span { background: #16b98f; }
.app-v5 .payment-status-banner.error > span { background: #e95166; }

.app-v5 .wallet-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(330px, 79vw, 400px);
  padding: clamp(23px, 6vw, 36px);
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 82% 12%, rgba(86, 243, 228, .35), transparent 27%),
    radial-gradient(circle at 4% 92%, rgba(67, 93, 255, .7), transparent 42%),
    linear-gradient(145deg, #05172f 0%, #073a76 48%, #0678b0 72%, #08aeb5 100%);
  border: 1px solid rgba(179, 250, 255, .54);
  border-radius: clamp(28px, 7vw, 38px);
  box-shadow: 0 30px 70px rgba(11, 69, 125, .31), inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 -1px 0 rgba(0, 30, 65, .2);
}

.app-v5 .wallet-hero::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: linear-gradient(112deg, rgba(255,255,255,.2), transparent 25%, transparent 69%, rgba(133,255,244,.16));
}

.app-v5 .wallet-hero::after {
  position: absolute;
  top: -98px;
  right: -86px;
  z-index: -1;
  width: 255px;
  height: 255px;
  content: "";
  border: 38px solid rgba(141, 254, 242, .12);
  border-radius: 50%;
  box-shadow: 0 0 75px rgba(45, 226, 239, .2);
}

.app-v5 .wallet-hero-glow { position: absolute; top: -70px; left: 18%; z-index: -1; width: 48%; height: 190px; background: #20adff; filter: blur(80px); opacity: .32; }
.app-v5 .wallet-mesh { position: absolute; right: 0; bottom: 0; z-index: -1; width: 54%; height: 58%; opacity: .34; }
.app-v5 .wallet-mesh i { position: absolute; right: -18%; bottom: -54%; width: 140%; height: 140%; border: 1px solid rgba(164, 255, 249, .34); border-radius: 50%; }
.app-v5 .wallet-mesh i:nth-child(2) { right: -2%; bottom: -61%; width: 110%; height: 110%; }
.app-v5 .wallet-mesh i:nth-child(3) { right: 12%; bottom: -68%; width: 78%; height: 78%; }

.app-v5 .wallet-hero-top { display: flex; align-items: center; justify-content: space-between; }
.app-v5 .wallet-hero-top span { color: #ccebf8; font-size: 13px; font-weight: 680; letter-spacing: .02em; }
.app-v5 .wallet-hero-top b { padding: 7px 11px; color: #d8ffff; background: rgba(4, 20, 51, .28); border: 1px solid rgba(171, 255, 246, .32); border-radius: 999px; font-size: 11px; letter-spacing: .13em; }
.app-v5 .wallet-hero-amount { display: block; margin: clamp(22px, 6vw, 34px) 0 20px; font-size: clamp(47px, 14vw, 78px); font-weight: 780; line-height: .95; letter-spacing: -.075em; text-shadow: 0 8px 32px rgba(0, 24, 61, .24); }

.app-v5 .wallet-rate-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.app-v5 .wallet-rate-line > span { display: grid; grid-template-columns: 9px auto; column-gap: 10px; align-items: center; }
.app-v5 .wallet-rate-line > span > i { grid-row: 1 / span 2; }
.app-v5 .wallet-rate-line b { font-size: clamp(14px, 4vw, 17px); }
.app-v5 .wallet-rate-line small { margin-top: 3px; color: #acd3e7; font-size: 10px; }
.app-v5 .wallet-rate-line button { display: grid; flex: 0 0 46px; width: 46px; height: 46px; color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); border-radius: 15px; font-size: 22px; place-items: center; }

.app-v5 .wallet-hero-actions { display: grid; grid-template-columns: 1.15fr .85fr; gap: 10px; margin-top: 25px; }
.app-v5 .wallet-hero-actions .button { display: inline-flex; align-items: center; justify-content: center; min-height: 55px; gap: 8px; border-radius: 17px; font-size: 14px; font-weight: 780; }
.app-v5 .wallet-hero-actions .button span { font-size: 20px; }
.app-v5 .wallet-main-action { color: #082340; background: linear-gradient(135deg, #fff, #d9fffb); border: 0; box-shadow: 0 15px 34px rgba(0, 30, 70, .22); }
.app-v5 .wallet-secondary-action { color: #fff; background: rgba(5, 26, 61, .25); border: 1px solid rgba(213, 255, 252, .28); }
.app-v5 .wallet-security { display: flex; align-items: center; gap: 7px; margin-top: 17px; color: #bde6ec; font-size: 10px; font-weight: 640; }
.app-v5 .wallet-security span { display: grid; width: 18px; height: 18px; color: #083b45; background: #68efda; border-radius: 50%; font-size: 11px; font-weight: 900; place-items: center; }

.app-v5 .brand-cloud,
.app-v5 .marketing-card,
.app-v5 .view-hero,
.app-v5 .profile-card,
.app-v5 .profile-balance-row,
.app-v5 .account-assurance,
.app-v5 .ecosystem-intro,
.app-v5 .connection-notice {
  background: var(--nx-surface);
  border: 1px solid rgba(255, 255, 255, .95);
  box-shadow: var(--nx-shadow), inset 0 1px 0 #fff;
  -webkit-backdrop-filter: blur(25px) saturate(145%);
  backdrop-filter: blur(25px) saturate(145%);
}

.app-v5 .brand-cloud {
  display: grid;
  gap: 20px;
  margin-top: 16px;
  padding: clamp(19px, 5vw, 28px);
  border-radius: var(--nx-radius);
}
.app-v5 .brand-cloud-copy small,
.app-v5 .section-row small,
.app-v5 .view-hero small,
.app-v5 .profile-heading small {
  display: block;
  margin-bottom: 5px;
  color: #1779c3;
  font-size: 10px;
  font-weight: 820;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.app-v5 .brand-cloud-copy h2 { margin: 0; font-size: clamp(22px, 6.3vw, 31px); letter-spacing: -.04em; }
.app-v5 .brand-cloud-copy p { margin: 8px 0 0; color: var(--nx-muted); font-size: 12px; line-height: 1.5; }
.app-v5 .brand-cloud-logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.app-v5 .brand-cloud-logos span { display: grid; aspect-ratio: 1; min-width: 0; overflow: hidden; background: #fff; border: 1px solid rgba(35, 99, 159, .1); border-radius: 19px; box-shadow: 0 10px 25px rgba(31, 77, 125, .09); place-items: center; }
.app-v5 .brand-cloud-logos span.wide { grid-column: span 2; aspect-ratio: 2.08; }
.app-v5 .brand-cloud-logos img { width: 100%; height: 100%; object-fit: contain; }

.app-v5 .trust-ribbon { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 13px; }
.app-v5 .trust-ribbon > div { min-width: 0; padding: 14px 9px; background: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.95); border-radius: 19px; box-shadow: 0 10px 28px rgba(35, 93, 145, .08); text-align: center; }
.app-v5 .trust-ribbon > div > span { display: grid; width: 34px; height: 34px; margin: 0 auto 8px; color: #fff; background: linear-gradient(145deg, #1268ff, #08c9d0); border-radius: 12px; box-shadow: 0 7px 16px rgba(18,104,255,.23); font-size: 16px; font-weight: 830; place-items: center; }
.app-v5 .trust-ribbon p { margin: 0; }
.app-v5 .trust-ribbon b { display: block; color: #163a5d; font-size: 10px; line-height: 1.25; }
.app-v5 .trust-ribbon small { display: block; margin-top: 4px; color: #5f748c; font-size: 8.5px; line-height: 1.25; }

.app-v5 .marketing-card { position: relative; min-height: 410px; margin-top: 17px; padding: clamp(22px, 5.5vw, 34px); overflow: hidden; border-radius: 32px; }
.app-v5 .marketing-card::before { position: absolute; top: -120px; right: -110px; width: 300px; height: 300px; content: ""; background: radial-gradient(circle, rgba(42, 195, 255, .34), transparent 67%); }
.app-v5 .marketing-card-copy { position: relative; z-index: 3; max-width: 560px; }
.app-v5 .marketing-kicker { color: #136eb3; font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.app-v5 .marketing-card h2 { max-width: 540px; margin: 8px 0 9px; font-size: clamp(29px, 8vw, 47px); line-height: 1.03; letter-spacing: -.055em; }
.app-v5 .marketing-card p { max-width: 540px; margin: 0; color: var(--nx-muted); font-size: 13px; line-height: 1.5; }
.app-v5 .marketing-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.app-v5 .marketing-chips span,
.app-v5 .usecase-strip span,
.app-v5 .catalog-categories span { padding: 8px 11px; color: #17537d; background: rgba(226, 243, 255, .82); border: 1px solid rgba(30, 125, 189, .12); border-radius: 999px; font-size: 10px; font-weight: 730; }
.app-v5 .marketing-cta { display: inline-flex; align-items: center; min-height: 47px; gap: 20px; margin-top: 18px; padding: 0 18px; color: #fff; background: linear-gradient(135deg, #1268ff, #3c52ed); border: 0; border-radius: 15px; box-shadow: 0 13px 25px rgba(34, 85, 226, .24); font-size: 12px; font-weight: 780; }
.app-v5 .marketing-cta i { font-style: normal; font-size: 18px; }

.app-v5 .card-stack { position: absolute; right: 18px; bottom: -44px; width: min(67%, 330px); height: 218px; perspective: 900px; }
.app-v5 .card-stack > i,
.app-v5 .card-stack > em,
.app-v5 .card-stack > div { position: absolute; inset: 0; border-radius: 28px; }
.app-v5 .card-stack > i { transform: rotate(10deg) translate(15px, -14px); background: linear-gradient(135deg, #44e9dc, #2884ff); opacity: .45; }
.app-v5 .card-stack > em { transform: rotate(-8deg) translate(-18px, -4px); background: linear-gradient(135deg, #7568ff, #2d59f1); opacity: .34; }
.app-v5 .card-stack > div { z-index: 2; padding: 22px; color: #fff; background: radial-gradient(circle at 85% 10%, rgba(86,245,226,.4), transparent 35%), linear-gradient(145deg, #061a36, #0a4c95 63%, #04a5ad); box-shadow: 0 28px 40px rgba(12, 53, 100, .32); transform: rotate(-3deg); }
.app-v5 .card-stack > div > span { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 800; }
.app-v5 .card-stack img { width: 27px; height: 27px; }
.app-v5 .card-stack > div > b { position: absolute; top: 23px; right: 23px; color: #99fff0; font-size: 11px; letter-spacing: .14em; }
.app-v5 .card-stack > div > strong { position: absolute; left: 22px; bottom: 51px; font-size: 18px; letter-spacing: .15em; }
.app-v5 .card-stack > div > small { position: absolute; left: 22px; bottom: 25px; color: #b7e6f1; font-size: 9px; letter-spacing: .12em; }

.app-v5 .section-row { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin: 27px 2px 12px; }
.app-v5 .section-row h2 { margin: 0; font-size: clamp(23px, 6vw, 31px); letter-spacing: -.045em; }
.app-v5 .section-row button { min-height: 44px; padding: 0 9px; color: #176eba; background: transparent; border: 0; font-size: 12px; font-weight: 760; }

.app-v5 .home-cards,
.app-v5 .owned-card-list { display: grid; gap: 13px; }
.app-v5 .no-card-v2 { display: flex; align-items: center; width: 100%; min-height: 96px; padding: 16px; color: #163a5d; text-align: left; background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(224,245,255,.86)); border: 1px solid rgba(255,255,255,.95); border-radius: 23px; box-shadow: var(--nx-shadow); }
.app-v5 .no-card-v2 > span { display: grid; flex: 0 0 52px; width: 52px; height: 52px; margin-right: 13px; color: #fff; background: linear-gradient(145deg, #1268ff, #09cbd0); border-radius: 17px; box-shadow: 0 12px 23px rgba(18,104,255,.22); font-size: 26px; place-items: center; }
.app-v5 .no-card-v2 div { flex: 1; }
.app-v5 .no-card-v2 b { display: block; font-size: 14px; }
.app-v5 .no-card-v2 small { display: block; margin-top: 4px; color: var(--nx-muted); font-size: 10px; }
.app-v5 .no-card-v2 > i { color: #1a78bd; font-style: normal; font-size: 20px; }

.app-v5 .home-shortcuts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.app-v5 .home-shortcuts > button { display: grid; grid-template-columns: 50px 1fr auto; align-items: center; min-width: 0; min-height: 88px; padding: 13px; text-align: left; background: rgba(255,255,255,.78); border: 1px solid rgba(255,255,255,.96); border-radius: 22px; box-shadow: 0 14px 35px rgba(33, 91, 145, .1); }
.app-v5 .shortcut-icon { display: grid; width: 47px; height: 47px; border-radius: 15px; place-items: center; }
.app-v5 .shortcut-icon.shop { color: #fff; background: linear-gradient(145deg, #ff9d4d, #ff626e); box-shadow: 0 10px 20px rgba(255, 109, 95, .23); }
.app-v5 .shortcut-icon.services { background: linear-gradient(145deg, #c8fbff, #8bbdff); }
.app-v5 .shortcut-icon svg { width: 24px; fill: none; stroke: currentColor; stroke-width: 1.9; }
.app-v5 .shortcut-icon img { width: 38px; }
.app-v5 .home-shortcuts div { min-width: 0; margin-left: 9px; }
.app-v5 .home-shortcuts b { display: block; font-size: 12px; white-space: nowrap; }
.app-v5 .home-shortcuts small { display: block; margin-top: 4px; overflow: hidden; color: var(--nx-muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.app-v5 .home-shortcuts > button > i { color: #236fa7; font-style: normal; }

.app-v5 .transaction-list { overflow: hidden; background: rgba(255,255,255,.76); border: 1px solid rgba(255,255,255,.96); border-radius: 24px; box-shadow: var(--nx-shadow); }
.app-v5 .transaction-row { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 12px; min-height: 74px; padding: 11px 14px; border-bottom: 1px solid var(--nx-line); }
.app-v5 .transaction-row:last-child { border-bottom: 0; }
.app-v5 .merchant-logo { display: grid; width: 48px; height: 48px; overflow: hidden; color: #fff; background: linear-gradient(145deg, #1268ff, #6c52ed); border-radius: 15px; font-size: 12px; font-weight: 800; place-items: center; }
.app-v5 .merchant-logo.has-brand { background: #fff; }
.app-v5 .merchant-logo img { width: 100%; height: 100%; object-fit: contain; }
.app-v5 .transaction-row b { font-size: 13px; }
.app-v5 .transaction-row small { display: block; margin-top: 4px; color: var(--nx-muted); font-size: 9px; }
.app-v5 .transaction-row > strong { color: #203e5c; font-size: 12px; }
.app-v5 .transaction-row > strong.positive { color: #128a70; }

.app-v5 .empty-list,
.app-v5 .catalog-empty { padding: 30px 20px; text-align: center; }
.app-v5 .empty-list > span,
.app-v5 .catalog-empty > span { display: grid; width: 58px; height: 58px; margin: 0 auto 14px; color: #fff; background: linear-gradient(145deg, #1268ff, #09cbd0); border-radius: 20px; box-shadow: 0 12px 27px rgba(18,104,255,.2); font-size: 22px; font-weight: 780; place-items: center; }
.app-v5 .empty-list b,
.app-v5 .catalog-empty h2 { display: block; margin: 0; font-size: 16px; }
.app-v5 .empty-list p,
.app-v5 .catalog-empty p { max-width: 440px; margin: 7px auto 0; color: var(--nx-muted); font-size: 11px; line-height: 1.5; }

.app-v5 .view-hero { position: relative; min-height: 275px; margin-top: 16px; padding: clamp(24px, 6vw, 40px); overflow: hidden; border-radius: 32px; }
.app-v5 .view-hero > div:first-child { position: relative; z-index: 3; max-width: 600px; }
.app-v5 .view-hero h1 { max-width: 630px; margin-top: 6px; font-size: clamp(34px, 8.8vw, 54px); }
.app-v5 .view-hero p { max-width: 540px; margin: 13px 0 0; color: var(--nx-muted); font-size: 13px; line-height: 1.52; }

.app-v5 .cards-hero { padding-bottom: 154px; background: radial-gradient(circle at 87% 7%, rgba(28,205,222,.3), transparent 33%), rgba(255,255,255,.82); }
.app-v5 .cards-hero-visual { position: absolute; right: 4%; bottom: -61px; width: min(76%, 360px); height: 215px; }
.app-v5 .cards-hero-visual i,
.app-v5 .cards-hero-visual em,
.app-v5 .cards-hero-visual span { position: absolute; inset: 0; border-radius: 29px; }
.app-v5 .cards-hero-visual i { background: linear-gradient(145deg, #1de5d8, #156cff); transform: rotate(10deg) translate(20px,-12px); opacity: .38; }
.app-v5 .cards-hero-visual em { background: linear-gradient(145deg, #8a61ff, #204cee); transform: rotate(-8deg) translate(-17px,-9px); opacity: .42; }
.app-v5 .cards-hero-visual span { z-index: 2; display: grid; background: radial-gradient(circle at 82% 10%, rgba(82,246,228,.48), transparent 35%), linear-gradient(145deg, #061a38, #0d4c96 60%, #02a2aa); box-shadow: 0 27px 45px rgba(9,57,109,.28); transform: rotate(-2deg); place-items: center; }
.app-v5 .cards-hero-visual img { width: 96px; filter: drop-shadow(0 16px 24px rgba(0,21,54,.24)); }

.app-v5 .usecase-strip,
.app-v5 .catalog-categories { display: flex; gap: 8px; margin: 14px 0; padding: 2px; overflow-x: auto; scrollbar-width: none; }
.app-v5 .usecase-strip::-webkit-scrollbar,
.app-v5 .catalog-categories::-webkit-scrollbar { display: none; }
.app-v5 .usecase-strip span,
.app-v5 .catalog-categories span { flex: 0 0 auto; min-height: 36px; }
.app-v5 .capability-note { display: flex; align-items: center; gap: 10px; padding: 12px 14px; color: #315575; background: rgba(223,244,255,.75); border: 1px solid rgba(29,135,194,.13); border-radius: 17px; }
.app-v5 .capability-note > span { display: grid; flex: 0 0 27px; width: 27px; height: 27px; color: #fff; background: #10b9a3; border-radius: 9px; font-size: 12px; font-weight: 900; place-items: center; }
.app-v5 .capability-note p { margin: 0; font-size: 10px; line-height: 1.45; }

.app-v5 .product-list { display: grid; gap: 16px; }
.app-v5 .choice-product {
  position: relative;
  display: grid;
  min-height: 438px;
  padding: 18px;
  overflow: hidden;
  color: #fff;
  background: radial-gradient(circle at 89% 2%, rgba(105,255,236,.36), transparent 27%), linear-gradient(145deg, #061a36, #0d4385 58%, #038e9a);
  border: 1px solid rgba(162, 247, 255, .5);
  border-radius: 31px;
  box-shadow: 0 28px 58px rgba(18, 70, 124, .25), inset 0 1px 0 rgba(255,255,255,.34);
  grid-template-rows: auto 172px auto auto;
  gap: 13px;
}
.app-v5 .choice-product.subscription { background: radial-gradient(circle at 87% 3%, rgba(142,105,255,.42), transparent 27%), linear-gradient(145deg, #10153d, #27368f 56%, #6543d8); }
.app-v5 .choice-product.travel { background: radial-gradient(circle at 86% 2%, rgba(107,255,224,.34), transparent 28%), linear-gradient(145deg, #052842, #087a9e 59%, #10b89f); }
.app-v5 .choice-product.blue { background: radial-gradient(circle at 88% 2%, rgba(94,225,255,.34), transparent 28%), linear-gradient(145deg, #061c48, #1557cf 61%, #328eff); }
.app-v5 .choice-product::before { position: absolute; inset: 0; pointer-events: none; content: ""; background: linear-gradient(115deg, rgba(255,255,255,.17), transparent 25%, transparent 75%, rgba(255,255,255,.08)); }
.app-v5 .choice-product-top { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.app-v5 .choice-product-brand { display: flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 800; }
.app-v5 .choice-product-brand img { width: 30px; height: 30px; }
.app-v5 .choice-product-tags { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.app-v5 .choice-product-tags span { padding: 6px 8px; color: #eaffff; background: rgba(1,18,48,.27); border: 1px solid rgba(213,255,251,.24); border-radius: 999px; font-size: 8px; font-weight: 800; letter-spacing: .03em; }
.app-v5 .choice-product-art { position: relative; display: grid; overflow: hidden; background: rgba(4,18,49,.18); border: 1px solid rgba(255,255,255,.18); border-radius: 22px; place-items: center; }
.app-v5 .choice-product-art::after { position: absolute; inset: 0; content: ""; background: linear-gradient(115deg, rgba(255,255,255,.16), transparent 31%); }
.app-v5 .product-scene { position: relative; z-index: 2; display: grid; width: 100%; height: 100%; place-items: center; }
.app-v5 .premium-scene img { width: 98px; filter: drop-shadow(0 17px 24px rgba(0,16,50,.3)); }
.app-v5 .premium-scene b { position: absolute; right: 15px; bottom: 12px; color: rgba(255,255,255,.2); font-size: 48px; letter-spacing: -.08em; }
.app-v5 .subscription-scene { grid-template-columns: repeat(3, 66px); gap: 12px; }
.app-v5 .subscription-scene img { width: 66px; height: 66px; border: 1px solid rgba(255,255,255,.45); border-radius: 18px; box-shadow: 0 15px 25px rgba(4,13,54,.25); object-fit: contain; }
.app-v5 .subscription-scene img:nth-child(1) { transform: rotate(-8deg) translateY(8px); }
.app-v5 .subscription-scene img:nth-child(3) { transform: rotate(8deg) translateY(8px); }
.app-v5 .travel-scene::before { width: 180px; height: 88px; content: ""; background: linear-gradient(180deg, rgba(130,246,255,.66), rgba(70,173,221,.18)); border-radius: 50% 50% 16% 16%; box-shadow: inset 0 -24px 0 rgba(8,94,122,.42); }
.app-v5 .travel-scene i { position: absolute; left: 50%; bottom: 36px; width: 2px; height: 73px; background: rgba(255,255,255,.75); transform: rotate(38deg); }
.app-v5 .travel-scene i::after { position: absolute; top: -18px; left: -29px; width: 58px; height: 25px; content: ""; background: #e9ffff; border-radius: 70% 10% 55% 10%; transform: rotate(-35deg); }
.app-v5 .travel-scene b { position: absolute; right: 13px; bottom: 11px; color: rgba(255,255,255,.43); font-size: 10px; letter-spacing: .19em; }
.app-v5 .choice-product-copy { position: relative; z-index: 2; }
.app-v5 .choice-product-copy small { color: #9ff8ec; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.app-v5 .choice-product h3 { margin: 5px 0 6px; color: #fff; font-size: clamp(22px, 6.2vw, 29px); line-height: 1.05; letter-spacing: -.04em; }
.app-v5 .choice-product-copy p { margin: 0; color: #c7e9f4; font-size: 11px; line-height: 1.46; }
.app-v5 .choice-product-bottom { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; align-self: end; }
.app-v5 .choice-product-bottom > div { min-width: 0; padding: 12px; background: rgba(2,18,48,.27); border: 1px solid rgba(255,255,255,.17); border-radius: 16px; }
.app-v5 .choice-product-bottom strong { display: block; overflow: hidden; color: #fff; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.app-v5 .choice-product-bottom small { display: block; margin-top: 4px; color: #b6d8e6; font-size: 8px; }
.app-v5 .product-cta { position: relative; z-index: 3; grid-column: 1 / -1; min-height: 48px; margin-top: 1px; color: #092843; background: linear-gradient(135deg, #fff, #b9fff5); border: 0; border-radius: 16px; font-size: 12px; font-weight: 820; }
.app-v5 .choice-product.not-ready .product-cta { color: #d7f0f5; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); }

.app-v5 .connection-notice { display: grid; grid-template-columns: 58px 1fr; gap: 14px; align-items: center; margin-top: 17px; padding: 18px; border-radius: 24px; }
.app-v5 .connection-icon { display: grid; width: 58px; height: 58px; background: linear-gradient(145deg, #bdfaff, #8da9ff); border-radius: 18px; place-items: center; }
.app-v5 .connection-icon img { width: 49px; }
.app-v5 .connection-notice small { color: #1877bb; font-size: 9px; font-weight: 830; letter-spacing: .1em; text-transform: uppercase; }
.app-v5 .connection-notice h2 { margin: 3px 0 5px; font-size: 17px; }
.app-v5 .connection-notice p { margin: 0; color: var(--nx-muted); font-size: 10px; line-height: 1.45; }
.app-v5 .connection-notice > span { grid-column: 1 / -1; justify-self: start; padding: 7px 10px; color: #315777; background: #e3f3ff; border-radius: 999px; font-size: 9px; font-weight: 760; }

.app-v5 .owned-card { position: relative; display: block; width: 100%; aspect-ratio: 1.59; padding: 21px; overflow: hidden; color: #fff; text-align: left; background: radial-gradient(circle at 86% 7%, rgba(85,246,224,.45), transparent 30%), linear-gradient(145deg, #061a36, #0b4e96 62%, #03a4aa); border: 1px solid rgba(174,249,252,.48); border-radius: 28px; box-shadow: 0 26px 49px rgba(13,58,107,.25); }
.app-v5 .owned-card-top,
.app-v5 .owned-card-bottom { display: flex; align-items: center; justify-content: space-between; }
.app-v5 .owned-brand { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 800; }
.app-v5 .owned-brand img { width: 28px; }
.app-v5 .owned-network { width: 74px; height: 30px; border-radius: 9px; object-fit: contain; }
.app-v5 .owned-card-chip { display: flex; align-items: center; gap: 10px; margin-top: 12%; }
.app-v5 .owned-card-chip i { width: 44px; height: 33px; background: linear-gradient(145deg, #f9df9a, #b8903e); border-radius: 9px; }
.app-v5 .owned-card > strong { display: block; margin-top: 8%; font-size: clamp(16px, 5vw, 23px); letter-spacing: .12em; }
.app-v5 .owned-card-bottom { position: absolute; right: 21px; bottom: 20px; left: 21px; }
.app-v5 .owned-card-bottom span { color: #bfe4ef; font-size: 9px; text-transform: uppercase; }
.app-v5 .owned-card-bottom b { font-size: 15px; }
.app-v5 .owned-card.frozen { filter: saturate(.35); }

.app-v5 .shop-hero { color: #fff; background: radial-gradient(circle at 85% 5%, rgba(255,208,116,.48), transparent 31%), linear-gradient(145deg, #24143b, #6743ca 58%, #ff765e); border-color: rgba(255,229,204,.5); }
.app-v5 .shop-hero h1,
.app-v5 .shop-hero p,
.app-v5 .shop-hero small { color: #fff; }
.app-v5 .shop-hero p { color: #f7dcf2; max-width: 60%; }
.app-v5 .shop-hero-visual { position: absolute; right: 5%; bottom: 20px; width: 125px; height: 155px; }
.app-v5 .shop-hero-visual span { position: absolute; z-index: 4; display: grid; inset: 19px 8px 0 24px; color: #fff; background: linear-gradient(145deg, #ffbb66, #ff5d7e); border: 1px solid rgba(255,255,255,.43); border-radius: 27px 27px 34px 34px; box-shadow: 0 24px 35px rgba(41,16,76,.3); font-size: 31px; place-items: center; }
.app-v5 .shop-hero-visual span::before { position: absolute; top: -22px; left: 27px; width: 48px; height: 42px; content: ""; border: 8px solid #ffd9a6; border-bottom: 0; border-radius: 24px 24px 0 0; }
.app-v5 .shop-hero-visual i,
.app-v5 .shop-hero-visual em { position: absolute; inset: 0 22px 12px 5px; background: rgba(255,255,255,.2); border-radius: 24px; transform: rotate(-13deg); }
.app-v5 .shop-hero-visual em { inset: 6px 0 6px 18px; transform: rotate(13deg); }

.app-v5 .catalog-grid { display: grid; gap: 14px; }
.app-v5 .catalog-card { overflow: hidden; background: rgba(255,255,255,.82); border: 1px solid rgba(255,255,255,.95); border-radius: 25px; box-shadow: var(--nx-shadow); }
.app-v5 .catalog-card-art { position: relative; display: grid; min-height: 190px; overflow: hidden; background: linear-gradient(145deg, #d9f6ff, #b3c4ff); place-items: center; }
.app-v5 .catalog-card-art::after { position: absolute; inset: 0; content: ""; background: radial-gradient(circle at 80% 5%, rgba(255,255,255,.9), transparent 34%); }
.app-v5 .catalog-card-art > span { position: relative; z-index: 2; display: grid; width: 105px; height: 105px; overflow: hidden; color: #fff; background: linear-gradient(145deg, #1268ff, #07cbd1); border-radius: 30px; box-shadow: 0 21px 37px rgba(22,91,181,.25); font-size: 37px; place-items: center; }
.app-v5 .catalog-card-art img { width: 100%; height: 100%; object-fit: cover; }
.app-v5 .catalog-card-art > b { position: absolute; top: 14px; right: 14px; z-index: 3; padding: 7px 10px; color: #fff; background: #1268ff; border-radius: 999px; font-size: 9px; }
.app-v5 .catalog-card-body { padding: 18px; }
.app-v5 .catalog-card-body > small { color: #1673b9; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.app-v5 .catalog-card h3 { margin: 5px 0 6px; font-size: 21px; letter-spacing: -.03em; }
.app-v5 .catalog-card p { margin: 0; color: var(--nx-muted); font-size: 11px; line-height: 1.48; }
.app-v5 .catalog-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; }
.app-v5 .catalog-card-foot strong { font-size: 16px; }
.app-v5 .catalog-card-foot button { min-height: 44px; padding: 0 15px; color: #fff; background: linear-gradient(135deg, #1268ff, #3448ec); border: 0; border-radius: 14px; font-size: 11px; font-weight: 760; }
.app-v5 .catalog-empty { background: rgba(255,255,255,.76); border: 1px solid rgba(255,255,255,.95); border-radius: 25px; box-shadow: var(--nx-shadow); }

.app-v5 .services-hero { padding-right: 35%; background: radial-gradient(circle at 91% 5%, rgba(40,237,224,.42), transparent 33%), linear-gradient(145deg, rgba(255,255,255,.9), rgba(218,245,255,.84)); }
.app-v5 .services-orbit { position: absolute; right: 4%; bottom: 44px; display: grid; width: 126px; height: 126px; background: linear-gradient(145deg, #bffcff, #8eabff); border-radius: 42px; box-shadow: 0 25px 43px rgba(29,103,175,.2); transform: rotate(7deg); place-items: center; }
.app-v5 .services-orbit img { position: relative; z-index: 3; width: 88px; filter: drop-shadow(0 12px 18px rgba(17,60,115,.2)); }
.app-v5 .services-orbit i,
.app-v5 .services-orbit em { position: absolute; width: 18px; height: 18px; background: #fff; border-radius: 6px; box-shadow: 0 9px 20px rgba(22,83,146,.17); }
.app-v5 .services-orbit i { top: -12px; right: 7px; }
.app-v5 .services-orbit em { bottom: 3px; left: -12px; background: #52eadf; }
.app-v5 .ecosystem-intro { display: flex; align-items: center; gap: 13px; margin: 14px 0; padding: 14px; border-radius: 21px; }
.app-v5 .ecosystem-intro > span { display: grid; flex: 0 0 49px; width: 49px; height: 49px; background: linear-gradient(145deg, #d7fbff, #b8cfff); border-radius: 16px; place-items: center; }
.app-v5 .ecosystem-intro img { width: 42px; }
.app-v5 .ecosystem-intro b { display: block; font-size: 13px; }
.app-v5 .ecosystem-intro p { margin: 4px 0 0; color: var(--nx-muted); font-size: 10px; line-height: 1.42; }

.app-v5 .service-grid { display: grid; gap: 15px; }
.app-v5 .service-card { position: relative; min-height: 350px; padding: 20px; overflow: hidden; color: #fff; background: radial-gradient(circle at 87% 6%, rgba(83,246,229,.4), transparent 31%), linear-gradient(145deg, #05172f, #07558a 58%, #09a8a9); border: 1px solid rgba(162,250,246,.5); border-radius: 31px; box-shadow: 0 27px 55px rgba(17,68,121,.25); }
.app-v5 .service-card.service-ai { background: radial-gradient(circle at 88% 7%, rgba(171,116,255,.42), transparent 31%), linear-gradient(145deg, #0c1233, #313887 56%, #7748d6); }
.app-v5 .service-card::after { position: absolute; right: -86px; bottom: -110px; width: 260px; height: 260px; content: ""; border: 34px solid rgba(255,255,255,.08); border-radius: 50%; }
.app-v5 .service-visual { position: relative; z-index: 2; display: grid; min-height: 145px; padding: 13px; overflow: hidden; background: rgba(1,18,46,.2); border: 1px solid rgba(255,255,255,.17); border-radius: 22px; place-items: center; }
.app-v5 .service-visual img { width: min(100%, 290px); filter: drop-shadow(0 17px 30px rgba(0,16,48,.3)); }
.app-v5 .service-card-badge { position: absolute; top: 13px; right: 13px; z-index: 3; padding: 7px 10px; color: #0b3550; background: #abfff0; border-radius: 999px; font-size: 9px; font-weight: 830; }
.app-v5 .service-card.service-ai .service-card-badge { color: #fff; background: #7556eb; }
.app-v5 .service-card-copy { position: relative; z-index: 2; margin-top: 16px; }
.app-v5 .service-card-copy small { color: #8df5e8; font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.app-v5 .service-card h2 { margin: 5px 0 6px; font-size: 27px; letter-spacing: -.04em; }
.app-v5 .service-card p { margin: 0; color: #c5e6ef; font-size: 11px; line-height: 1.48; }
.app-v5 .service-card-foot { position: relative; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 17px; }
.app-v5 .service-card-foot strong { font-size: 15px; }
.app-v5 .service-card-foot button { min-width: 120px; min-height: 48px; padding: 0 15px; color: #092a43; background: linear-gradient(135deg, #fff, #b6fff4); border: 0; border-radius: 15px; font-size: 11px; font-weight: 820; }
.app-v5 .service-card-foot button:disabled { color: #dde7fb; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.2); }

.app-v5 .profile-heading { padding: 20px 4px 14px; }
.app-v5 .profile-heading h1 { font-size: clamp(36px, 9vw, 54px); }
.app-v5 .profile-card { display: grid; grid-template-columns: 73px 1fr auto; align-items: center; gap: 14px; padding: 18px; border-radius: 27px; }
.app-v5 .profile-avatar { display: grid; width: 73px; height: 73px; padding: 3px; overflow: hidden; color: #fff; background: linear-gradient(145deg, #09cbd1, #1268ff 62%, #7356f5); border-radius: 24px; box-shadow: 0 14px 28px rgba(30,101,188,.22); place-items: center; }
.app-v5 .profile-avatar img,
.app-v5 .profile-avatar b { width: 100%; height: 100%; border: 2px solid rgba(255,255,255,.8); border-radius: 20px; object-fit: cover; }
.app-v5 .profile-avatar b { display: grid; background: rgba(7,30,71,.35); font-size: 25px; place-items: center; }
.app-v5 .profile-card > div > small { color: #2872aa; font-size: 9px; font-weight: 780; text-transform: uppercase; }
.app-v5 .profile-card h2 { margin: 4px 0 3px; font-size: 19px; letter-spacing: -.03em; }
.app-v5 .profile-card p { margin: 0; color: var(--nx-muted); font-size: 11px; }
.app-v5 .verified-chip { display: grid; width: 32px; height: 32px; color: #fff; background: #13b995; border-radius: 12px; box-shadow: 0 9px 19px rgba(19,185,149,.22); font-weight: 900; place-items: center; }
.app-v5 .profile-balance-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 13px; padding: 19px; border-radius: 24px; }
.app-v5 .profile-balance-row small { display: block; color: var(--nx-muted); font-size: 9px; }
.app-v5 .profile-balance-row b { display: inline-block; margin-top: 3px; font-size: 27px; letter-spacing: -.05em; }
.app-v5 .profile-balance-row div > span { margin-left: 7px; color: #08717f; font-size: 9px; font-weight: 800; }
.app-v5 .profile-balance-row button { min-height: 48px; padding: 0 17px; color: #fff; background: linear-gradient(135deg, #1268ff, #3a4cec); border: 0; border-radius: 15px; box-shadow: 0 12px 24px rgba(34,85,226,.22); font-size: 11px; font-weight: 790; }
.app-v5 .account-assurance { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 13px; padding: 7px; border-radius: 24px; }
.app-v5 .account-assurance > div { padding: 14px 10px; }
.app-v5 .account-assurance > div + div { border-left: 1px solid var(--nx-line); }
.app-v5 .account-assurance span { display: grid; width: 32px; height: 32px; margin-bottom: 8px; color: #fff; background: linear-gradient(145deg, #15bda4, #1590d9); border-radius: 11px; font-size: 13px; font-weight: 850; place-items: center; }
.app-v5 .account-assurance b { display: block; font-size: 10px; }
.app-v5 .account-assurance small { display: block; margin-top: 4px; color: var(--nx-muted); font-size: 8.5px; }
.app-v5 .settings-list { margin-top: 14px; overflow: hidden; background: rgba(255,255,255,.8); border: 1px solid rgba(255,255,255,.96); border-radius: 25px; box-shadow: var(--nx-shadow); }
.app-v5 .settings-list > button,
.app-v5 .settings-list > a { display: grid; grid-template-columns: 43px 1fr auto; align-items: center; width: 100%; min-height: 72px; gap: 11px; padding: 10px 14px; color: var(--nx-ink); text-align: left; text-decoration: none; background: transparent; border: 0; border-bottom: 1px solid var(--nx-line); }
.app-v5 .settings-list > :last-child { border-bottom: 0; }
.app-v5 .settings-list > * > span { display: grid; width: 43px; height: 43px; color: #176fbd; background: #e6f4ff; border-radius: 14px; font-size: 16px; font-weight: 790; place-items: center; }
.app-v5 .settings-list b { display: block; font-size: 12px; }
.app-v5 .settings-list small { display: block; margin-top: 4px; color: var(--nx-muted); font-size: 9px; }
.app-v5 .settings-list i { color: #2875ad; font-style: normal; }
.app-v5 .ecosystem-note { display: flex; align-items: center; gap: 9px; margin-top: 16px; padding: 13px; color: #315371; background: rgba(231,244,253,.74); border: 1px solid rgba(255,255,255,.95); border-radius: 18px; }
.app-v5 .ecosystem-note img { width: 38px; }
.app-v5 .ecosystem-note div { flex: 1; }
.app-v5 .ecosystem-note b { display: block; font-size: 11px; }
.app-v5 .ecosystem-note small { display: block; margin-top: 2px; color: var(--nx-muted); font-size: 8px; }
.app-v5 .ecosystem-note > span { font-size: 9px; font-weight: 730; }

.app-v5 .app-bottom-nav {
  position: fixed;
  z-index: 60;
  right: max(12px, calc((100% - 720px) / 2));
  bottom: max(10px, env(safe-area-inset-bottom));
  left: max(12px, calc((100% - 720px) / 2));
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  min-height: 76px;
  padding: 7px;
  overflow: hidden;
  background: rgba(246, 251, 255, .82);
  border: 1px solid rgba(255,255,255,.95);
  border-radius: 25px;
  box-shadow: 0 22px 52px rgba(10, 46, 88, .24), inset 0 1px 0 #fff;
  -webkit-backdrop-filter: blur(30px) saturate(170%);
  backdrop-filter: blur(30px) saturate(170%);
}
.app-v5 .app-bottom-nav button { position: relative; display: grid; min-width: 0; min-height: 61px; padding: 5px 2px; color: #5f748c; background: transparent; border: 0; border-radius: 18px; place-items: center; }
.app-v5 .nav-icon { position: relative; z-index: 2; display: grid; width: 36px; height: 34px; border-radius: 12px; place-items: center; transition: .2s ease; }
.app-v5 .nav-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.app-v5 .app-bottom-nav b { position: relative; z-index: 2; font-size: clamp(7.5px, 2.25vw, 10px); font-weight: 720; }
.app-v5 .app-bottom-nav button.active { color: #fff; }
.app-v5 .app-bottom-nav button.active::before { position: absolute; inset: 0; content: ""; border-radius: 18px; box-shadow: 0 10px 20px rgba(21, 92, 181, .22); }
.app-v5 .nav-home.active::before { background: linear-gradient(145deg, #1477ff, #2453e8); }
.app-v5 .nav-cards.active::before { background: linear-gradient(145deg, #755cff, #4438d8); }
.app-v5 .nav-shop.active::before { background: linear-gradient(145deg, #ff9b4e, #f45f69); }
.app-v5 .nav-services.active::before { background: linear-gradient(145deg, #13cdd3, #078aa9); }
.app-v5 .nav-profile.active::before { background: linear-gradient(145deg, #3d668d, #173a62); }
.app-v5 .app-bottom-nav button.active .nav-icon { transform: translateY(-1px); }

.app-v5.sheet-open { overflow: hidden; }
.app-v5 .sheet { position: fixed; inset: 0; z-index: 100; visibility: hidden; pointer-events: none; }
.app-v5 .sheet.open { visibility: visible; pointer-events: auto; }
.app-v5 .sheet-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; background: rgba(4, 17, 38, .54); border: 0; opacity: 0; transition: opacity .24s ease; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.app-v5 .sheet.open .sheet-backdrop { opacity: 1; }
.app-v5 .sheet-panel { position: absolute; right: 0; bottom: 0; left: 0; width: min(100%, 680px); max-height: min(92dvh, 940px); margin: 0 auto; padding: 10px clamp(17px, 5vw, 28px) calc(24px + env(safe-area-inset-bottom)); overflow-y: auto; color: var(--nx-ink); background: linear-gradient(160deg, rgba(250,253,255,.98), rgba(230,244,255,.98)); border: 1px solid rgba(255,255,255,.98); border-bottom: 0; border-radius: 30px 30px 0 0; box-shadow: 0 -24px 65px rgba(7,35,72,.25); transform: translateY(104%); transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.app-v5 .sheet.open .sheet-panel { transform: translateY(0); }
.app-v5 .sheet-handle { width: 42px; height: 5px; margin: 0 auto 14px; background: #bdd1e1; border-radius: 999px; }
.app-v5 .sheet-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.app-v5 .sheet-header small { color: #1675bb; font-size: 9px; font-weight: 820; letter-spacing: .11em; text-transform: uppercase; }
.app-v5 .sheet-header h2 { margin: 4px 0 0; font-size: clamp(24px, 6vw, 32px); letter-spacing: -.045em; }
.app-v5 .icon-button { display: grid; flex: 0 0 46px; width: 46px; height: 46px; color: #315572; background: rgba(255,255,255,.78); border: 1px solid rgba(34,101,157,.12); border-radius: 15px; font-size: 25px; place-items: center; }
.app-v5 .rate-live-card,
.app-v5 .funding-balance-card { padding: 17px; color: #fff; background: radial-gradient(circle at 87% 4%, rgba(85,246,226,.4), transparent 34%), linear-gradient(145deg, #061b38, #0d5198 63%, #05a2a9); border: 1px solid rgba(157,247,247,.44); border-radius: 22px; box-shadow: 0 19px 37px rgba(14,65,119,.2); }
.app-v5 .rate-live-card > span { display: flex; align-items: center; gap: 7px; color: #a9e9ed; font-size: 10px; font-weight: 760; }
.app-v5 .rate-live-card > span i { width: 7px; height: 7px; background: #59ebd7; border-radius: 50%; box-shadow: 0 0 0 5px rgba(89,235,215,.12); }
.app-v5 .rate-live-card strong,
.app-v5 .funding-balance-card strong { display: block; margin-top: 8px; font-size: 28px; letter-spacing: -.045em; }
.app-v5 .rate-live-card small,
.app-v5 .funding-balance-card small { display: block; margin-top: 4px; color: #b9dfe8; font-size: 9px; }
.app-v5 .amount-field { display: grid; grid-template-columns: 47px 1fr; align-items: center; min-height: 77px; margin-top: 14px; padding: 8px 15px; background: rgba(255,255,255,.88); border: 1px solid rgba(25,113,173,.15); border-radius: 21px; box-shadow: 0 11px 27px rgba(33,92,146,.08); }
.app-v5 .amount-field > span { color: #1681b8; font-size: 24px; font-weight: 760; }
.app-v5 .amount-field input { width: 100%; min-width: 0; padding: 0; color: var(--nx-ink); background: transparent; border: 0; outline: 0; font-size: clamp(29px, 8vw, 42px); font-weight: 760; letter-spacing: -.04em; }
.app-v5 .amount-presets { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 7px; margin-top: 9px; }
.app-v5 .amount-presets button { min-height: 44px; padding: 0 6px; color: #315675; background: rgba(255,255,255,.74); border: 1px solid rgba(28,106,165,.13); border-radius: 14px; font-size: 10px; font-weight: 720; }
.app-v5 .amount-presets button.selected { color: #fff; background: linear-gradient(135deg, #1268ff, #3a4dea); border-color: transparent; box-shadow: 0 10px 20px rgba(30,84,226,.2); }
.app-v5 .payment-methods-wrap { margin-top: 18px; }
.app-v5 .field-heading { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin: 0 2px 9px; }
.app-v5 .field-heading b { font-size: 13px; }
.app-v5 .field-heading small { color: var(--nx-muted); font-size: 9px; }
.app-v5 .payment-methods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.app-v5 .payment-method { position: relative; min-width: 0; min-height: 108px; padding: 10px 6px; color: #31516d; background: rgba(255,255,255,.75); border: 1px solid rgba(28,105,164,.13); border-radius: 19px; }
.app-v5 .payment-method img { width: 47px; height: 47px; margin: 0 auto 8px; border-radius: 14px; object-fit: contain; }
.app-v5 .payment-method b { display: block; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.app-v5 .payment-method.selected { color: #0e4f83; background: linear-gradient(150deg, #fff, #dff7ff); border: 2px solid #1797df; box-shadow: 0 12px 27px rgba(24,133,205,.15); }
.app-v5 .payment-method.selected::after { position: absolute; top: 7px; right: 7px; display: grid; width: 19px; height: 19px; color: #fff; content: "✓"; background: #159ed1; border-radius: 7px; font-size: 10px; font-weight: 900; place-items: center; }
.app-v5 .quote-placeholder,
.app-v5 .quote-summary { margin-top: 14px; padding: 15px; background: rgba(255,255,255,.8); border: 1px solid rgba(28,105,164,.13); border-radius: 20px; }
.app-v5 .quote-placeholder { display: flex; align-items: center; gap: 10px; color: var(--nx-muted); }
.app-v5 .quote-placeholder > span { display: grid; flex: 0 0 31px; width: 31px; height: 31px; color: #fff; background: #1c85c9; border-radius: 10px; font-size: 12px; font-weight: 800; place-items: center; }
.app-v5 .quote-placeholder p { margin: 0; font-size: 10px; line-height: 1.4; }
.app-v5 .quote-summary > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 34px; color: #527087; font-size: 10px; }
.app-v5 .quote-summary strong { color: var(--nx-ink); font-size: 12px; }
.app-v5 .quote-summary .quote-total { margin-top: 7px; padding-top: 11px; border-top: 1px solid var(--nx-line); }
.app-v5 .quote-summary .quote-total strong { color: #0d8f8e; font-size: 19px; }
.app-v5 .quote-summary > small { display: block; margin-top: 8px; color: #5b7189; font-size: 8px; }
.app-v5 .field-error { margin: 10px 2px 0; color: #bd334f; font-size: 10px; }
.app-v5 .button-primary,
.app-v5 .button-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; border-radius: 15px; font-size: 12px; font-weight: 800; }
.app-v5 .button-primary { color: #fff; background: linear-gradient(135deg, #1268ff, #3749e9); border: 0; box-shadow: 0 14px 28px rgba(34,84,225,.23); }
.app-v5 .button-secondary { color: #1d567e; background: rgba(255,255,255,.76); border: 1px solid rgba(30,109,168,.14); }
.app-v5 .button-wide { width: 100%; margin-top: 11px; min-height: 54px; }
.app-v5 .button:disabled,
.app-v5 button:disabled { cursor: not-allowed; opacity: .58; }
.app-v5 .button-spinner { width: 17px; height: 17px; margin-right: 8px; border: 2px solid rgba(255,255,255,.38); border-top-color: #fff; border-radius: 50%; animation: nx-spin .8s linear infinite; }
@keyframes nx-spin { to { transform: rotate(360deg); } }
.app-v5 .sheet-disclaimer { margin: 12px 3px 0; color: #5b7189; font-size: 9px; line-height: 1.5; text-align: center; }
.app-v5 .choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 13px; }
.app-v5 .choice-grid button { min-height: 46px; color: #315675; background: rgba(255,255,255,.74); border: 1px solid rgba(28,106,165,.13); border-radius: 14px; font-size: 10px; }
.app-v5 .choice-grid button.selected { color: #fff; background: linear-gradient(135deg,#1268ff,#3a4dea); border-color: transparent; }
.app-v5 .toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 68px; margin-top: 12px; padding: 12px 14px; background: rgba(255,255,255,.72); border: 1px solid rgba(28,106,165,.12); border-radius: 18px; }
.app-v5 .toggle-row b { display: block; font-size: 11px; }
.app-v5 .toggle-row small { display: block; margin-top: 4px; color: var(--nx-muted); font-size: 8px; }
.app-v5 .toggle-row input { position: absolute; opacity: 0; pointer-events: none; }
.app-v5 .toggle-row > i { position: relative; flex: 0 0 45px; width: 45px; height: 26px; background: #b5c7d6; border-radius: 999px; }
.app-v5 .toggle-row > i::after { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; content: ""; background: #fff; border-radius: 50%; box-shadow: 0 3px 7px rgba(17,53,84,.22); transition: transform .18s ease; }
.app-v5 .toggle-row input:checked + i { background: linear-gradient(90deg,#1268ff,#08bfc4); }
.app-v5 .toggle-row input:checked + i::after { transform: translateX(19px); }
.app-v5 .selected-product { min-height: 83px; padding: 14px; background: rgba(255,255,255,.76); border: 1px solid rgba(28,106,165,.13); border-radius: 19px; }
.app-v5 .selected-product > div { display: flex; flex-direction: column; justify-content: center; }
.app-v5 .selected-product h3 { margin: 4px 0; font-size: 16px; }
.app-v5 .selected-product p { margin: 0; color: var(--nx-muted); font-size: 9px; }
.app-v5 .product-network { color: #1874b8; font-size: 8px; font-weight: 820; letter-spacing: .1em; }
.app-v5 .status-pill { float: right; padding: 6px 9px; color: #08735f; background: #d7fff5; border-radius: 999px; font-size: 9px; font-weight: 780; }
.app-v5 .mini-card-preview { position: relative; aspect-ratio: 1.59; padding: 21px; color: #fff; background: radial-gradient(circle at 86% 7%, rgba(85,246,224,.45), transparent 30%), linear-gradient(145deg,#061a36,#0b4e96 62%,#03a4aa); border: 1px solid rgba(174,249,252,.48); border-radius: 27px; box-shadow: 0 25px 44px rgba(13,58,107,.24); }
.app-v5 .mini-card-preview > div { display: flex; justify-content: space-between; font-size: 11px; font-weight: 780; }
.app-v5 .mini-card-preview > strong { position: absolute; left: 21px; bottom: 56px; font-size: clamp(17px,5vw,24px); letter-spacing: .13em; }
.app-v5 .mini-card-preview > small { position: absolute; left: 21px; bottom: 25px; color: #bce4ed; font-size: 9px; }
.app-v5 .card-details-balance { display: flex; align-items: center; justify-content: space-between; min-height: 65px; margin-top: 11px; padding: 13px 15px; background: rgba(255,255,255,.76); border: 1px solid rgba(28,106,165,.12); border-radius: 18px; }
.app-v5 .card-details-balance span { color: var(--nx-muted); font-size: 10px; }
.app-v5 .card-details-balance b { font-size: 22px; }
.app-v5 .details-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 11px; }
.app-v5 .secure-details { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; padding: 13px; background: rgba(255,255,255,.78); border: 1px solid rgba(28,106,165,.13); border-radius: 19px; }
.app-v5 .secure-details > div { padding: 10px; background: #edf7ff; border-radius: 13px; }
.app-v5 .secure-details span { display: block; color: var(--nx-muted); font-size: 8px; }
.app-v5 .secure-details b { display: block; margin-top: 4px; font-size: 11px; word-break: break-all; }
.app-v5 .secure-details > small { grid-column: 1 / -1; color: var(--nx-muted); font-size: 8px; line-height: 1.45; }
.app-v5 .card-freeze-link { width: 100%; min-height: 46px; margin-top: 10px; color: #b33b53; background: transparent; border: 0; font-size: 10px; font-weight: 750; }
.app-v5 .funding-balance-card > span { color: #b6e2ea; font-size: 10px; }

.app-v5 .app-loading { padding: 30px 0; }
.app-v5 .skeleton { overflow: hidden; background: linear-gradient(100deg,#dfeaf4 20%,#f8fcff 40%,#dfeaf4 60%); background-size: 200% 100%; border-radius: 18px; animation: nx-shimmer 1.35s infinite linear; }
.app-v5 .skeleton-title { width: 64%; height: 36px; }
.app-v5 .skeleton-card { height: 330px; margin-top: 18px; border-radius: 30px; }
.app-v5 .skeleton-row { height: 96px; margin-top: 14px; }
@keyframes nx-shimmer { to { background-position: -200% 0; } }
.app-v5 .app-error { max-width: 520px; margin: 80px auto 0; padding: 28px; text-align: center; background: rgba(255,255,255,.83); border: 1px solid rgba(255,255,255,.97); border-radius: 28px; box-shadow: var(--nx-shadow); }
.app-v5 .state-icon { display: grid; width: 58px; height: 58px; margin: 0 auto 14px; color: #fff; background: linear-gradient(145deg,#ff7661,#db3b65); border-radius: 19px; font-size: 27px; font-weight: 850; place-items: center; }
.app-v5 .app-error h1 { margin: 0; font-size: 23px; }
.app-v5 .app-error p { margin: 9px 0 18px; color: var(--nx-muted); font-size: 12px; line-height: 1.5; }
.app-v5 .toast-region { position: fixed; z-index: 160; right: 14px; bottom: calc(99px + env(safe-area-inset-bottom)); left: 14px; display: grid; gap: 8px; pointer-events: none; }
.app-v5 .toast { display: flex; align-items: center; gap: 10px; width: min(100%, 520px); margin: 0 auto; padding: 12px 14px; color: #fff; background: rgba(5,29,61,.94); border: 1px solid rgba(255,255,255,.16); border-radius: 17px; box-shadow: 0 18px 40px rgba(4,24,51,.27); opacity: 0; transform: translateY(12px); transition: .2s ease; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.app-v5 .toast.visible { opacity: 1; transform: translateY(0); }
.app-v5 .toast > span { display: grid; width: 28px; height: 28px; color: #073c3a; background: #62efda; border-radius: 9px; font-weight: 900; place-items: center; }
.app-v5 .toast.error > span { color: #fff; background: #e65068; }
.app-v5 .toast p { margin: 0; font-size: 10px; line-height: 1.35; }

@media (min-width: 720px) {
  .app-v5 .home-view.active { display: grid; grid-template-columns: minmax(0,.9fr) minmax(380px,1.1fr); gap: 17px; align-items: start; }
  .app-v5 .hero-copy { align-self: center; padding: 40px 18px; }
  .app-v5 .payment-status-banner,
  .app-v5 .brand-cloud,
  .app-v5 .trust-ribbon,
  .app-v5 .marketing-card,
  .app-v5 .activity-block { grid-column: 1 / -1; }
  .app-v5 .wallet-hero { min-height: 390px; }
  .app-v5 .brand-cloud { grid-template-columns: .85fr 1.15fr; align-items: center; }
  .app-v5 .brand-cloud-logos { grid-template-columns: repeat(8,minmax(0,1fr)); }
  .app-v5 .brand-cloud-logos span.wide { grid-column: span 2; }
  .app-v5 .marketing-card { min-height: 360px; }
  .app-v5 .marketing-card-copy { max-width: 55%; }
  .app-v5 .card-stack { right: 5%; bottom: 32px; width: 38%; }
  .app-v5 .home-cards-block { grid-column: 1; }
  .app-v5 .home-shortcuts { grid-column: 2; align-self: end; margin-top: 74px; }
  .app-v5 .product-list,
  .app-v5 .catalog-grid,
  .app-v5 .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .app-v5 .choice-product { min-height: 462px; }
  .app-v5 .connection-notice { grid-template-columns: 66px 1fr auto; }
  .app-v5 .connection-notice > span { grid-column: auto; }
  .app-v5 .profile-card,
  .app-v5 .profile-balance-row,
  .app-v5 .account-assurance,
  .app-v5 .settings-list,
  .app-v5 .ecosystem-note { max-width: 720px; margin-right: auto; margin-left: auto; }
}

@media (max-width: 430px) {
  .app-v5 .security-pill { display: none; }
  .app-v5 .marketing-card { padding-bottom: 198px; }
  .app-v5 .card-stack { right: 8%; bottom: -44px; width: 84%; }
  .app-v5 .services-hero { min-height: 300px; padding-right: 24px; padding-bottom: 145px; }
  .app-v5 .services-orbit { right: 50%; bottom: 18px; width: 112px; height: 112px; transform: translateX(50%) rotate(7deg); }
  .app-v5 .services-orbit img { width: 79px; }
}

@media (max-width: 354px) {
  .app-v5 .app-shell { padding-right: 11px; padding-left: 11px; }
  .app-v5 .brand > span { font-size: 18px; }
  .app-v5 .brand img { width: 42px; height: 42px; margin-right: 6px; }
  .app-v5 .trust-ribbon b { font-size: 9px; }
  .app-v5 .trust-ribbon small { display: none; }
  .app-v5 .wallet-hero-actions { grid-template-columns: 1fr; }
  .app-v5 .home-shortcuts { grid-template-columns: 1fr; }
  .app-v5 .payment-methods { grid-template-columns: 1fr; }
  .app-v5 .payment-method { display: grid; grid-template-columns: 48px 1fr; align-items: center; min-height: 66px; text-align: left; }
  .app-v5 .payment-method img { margin: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .app-v5 *, .app-v5 *::before, .app-v5 *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Legibility floor for compact iPhone WebViews. Decorative type stays compact,
   while every explanatory label remains readable without zoom. */
body.app-v5 .app-shell small,
body.app-v5 .sheet small { font-size: 11px; }
body.app-v5 .app-bottom-nav b { font-size: clamp(9.5px, 2.65vw, 11px); }
body.app-v5 .app-shell .choice-product-tags span,
body.app-v5 .app-shell .payment-method b,
body.app-v5 .app-shell .marketing-kicker,
body.app-v5 .app-shell .capability-note p,
body.app-v5 .app-shell .wallet-security,
body.app-v5 .sheet .quote-placeholder p,
body.app-v5 .sheet .quote-summary > div,
body.app-v5 .sheet .choice-grid button,
body.app-v5 .toast p { font-size: 11px; }
