:root {
  --green-950: #063c28;
  --green-900: #074b31;
  --green-800: #0b5d3a;
  --green-700: #147543;
  --green-600: #2e9f45;
  --green-100: #e4f2e7;
  --green-50: #f2f8f2;
  --blue-950: #062e46;
  --blue-900: #0b4a6f;
  --blue-800: #105d83;
  --gold-500: #f4b400;
  --gold-400: #ffc72c;
  --red-500: #f42a41;
  --ink: #102a24;
  --muted: #64766f;
  --line: #d9e3df;
  --surface: #ffffff;
  --canvas: #f4f7f1;
  --shadow-sm: 0 8px 24px rgba(6, 60, 40, 0.08);
  --shadow-md: 0 18px 44px rgba(6, 46, 70, 0.16);
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  color-scheme: light;
  font-family: "Noto Sans Bengali", "Nirmala UI", "Hind Siliguri", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  min-height: 100%;
  background: var(--canvas);
  color: var(--ink);
  font-size: 16px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body {
  min-width: 320px;
  min-height: 100%;
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  overflow-x: hidden;
}

button,
input,
select,
textarea {
  font: inherit;
}

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

button {
  color: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

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

svg {
  width: 1.25rem;
  height: 1.25rem;
  stroke-width: 2;
}

.hidden {
  display: none !important;
}

.app-shell {
  width: min(100%, 1120px);
  min-height: 100vh;
  margin: 0 auto;
  background: var(--canvas);
}

.screen {
  min-height: calc(100vh - 84px - var(--safe-bottom));
  padding: 0 18px calc(112px + var(--safe-bottom));
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 80;
  min-height: 76px;
  margin: 0 -18px 18px;
  padding: 12px 18px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 10px;
  color: #fff;
  background: var(--blue-900);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.topbar.home-topbar {
  grid-template-columns: 48px minmax(0, 1fr) auto 44px;
  margin-bottom: 0;
  background: var(--blue-950);
}

.topbar-brand-logo {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.72);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}

.topbar-title {
  min-width: 0;
}

.topbar-title h1 {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.01em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.topbar-title p {
  margin: 3px 0 0;
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.78rem;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.topbar-title.brand-title h1 {
  font-size: 1.2rem;
}

.icon-btn,
.language-pill,
.auth-language-toggle {
  min-width: 44px;
  min-height: 44px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 14px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  cursor: pointer;
}

.language-pill {
  min-width: 52px;
  padding: 0 12px;
  font-size: 0.82rem;
  font-weight: 800;
}

.notification-btn {
  position: relative;
}

.notification-btn > span {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--red-500);
  border: 2px solid var(--blue-950);
}

.bottom-nav {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 100;
  width: min(100%, 1120px);
  min-height: calc(76px + var(--safe-bottom));
  padding: 8px 10px calc(8px + var(--safe-bottom));
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  background: var(--blue-900);
  border-top: 1px solid rgba(255, 255, 255, 0.13);
  transform: translateX(-50%);
  box-shadow: 0 -12px 30px rgba(6, 46, 70, 0.18);
}

.bottom-nav a {
  min-height: 58px;
  padding: 6px 2px;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.72rem;
  font-weight: 700;
}

.bottom-nav a svg {
  width: 24px;
  height: 24px;
}

.bottom-nav a.active,
.bottom-nav a[aria-current="page"] {
  color: #66d64f;
  background: rgba(255, 255, 255, 0.08);
}

.section,
.form-card,
.help-detail,
.helpbook-list,
.get-account-panel,
.get-team-card,
.wealth-card,
.points-exchange-card {
  margin: 16px 0;
  padding: 18px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.first-section {
  margin-top: 0;
}

.section-title {
  min-height: 32px;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.section-title h2,
.section-title h3 {
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.35;
  font-weight: 850;
}

.section-title a,
.section-title button {
  min-width: 44px;
  min-height: 44px;
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--green-700);
  background: transparent;
  font-size: 0.82rem;
  font-weight: 800;
  cursor: pointer;
}

.primary-btn,
.secondary-btn,
.ghost-btn,
.danger-btn,
.outline-btn {
  width: 100%;
  min-height: 48px;
  padding: 11px 18px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-weight: 850;
  line-height: 1.25;
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.primary-btn {
  border: 1px solid var(--green-800);
  color: #fff;
  background: var(--green-800);
  box-shadow: 0 8px 18px rgba(11, 93, 58, 0.2);
}

.secondary-btn {
  border: 1px solid var(--gold-500);
  color: #17271f;
  background: var(--gold-500);
}

.ghost-btn,
.outline-btn {
  border: 1px solid #a9c4b4;
  color: var(--green-800);
  background: #fff;
}

.danger-btn {
  border: 1px solid #d72539;
  color: #fff;
  background: #d72539;
}

.primary-btn:hover,
.secondary-btn:hover,
.ghost-btn:hover,
.fiveb-task-cta:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

.primary-btn:active,
.secondary-btn:active,
.ghost-btn:active,
.fiveb-task-cta:active {
  transform: translateY(1px);
}

button:disabled,
.disabled {
  cursor: not-allowed !important;
  opacity: 0.48;
  box-shadow: none !important;
  transform: none !important;
}

:where(button, a, input, select, textarea):focus-visible {
  outline: 3px solid rgba(244, 180, 0, 0.58);
  outline-offset: 2px;
}

.form-stack,
.form-card {
  display: grid;
  gap: 16px;
}

.field {
  display: grid;
  gap: 8px;
}

.field > label,
.field > span:first-child {
  color: var(--ink);
  font-size: 0.82rem;
  font-weight: 800;
}

.input-wrap,
.select-wrap,
.textarea-wrap {
  min-height: 50px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid #bfd0c7;
  border-radius: 13px;
}

.input-wrap:focus-within,
.select-wrap:focus-within,
.textarea-wrap:focus-within {
  border-color: var(--green-700);
  box-shadow: 0 0 0 3px rgba(46, 159, 69, 0.12);
}

.input-wrap > svg,
.select-wrap > svg {
  flex: 0 0 auto;
  color: var(--green-700);
}

.input-wrap input,
.select-wrap select,
.textarea-wrap textarea,
.field input,
.field select,
.field textarea {
  min-width: 0;
  width: 100%;
  min-height: 46px;
  padding: 0;
  border: 0;
  outline: 0;
  color: var(--ink);
  background: transparent;
  font-size: 0.94rem;
}

.field textarea,
.textarea-wrap textarea {
  min-height: 110px;
  padding: 12px 0;
  resize: vertical;
}

.phone-prefix {
  flex: 0 0 auto;
  padding-right: 10px;
  color: var(--green-800);
  border-right: 1px solid var(--line);
  font-weight: 850;
}

.notice {
  padding: 12px 14px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #37534a;
  background: var(--green-50);
  border: 1px solid #cfe0d5;
  border-radius: 12px;
  font-size: 0.82rem;
  line-height: 1.55;
}

.notice > svg {
  flex: 0 0 auto;
  color: var(--green-700);
}

.list {
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.row,
.member,
.record,
.task,
.tier {
  width: 100%;
  min-height: 62px;
  padding: 13px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ink);
  background: var(--surface);
  border: 0;
  border-bottom: 1px solid var(--line);
  text-align: left;
}

.list > :last-child,
.row:last-child,
.record:last-child,
.member:last-child {
  border-bottom: 0;
}

button.row,
a.row {
  cursor: pointer;
}

.row:hover,
a.row:hover,
button.row:hover {
  background: var(--green-50);
}

.row-icon,
.icon-box,
.avatar {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: var(--green-800);
  background: var(--green-100);
}

.row-main {
  min-width: 0;
  flex: 1;
  display: grid;
  gap: 3px;
}

.row-main strong {
  font-size: 0.9rem;
  line-height: 1.35;
}

.row-main span,
.record span,
.member span,
.task span,
.tier span {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.45;
}

.row-action {
  flex: 0 0 auto;
  color: #8ca097;
}

.badge,
.pill,
.status-badge {
  padding: 5px 9px;
  border-radius: 999px;
  color: var(--green-800);
  background: var(--green-100);
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 850;
}

.income {
  color: var(--green-700) !important;
}

.outcome {
  color: #cf3042 !important;
}

.empty {
  min-height: 104px;
  padding: 28px 18px;
  display: grid;
  place-items: center;
  color: var(--muted);
  text-align: center;
  font-size: 0.88rem;
}

.stats-grid,
.user-dashboard-stats,
.team-money-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.stat {
  min-width: 0;
  padding: 14px;
  display: grid;
  gap: 6px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.stat span {
  color: var(--muted);
  font-size: 0.76rem;
}

.stat strong {
  color: var(--green-800);
  font-size: 1.08rem;
  line-height: 1.2;
}

.hero-band {
  margin-bottom: 14px;
  padding: 18px;
  display: grid;
  gap: 14px;
  color: #fff;
  background: var(--blue-950);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

.hero-head,
.hero-band .balance {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.hero-head > div,
.hero-band .balance {
  min-width: 0;
}

.hero-head > div {
  display: grid;
  gap: 3px;
}

.hero-head span,
.hero-band .balance > span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.76rem;
}

.hero-head strong,
.hero-band .balance strong {
  font-size: 1.25rem;
  line-height: 1.2;
}

.hero-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.hero-actions > a,
.hero-actions > button {
  min-width: 0;
  min-height: 44px;
  padding: 9px 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 12px;
  font-size: 0.76rem;
  font-weight: 850;
  text-align: center;
}

.hero-actions > :first-child {
  color: var(--blue-950);
  background: var(--gold-500);
  border-color: var(--gold-500);
}

.hero-actions > button:disabled {
  color: rgba(255, 255, 255, 0.62);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.14);
}

/* Authentication */
.auth-screen {
  position: relative;
  min-height: 100svh;
  margin: 0 -18px;
  padding: clamp(54px, 10vh, 92px) 20px 34px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: #fff;
  background: var(--blue-950) url('/assets/5b/auth/login-bg.webp') center top / cover no-repeat;
}

.auth-screen::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(3, 37, 32, 0.58);
}

.auth-screen > * {
  position: relative;
  z-index: 1;
}

.brand {
  margin-bottom: 16px;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
}

.brand-logo {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, 0.78);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}

.brand-copy h1 {
  margin: 0;
  font-size: 1.38rem;
  line-height: 1.2;
}

.brand-copy p {
  margin: 4px 0 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.78rem;
}

.auth-panel {
  padding: 18px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.74);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

.auth-screen .switch-line,
.auth-screen .legal-note {
  color: rgba(255, 255, 255, 0.84);
  text-align: center;
}

.switch-line {
  margin-top: 18px;
  font-size: 0.82rem;
}

.switch-line button {
  min-height: 44px;
  padding: 0 8px;
  border: 0;
  color: var(--gold-400);
  background: transparent;
  font-weight: 850;
  cursor: pointer;
}

.legal-note {
  margin: 10px auto 0;
  max-width: 34rem;
  font-size: 0.72rem;
  line-height: 1.55;
}

.auth-language-toggle {
  color: #fff;
  background: rgba(0, 0, 0, 0.16);
}

/* Home / selected Option 3 */
.fiveb-home-hero {
  position: relative;
  min-height: 360px;
  margin: 0 -18px;
  overflow: hidden;
  color: #fff;
  background: var(--blue-900);
}

.fiveb-home-hero > img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  object-position: 60% center;
}

.fiveb-hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(6, 46, 70, 0.26);
}

.fiveb-task-status {
  position: absolute;
  left: 18px;
  bottom: 20px;
  width: min(52%, 250px);
  min-height: 196px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 6px;
  background: rgba(6, 60, 40, 0.92);
  border: 1px solid rgba(126, 210, 101, 0.62);
  border-radius: 20px;
  box-shadow: 0 18px 32px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(8px);
}

.fiveb-task-status .eyebrow {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.76rem;
  font-weight: 800;
}

.fiveb-task-status > strong {
  font-size: clamp(2.2rem, 12vw, 3.5rem);
  line-height: 1;
}

.fiveb-task-status > span:not(.eyebrow),
.fiveb-task-status small {
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.72rem;
}

.fiveb-progress {
  height: 8px;
  margin-top: 6px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 999px;
}

.fiveb-progress i {
  display: block;
  height: 100%;
  background: #6cd455;
  border-radius: inherit;
}

.fiveb-balance-panel {
  margin: 0 -18px;
  padding: 22px 18px 24px;
  color: #fff;
  background: var(--green-950);
}

.fiveb-balance-row {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 36px;
  align-items: center;
  gap: 12px;
}

.fiveb-balance-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  color: #75d65a;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(117, 214, 90, 0.55);
  border-radius: 16px;
}

.fiveb-balance-row div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.fiveb-balance-row span {
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.8rem;
}

.fiveb-balance-row strong {
  overflow: hidden;
  font-size: clamp(1.7rem, 8vw, 2.5rem);
  line-height: 1.15;
  text-overflow: ellipsis;
}

.fiveb-balance-row > a {
  min-width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  color: #7dde5d;
}

.support-contact-grid {
  display: grid;
  gap: 10px;
}

.support-contact-card {
  width: 100%;
  min-height: 52px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 10px;
  color: var(--ink);
  background: #fff;
  text-align: left;
  cursor: pointer;
}

.support-contact-icon,
.support-contact-action {
  display: grid;
  place-items: center;
  color: var(--green-700);
}

.support-contact-main {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.support-contact-main small {
  color: var(--muted);
}

.fiveb-task-cta {
  width: 100%;
  min-height: 58px;
  margin-top: 18px;
  padding: 10px 16px;
  border: 1px solid #ffd75a;
  border-radius: 16px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 10px;
  color: #17271f;
  background: var(--gold-500);
  font-weight: 900;
  cursor: pointer;
}

.fiveb-task-cta svg:first-child {
  color: #fff;
}

.fiveb-money-actions {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.fiveb-money-actions a {
  min-height: 52px;
  padding: 8px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: var(--ink);
  background: #fff;
  border-radius: 14px;
  font-size: 0.88rem;
  font-weight: 850;
}

.fiveb-money-actions a svg {
  color: var(--green-700);
}

.fiveb-summary-strip {
  margin: 14px 0;
  padding: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.fiveb-summary-strip div {
  min-width: 0;
  padding: 8px;
  display: grid;
  gap: 5px;
  background: #fff;
  text-align: center;
}

.fiveb-summary-strip span {
  color: var(--muted);
  font-size: 0.67rem;
}

.fiveb-summary-strip strong {
  overflow: hidden;
  color: var(--green-800);
  font-size: 0.92rem;
  text-overflow: ellipsis;
}

.fiveb-invite-strip {
  min-height: 62px;
  margin: 14px 0;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.fiveb-invite-strip div {
  display: grid;
  gap: 3px;
}

.fiveb-invite-strip span {
  color: var(--muted);
  font-size: 0.72rem;
}

.fiveb-invite-strip button {
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #b7cfc1;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--green-800);
  background: #fff;
  font-size: 0.78rem;
  font-weight: 800;
}

.fiveb-quick-access {
  margin: 18px 0;
}

.fiveb-access-list {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.fiveb-access-list > a {
  min-height: 68px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 11px;
  border-bottom: 1px solid var(--line);
}

.fiveb-access-list > a:last-child {
  border-bottom: 0;
}

.fiveb-access-list > a > svg:first-child {
  color: var(--green-800);
}

.fiveb-access-list > a > svg:last-child {
  color: #a3b2ac;
}

.fiveb-access-list span {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.fiveb-access-list strong {
  font-size: 0.88rem;
}

.fiveb-access-list small {
  color: var(--muted);
  font-size: 0.72rem;
}

.quick-grid {
  margin: 16px 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.quick-link {
  min-height: 82px;
  padding: 10px 6px;
  border: 1px solid var(--line);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--green-900);
  background: #fff;
  text-align: center;
  font-size: 0.68rem;
  font-weight: 800;
  cursor: pointer;
}

.quick-link svg {
  color: var(--green-700);
}

.get-media-banner {
  position: relative;
  min-height: 220px;
  margin: 16px 0;
  overflow: hidden;
  display: grid;
  grid-template-columns: 42% 58%;
  background: var(--blue-950);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

.get-media-banner img,
.get-media-banner-image {
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
}

.get-media-banner > div,
.get-media-banner-copy {
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
}

.get-media-banner span,
.get-media-banner-copy > span {
  color: #8bdc70;
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.get-media-banner h2,
.get-media-banner h3 {
  margin: 8px 0;
  font-size: 1.25rem;
  line-height: 1.22;
}

.get-media-banner p {
  margin: 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.8rem;
  line-height: 1.55;
}

/* Tasks, tier, profit and team */
.get-task-hero,
.get-vip-hero,
.get-profit-hero,
.get-team-hero,
.get-company-hero,
.charity-hero {
  position: relative;
  min-height: 280px;
  margin: 0 0 18px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 52% 48%;
  color: #fff;
  background: var(--blue-950);
  border-radius: var(--radius-lg);
}

.get-task-hero img,
.get-vip-hero img,
.get-profit-hero img,
.get-team-hero img,
.get-company-hero img,
.charity-hero img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}

.get-task-hero > div,
.get-vip-hero > div,
.get-profit-hero > div,
.get-team-hero > div,
.get-company-hero > div,
.charity-hero > div {
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.get-task-hero h2,
.get-vip-hero h2,
.get-profit-hero h2,
.get-team-hero h2,
.get-company-hero h2,
.charity-hero h2 {
  margin: 8px 0;
  font-size: 1.5rem;
  line-height: 1.2;
}

.get-task-hero p,
.get-vip-hero p,
.get-profit-hero p,
.get-team-hero p,
.get-company-hero p,
.charity-hero p {
  margin: 0;
  color: rgba(255, 255, 255, 0.74);
  line-height: 1.55;
}

.task-list,
.get-task-list,
.vip-grid,
.tier-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.task-card,
.get-task-card,
.vip-card,
.tier-card {
  min-width: 0;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}

.task-card img,
.get-task-card img,
.app-task-icon img,
.solar-task-image {
  width: 74px;
  height: 74px;
  object-fit: cover;
  border-radius: 14px;
}

.task-card .primary-btn,
.get-task-card .primary-btn,
.vip-card .primary-btn,
.tier-card .primary-btn {
  margin-top: 12px;
}

.amount-grid,
.tier-tabs,
.team-tabs,
.filter-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.amount-chip,
.tier-tabs button,
.team-tabs button,
.filter-tabs button {
  min-height: 46px;
  padding: 8px;
  border: 1px solid #bfd0c7;
  border-radius: 12px;
  color: var(--green-900);
  background: #fff;
  font-size: 0.78rem;
  font-weight: 850;
  cursor: pointer;
}

.amount-chip.active,
.tier-tabs button.active,
.team-tabs button.active,
.filter-tabs button.active,
.row.is-selected {
  color: #fff;
  background: var(--green-800);
  border-color: var(--green-800);
}

.profit-summary,
.team-summary,
.asset-summary {
  margin: 16px 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.record {
  justify-content: space-between;
}

.record > div {
  min-width: 0;
  flex: 1;
  display: grid;
  gap: 4px;
}

.record > b {
  flex: 0 0 auto;
  font-size: 0.88rem;
}

.record-ticker {
  overflow: hidden;
  border-radius: var(--radius-md);
}

.record-ticker-track {
  display: grid;
}

.member {
  align-items: flex-start;
}

.member .avatar {
  color: #fff;
  background: var(--green-800);
  font-weight: 850;
}

.team-money-grid {
  margin-top: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.team-money-grid div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.team-money-grid b {
  overflow: hidden;
  color: var(--green-800);
  font-size: 0.78rem;
  text-overflow: ellipsis;
}

.team-money-grid em {
  color: var(--muted);
  font-size: 0.68rem;
  font-style: normal;
}

/* Task interactions */
.tabbar {
  margin-bottom: 12px;
  padding: 4px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  background: var(--green-50);
  border: 1px solid var(--line);
  border-radius: 14px;
}

.tabbar button {
  min-height: 44px;
  padding: 8px 12px;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-radius: 11px;
  font-weight: 850;
  cursor: pointer;
}

.tabbar button.active {
  color: #fff;
  background: var(--green-800);
  box-shadow: var(--shadow-sm);
}

.get-task-card {
  align-items: flex-start;
}

.get-task-card > div:not(.task-actions) {
  min-width: 0;
  flex: 1;
}

.get-task-card h3 {
  margin: 0 0 5px;
  font-size: 0.9rem;
  line-height: 1.3;
}

.get-task-card p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 0.74rem;
  line-height: 1.45;
}

.get-task-card > button,
.task-actions button {
  min-width: 66px;
  min-height: 44px;
  padding: 8px 11px;
  color: #fff;
  background: var(--green-800);
  border: 1px solid var(--green-800);
  border-radius: 12px;
  font-size: 0.74rem;
  font-weight: 850;
}

.get-task-card button:disabled {
  color: #718179;
  background: #edf2ef;
  border-color: #d2ddd7;
}

.task-actions {
  flex: 0 0 auto;
  display: grid;
  gap: 6px;
}

.progress-track {
  height: 8px;
  margin-top: 9px;
  overflow: hidden;
  background: #dce9e1;
  border-radius: 999px;
}

.progress-track i {
  display: block;
  height: 100%;
  background: var(--green-600);
  border-radius: inherit;
}

.solar-task-thumb {
  position: relative;
  flex: 0 0 74px;
}

.solar-task-thumb > svg {
  position: absolute;
  right: -4px;
  bottom: -4px;
  width: 26px;
  height: 26px;
  padding: 5px;
  color: #fff;
  background: var(--green-800);
  border: 2px solid #fff;
  border-radius: 50%;
}

/* Tier system */
.vip-stage,
.get-vip-stage {
  margin: 16px 0;
  display: grid;
  gap: 12px;
}

.vip-stage-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.vip-stage-head span {
  color: var(--muted);
  font-size: 0.76rem;
}

.vip-stage-head strong {
  color: var(--green-900);
  font-size: 0.84rem;
}

.vip-feature-card {
  padding: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  color: #fff;
  background: var(--blue-900);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 18px;
  box-shadow: var(--shadow-md);
}

.vip-feature-card.is-trial {
  background: var(--green-800);
}

.vip-feature-main {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.vip-feature-main span,
.vip-feature-main em {
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.75rem;
  font-style: normal;
}

.vip-feature-main strong {
  font-size: 1.35rem;
}

.vip-feature-badge {
  min-width: 54px;
  display: grid;
  place-items: center;
  font-size: 1.55rem;
}

.vip-feature-price {
  grid-column: 1 / -1;
  min-height: 46px;
  padding-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  font-weight: 850;
}

.vip-upgrade-btn,
.vip-owned-label {
  min-height: 38px;
  padding: 8px 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--blue-950);
  background: var(--gold-500);
  border: 0;
  border-radius: 11px;
  font-size: 0.74rem;
  font-weight: 900;
}

.vip-card-strip {
  padding-bottom: 4px;
  overflow-x: auto;
  display: flex;
  gap: 9px;
  scrollbar-width: thin;
}

.vip-level-card {
  flex: 0 0 150px;
  min-height: 116px;
  padding: 12px;
  display: grid;
  align-content: space-between;
  gap: 8px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow-sm);
}

.vip-level-card.active {
  border-color: var(--green-600);
  box-shadow: 0 0 0 2px rgba(46, 159, 69, 0.14);
}

.vip-level-card.no-access {
  opacity: 0.62;
}

.vip-level-title {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--green-900);
  font-size: 0.82rem;
}

.vip-level-card > strong {
  font-size: 0.92rem;
}

.vip-level-card > em {
  color: var(--muted);
  font-size: 0.7rem;
  font-style: normal;
  line-height: 1.4;
}

.vip-income-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.vip-income-grid > div {
  padding: 13px;
  display: grid;
  gap: 5px;
  background: var(--green-50);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.vip-income-grid span {
  color: var(--muted);
  font-size: 0.72rem;
}

.vip-income-grid strong {
  color: var(--green-800);
}

.vip-info-card {
  margin-top: 12px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.vip-info-card h3 {
  margin: 0 0 10px;
  font-size: 0.92rem;
}

.vip-table {
  display: grid;
}

.vip-table-head,
.vip-table-row {
  min-height: 42px;
  padding: 8px 10px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid var(--line);
  font-size: 0.73rem;
}

.vip-table-head {
  color: var(--muted);
  background: var(--green-50);
  font-weight: 850;
}

/* Team and income */
.copy-box,
.get-copy-box {
  min-height: 54px;
  padding: 8px 8px 8px 14px;
  display: flex;
  align-items: center;
  gap: 9px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.copy-box code {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.74rem;
}

.copy-box button {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 12px;
  color: #fff;
  background: var(--green-800);
}

.invite-code-actions {
  margin: 10px 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.invite-code-button {
  min-height: 72px;
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--green-900);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  text-align: left;
}

.invite-code-button span {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.invite-code-button small {
  color: var(--muted);
}

.team-level-tabs {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.team-level-tabs button,
.stat-button {
  min-height: 54px;
  padding: 8px;
  display: grid;
  place-items: center;
  gap: 3px;
  color: var(--green-900);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.team-level-tabs button.active,
.stat-button.active {
  color: #fff;
  background: var(--green-800);
  border-color: var(--green-800);
}

.team-level-tabs span {
  font-size: 0.7rem;
}

.chart {
  min-height: 170px;
  padding: 14px 8px 0;
  display: flex;
  align-items: flex-end;
  gap: 8px;
  border-bottom: 1px solid var(--line);
}

.bar {
  min-width: 0;
  height: 150px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 7px;
  text-align: center;
}

.bar i {
  min-height: 4px;
  background: var(--green-600);
  border-radius: 8px 8px 0 0;
}

.bar span {
  color: var(--muted);
  font-size: 0.63rem;
}

.task-income-title,
.section-subtitle {
  color: var(--muted);
  font-size: 0.76rem;
}

/* User dashboard */
.user-dashboard-screen,
.get-user-screen {
  padding-top: 18px;
}

.user-profile-head,
.get-user-head {
  min-height: 168px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #fff;
  background: var(--blue-950) url('/assets/5b/home/my-header.webp') center / cover no-repeat;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

.user-profile-head::before {
  content: none;
}

.user-brand-logo,
.company-brand-logo {
  width: 68px;
  height: 68px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid #fff;
}

.user-profile-head strong {
  font-size: 1.05rem;
}

.user-profile-head span {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.75rem;
}

.user-wallet-link {
  display: none;
}

.user-balance-block,
.credit-score-card,
.user-asset-strip {
  margin-top: 12px;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.user-balance-block strong,
.credit-score-card strong,
.user-asset-strip strong {
  color: var(--green-800);
  font-size: 1.18rem;
}

.user-balance-block > button {
  min-height: 44px;
  padding: 8px 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--green-800);
  background: var(--green-100);
  border: 1px solid #c6dfcf;
  border-radius: 12px;
  font-size: 0.74rem;
  font-weight: 850;
}

.user-dashboard-stats {
  margin-top: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.user-stat-tile {
  min-width: 0;
  min-height: 56px;
  padding: 10px 8px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 4px;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  text-align: center;
}

.user-stat-tile strong {
  color: var(--green-800);
  font-size: 0.88rem;
}

.user-stat-tile span {
  color: var(--muted);
  font-size: 0.68rem;
}

.user-menu-grid {
  margin-top: 14px;
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.user-menu-tile {
  min-height: 86px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  gap: 11px;
  background: #fff;
  font-size: 0.8rem;
  font-weight: 800;
}

/* Content galleries */
.company-certificate-gallery,
.anti-fraud-gallery,
.trial-intro-gallery,
.charity-gallery,
.get-gallery,
.get-trial-grid {
  margin: 16px 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.company-certificate-gallery,
.get-project-gallery {
  display: block;
}

.company-certificate-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.company-certificate-card,
.anti-fraud-image,
.trial-intro-image,
.charity-image,
.get-info-image-card {
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  text-align: left;
}

.company-certificate-card {
  position: relative;
}

.company-certificate-image-frame {
  display: block;
  overflow: hidden;
  background: var(--blue-950);
}

.company-certificate-zoom {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  color: #fff !important;
  background: rgba(6, 46, 70, 0.82);
  border-radius: 11px;
}

.company-certificate-card img,
.anti-fraud-image img,
.trial-intro-image img,
.charity-image img,
.get-info-image-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.company-certificate-card > div,
.trial-intro-image figcaption,
.get-info-image-card figcaption {
  padding: 13px;
  display: grid;
  gap: 5px;
}

.company-certificate-card span,
.trial-intro-image span,
.get-info-image-card span {
  color: var(--muted);
  font-size: 0.75rem;
  line-height: 1.45;
}

.help-detail-body {
  display: grid;
  gap: 10px;
}

.help-detail-sections {
  display: grid;
  gap: 20px;
}

.help-detail-sections section,
.help-detail-sections article {
  display: grid;
  gap: 10px;
}

.help-detail-sections h3 {
  margin: 0;
  color: var(--green-900);
}

.help-detail-body p {
  margin: 0;
  color: #3d554c;
  line-height: 1.65;
}

.helpbook-row {
  min-height: 58px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}

/* Dialogs, popups and inbox */
.dialog-backdrop,
.modal-backdrop,
.activity-popup-backdrop,
.certificate-preview-backdrop,
.invite-qr-backdrop,
.bank-picker-backdrop,
.recharge-channel-backdrop,
.first-withdraw-backdrop {
  position: fixed;
  inset: 0;
  z-index: 300;
  padding: 18px;
  display: grid;
  place-items: center;
  background: rgba(3, 27, 36, 0.72);
  backdrop-filter: blur(7px);
}

.dialog,
.modal,
.activity-popup,
.certificate-preview,
.invite-qr-dialog,
.bank-picker-dialog,
.recharge-channel-dialog,
.first-withdraw-dialog {
  width: min(100%, 520px);
  max-height: min(88vh, 760px);
  padding: 18px;
  overflow: auto;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.28);
}

.activity-popup-layer,
.flash-drop-layer,
.app-download-layer,
.first-withdraw-layer,
.recharge-channel-layer,
.bank-picker-layer,
.certificate-preview-layer,
.invite-qr-layer {
  position: fixed;
  inset: 0;
  z-index: 320;
  padding: 18px;
  display: grid;
  place-items: center;
  background: rgba(3, 27, 36, 0.76);
  backdrop-filter: blur(7px);
}

.flash-drop-backdrop,
.app-download-backdrop,
.first-withdraw-backdrop,
.recharge-channel-backdrop,
.bank-picker-backdrop,
.certificate-preview-backdrop,
.invite-qr-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
}

.activity-popup-card,
.flash-drop-card,
.app-download-card,
.first-withdraw-card,
.recharge-channel-card,
.bank-picker-card,
.certificate-preview-panel,
.invite-qr-panel {
  position: relative;
  z-index: 1;
  width: min(100%, 520px);
  max-height: min(90svh, 780px);
  padding: 18px;
  overflow: auto;
  display: grid;
  gap: 13px;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.28);
}

.activity-popup-card,
.flash-drop-card,
.app-download-card,
.first-withdraw-card,
.recharge-channel-card {
  width: min(100%, 420px);
}

.activity-popup-close,
.flash-drop-close,
.app-download-close,
.first-withdraw-close,
.recharge-channel-close,
.bank-picker-close,
.certificate-preview-close,
.invite-qr-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  width: 44px;
  height: 44px;
  padding: 0;
  display: grid;
  place-items: center;
  color: #fff;
  background: rgba(6, 46, 70, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 14px;
  cursor: pointer;
}

.activity-popup-image-button {
  width: calc(100% + 36px);
  margin: -18px -18px 2px;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 20px 20px 0 0;
  background: var(--blue-950);
}

.activity-popup-image {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.activity-popup-card > span,
.recharge-channel-mark,
.flash-drop-mark,
.first-withdraw-mark {
  color: var(--green-800);
  font-size: 0.78rem;
  font-weight: 850;
}

.activity-popup-card h2,
.flash-drop-card h2,
.app-download-card h2,
.first-withdraw-card h2,
.recharge-channel-card h2 {
  margin: 0;
  font-size: 1.3rem;
  line-height: 1.25;
}

.activity-popup-card p,
.flash-drop-card p,
.app-download-card p,
.first-withdraw-card p,
.recharge-channel-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.58;
}

.activity-popup-actions,
.first-withdraw-actions,
.recharge-channel-actions,
.invite-qr-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.activity-popup-primary,
.activity-popup-secondary,
.first-withdraw-support-btn,
.recharge-channel-option,
.invite-qr-actions button,
.flash-drop-form button {
  min-height: 48px;
  padding: 10px 14px;
  border-radius: 14px;
  font-weight: 850;
  cursor: pointer;
}

.activity-popup-primary,
.first-withdraw-support-btn,
.invite-qr-actions button:last-child,
.flash-drop-form button {
  color: #fff;
  background: var(--green-800);
  border: 1px solid var(--green-800);
}

.activity-popup-secondary,
.invite-qr-actions button:first-child {
  color: var(--green-800);
  background: #fff;
  border: 1px solid #a9c2b5;
}

.flash-drop-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
}

.flash-drop-form input {
  min-width: 0;
  min-height: 48px;
  padding: 0 13px;
  border: 1px solid #b8cbc2;
  border-radius: 14px;
  outline: none;
}

.app-download-hero {
  width: calc(100% + 36px);
  margin: -18px -18px 2px;
  aspect-ratio: 16 / 8;
  object-fit: cover;
  border-radius: 20px 20px 0 0;
}

.app-download-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.app-download-choice {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.app-download-option {
  min-height: 72px;
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  background: var(--blue-900);
  border: 1px solid var(--blue-900);
  border-radius: 14px;
  text-align: left;
}

.app-download-option svg {
  flex: 0 0 auto;
  width: 27px;
  height: 27px;
}

.app-download-option span {
  display: grid;
  gap: 2px;
  font-weight: 850;
}

.app-download-option small {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.68rem;
}

.app-download-option:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.recharge-channel-actions {
  grid-template-columns: 1fr;
}

.recharge-channel-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--green-900);
  background: var(--green-50);
  border: 1px solid #b8cbc2;
  text-align: left;
}

.recharge-channel-option span {
  color: var(--muted);
  font-size: 0.74rem;
}

.recharge-channel-option:disabled {
  cursor: not-allowed;
  opacity: 0.52;
}

.bank-picker-layer {
  place-items: end center;
}

.bank-picker-card {
  width: min(100%, 620px);
  max-height: min(84svh, 720px);
  border-radius: 22px 22px 12px 12px;
}

.bank-picker-head,
.certificate-preview-top,
.invite-qr-top {
  min-height: 52px;
  padding-right: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.bank-picker-head h2,
.invite-qr-top strong,
.certificate-preview-top strong {
  margin: 2px 0 0;
  font-size: 1.05rem;
}

.bank-picker-head span,
.bank-picker-subhead span,
.certificate-preview-top span,
.invite-qr-top span {
  color: var(--muted);
  font-size: 0.75rem;
}

.bank-picker-search {
  min-height: 48px;
  padding: 0 13px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #b8cbc2;
  border-radius: 14px;
}

.bank-select-button {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 10px;
  color: var(--ink);
  background: #fff;
  border: 1px solid #b8cbc2;
  border-radius: 14px;
  text-align: left;
}

.bank-select-button.is-selected {
  border-color: var(--green-600);
  box-shadow: 0 0 0 3px rgba(46, 159, 69, 0.1);
}

.bank-select-button > span {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.bank-select-button small {
  color: var(--muted);
}

.bank-picker-search input {
  min-width: 0;
  flex: 1;
  border: 0;
  outline: 0;
}

.bank-picker-subhead,
.bank-picker-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.bank-picker-results {
  display: grid;
  gap: 8px;
  overflow: auto;
}

.bank-picker-option {
  min-height: 50px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  text-align: left;
}

.bank-picker-option small {
  color: var(--muted);
}

.certificate-preview-panel img {
  width: 100%;
  max-height: 68svh;
  object-fit: contain;
  border-radius: 14px;
  background: var(--blue-950);
}

.invite-qr-panel {
  width: min(100%, 480px);
}

.invite-qr-card {
  padding: 18px;
  display: grid;
  justify-items: center;
  gap: 10px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #f4f7f1 url('/assets/5b/team/invite-poster-bg.webp') center / cover no-repeat;
}

.invite-qr-brand {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #fff;
  font-weight: 900;
}

.invite-qr-brand-logo {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border: 2px solid #fff;
  border-radius: 50%;
}

.invite-qr-subtitle,
.invite-qr-code-text,
.invite-qr-benefits {
  padding: 4px 8px;
  color: #fff;
  background: rgba(6, 46, 70, 0.78);
  border-radius: 10px;
}

.invite-qr-code {
  position: relative;
  width: min(72vw, 240px);
  aspect-ratio: 1;
  padding: 14px;
  display: grid;
  place-items: center;
  background: #fff;
  border-radius: 18px;
}

.invite-qr-code img {
  width: 100%;
  height: 100%;
}

.invite-qr-code b {
  position: absolute;
  padding: 6px;
  color: var(--green-800);
  background: #fff;
  border-radius: 6px;
}

.invite-qr-benefits {
  margin: 0;
  padding: 10px 12px 10px 30px;
  font-size: 0.76rem;
  line-height: 1.45;
}

.toast {
  position: fixed;
  left: 50%;
  bottom: calc(94px + var(--safe-bottom));
  z-index: 500;
  max-width: min(88vw, 440px);
  padding: 11px 15px;
  color: #fff;
  background: var(--ink);
  border-radius: 12px;
  font-size: 0.82rem;
  line-height: 1.45;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 10px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}

.inbox-floating,
.floating-inbox {
  position: fixed;
  right: max(18px, calc((100vw - 1120px) / 2 + 18px));
  bottom: calc(92px + var(--safe-bottom));
  z-index: 160;
}

.app-shell[data-route="start"] .floating-inbox {
  display: none;
}

.inbox-floating button,
.floating-inbox button {
  min-width: 50px;
  min-height: 50px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--green-800);
  box-shadow: var(--shadow-md);
}

.floating-inbox-button {
  position: relative;
  width: 52px;
  height: 52px;
  min-width: 52px;
  min-height: 52px;
  padding: 0;
  overflow: visible;
  border: 2px solid #fff !important;
  cursor: pointer;
}

.floating-inbox-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  pointer-events: none;
}

.floating-inbox-badge {
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  background: var(--red-500);
  border: 2px solid #fff;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 900;
}

.inbox-panel,
.inbox-dialog {
  position: fixed;
  right: max(14px, calc((100vw - 1120px) / 2 + 14px));
  bottom: calc(88px + var(--safe-bottom));
  z-index: 200;
  width: min(92vw, 420px);
  max-height: min(76vh, 680px);
  overflow: auto;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.26);
}

/* Reward wheel uses real image assets */
.lucky-stage,
.lucky-wheel-shell,
.reward-wheel-stage {
  position: relative;
  width: min(88vw, 410px);
  aspect-ratio: 1;
  margin: 18px auto;
  display: grid;
  place-items: center;
  background: transparent url('/assets/5b/rewards/wheel-bg.webp') center / contain no-repeat;
}

.lucky-section {
  overflow: hidden;
  background: var(--blue-950);
}

.lucky-wheel-wrap {
  position: relative;
  width: min(86vw, 420px);
  aspect-ratio: 1;
  margin: 0 auto;
  display: grid;
  place-items: center;
  isolation: isolate;
}

.lucky-wheel-bg-asset {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

.lucky-wheel-backdrop {
  position: absolute;
  inset: 7%;
  z-index: 1;
  border-radius: 50%;
  box-shadow: 0 0 0 10px rgba(244, 180, 0, 0.18), 0 18px 48px rgba(0, 0, 0, 0.28);
}

.lucky-wheel-disc {
  position: absolute;
  inset: 10%;
  z-index: 2;
  transform: rotate(var(--wheel-rotation, 0deg));
  transition: transform 4.2s cubic-bezier(0.12, 0.72, 0.12, 1);
}

.lucky-wheel-plate-asset {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

.lucky-wheel-slot {
  position: absolute;
  inset: 0;
  transform: rotate(var(--slot-angle));
  z-index: 1;
  pointer-events: none;
}

.lucky-wheel-prize {
  position: absolute;
  top: 7%;
  left: 50%;
  width: 28%;
  min-height: 50px;
  display: grid;
  justify-items: center;
  gap: 2px;
  color: #fff;
  transform: translateX(-50%) rotate(calc(-1 * var(--slot-angle)));
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.42);
}

.lucky-wheel-prize-icon {
  display: grid;
  place-items: center;
}

.lucky-wheel-prize-icon svg {
  width: 18px;
  height: 18px;
}

.lucky-wheel-prize-amount {
  font-size: clamp(0.54rem, 2.1vw, 0.76rem);
  line-height: 1;
}

.lucky-wheel-pointer {
  position: absolute;
  z-index: 4;
  top: 1%;
  left: 50%;
  width: 18%;
  aspect-ratio: 1;
  transform: translateX(-50%);
  pointer-events: none;
}

.lucky-wheel-pointer img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.lucky-wheel-center {
  position: relative;
  z-index: 3;
  width: 24%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 2px;
  color: var(--blue-950);
  background: var(--gold-500);
  border: 5px solid #fff2aa;
  border-radius: 50%;
  font-size: 0.72rem;
  font-weight: 950;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.3);
}

.lucky-wheel-center:disabled {
  filter: grayscale(0.45);
  opacity: 0.72;
}

.lucky-result,
.lucky-winner-feed {
  margin-top: 12px;
  padding: 10px 12px;
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 12px;
  text-align: center;
  font-size: 0.8rem;
}

.lucky-winner-line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.lucky-prize-layer {
  position: fixed;
  inset: 0;
  z-index: 360;
  padding: 18px;
  display: grid;
  place-items: center;
  background: rgba(3, 27, 36, 0.78);
  backdrop-filter: blur(7px);
}

.lucky-prize-dialog {
  width: min(100%, 390px);
  padding: 22px;
  display: grid;
  justify-items: center;
  gap: 12px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.3);
  text-align: center;
}

.lucky-prize-image {
  width: min(72%, 260px);
  aspect-ratio: 1;
  object-fit: contain;
}

.lucky-prize-amount,
.lucky-prize-message {
  color: var(--green-900);
  font-weight: 900;
}

.lucky-prize-confirm {
  min-width: 150px;
  min-height: 48px;
  color: #fff;
  background: var(--green-800);
  border: 0;
  border-radius: 14px;
  font-weight: 850;
}

.lucky-wheel,
.reward-wheel {
  width: 86%;
  aspect-ratio: 1;
  background: transparent url('/assets/5b/rewards/wheel-plate.webp') center / contain no-repeat;
}

.lucky-pointer,
.reward-wheel-pointer {
  position: absolute;
  inset: 30% 30%;
  background: transparent url('/assets/5b/rewards/wheel-pointer.webp') center / contain no-repeat;
  border: 0;
}

@media (max-width: 640px) {
  .get-media-banner,
  .get-task-hero,
  .get-vip-hero,
  .get-profit-hero,
  .get-team-hero,
  .get-company-hero,
  .charity-hero {
    grid-template-columns: 1fr;
  }

  .get-media-banner img,
  .get-media-banner-image {
    height: 190px;
    min-height: 190px;
  }

  .get-task-hero img,
  .get-vip-hero img,
  .get-profit-hero img,
  .get-team-hero img,
  .get-company-hero img,
  .charity-hero img {
    height: 210px;
    min-height: 210px;
  }

  .task-list,
  .get-task-list,
  .vip-grid,
  .tier-grid,
  .company-certificate-gallery,
  .anti-fraud-gallery,
  .trial-intro-gallery,
  .charity-gallery,
  .get-gallery,
  .get-trial-grid {
    grid-template-columns: 1fr;
  }

  .company-certificate-grid {
    grid-template-columns: 1fr;
  }

  .company-certificate-card img,
  .anti-fraud-image img,
  .trial-intro-image img,
  .charity-image img,
  .get-info-image-card img {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 420px) {
  .screen {
    padding-inline: 14px;
  }

  .topbar {
    margin-inline: -14px;
    padding-inline: 14px;
  }

  .fiveb-home-hero,
  .fiveb-balance-panel {
    margin-inline: -14px;
  }

  .fiveb-home-hero,
  .fiveb-home-hero > img {
    min-height: 312px;
    height: 312px;
  }

  .fiveb-task-status {
    left: 14px;
    bottom: 14px;
    width: 50%;
    min-height: 164px;
    padding: 14px;
  }

  .fiveb-balance-panel {
    padding: 18px 14px;
  }

  .fiveb-task-cta {
    min-height: 56px;
    margin-top: 14px;
  }

  .fiveb-money-actions {
    margin-top: 10px;
  }

  .fiveb-quick-access-primary {
    margin: 12px 0;
  }

  .fiveb-quick-access-primary .section-title {
    margin-bottom: 8px;
  }

  .fiveb-quick-access-primary .fiveb-access-list > a {
    min-height: 44px;
    padding: 7px 12px;
    grid-template-columns: 28px minmax(0, 1fr) 20px;
    gap: 9px;
  }

  .fiveb-quick-access-primary .fiveb-access-list small {
    display: none;
  }

  .fiveb-summary-strip {
    padding: 0;
  }

  .quick-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .stats-grid,
  .user-dashboard-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .user-dashboard-stats > :last-child {
    grid-column: 1 / -1;
  }

  .amount-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 960px) {
  body {
    padding: 22px;
  }

  .app-shell {
    position: relative;
    min-height: calc(100vh - 44px);
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(6, 46, 70, 0.14);
    overflow: hidden;
  }

  .screen {
    min-height: calc(100vh - 44px);
    margin-left: 214px;
    padding: 0 32px 42px;
  }

  .topbar {
    margin-inline: -32px;
    padding-inline: 32px;
  }

  .bottom-nav {
    top: 22px;
    bottom: auto;
    left: max(22px, calc((100vw - 1120px) / 2));
    width: 214px;
    height: calc(100vh - 44px);
    min-height: 0;
    padding: 118px 16px 24px;
    grid-template-columns: 1fr;
    grid-auto-rows: 64px;
    align-content: start;
    transform: none;
    border-top: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: none;
  }

  .bottom-nav::before {
    content: "";
    position: absolute;
    top: 28px;
    left: 24px;
    width: 66px;
    height: 66px;
    border: 2px solid rgba(255, 255, 255, 0.72);
    border-radius: 50%;
    background: #fff url('/assets/5b/brand/logo.jpg') center / cover no-repeat;
  }

  .bottom-nav a {
    min-height: 56px;
    padding: 0 14px;
    flex-direction: row;
    justify-content: flex-start;
    gap: 12px;
    font-size: 0.86rem;
  }

  .fiveb-home-hero {
    margin-inline: -32px;
  }

  .fiveb-balance-panel {
    margin: 0;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  }

  .fiveb-task-status {
    width: 300px;
  }

  .quick-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

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