/* ================= GENERAL RESET ================= */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Import Font Awesome vectors for beautiful nested input icons */
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css");
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap");

:root {
  /* Brand Color Map (Extracted directly from CashNova Flyer) */
  --brand-navy-deep: #020f30;
  --brand-blue-electric: #1e66ff;
  --brand-blue-glow: #00b2ff;
  --brand-gold-accent: #ffb800;

  /* Plastered Layout Base Palettes */
  --canvas-bg-ash: #f3f5f9; /* Soft ash color canvas framework base */
  --input-fill-white: #ffffff; /* Clean solid white contrast inputs */

  /* Neutral Text Variables */
  --text-charcoal: #1e293b;
  --text-muted-gray: #64748b;
  --border-field-soft: #e2e8f0;
  --white: #ffffff;
}

body {
  margin: 0;
  padding: 0;
  background-color: var(--canvas-bg-ash);
  font-family: "Poppins", sans-serif;
  color: var(--text-charcoal);
  min-height: 100vh;
  box-sizing: border-box;
}

/* Plastered Container: Fills viewport naturally with clean layout gutters */
@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap");

:root {
  --orange-primary: #ff6a00;
  --orange-light: #ff9142;
  --dark-black: #0a0a0a;
  --dark-surface: #151515;
  --dark-surface-alt: #1e1e1e;
  --text-light: #f5f5f5;
  --text-muted: #9a9a9a;
  --border-glow: rgba(255, 106, 0, 0.25);
}

* {
  box-sizing: border-box;
  font-family: "Space Grotesk", sans-serif;
}

@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap");

* {
  box-sizing: border-box;
  font-family: "Space Grotesk", sans-serif;
}

body {
  background: linear-gradient(135deg, #040914 0%, #0d1b2a 100%);
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  position: relative;
  overflow-x: hidden;
}

/* Background animated glow for Auth pages */
body::before {
  content: "";
  position: absolute;
  width: 400px;
  height: 400px;
  background: radial-gradient(
    circle,
    rgba(255, 106, 0, 0.15) 0%,
    transparent 70%
  );
  top: -100px;
  left: -100px;
  border-radius: 50%;
  pointer-events: none;
}
body::after {
  content: "";
  position: absolute;
  width: 500px;
  height: 500px;
  background: radial-gradient(
    circle,
    rgba(0, 178, 255, 0.1) 0%,
    transparent 70%
  );
  bottom: -150px;
  right: -100px;
  border-radius: 50%;
  pointer-events: none;
}

.container {
  display: none;
  width: 100%;
  max-width: 420px;
  background: rgba(20, 25, 40, 0.65);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: 24px;
  padding: 44px 36px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.08);
  position: relative;
  z-index: 10;
}

.container.active {
  display: block;
  animation: revealUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes revealUp {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.brand-header-section {
  text-align: center;
  margin-bottom: 32px;
}

.glowing-logo-circle {
  width: 84px;
  height: 84px;
  margin: 0 auto 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff1e6;
  border: 2px solid #ff6a00;
  box-shadow: 0 4px 16px rgba(255, 106, 0, 0.2);
}

.brand-logo-img {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
}

.brand-main-title {
  color: #ffffff;
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 6px;
  letter-spacing: -0.3px;
}

.brand-sub-title {
  color: #94a3b8;
  font-size: 14px;
  margin: 0;
  font-weight: 400;
}

.input-group {
  margin-bottom: 20px;
}

.input-label {
  display: block;
  color: #cbd5e1;
  font-size: 12.5px;
  font-weight: 600;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.phone-input-wrapper,
.password-wrapper {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.04);
  border: 1.5px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  padding: 0 14px;
  transition: all 0.3s ease;
}

.phone-input-wrapper:focus-within,
.password-wrapper:focus-within {
  border-color: #ff6a00;
  box-shadow: 0 0 0 4px rgba(255, 106, 0, 0.15);
  background: rgba(255, 255, 255, 0.08);
}

.field-icon-left {
  color: #ff6a00;
  font-size: 14px;
  margin-right: 10px;
}

.country-code-prefix {
  color: #f1f5f9;
  font-size: 14.5px;
  font-weight: 600;
  margin-right: 8px;
  padding-right: 8px;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
}

.phone-input-wrapper input,
.password-wrapper input {
  flex: 1;
  background: transparent !important;
  border: none;
  outline: none;
  color: #ffffff;
  font-size: 15px;
  padding: 14px 0;
  min-width: 0;
}

.phone-input-wrapper input::placeholder,
.password-wrapper input::placeholder {
  color: #64748b;
}

.phone-input-wrapper input:-webkit-autofill,
.password-wrapper input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #131a2a inset !important;
  -webkit-text-fill-color: #ffffff !important;
  transition: background-color 5000s ease-in-out 0s;
}

.toggle-password {
  color: #64748b;
  cursor: pointer;
  font-size: 14px;
  padding-left: 8px;
  transition: color 0.2s ease;
}

.toggle-password:hover {
  color: #ff6a00;
}

.inline-action-links-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0 24px;
  font-size: 13.5px;
  flex-wrap: wrap;
  gap: 8px;
}

.inline-action-links-row.single-right {
  justify-content: flex-end;
}

.download-link-btn {
  color: #ff6a00;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}

.bottom-alternative-link {
  color: #94a3b8;
}

.bottom-alternative-link span {
  color: #ff6a00;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}

.bottom-alternative-link span:hover {
  text-decoration: underline;
  text-shadow: 0 0 8px rgba(255, 106, 0, 0.4);
}

.btn-action-submit {
  width: 100%;
  background: linear-gradient(135deg, #ff6a00, #ff9142);
  color: #ffffff;
  border: none;
  border-radius: 14px;
  padding: 16px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  overflow: hidden;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  box-shadow: 0 8px 20px rgba(255, 106, 0, 0.3);
}

.btn-action-submit::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255, 255, 255, 0.4),
    transparent
  );
  transform: skewX(-20deg);
  transition: left 0.6s ease;
}

.btn-action-submit:hover::before {
  left: 130%;
}

.btn-action-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(255, 106, 0, 0.4);
}

.arrow-right-icon {
  font-size: 12px;
  transition: transform 0.2s ease;
}

.btn-action-submit:hover .arrow-right-icon {
  transform: translateX(3px);
}

/* Responsive */
@media (max-width: 480px) {
  .container {
    padding: 32px 22px;
    border-radius: 18px;
  }

  .glowing-logo-circle {
    width: 72px;
    height: 72px;
    margin-bottom: 16px;
  }

  .brand-logo-img {
    width: 46px;
    height: 46px;
  }

  .brand-main-title {
    font-size: 20px;
  }

  .brand-sub-title {
    font-size: 12.5px;
  }

  .input-label {
    font-size: 11.5px;
  }

  .phone-input-wrapper input,
  .password-wrapper input {
    font-size: 14px;
    padding: 12px 0;
  }

  .btn-action-submit {
    padding: 14px;
    font-size: 14px;
  }
}

@media (max-width: 360px) {
  .container {
    padding: 26px 18px;
  }

  .inline-action-links-row {
    font-size: 12px;
  }
}

/* Dashboard container - Premium mobile dashboard */
.dashboard {
  width: 100%;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-height: 100vh;
  margin: 0;
  box-sizing: border-box;
  position: relative;
  z-index: 5;
  background: linear-gradient(180deg, #f5fbff 0%, #edf6ff 30%, #f8fbff 100%);
  background-attachment: fixed;
  color: #0f172a;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial,
    sans-serif;
}

body.logged-in {
  align-items: flex-start;
  justify-content: flex-start;
  padding-top: 68px;
  background: #f5fbff;
}

:root {
  /* Branding Colors */
  --agromint-blue: #2563eb;
  --agromint-gold: #60a5fa;
  --agromint-green: #22c55e;
  --white: #ffffff;
  --black-text: #000000;
}

/* --- REFINED PREMIUM HEADER --- */
.dashboard-header {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 600px;
  border-bottom-left-radius: 22px;
  border-bottom-right-radius: 22px;
  height: 64px;
  background: rgba(239, 246, 255, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  z-index: 10000;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(147, 197, 253, 0.45);
  box-shadow: 0 10px 25px rgba(37, 99, 235, 0.1);
}

.brand-container {
  display: flex;
  align-items: center;
  gap: 10px;
}

.brand-copy {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.brand-copy strong {
  color: #0f172a;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.brand-copy span {
  color: #64748b;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.brand-logo {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.25);
}

.header-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

.header-action-circle {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  position: relative;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  cursor: pointer;
  border: 1px solid rgba(148, 163, 184, 0.2);
  box-shadow: 0 8px 18px rgba(59, 130, 246, 0.08);
  padding: 0;
}

.notification-dot {
  position: absolute;
  top: 7px;
  right: 7px;
  width: 6px;
  height: 6px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: #22c55e;
}

.blue-icon {
  color: #2563eb;
}
.green-icon {
  color: #22c55e;
}
.bell-icon {
  color: #2563eb;
}
.user-phone {
  margin: 2px 0 0 0;
  font-size: 15px;
  color: #cbd5e1;
  font-weight: 400;
  letter-spacing: 0.5px;
}
body {
  padding-top: 68px;
}

:root {
  /* Exact Agromint palette with gradients */
  --agromint-blue: #2563eb;
  --white: #ffffff;
  --black-text: #000000;

  /* Gradient definitions */
  --grad-deposit: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%);
  --grad-withdraw: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
  --grad-plans: linear-gradient(135deg, #93c5fd 0%, #2563eb 100%);
  --grad-gift: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
}

.main-container {
  background: transparent;
  padding: 14px 16px 0;
  max-width: 500px;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}

.dashboard-hero {
  background: linear-gradient(135deg, #e0f2fe 0%, #bfdbfe 28%, #ffffff 100%);
  border-radius: 24px;
  padding: 18px 16px 16px;
  box-shadow: 0 12px 30px rgba(96, 165, 250, 0.12);
  border: 1px solid rgba(147, 197, 253, 0.45);
}

.hero-topline {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: #2563eb;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.status-dot {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 12px rgba(34, 197, 94, 0.7);
}

.hero-balance-block {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.hero-label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: #475569;
  margin-bottom: 6px;
}

.hero-amount {
  display: block;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  line-height: 1;
  color: #0f172a;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.hero-link-btn {
  border: none;
  background: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%);
  color: #fff;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 12px 16px rgba(37, 99, 235, 0.18);
}

.hero-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.metric-pill {
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(147, 197, 253, 0.4);
  border-radius: 14px;
  padding: 10px 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: center;
}

.metric-pill span {
  font-size: 10px;
  color: #475569;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.metric-pill strong {
  font-size: 14px;
  color: #0f172a;
  font-weight: 800;
}

.action-card-container {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border-radius: 22px;
  padding: 16px 12px 12px;
  box-shadow: 0 18px 35px rgba(96, 165, 250, 0.08);
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(147, 197, 253, 0.25);
  margin-top: 14px;
}

.action-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.action-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  padding: 14px 6px 12px;
  border: 1px solid rgba(148, 163, 184, 0.12);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.action-icon {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  font-size: 18px;
  color: var(--white);
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.18);
}

#mainRechargeTrigger .action-icon {
  background: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%);
}
#withdrawBtn .action-icon {
  background: linear-gradient(135deg, #7dd3fc 0%, #38bdf8 100%);
}
#giftCodeBtn .action-icon {
  background: linear-gradient(135deg, #93c5fd 0%, #3b82f6 100%);
}
#refCard .action-icon {
  background: linear-gradient(135deg, #bfdbfe 0%, #60a5fa 100%);
}

.action-btn span {
  font-size: 12px;
  font-weight: 700;
  color: #0f172a;
  text-align: center;
}

.action-btn:active {
  transform: translateY(1px) scale(0.98);
}
/* CONTAINER & HEADER */
.features-section {
  padding: 20px;
  background: transparent;
  font-family: sans-serif;
}

.features-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}

.features-header h2 {
  font-size: 20px;
  font-weight: 800;
  color: #1a1a1a;
  margin: 0;
}

.view-all-link {
  color: #2d6bef; /* Matching Syncox Blue */
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
}

/* HORIZONTAL SCROLLING WRAPPER */
.features-scroll-container {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 10px;
  /* Hide scrollbar for Chrome/Safari */
  scrollbar-width: none;
}

.features-scroll-container::-webkit-scrollbar {
  display: none;
}

/* THE CARDS - Optimized for Mobile */
.feature-card {
  flex: 1 1 calc(33.33% - 10px); /* Adjusts to fit 3 cards per row */
  max-width: calc(33.33% - 10px);
  background: #ffffff;
  border-radius: 15px; /* Slightly smaller radius for mobile */
  padding: 15px 5px; /* Reduced padding to save space */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
  border: 1px solid #f0f0f0;
  box-sizing: border-box;
  margin: 5px; /* Adds breathing room between cards */
}

.feature-title {
  font-size: 18px; /* Scaled down from 22px for mobile */
  font-weight: 800;
  color: #1a1a1a;
  margin-bottom: 2px;
  text-align: center;
}

/* The 100% Blue Highlight */
.highlight-text {
  color: #2d6bef !important;
}

.feature-subtitle {
  font-size: 11px; /* Scaled down from 14px */
  font-weight: 600;
  color: #99a1b7;
  text-align: center;
  white-space: nowrap; /* Prevents text from wrapping ugly */
}

.flyer-container {
  width: 100%;
  background-color: #f8fafc; /* Matches your soft white background */
  padding: 10px 0;
}

.balance-flyer {
  width: 100%;
  margin: 0 auto;
  height: 100%;
  overflow: hidden;
  position: relative;
  border-radius: 24px; /* Slightly softer corners */
  /* Replaced purple glow with a clean, light-gray subtle border */
  border: 1px solid #e2e8f0;
  /* Soft shadow for depth instead of a colored glow */
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08);
}

.flyer-slider {
  display: flex;
  width: 300%;
  height: 100%;
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.flyer-card {
  width: 100.333%;
  height: 100%;
  object-fit: cover;
}

/* Subtle overlay: If you put text on these, use a lighter fade */
.flyer-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0) 60%,
    rgba(0, 0, 0, 0.1) 100%
  );
  pointer-events: none;
}
/* Products Header */
.products-header {
  margin-bottom: 12px;
  text-align: left; /* align text to left */
}

.products-header h2 {
  display: inline-block;
  padding: 6px 16px;
  font-size: 18px;
  font-weight: bold;
  color: #d4af37; /* white text */
  background: #d01e1e; /* sky blue background */
  border-radius: 50px;
  font-family: "Arial Black", "Helvetica", sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); /* subtle black shadow */
}

.welcome-card {
  background-color: #1e3a8a; /* SONY-style blue */
  color: white;
  border-radius: 12px;
  padding: 30px;
  margin: 0; /* remove side margins */
  width: 100%; /* full width of container/screen */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.welcome-content {
  display: flex;
  flex-direction: column; /* stack vertically */
  align-items: flex-start; /* all left aligned */
}

.welcome-text {
  font-size: 16px;
  font-weight: 300;
  margin: 0;
}

.user-number {
  font-size: 20px;
  font-weight: 700;
  margin: 4px 0 0 0; /* small space below header */
  letter-spacing: 1px;
}

.record-id {
  font-weight: 700; /* Makes it bold */
  font-family: "Courier New", Courier, monospace; /* Monospace for numbers */
  color: #000000; /* Slightly darker for readability */
  background: #f0f0f0; /* Light grey background badge */
  padding: 2px 6px; /* Space inside the badge */
  border-radius: 4px; /* Rounded corners */
  display: inline-block; /* Keeps the background tight to the text */
  margin-top: 4px; /* Space from the time above */
  font-size: 11px; /* Keeps it small but clear */
  letter-spacing: 0.5px; /* Spacing between numbers */
  user-select: all; /* Allows user to select full ID with one tap */
}

/* ================= BOTTOM NAV CONTAINER ================= */
.bottom-nav {
  position: fixed;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 24px);
  max-width: 420px;
  background: rgba(15, 23, 42, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: flex;
  justify-content: space-around;
  align-items: center;
  height: 72px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.2);
  z-index: 1000;
  padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
  margin: 0;
  box-sizing: border-box;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* ================= NAV ITEMS ================= */
.nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  flex: 1;
  gap: 5px;
  transition: all 0.2s ease;
  padding: 8px 6px;
  border-radius: 16px;
  position: relative;
  color: #a8b4d0;
}

.nav-icon-wrapper {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  transition: all 0.2s ease;
}

.nav-item .nav-icon-wrapper {
  background: rgba(219, 234, 254, 0.08);
  border: 1px solid rgba(191, 219, 254, 0.12);
}

.nav-item:hover .nav-icon-wrapper {
  background: rgba(147, 197, 253, 0.18);
  transform: translateY(-2px);
}

.nav-item i {
  font-size: 17px;
  color: inherit;
  transition: all 0.2s ease;
}

.nav-item span {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: inherit;
  transition: all 0.2s ease;
}

/* Active tab pill */
#homeNav.active,
#investmentRecordsBtn.active,
#shareBtn.active,
.nav-item:last-child.active {
  background: rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

#homeNav.active .nav-icon-wrapper {
  background: rgba(245, 158, 11, 0.18);
}
#investmentRecordsBtn.active .nav-icon-wrapper {
  background: rgba(34, 197, 94, 0.16);
}
#shareBtn.active .nav-icon-wrapper {
  background: rgba(59, 130, 246, 0.16);
}
.nav-item:last-child.active .nav-icon-wrapper {
  background: rgba(168, 85, 247, 0.16);
}

#homeNav.active i,
#homeNav.active span {
  color: #fbbf24 !important;
}
#investmentRecordsBtn.active i,
#investmentRecordsBtn.active span {
  color: #4ade80 !important;
}
#shareBtn.active i,
#shareBtn.active span {
  color: #60a5fa !important;
}
.nav-item:last-child.active i,
.nav-item:last-child.active span {
  color: #c084fc !important;
}

.nav-item:not(.active) i,
.nav-item:not(.active) span {
  color: #a8b4d0;
}

.nav-item:not(.active) i {
  color: #bfdbfe;
}

.nav-item:active {
  transform: translateY(1px);
  opacity: 0.9;
}

@import url("https://fonts.googleapis.com/css2?family=Inter:wght=400;500;600;700&display=swap");

:root {
  /* Core Deep Corporate Bases (Extracted straight from the flyer background) */
  --agromint-dark-bg: #010b22; /* Midnight Blue base */
  --agromint-deep-navy: #020f30; /* Premium deep corporate navy */
  --agromint-card: #051642; /* Rich dark card chassis tone */

  /* Vibrant Theme Accents (From flyer headers, metrics, and highlights) */
  --agromint-blue: #2563eb; /* Electric blue brand focal color */
  --agromint-gold: #93c5fd; /* Light blue accent */
  --agromint-gold-dark: #60a5fa; /* Blue accent border */

  --white: #ffffff;
  --light-text: #e2e8f0;
  --muted: #94a3b8;

  /* Action Button System Handlers mapped to flyer specifications */
  --btn-deposit: #000000; /* Strictly Black per your request */
  --btn-withdraw: #00c853; /* Vibrant Neon Green from withdrawal info checkmark */
  --btn-plans: #ff9f00; /* Radiant Orange Gold from the investment percentage box */
  --btn-gift: #a855f7; /* Level bonus graphic purple */

  /* Premium Light Theme Design Palette Elements */
  --bg-main: #f8fafc; /* Clean ice-white slate dashboard backdrop */
  --text-dark: #0f172a; /* Sharp deep charcoal text color for contrast */
  --text-gray-muted: #64748b; /* Clean neutral gray text font tone */
  --border-soft: #e2e8f0; /* hairline modern container line breakdown */
}

/* ===== PROFILE SCREEN WRAPPER CHASSIS BACKDROP ===== */
.profile-page {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 999;
  background: linear-gradient(180deg, #eff6ff 0%, #f8fbff 36%, #ffffff 100%);
  font-family: "Space Grotesk", sans-serif;
  color: var(--text-dark);
  box-sizing: border-box;
  padding-bottom: 90px;
}

/* ===== REPLICATED FLYER BRAND OVERVIEW HEADER SECTION ===== */
.profile-header-bar-v2 {
  position: relative;
  width: 100%;
  height: 238px;
  overflow: hidden;
  background: #bfdbfe !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(37, 99, 235, 0.18) !important;
  box-shadow: 0 16px 30px rgba(37, 99, 235, 0.12);
}

.profile-header-image,
.profile-header-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.profile-header-image {
  object-fit: cover;
}

.profile-header-overlay {
  background: linear-gradient(
    145deg,
    rgba(15, 23, 42, 0.12) 0%,
    rgba(37, 99, 235, 0.48) 58%,
    rgba(14, 116, 144, 0.72) 100%
  );
}

.profile-header-content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 14px;
  width: min(100%, 600px);
  height: 100%;
  margin: 0 auto;
  padding: 34px 20px 56px;
  box-sizing: border-box;
}

.profile-avatar-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin: 0;
  border: 3px solid rgba(255, 255, 255, 0.85);
  border-radius: 18px;
  color: #2563eb;
  background: #ffffff;
  box-shadow: 0 10px 20px rgba(37, 99, 235, 0.16);
  font-size: 21px;
}

/* Top App Brand Title Header Text */
.profile-app-identity {
  display: block;
  margin: 0 0 7px;
  font-size: 11px;
  font-weight: 700;
  color: #dbeafe;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

/* User Account Identifiers Formatting block */
.profile-user-headline {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.profile-user-headline h2 {
  font-size: 20px;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
}

.profile-user-headline p {
  font-size: 13px;
  color: #e0f2fe;
  margin: 0;
}

/* ===== MAIN CONTENT PACK CHASSIS WRAPPER ===== */
.dashboard-wrapper-v2 {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding: 0 16px 110px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

/* ===== 1. INTERSECTING FLOATING BALANCE DISPLAY CARD ===== */
.balance-display-intersect-card-v2 {
  background: linear-gradient(135deg, #ffffff 0%, #eff6ff 100%);
  border: 1px solid #bfdbfe;
  border-radius: 20px;
  padding: 16px 20px;
  margin-top: -62px;
  z-index: 20;
  position: relative;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 16px;
  color: #0f172a;
  box-shadow: 0 14px 28px rgba(37, 99, 235, 0.1);
}

.balance-display-intersect-card-v2 p {
  margin: 0 0 4px 0;
  font-size: 12px;
  opacity: 0.85;
  font-weight: 500;
}

.balance-display-intersect-card-v2 h3 {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* ===== HORIZONTAL SIDE-BY-SIDE DOUBLE ACTION ASSET TILES ===== */
.horizontal-assets-grid-v2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 20px;
  background: rgba(255, 255, 255, 0.82);
  padding: 16px;
  border-radius: 20px;
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.07);
  border: 1px solid #dbeafe;
}

.asset-action-card-v2 {
  border-radius: 14px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  box-sizing: border-box;
  border: none;
  color: var(
    --white
  ) !important; /* Forces text and icons to stay crisp white */
  font-size: 15px; /* Slightly increased for better readability */
  font-weight: 600;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  box-shadow: 0 7px 14px rgba(37, 99, 235, 0.12);
}

.asset-action-card-v2:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 22px rgba(37, 99, 235, 0.18);
}

.asset-action-card-v2:active {
  transform: scale(0.97);
  opacity: 0.9;
}

/* DEPOSIT BUTTON: Crisp, bright premium blue from your screenshot layout */
.asset-action-card-v2.bg-deposit {
  background-color: #3b82f6 !important; /* Premium Vivid Blue */
}

/* WITHDRAW BUTTON: Sharp, vibrant green from your screenshot layout */
.asset-action-card-v2.bg-withdraw {
  background-color: #22c55e !important; /* Premium Vivid Green */
}

.asset-action-card-v2 i {
  font-size: 15px;
}
/* ===== 3. COMPACT PREMIUM GROUPED LIST PANELS ===== */
.account-services-panel-box {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 20px;
  padding: 8px 14px;
  margin-bottom: 20px;
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.06);
  border: 1px solid #dbeafe;
  width: 100%;
  box-sizing: border-box;
}

.account-services-header-v2 {
  font-size: 11px;
  font-weight: 700;
  color: #2563eb !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 16px 0 10px 4px;
  text-align: left;
  border-left: 3px solid #60a5fa;
  padding-left: 6px;
}

.menu-list-row-item-v2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: transparent;
  padding: 12px 4px;
  cursor: pointer;
  box-sizing: border-box;
  transition:
    transform 0.2s ease,
    background 0.2s ease;
  border-bottom: 1px solid #f1f5f9;
}

.menu-list-row-item-v2:last-child {
  border-bottom: none;
}

.menu-list-row-item-v2:active {
  transform: translateX(3px);
}

.menu-list-row-item-v2:hover {
  background: #f8fbff;
  border-radius: 12px;
  transform: translateX(3px);
}

.menu-item-left-v2 {
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
}

.list-icon-box-v2 {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 12px;
  background: #eff6ff;
  border: 1px solid #dbeafe;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 5px 12px rgba(37, 99, 235, 0.08);
}

/* Global Navigation List Row Color Mapping Matched to Flyer Identity Core Rules */
.color-team {
  color: var(--agromint-blue) !important;
} /* Referral Structure System Blue */
.color-income {
  color: var(--btn-withdraw) !important;
} /* Return Package Active Growth Green */
.color-records {
  color: var(--text-gray-muted) !important;
}
.color-dephist {
  color: var(--agromint-blue) !important;
}
.color-withhist {
  color: #ef4444 !important;
}
.color-comm {
  color: var(--btn-plans) !important;
} /* 10% Investment Tier Bonus Level Orange Gold */
.color-bank {
  color: var(--agromint-deep-navy) !important;
} /* Clean Executive Deep Slate Corporate Navy */
.color-lock {
  color: var(--text-gray-muted) !important;
}
.color-download {
  color: #ec4899;
}
.color-blog {
  color: #14b8a6;
}
.color-support {
  color: #0088cc;
} /* Telegram Official Identity Branding Blue */

.grid-card-label-v2 {
  font-size: 14px;
  font-weight: 500;
  color: #334155;
}

.menu-item-caret-v2 {
  font-size: 14px;
  color: #cbd5e1;
  font-weight: 400;
}

/* Anchor Link Cleanup Styling Options */
.a-reset-style-v2 {
  text-decoration: none;
  width: 100%;
  display: block;
}

/* DESTRUCTIVE SINGLE LOGOUT LIST UNIT ACCENTS */
.logout-row-v2 {
  border-bottom: none !important;
}
.logout-icon-box-v2 {
  color: #ef4444 !important;
}
.logout-text-label-v2 {
  color: #ef4444 !important;
  font-weight: 500;
}

/* ===== 4. DISCRETE FOOTER COMPONENT ACCENT MODULE ===== */
.security-info-footer-v2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 10px;
  padding: 10px;
  width: 100%;
  box-sizing: border-box;
}

.security-shield-icon-v2 {
  font-size: 13px;
  color: var(--muted);
}

.security-text-block-v2 p {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
  font-weight: 400;
}

/* ===== BANK UPDATE PAGE STYLE CORE OVERRIDES ===== */
.bank-page {
  position: fixed;
  top: 0;
  left: 0;
  width: 100% !important;
  max-width: 100% !important;
  height: 100vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 1000;
  background-color: #f4f6f8; /* Soft light grey backdrop */
  font-family: "Inter", sans-serif;
  box-sizing: border-box;
  padding: 0 !important;
  margin: 0 !important;
}

/* ===== FIXED TOP SOLID BLUE NAVIGATION HEADER BANNER ===== */
.bank-header-premium {
  position: relative;
  width: 100%;
  height: 64px;
  background-color: #d97706 !important; /* Exact Brand Royal Blue */
  display: flex;
  align-items: center;
  padding: 0 16px;
  box-sizing: border-box;
  z-index: 100;
}

.bank-back-btn {
  width: 36px;
  height: 36px;
  border: none !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;
  padding: 0;
  margin: 0;
}

.header-main-content {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}

.header-title-group h2 {
  color: #ffffff !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  letter-spacing: normal !important;
  margin: 0;
  white-space: nowrap;
}

/* ===== FORM CHASSIS CARDS ARCHITECTURE ===== */
.funds-form-body {
  width: 100%;
  box-sizing: border-box;
}

.input-card-premium {
  width: 100% !important;
  background: #ffffff !important; /* Pure white surface */
  border: 1px solid rgba(237, 242, 247, 0.8) !important;
  border-radius: 16px !important; /* Beautiful rounded corners matching screenshot layouts */
  padding: 24px 16px !important;
  box-sizing: border-box;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.02) !important;
}

.funds-group {
  margin-bottom: 20px;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

/* ===== TYPOGRAPHY LABELS AND HEADINGS ===== */
.samsung-label {
  display: block;
  color: #334155 !important; /* Elegant dark slate text color styling */
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: none !important; /* Removes uppercase grid look */
  margin-bottom: 8px !important;
  text-align: left;
}

/* ===== INPUTS FIELD ARCHITECTURE AND DESIGN DROPDOWNS ===== */
.funds-field {
  width: 100% !important;
  height: 50px !important; /* Standardized fluid height match */
  background-color: #f8fafc !important; /* Subtle grey-blue content fill */
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 0 14px !important;
  outline: none !important;
  color: #1e293b !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  font-family: "Inter", sans-serif !important;
  box-sizing: border-box;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}

.funds-field::placeholder {
  color: #94a3b8 !important; /* Soft gray-tinted hint labels text line */
  opacity: 1 !important;
}

.funds-field:focus {
  border-color: #d97706 !important; /* Switches cleanly to Royal Blue on highlight focus actions */
  background-color: #ffffff !important;
}

/* Dropdown Container Arrow Placement Wrappers */
.funds-select-box {
  position: relative;
  width: 100%;
}

select.funds-field {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  cursor: pointer;
  padding-right: 40px !important;
}

.select-dropdown-indicator-arrow {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #334155;
  font-size: 12px;
  pointer-events: none; /* Allows click-throughs straight onto dropdown option tree nodes */
}

/* Auto-Resolving Field Disabled Soft Look */
.resolved-disabled-look {
  background-color: #f1f5f9 !important;
  color: #64748b !important;
  border-color: #e2e8f0 !important;
  cursor: not-allowed;
}

/* ===== UNIQUE SOLID FLAT PRIMARY BUTTON COMPONENT CONTAINER ===== */
.funds-action-btn {
  width: 100% !important;
  height: 50px !important;
  border: none !important;
  border-radius: 10px !important;
  background-color: #3b82f6 !important; /* Bright royal button tint block balance accent */
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: normal !important;
  cursor: pointer;
  margin-top: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    transform 0.1s ease,
    background-color 0.1s ease;
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.2);
}

.funds-action-btn:active {
  transform: scale(0.98);
  background-color: #2563eb !important;
}

/* ===== BOTTOM VERIFICATION LABEL CONTAINER ===== */
.security-info-footer-v3 {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 16px;
  padding: 0 10px;
  box-sizing: border-box;
}

.security-info-footer-v3 p {
  font-size: 13px !important;
  color: #94a3b8 !important; /* Subtle gray-text descriptor */
  margin: 0;
  font-weight: 400;
  text-align: center;
}

/* ===== METHOD SELECTION STYLES (PILLAR STONE THEME) ===== */
.method-card {
  background: #0d0d0d; /* Changed from navy to Deep Charcoal */
  border: 2px solid transparent;
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

.method-card.active-method {
  border-color: #a855f7; /* Changed to Brand Purple */
  background: rgba(168, 85, 247, 0.05); /* Subtle Purple tint */
}

.method-icon {
  width: 50px;
  height: 50px;
  background: #a855f7; /* Changed to Brand Purple */
  color: #ffffff; /* White Icon Color */
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin-right: 15px;
}

.method-icon.manual {
  background: #a855f7; /* Consistent Purple for manual */
}

.method-info h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff; /* White text for readability */
}

.method-info p {
  margin: 4px 0 0;
  font-size: 12px;
  opacity: 0.6;
  color: #ffffff; /* White text */
}

.method-check {
  margin-left: auto;
  font-size: 18px;
  color: #a855f7; /* Changed to Purple Checkmark */
}

.payment-method-page {
  font-family: "Inter", sans-serif;
  background-color: #000000; /* Pure Black */
  height: 100vh;
  width: 100vw;
  color: #ffffff; /* White text */
  position: fixed; /* Overlay everything */
  top: 0;
  left: 0;
  z-index: 2000;
}

/* ================================================================= */
/* PREMIUM ULTRA-MODERN COLD SOFT-WHITE & BLUR POPUP GATEWAY         */
/* ================================================================= */

/* Clean Soft-White Background Gateway Page Base */
.vtx-recharge-page {
  width: 100%;
  height: 100%;
  background-color: #f8fafc; /* Soft pristine off-white background */
  color: #1e293b;
  box-sizing: border-box;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.vtx-header-wrap {
  display: flex;
  align-items: center;
  padding: 16px 20px;
  background-color: #ffffff;
  border-bottom: 1px solid #e2e8f0;
}

.vtx-back-action-btn {
  background: none;
  border: none;
  color: #64748b;
  font-size: 1.1rem;
  cursor: pointer;
  padding: 4px;
}

.vtx-header-wrap h2 {
  flex-grow: 1;
  text-align: center;
  font-size: 0.95rem; /* Compact premium size */
  font-weight: 600;
  color: #0f172a;
  margin: 0;
  padding-right: 20px;
}

.vtx-page-canvas {
  padding: 40px 24px;
  max-width: 400px;
  margin: 0 auto;
  text-align: center;
}

/* Base View Page Amount Box Styling */
.vtx-amount-hero-box {
  margin-bottom: 30px;
}
.vtx-amount-hero-box h1 {
  font-size: 2.4rem;
  font-weight: 800;
  color: #0f172a;
  margin: 6px 0 0 0;
  letter-spacing: -0.5px;
}

/* ================================================================= */
/* VELTRIX OVERLAY DIALOG ARCHITECTURE (BLURRED FROST BACKGROUND)    */
/* ================================================================= */
.vtx-modal-backdrop-mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(15, 23, 42, 0.4); /* Dark tinted overlay mask */
  backdrop-filter: blur(16px); /* High-fidelity background blur filter */
  -webkit-backdrop-filter: blur(16px);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  padding: 16px;
  box-sizing: border-box;
}

.vtx-modal-backdrop-mask.vtx-active {
  display: flex !important;
}

/* Elegant, High-End Compact Card Window */
.vtx-popup-window-card {
  background-color: #ffffff;
  width: 100%;
  max-width: 350px;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.7);
  animation: vtxPopupReveal 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes vtxPopupReveal {
  0% {
    transform: scale(0.95);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.vtx-popup-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.vtx-popup-header h3 {
  font-size: 0.95rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0;
  letter-spacing: -0.2px;
}
.vtx-popup-close {
  background: none;
  border: none;
  color: #94a3b8;
  font-size: 1.3rem;
  cursor: pointer;
  line-height: 1;
}

/* Stylish, Tiny Meta UI Layout Text labels */
.vtx-meta-label {
  color: #64748b;
  font-size: 0.68rem; /* Tiny premium typography tracking */
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  display: block;
  margin-bottom: 4px;
}

/* Crimson Red Premium Banner Alert */
.vtx-countdown-strip {
  background: rgba(239, 68, 68, 0.06);
  border: 1px solid rgba(239, 68, 68, 0.15);
  border-radius: 8px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #ef4444; /* Pure Crimson Red Tracking Timer text */
  font-size: 0.78rem;
  font-weight: 600;
  margin-bottom: 16px;
}
.vtx-countdown-strip strong {
  font-weight: 700;
}

/* Micro Status Tracker Bar */
.vtx-status-banner-card {
  border-radius: 8px;
  padding: 10px 14px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.78rem;
  font-weight: 500;
  border: 1px solid transparent;
}
.vtx-status-idle {
  background: #f1f5f9;
  border-color: #e2e8f0;
  color: #475569;
}
.vtx-status-processing {
  background: #fef3c7;
  border-color: #fde68a;
  color: #d97706;
}
.vtx-status-success {
  background: #dcfce7;
  border-color: #bbf7d0;
  color: #16a34a;
}
.vtx-status-failed {
  background: #fee2e2;
  border-color: #fca5a5;
  color: #dc2626;
}

.vtx-status-spinner {
  width: 12px;
  height: 12px;
  border: 2px solid currentColor;
  border-bottom-color: transparent;
  border-radius: 50%;
  display: inline-block;
  animation: vtxRotation 1s linear infinite;
}

/* Compact Interior Custom Display Lists */
.vtx-surface-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 18px;
  text-align: left;
}

.vtx-info-row {
  border-bottom: 1px solid #e2e8f0;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.vtx-info-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.vtx-info-row strong {
  font-size: 0.9rem; /* Clean small values */
  color: #0f172a;
  font-weight: 700;
}
.vtx-flex-val {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Tiny Blue Action Buttons and Copy Icons (--agromint-blue) */
.vtx-icon-copy-btn {
  background: transparent;
  color: #d97706; /* Styled signature button action asset color */
  border: none;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 0.85rem;
}
.vtx-icon-copy-btn:active {
  transform: scale(0.85);
}

/* Veltrix Primary Base Button styling */
.vtx-primary-action-btn {
  background-color: #d97706; /* Linked target option asset color */
  color: #ffffff;
  border: none;
  width: 100%;
  padding: 14px;
  border-radius: 10px;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}
.vtx-primary-action-btn:hover {
  background-color: #1a56db;
}

.vtx-cancel-lbl {
  color: #64748b;
  font-size: 0.78rem;
  margin-top: 14px;
  cursor: pointer;
  text-decoration: underline;
}

/* Input Fields inside Verification State form view overlay */
.vtx-popup-field-group {
  margin-bottom: 12px;
  text-align: left;
}
.vtx-popup-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #334155;
  margin-bottom: 4px;
  display: block;
}
.vtx-premium-input {
  width: 100%;
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  color: #0f172a !important;
  font-size: 0.85rem !important;
  box-sizing: border-box;
  outline: none;
}
.vtx-premium-input:focus {
  border-color: #d97706 !important;
}
.vtx-popup-subdesc {
  font-size: 0.78rem;
  color: #64748b;
  line-height: 1.4;
  margin: 0 0 16px 0;
  text-align: left;
}
.vtx-popup-submit-btn {
  background-color: #d97706;
  color: #ffffff;
  width: 100%;
  border: none;
  padding: 12px;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  margin-top: 6px;
}

/* PREMIUM CROSS-FADE ANIMATION UTILITIES */
.vtx-fade-view {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 0.35s ease,
    transform 0.35s ease;
}

.vtx-fade-view.vtx-hidden {
  opacity: 0;
  transform: translateY(10px); /* Subtle lift effect while fading out */
  pointer-events: none; /* Prevents users from clicking invisible fields */
  position: absolute; /* Keeps it from taking up layout space when dead */
  width: 100%;
  left: 0;
  top: 0;
}

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

:root {
  --agromint-dark-bg: #0f1b3a;
  --agromint-deep-navy: #0a142f;
  --agromint-card: #13244a;
  --agromint-blue: #d97706;

  --white: #ffffff;
  --light-text: #e0e6f5;
  --muted: #a8b4d0;

  --bg-main: #f4f6f8; /* Premium light gray dashboard base */
  --bg-input-tint: #f0f4f9; /* Ice blue container rows tint */
  --text-dark: #1e293b; /* Soft modern dark charcoal */
  --border-soft: #edf2f7; /* Clean hairline card divider */
}

/* Master Fixed Base Canvas */
.recharge-page {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 999;
  background: #eff6ff;
  font-family: "Inter", sans-serif;
  color: var(--text-dark);
  box-sizing: border-box;
}

/* ================= THE SOLID BLUE HEADER BANNER ================= */
.recharge-header-fixed {
  position: relative;
  width: 100%;
  height: 140px; /* Extended volume layout for card intersect overlap */
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 24px 20px 0 20px;
  background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 55%, #93c5fd 100%);
  box-sizing: border-box;
}

.recharge-header-fixed h2 {
  margin: 0;
  font-size: 17px;
  font-weight: 500; /* Un-bolded clean header text */
  color: #0f172a;
  letter-spacing: -0.01em;
}

.recharge-back-btn-v2 {
  position: absolute;
  left: 16px;
  top: 22px;
  background: transparent;
  border: none;
  color: #0f172a;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
}

/* History / Record Icon on Header */
.recharge-record-btn {
  position: absolute;
  right: 16px;
  top: 22px;
  background: transparent;
  border: none;
  color: #0f172a;
  font-size: 16px;
  cursor: pointer;
}

/* ================= PORTABLE SCROLL CONTAINER CORE ================= */
.recharge-page-container {
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
  padding: 0 16px 40px 16px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.recharge-main-content {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.section-label-heading {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-dark);
  letter-spacing: -0.02em;
  margin: 0 0 12px 4px;
  text-align: left;
}

/* ================= THE FLOATING CONTAINER CARDS ================= */
.recharge-master-card {
  background-color: var(--white);
  border-radius: 16px;
  padding: 20px 16px;
  box-shadow: 0 10px 28px rgba(37, 99, 235, 0.08);
  border: 1px solid #dbeafe;
  box-sizing: border-box;
  width: 100%;
}

/* Floating Balance Intersection Card */
.balance-display-intersect-card {
  background: linear-gradient(135deg, #ffffff 0%, #eff6ff 100%);
  border: 1px solid #bfdbfe;
  border-radius: 16px;
  padding: 16px 20px;
  margin-top: -65px; /* Intersects layout line with perfect accuracy */
  z-index: 20;
  position: relative;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 20px;
  color: #0f172a;
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.1);
}

.balance-display-intersect-card h3 {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
}

.balance-display-intersect-card p {
  margin: 4px 0 0 0;
  font-size: 12px;
  opacity: 0.8;
}

/* ================= CUSTOM INPUT FIELD WRAPPER ================= */
.custom-amount-wrapper {
  display: flex;
  align-items: center;
  background-color: var(--white);
  border-radius: 10px;
  padding: 0 14px;
  height: 50px;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #e2e8f0;
  margin-bottom: 18px;
}

.currency-icon {
  color: #2563eb;
  font-size: 15px;
  font-weight: 600;
  margin-right: 6px;
}

#customAmount {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: var(--text-dark);
  font-size: 15px;
  font-weight: 500;
  font-family: inherit;
  padding: 0;
}

#customAmount::placeholder {
  color: var(--muted);
  font-weight: 400;
}

/* ================= QUICK SELECT AMOUNT GRID ================= */
.quick-select-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  width: 100%;
  margin-bottom: 24px;
}

.quick-select-btn {
  background-color: var(--white);
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--text-dark);
  cursor: pointer;
  transition: all 0.15s ease;
}

.quick-select-btn:active {
  background-color: #f8fafc;
  transform: scale(0.97);
}

.quick-select-btn:hover {
  background-color: #eff6ff;
  border-color: #93c5fd;
  color: #1d4ed8;
}

.payment-channel-card {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  position: relative;
  overflow: hidden;
  padding: 15px 16px;
  margin-bottom: 16px;
  box-sizing: border-box;
  background: linear-gradient(135deg, #ffffff 0%, #eff6ff 100%);
  border: 1px solid #bfdbfe;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.1);
}

.payment-channel-card::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: rgba(147, 197, 253, 0.18);
  content: "";
  transform: translate(34px, -42px);
}

.payment-channel-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 3px solid #ffffff;
  border-radius: 14px;
  color: #ffffff;
  background: linear-gradient(145deg, #60a5fa 0%, #2563eb 100%);
  box-shadow: 0 6px 12px rgba(37, 99, 235, 0.22);
}

.payment-channel-copy {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.payment-channel-label {
  color: #2563eb;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.payment-channel-copy small {
  color: #64748b;
  font-size: 11px;
}

.payment-channel-copy strong {
  color: #0f172a;
  font-size: 14px;
  font-weight: 650;
}

.payment-channel-check {
  position: relative;
  z-index: 1;
  color: #2563eb;
  font-size: 20px;
  filter: drop-shadow(0 3px 5px rgba(37, 99, 235, 0.18));
}

/* ================= FLAT BLUE ACTION BUTTON ================= */
.deposit-btn {
  width: 100%;
  background: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%);
  color: var(--white);
  border: none;
  border-radius: 10px;
  padding: 14px;
  font-size: 15px;
  font-weight: 500; /* Clean lightweight unbolded action button styling */
  font-family: inherit;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.2);
  box-sizing: border-box;
  transition:
    transform 0.1s ease,
    opacity 0.1s ease;
}

.deposit-btn:active {
  transform: scale(0.98);
  opacity: 0.9;
}

/* ================= BOTTOM TIPS BLOCK ================= */
.rules-box {
  background-color: var(--white);
  border-radius: 16px;
  padding: 20px;
  margin-top: 4px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
  border: 1px solid #dbeafe;
  width: 100%;
  box-sizing: border-box;
}

.rules-title {
  color: #2563eb;
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 14px 0;
  letter-spacing: -0.01em;
}

.rules-list-items {
  padding: 0;
  margin: 0;
  list-style: none;
}

.rules-list-items li {
  color: #64748b;
  font-size: 12.5px;
  font-weight: 400;
  margin-bottom: 12px;
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
}

.rules-list-items li:last-child {
  margin-bottom: 0;
}

/* Isolated wrapper and specific input styles to block global overrides */
.custom-amount-wrapper {
  display: flex !important;
  align-items: center !important;
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 0 14px !important;
  height: 50px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-bottom: 18px !important;
}

.custom-amount-wrapper .currency-icon {
  color: #2563eb !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  margin-right: 6px !important;
  display: inline-block !important;
}

/* Explicit targeting via the new unique class name */
.custom-amount-wrapper input.recharge-direct-input-field {
  flex: 1 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: #1e293b !important; /* Dark Charcoal text */
  font-size: 15px !important;
  font-weight: 500 !important;
  font-family: "Inter", sans-serif !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 100% !important;
  width: 100% !important;
}

/* Placeholder styling targeting the new class */
.custom-amount-wrapper input.recharge-direct-input-field::placeholder {
  color: #a8b4d0 !important; /* Muted hint text color */
  font-weight: 400 !important;
  opacity: 1 !important;
}

.rules-list-items li i {
  margin-top: 3px;
  font-size: 13px;
  flex-shrink: 0;
}

.fintech-toast {
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  font-family: Inter, sans-serif;
}

:root {
  /* Branding */
  --agromint-blue: #1a53ff;
  --agromint-gold: #d97706;
  --agromint-purple: #8b5cf6;
  --agromint-green: #22c55e;

  --white: #ffffff;
  --black-text: #000000;
  --gray-text: #64748b;
  --bg-soft: #f8fafc;
}

/* Modal Overlay */
.popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(10px);
  z-index: 99999;
  padding: 20px;
}

/* Modal Container */
.mx-unique-modal {
  width: 100%;
  max-width: 340px;
  background: var(--white);
  border-radius: 28px;
  padding: 25px;
  text-align: center;
  position: relative;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
}

/* Close Icon */
.modal-close-icon {
  position: absolute;
  top: 20px;
  right: 20px;
  cursor: pointer;
  opacity: 0.4;
  font-size: 18px;
  color: var(--black-text);
}

/* Logo */
.modal-logo-circle {
  width: 65px;
  height: 65px;
  margin: 0 auto 15px;
}
.modal-logo-circle img {
  width: 100%;
  height: 100%;
  border-radius: 20px;
  object-fit: cover;
}

/* Titles & Text */
.mx-modal-title {
  color: var(--black-text);
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 8px;
}
.mx-modal-description-text {
  color: var(--gray-text);
  font-size: 13px;
  margin-bottom: 20px;
  font-weight: 400;
}

/* 2-Grid System for Features */
.modal-features-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* Set to 2 columns */
  gap: 15px; /* Increased gap for better spacing */
  margin-bottom: 20px;
}

.feature-box {
  padding: 16px 10px; /* Increased padding for a better box look */
  border-radius: 16px;
  text-align: center;
  color: var(--white);
}

.box-blue {
  background-color: #d97706;
}
.box-gold {
  background-color: var(--agromint-gold);
}

.feature-label {
  display: block;
  font-size: 10px;
  opacity: 0.9;
  margin-bottom: 4px;
  text-transform: uppercase;
}
.feature-val {
  display: block;
  font-weight: 600;
  font-size: 15px;
}

/* Secondary Info List */
.modal-info-list {
  background: var(--bg-soft);
  border-radius: 16px;
  padding: 12px;
  text-align: left;
  margin-bottom: 20px;
}
.info-item {
  color: var(--black-text);
  font-size: 12px;
  padding: 8px 5px;
  border-bottom: 1px solid #e2e8f0;
  font-weight: 400;
}
.info-item:last-child {
  border: none;
}

/* Telegram Button */
.mx-telegram-btn {
  display: block;
  width: 100%;
  margin-bottom: 12px;
  text-align: center;
  background: #d97706;
  color: var(--white);
  padding: 14px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  transition: opacity 0.2s;
}
.mx-telegram-btn:hover {
  opacity: 0.9;
}
/* DAILY LOADER OVERLAY */
.daily-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.55);
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  z-index: 9999;
}

/* 3D SPINNER */
.spinner-3d {
  width: 60px;
  height: 60px;
  border: 6px solid rgba(255, 255, 255, 0.2);
  border-top: 6px solid #00c2ff;
  border-radius: 50%;
  animation: spin3d 1s linear infinite;
  margin-bottom: 15px;
}

@keyframes spin3d {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.daily-loader p {
  color: white;
  font-weight: 600;
  font-size: 16px;
}

/* ===== PRODUCT PAGE ===== */
.product-page {
  width: 100%;
  padding: 20px;
  padding-bottom: 80px;
  padding-top: 65px; /* space for fixed header */
  background: #ffffff; /* white background */
  min-height: 100vh;
  color: #ffffff; /* white text */
  display: none; /* show when active */
}

/* ===== FIXED HEADER ===== */
.product-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #1e40ff; /* blue header */
  padding: 12px 0;
  z-index: 1000;
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  color: #ffffff; /* white text */
  box-shadow: 0 3px 8px rgba(30, 64, 255, 0.2); /* subtle blue shadow */
}

.product-header i {
  margin-right: 8px;
  color: #ffffff; /* white icon */
}

/* =========================================================================
   PREMIUM 3D FLOATING INVESTMENT APPLICATION VIEW STYLES
   ========================================================================= */

/* CORE VIEWPORT SHEET CANVAS - CLEAN BRIGHT BACKGROUND SURFACE */
.investment-page {
  background: linear-gradient(
    180deg,
    #eff6ff 0%,
    #f8fbff 42%,
    #ffffff 100%
  ) !important;
  min-height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start !important;
  align-items: stretch;
  overflow-y: auto;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* FIXED STATUS HEADER STRIPE - CORE BRAND BLUE */
.investment-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 68px;
  background: rgba(239, 246, 255, 0.94);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  border-bottom: 1px solid #bfdbfe;
  box-shadow: 0 8px 22px rgba(37, 99, 235, 0.1);
  box-sizing: border-box;
}

.investment-header h2 {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  color: #0f172a;
  font-family: "Inter", sans-serif;
  letter-spacing: -0.01em;
}

.investment-back-btn {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: #2563eb;
  cursor: pointer;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* SCROLL CONTAINER ALIGNMENT FRAME */
.investment-scroll-area {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding: 88px 16px 118px 16px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

/* HERO SUMMARY DESCRIPTION BOX */
.investment-sub-header {
  padding: 18px 16px 20px;
  margin-bottom: 14px;
  background: linear-gradient(135deg, #dbeafe 0%, #ffffff 100%);
  border: 1px solid #bfdbfe;
  border-radius: 20px;
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.08);
  width: 100%;
  box-sizing: border-box;
}

.investment-sub-header h1 {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: #0f172a;
  font-family: "Inter", sans-serif;
  letter-spacing: -0.02em;
}

.investment-sub-header p {
  margin: 6px 0 0 0;
  font-size: 13px;
  color: #64748b;
  line-height: 1.5;
}

/* CAROUSEL HORIZONTAL BAR PILLS */
.investment-filter-group {
  display: flex;
  gap: 8px;
  padding: 4px 0 16px;
  overflow-x: auto;
  scrollbar-width: none;
}
.investment-filter-group::-webkit-scrollbar {
  display: none;
}

.investment-filter-group .filter-btn {
  background: #ffffff;
  border: 1px solid #bfdbfe;
  color: #64748b;
  padding: 8px 18px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.02);
  transition: all 0.2s ease;
}

.investment-filter-group .filter-btn.active {
  background: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%) !important;
  color: #ffffff !important;
  border-color: #2563eb !important;
  box-shadow: 0 6px 14px rgba(37, 99, 235, 0.2) !important;
}

/* =========================================================================
   THE NEW PRESETS: 3D CARD WRAPPER ENGINE MATCHING REFERENCE FORMAT
   ========================================================================= */
.card-wrapper {
  width: 100%;
}

.investment-cards-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.premium-card {
  background: #ffffff !important; /* Crisp white card background */
  border: 1px solid #dbeafe !important;
  border-radius: 22px !important;
  padding: 20px 18px !important;
  width: 100%;
  box-sizing: border-box;
  font-family: "Inter", sans-serif !important;
  position: relative !important;

  /* Deep structural 3D floating ambient shadow profile layout */
  box-shadow: 0 12px 28px rgba(37, 99, 235, 0.08) !important;
  opacity: 0;
  animation: investmentCardReveal 0.45s ease forwards;
  animation-delay: calc(var(--card-index, 0) * 70ms);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.premium-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 34px rgba(37, 99, 235, 0.14) !important;
}

@keyframes investmentCardReveal {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* TOP ROW HEADER ALIGNMENT */
.header-slim {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  margin-bottom: 18px !important;
}

.title-section {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.premium-card .icon {
  font-size: 16px !important;
  color: #2563eb;
  background: linear-gradient(145deg, #dbeafe 0%, #eff6ff 100%);
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 14px rgba(37, 99, 235, 0.12);
}

.name-text {
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #1e293b !important; /* Premium bold dark name text */
  letter-spacing: -0.01em;
  margin-bottom: 2px;
}

.duration-text {
  font-size: 12px !important;
  color: #64748b !important;
  font-weight: 500;
}

.duration-text i,
.footer-slim i {
  margin-right: 4px;
  color: #60a5fa;
}

/* TOP RIGHT PRICING TAG HEADER LOGO STYLE */
.status-badge {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #16a34a !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-family: "Inter", sans-serif;
  padding: 7px 10px;
  border-radius: 999px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
}

.status-badge i {
  font-size: 12px;
}

/* ULTRA CRYSTAL BLUE GRID SYSTEM */
.stats-slim {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8px !important;
  margin-bottom: 16px !important;
}

.stat-box {
  background-color: #f8fafc !important; /* Light slate tint block interior */
  border: 1px solid #e0f2fe !important; /* Ultra Crystal Blue Grid Border Token */
  padding: 12px 6px !important;
  border-radius: 12px !important;
  text-align: center !important;
  box-sizing: border-box;
}

.stat-label {
  font-size: 10px !important;
  color: #2563eb !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em;
}

.stat-label i {
  margin-right: 3px;
  font-size: 10px;
}

.stat-val {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1e293b !important; /* Heavy high visibility text response */
}

/* TIMESTAMPS FOOTER CLOSURE PANEL ROW */
.footer-slim {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 11.5px !important;
  color: #64748b !important;
  border-top: 1px solid #f1f5f9 !important;
  padding-top: 14px !important;
  font-weight: 500;
}

/* ACTIVE AND COUNTDOWN BADGE STYLES inside dynamic fields */
.footer-slim span[id^="cd-"] {
  background-color: #e0f2fe !important; /* Crystal Blue capsule tag highlight background */
  color: #2563eb !important;
  padding: 4px 10px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 11px;
}

.investment-status-value {
  color: #16a34a !important;
  text-transform: capitalize;
}

@media (prefers-reduced-motion: reduce) {
  .premium-card {
    animation: none;
    opacity: 1;
    transition: none;
  }
}

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

:root {
  --bg-main: #f4f6f8; /* Premium light gray dashboard base layout canvas */
  --bg-banner: #d97706; /* Clean Royal Blue theme color from reference screenshots */
  --bg-card-white: #ffffff; /* Pure solid white floating structural container blocks */
  --bg-input-tint: #f0f4f9; /* Delicate high-end ice blue tint for item rows */
  --text-dark: #1e293b; /* Soft modern dark charcoal profile typography string */
  --text-muted: #8a99ad; /* Refined lightweight secondary descriptions and tags */
  --accent-yellow: #d6d100; /* Custom requested target yellow color token for highlights */
  --border-soft: #edf2f7; /* Clean hairline structural row divider lines */
}

/* ================== OVERRIDE SHIELD WRAPPER ================== */
.invite-page {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow-y: scroll !important;
  -webkit-overflow-scrolling: touch !important;
  z-index: 999 !important;
  background-color: var(--bg-main) !important;
  font-family: "Inter", sans-serif !important;
  color: var(--text-dark) !important;
  display: none; /* Controlled dynamically by your page array router */
  flex-direction: column !important;
  box-sizing: border-box !important;
}

/* ================== FIXED BANNER HEADER ================== */
.invite-page .invite-header-fixed-v2 {
  position: relative !important;
  width: 100% !important;
  height: 140px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 24px 20px 0 20px !important;
  background-color: var(--bg-banner) !important;
  box-sizing: border-box !important;
}

.invite-page .invite-header-fixed-v2 h2 {
  margin: 0 !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  letter-spacing: -0.01em !important;
}

.invite-page .invite-back-btn-v2 {
  position: absolute !important;
  left: 16px !important;
  top: 22px !important;
  background: transparent !important;
  border: none !important;
  color: #ffffff !important;
  font-size: 16px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px !important;
}

/* ================== STRUCTURAL CONTAINER SYSTEM ================== */
.invite-page .referral-container {
  width: 100% !important;
  max-width: 430px !important;
  margin: 0 auto !important;
  padding: 0 16px 120px 16px !important; /* Mobile bottom nav safety clearance */
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

.unified-team-section {
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px solid #dbeafe;
}

.unified-team-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 12px;
  padding: 0 4px;
  color: #2563eb;
}

.unified-team-header h3 {
  margin: 3px 0 0;
  color: #0f172a;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.unified-team-header > i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  color: #2563eb;
  background: #dbeafe;
  box-shadow: 0 6px 14px rgba(37, 99, 235, 0.1);
}

.team-eyebrow {
  color: #2563eb;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.unified-team-wrapper {
  width: 100%;
  max-width: none;
  padding: 0;
}

.unified-team-wrapper .stats-grid-container {
  gap: 8px;
}

.unified-team-wrapper .mini-stat-box,
.unified-team-wrapper .level-showcase-panel {
  border: 1px solid #dbeafe;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.06);
}

.unified-team-wrapper .tabs-pill-row {
  margin-top: 12px;
}

.unified-team-wrapper .team-scroll-area {
  margin-top: 12px;
}

.invite-page .invite-header-fixed-v2 {
  height: 76px !important;
  align-items: center !important;
  padding: 0 20px !important;
  background: rgba(239, 246, 255, 0.96) !important;
  border-bottom: 1px solid #bfdbfe;
  box-shadow: 0 8px 22px rgba(37, 99, 235, 0.1);
}

.invite-page .invite-header-fixed-v2 h2 {
  color: #0f172a !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

.invite-page .invite-back-btn-v2 {
  top: 50% !important;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 12px !important;
  color: #2563eb !important;
  background: #dbeafe !important;
}

.invite-page .referral-container {
  max-width: 600px !important;
  padding: 94px 16px 128px !important;
  gap: 14px !important;
}

.invite-page .section-block-wrapper {
  padding: 0 !important;
}

.invite-page .referral-master-card,
.invite-page .earnings-master-card,
.invite-page .how-it-works-card,
.invite-page .unified-team-wrapper .mini-stat-box,
.invite-page .unified-team-wrapper .level-showcase-panel {
  border: 1px solid #dbeafe !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.07) !important;
}

.invite-page .section-block-title {
  color: #0f172a !important;
  text-align: left !important;
  font-size: 18px !important;
}

.invite-page .team-header-main,
.invite-page .unified-team-header {
  margin-top: 6px;
}

.invite-page .copy-action-btn,
.invite-page .reward-blue-pill,
.invite-page .commission-badge-pill {
  background: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%) !important;
  color: #ffffff !important;
  border-color: #2563eb !important;
}

@media (max-width: 480px) {
  .invite-page .referral-container {
    padding: 88px 12px 122px !important;
  }

  .invite-page .referral-inner-brick,
  .invite-page .earnings-master-card,
  .invite-page .how-it-works-card {
    padding: 16px !important;
  }
}

.invite-page .section-block-wrapper {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

.invite-page .section-block-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--text-dark) !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 14px 4px !important;
  text-align: center !important;
}

.section-block-wrapper {
  width: 100%;
  padding: 16px;
  max-width: 600px;
  margin: 0 auto;
}

.earnings-master-card {
  background: #ffffff;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid #f0f0f0;
}

.section-block-title {
  color: #1a1a1a;
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 20px;
}

.earnings-tier-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid #f2f2f2;
}

.earnings-tier-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.tier-badge-indicator {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
  color: #ffffff;
}

.badge-gold {
  background: linear-gradient(135deg, #ff6a00, #ff9142);
  box-shadow: 0 4px 12px rgba(255, 106, 0, 0.35);
}

.badge-silver {
  background: linear-gradient(135deg, #b8b8b8, #d9d9d9);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.tier-info-text {
  flex: 1;
  min-width: 0;
}

.tier-info-text h4 {
  color: #1a1a1a;
  font-size: 14.5px;
  font-weight: 600;
  margin: 0 0 3px;
}

.tier-info-text p {
  color: #8a8a8a;
  font-size: 12.5px;
  margin: 0;
  line-height: 1.4;
}

.tier-value-pill {
  flex-shrink: 0;
  padding: 7px 14px;
  border-radius: 20px;
  font-size: 13.5px;
  font-weight: 700;
}

.reward-blue-pill {
  background: #fff1e6;
  color: #ff6a00;
}

/* Responsive */
@media (max-width: 480px) {
  .earnings-master-card {
    padding: 18px;
    border-radius: 14px;
  }

  .section-block-title {
    font-size: 16px;
    margin-bottom: 16px;
  }

  .tier-badge-indicator {
    width: 34px;
    height: 34px;
    font-size: 13px;
  }

  .tier-info-text h4 {
    font-size: 13.5px;
  }

  .tier-info-text p {
    font-size: 11.5px;
  }

  .tier-value-pill {
    padding: 6px 11px;
    font-size: 12px;
  }
}

.how-it-works-card {
  background: #ffffff;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid #f0f0f0;
  margin-top: 16px;
}

.how-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

.how-header i {
  color: #ff6a00;
  font-size: 18px;
}

.how-header h3 {
  color: #1a1a1a;
  font-size: 18px;
  font-weight: 700;
  margin: 0;
}

.step-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #f2f2f2;
}

.step-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.step-check-icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.step-check-icon i {
  color: #ff6a00;
  font-size: 18px;
}

.step-content {
  flex: 1;
  min-width: 0;
}

.step-content p {
  color: #4a4a4a;
  font-size: 13.5px;
  line-height: 1.5;
  margin: 0;
}

.highlight-yellow {
  color: #ff6a00;
  font-weight: 700;
  background: #fff1e6;
  padding: 2px 6px;
  border-radius: 6px;
}

/* Responsive */
@media (max-width: 480px) {
  .how-it-works-card {
    padding: 18px;
    border-radius: 14px;
  }

  .how-header h3 {
    font-size: 16px;
  }

  .how-header i {
    font-size: 16px;
  }

  .step-content p {
    font-size: 12.5px;
  }

  .step-check-icon {
    width: 24px;
    height: 24px;
  }

  .step-check-icon i {
    font-size: 16px;
  }

  .step-item {
    gap: 10px;
    padding: 10px 0;
  }
}

/* ================== SECURE FLOATING CARDS ================== */
.invite-page .referral-master-card,
.invite-page .earnings-master-card,
.invite-page .how-it-works-card {
  background-color: var(--bg-card-white) !important;
  border-radius: 16px !important;
  padding: 20px 16px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
  border: 1px solid rgba(237, 242, 247, 0.7) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.invite-page .referral-master-card {
  margin-top: -65px !important;
  z-index: 20 !important;
  position: relative !important;
}

.invite-page .referral-inner-brick {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  margin-bottom: 20px !important;
}

.invite-page .referral-inner-brick:last-child {
  margin-bottom: 0 !important;
}

.invite-page .card-label {
  color: var(--text-muted) !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  margin: 0 auto 10px auto !important;
  text-align: center !important;
}

/* ================== PROTECTED FIELDS & TINTS ================== */
.invite-page .copy-input-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background-color: var(--bg-input-tint) !important;
  border-radius: 10px !important;
  padding: 0 16px !important;
  height: 48px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-bottom: 12px !important;
  border: 1px solid rgba(226, 232, 240, 0.5) !important;
}

.invite-page .code-display {
  color: var(--text-dark) !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  letter-spacing: 0.5px !important;
}

.invite-page .link-display {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: #000000 !important; /* Fixed to pure clean black copy values */
  font-size: 13.5px !important;
  font-family: inherit !important;
  text-overflow: ellipsis !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  padding: 0 !important;
}

.invite-page #refLink {
  color: #000000 !important;
}

.invite-page .copy-inline-icon {
  color: var(--bg-banner) !important;
  font-size: 15px !important;
  cursor: pointer !important;
  padding-left: 10px !important;
  transition: opacity 0.1s ease !important;
}

.invite-page .copy-inline-icon:active {
  opacity: 0.6 !important;
}

/* ================== BLUE BUTTON SWITCH ================== */
.invite-page .copy-action-btn {
  width: 100% !important;
  background-color: var(--bg-banner) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 12px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  font-family: inherit !important;
  cursor: pointer !important;
  transition:
    transform 0.1s ease,
    opacity 0.1s ease !important;
  box-shadow: 0 4px 12px rgba(29, 114, 246, 0.15) !important;
}

.invite-page .copy-action-btn:active {
  transform: scale(0.97) !important;
  opacity: 0.9 !important;
}

/* ======================================================
   CORE VELTRIX PREMIUM TEAM LAYOUT INTERFACE RULES
   ====================================================== */

/* FIXED STICKY HEAD-BAND CONSOLE WRAPPER */
.team-header-main {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  background: #d97706; /* Royal Blue top header banner */
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  padding: 0 16px;
  box-sizing: border-box;
  z-index: 1000;
}

.team-header-main span {
  font-family: "Poppins", sans-serif;
  color: #ffffff;
  font-size: 17px;
  font-weight: 600;
  margin-left: 12px;
}

.back-btn-white {
  background: transparent;
  border: none;
  color: #ffffff;
  font-size: 18px;
  cursor: pointer;
  padding: 4px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* CONTAINER ARCHITECTURE ENGINE - FIXED TO PURE WHITE */
.team-page-wrapper {
  background-color: #ffffff; /* Pure White Page Background */
  min-height: 100vh;
  padding: 80px 16px 40px 16px; /* 80px top padding protects sticky header placement */
  font-family: "Poppins", sans-serif;
  color: #1e293b;
  box-sizing: border-box;
  width: 100%;
}

/* 1. THREE-COLUMN HORIZONTAL STATISTICS DISPLAY GRID */
.stats-grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 18px;
}

.mini-stat-box {
  background-color: #f8fafc; /* Light gray base canvas cards */
  border-radius: 16px;
  padding: 14px 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  box-sizing: border-box;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.mini-stat-box .label {
  font-size: 10px;
  font-weight: 700;
  color: #94a3b8;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  line-height: 1.2;
}

.mini-stat-box .value {
  font-size: 15px;
  font-weight: 800;
  color: #1e293b;
}

/* METALLIC BRONZE GOLD LOGS */
.accent-gold {
  color: #c5a880 !important;
}

/* 2. BLUE ACTIVE SWITCH PILLS SYSTEM */
.tabs-pill-row {
  display: flex;
  background-color: #f1f5f9; /* Off-white seamless background tray */
  padding: 6px;
  border-radius: 14px;
  gap: 4px;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 18px;
}

.level-tab-btn {
  flex: 1;
  background-color: transparent;
  color: #64748b;
  border: none;
  padding: 12px 6px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  text-align: center;
  white-space: nowrap;
}

/* Premium Blue Active Switch Style Configuration */
.level-tab-btn.active {
  background-color: #d97706; /* Premium Royal Blue Active Switch Background */
  color: #ffffff; /* White text for bold readability when active */
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(30, 64, 175, 0.2);
}

/* 3. SHOWCASE CENTRAL BOARD CONTEXT WRAPPERS */
.level-showcase-panel {
  background-color: #f8fafc;
  border-radius: 20px;
  padding: 20px 16px;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.01);
}

/* TWO-COLUMN INLINE LEVEL DATA SYSTEM CONTROLS */
.triple-stats-subgrid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 16px;
}

.sub-stat-card {
  background-color: #ffffff; /* White inner layout sub-boxes */
  border-radius: 12px;
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  box-sizing: border-box;
  border: 1px solid #e2e8f0;
}

.sub-stat-card .sub-label {
  font-size: 12px;
  color: #64748b;
  margin-bottom: 4px;
  font-weight: 500;
}

.sub-stat-card .sub-value {
  font-size: 16px;
  font-weight: 700;
}

/* FOOTER META DECK LINKS FOR PANEL LAYOUT */
.panel-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-top: 12px;
  border-top: 1px solid #e2e8f0;
}

.commission-badge-pill {
  background-color: #dcfce7;
  color: #d97706;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1px;
}

.panel-action-link-btn {
  background: #d97706;
  color: #ffffff;
  border: none;
  border-radius: 12px;
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

/* 4. DYNAMIC INJECT ROW MATRIX BLOCKS */
.team-scroll-area {
  width: 100%;
  box-sizing: border-box;
  margin-top: 16px;
}

.vtx-member-row-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  background: #f8fafc; /* Elegant light card slots for lists on white canvas */
  border-radius: 16px;
  margin-bottom: 10px;
  border: 1px solid #e2e8f0;
  box-sizing: border-box;
  width: 100%;
}

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

:root {
  --bg-canvas: #f4f6f8; /* Premium light gray platform canvas base layer */
  --bg-banner-blue: #1d72f6; /* Royal Blue brand theme color token */
  --bg-surface-white: #ffffff; /* Clean card container surfaces */
  --bg-input-tint: #f0f4f9; /* Smooth slate input field element background fill */
  --text-dark: #1e293b; /* Clean modern high-contrast text layout color */
  --text-grey-muted: #8a99ad; /* Lightweight subtle descriptions and secondary notations */
  --accent-yellow: #d6d100; /* Custom requested premium highlight yellow token */
  --border-hairline: #edf2f7; /* Fluid boundary structural divider lines */
}

/* Master Fixed Sheet Configuration - VERTICAL SCROLL ENABLED */
.withdraw-page {
  font-family: "Inter", sans-serif;
  background-color: var(--bg-canvas);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh; /* Fills full screen height view allocation */
  color: var(--text-dark);
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  overflow-y: scroll; /* Native vertical layout scroll container active */
  -webkit-overflow-scrolling: touch; /* High fidelity smooth mobile scroll momentum track */
}

/* ================= ROYAL BLUE BACKDROP MAIN BANNER HEADER ================= */
.withdraw-header-fixed {
  position: relative;
  width: 100%;
  height: 220px; /* Precision height budget accommodating embedded balance widget */
  background: var(--bg-banner-blue);
  display: flex;
  flex-direction: column;
  padding: 20px 16px 0 16px;
  box-sizing: border-box;
  z-index: 10;
  flex-shrink: 0; /* Safeguards header block from crushing under scroll */
}

.withdraw-nav-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  position: relative;
}

.withdraw-header-fixed h2 {
  font-size: 17px;
  font-weight: 500; /* Perfectly crisp un-bolded sleek design system lettering */
  color: #ffffff;
  letter-spacing: -0.01em;
  margin: 0;
}

.withdraw-back-btn-v2,
.history-btn {
  background: transparent;
  border: none;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 6px;
  transition: opacity 0.15s ease;
}

.withdraw-back-btn-v2:active,
.history-btn:active {
  opacity: 0.6;
}

/* ===== TRANSLUCENT INNER LAYER BALANCE BOX OVERLAY ===== */
.balance-display-card {
  width: 100%;
  background: rgba(
    255,
    255,
    255,
    0.15
  ); /* Seamless glassmorphic alpha blending opacity */
  border-radius: 14px;
  padding: 16px 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 24px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.balance-title {
  font-size: 13px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.8);
}

.balance-value {
  font-size: 28px;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: -0.02em;
  margin: 0;
}

/* ================= COMPACT SCROLLING WRAPPER FLOW CONTAINER ================= */
.recharge-container {
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
  padding: 0 16px 60px 16px; /* Safe padding 60px base padding layer guarantees zero footer lockouts */
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: auto; /* Allow free fluid height expansion down the canvas track */
}

/* Generic Section Typography Labels */
.section-label {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-dark);
  margin: 0 0 12px 0;
  text-align: left;
}

.section-label.group-title {
  margin-top: 8px;
  margin-bottom: -4px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-grey-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding-left: 2px;
}

/* ===== INTERSECTING TRANSACTION INPUT CARD STYLING ===== */
.input-card-ev {
  width: 100%;
  background-color: var(--bg-surface-white);
  border-radius: 16px;
  padding: 24px 16px 20px 16px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  margin-top: -35px; /* Clean overlap alignment above the primary banner margin break */
  z-index: 30;
  position: relative;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(237, 242, 247, 0.8);
}

/* Modern Input Module Framework */
.withdraw-input-box-ev {
  background-color: var(--bg-input-tint);
  border: 1px solid rgba(226, 232, 240, 0.6);
  border-radius: 10px;
  display: flex;
  align-items: center;
  padding: 0 16px;
  height: 52px;
  box-sizing: border-box;
}

.currency-icon {
  color: #a0aec0;
  font-size: 16px;
  font-weight: 500;
  margin-right: 8px;
}

#withdrawAmountInput {
  background: transparent;
  border: none;
  color: var(--text-dark);
  font-size: 16px;
  font-family: inherit;
  font-weight: 400;
  outline: none;
  width: 100%;
  padding: 0;
}

#withdrawAmountInput::placeholder {
  color: #cbd5e1;
}

/* Dual Dynamic Calculator Parameter Rows */
.withdrawal-calculation-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 12px;
  padding: 0 2px;
}

.calc-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-grey-muted);
}

/* PRIMARY SYSTEM EXECUTION CTA */
#withdrawSubmitBtn {
  width: 100%;
  background-color: var(
    --bg-banner-blue
  ); /* Rich Blue active fill theme rule mapping */
  color: #ffffff;
  border: none;
  padding: 14px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 500; /* Pure unbolded premium weighting setup */
  cursor: pointer;
  margin-top: 20px;
  font-family: inherit;
  transition:
    transform 0.1s ease,
    opacity 0.1s ease;
  box-shadow: 0 4px 14px rgba(29, 114, 246, 0.2);
}

#withdrawSubmitBtn:active {
  transform: scale(0.97);
  opacity: 0.92;
}

/* Secondary Action Anchor Links */
.max-btn-link {
  color: var(--bg-banner-blue);
  font-size: 13px;
  font-weight: 500;
  text-align: center;
  margin: 14px 0 0 0;
  cursor: pointer;
  display: inline-block;
  align-self: center;
}

.max-btn-link:active {
  opacity: 0.6;
}

/* ================= CONNECTED BANK SUMMARY INFO SYSTEM ================= */
.bank-info-grid {
  display: grid;
  grid-template-columns: repeat(
    2,
    1fr
  ); /* Twin symmetry columns for data elements */
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
}

.bank-sub-card {
  background-color: var(--bg-surface-white);
  border: 1px solid rgba(237, 242, 247, 0.9);
  padding: 14px 16px;
  border-radius: 12px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.01);
}

.sub-card-label {
  color: var(--text-grey-muted);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.2px;
}

.sub-card-value {
  color: var(--text-dark);
  font-size: 13.5px;
  font-weight: 500;
}

/* ===== COHESIVE BANK LAYER EMPTY SLOTS UI ===== */
.bank-empty {
  width: 100%;
  background-color: var(--bg-surface-white);
  border: 2px dashed #cbd5e1;
  border-radius: 16px;
  padding: 32px 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.bank-empty-icon-wrap {
  color: #94a3b8;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bank-empty h4 {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text-dark);
  margin: 0 0 6px 0;
}

.bank-empty p {
  font-size: 12px;
  color: var(--text-grey-muted);
  line-height: 1.45;
  margin: 0 0 16px 0;
  max-width: 280px;
}

.add-bank-btn {
  background-color: var(--bg-banner-blue);
  color: #ffffff;
  border: none;
  padding: 10px 24px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  box-shadow: 0 3px 10px rgba(29, 114, 246, 0.15);
  transition: transform 0.1s ease;
}

.add-bank-btn:active {
  transform: scale(0.96);
}

/* ================= MASTER RULES PLATFORM PLATFORM GRAPH ================= */
.rules-card-ev {
  width: 100%;
  background-color: var(--bg-surface-white);
  border-radius: 16px;
  padding: 20px 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
  border: 1px solid rgba(237, 242, 247, 0.7);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.rules-title-ev {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--bg-banner-blue);
  margin-bottom: 16px;
}

.info-title {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text-dark);
  margin: 0;
}

.info-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.info-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.info-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}

/* Icon Color Variant Matrices */
.info-icon.green-tick {
  background-color: #e2fbe8;
  color: #22c55e;
}

.info-icon.time-clock {
  background-color: #e3efff;
  color: var(--bg-banner-blue);
}

.info-list p {
  font-size: 13px;
  font-weight: 400;
  color: #475569;
  line-height: 1.45;
  margin: 0;
  flex: 1;
}

/* FIXED FOCUS METRIC TARGET YELLOW TOKEN HIGHLIGHT */
.highlight-yellow {
  color: var(--accent-yellow);
  font-weight: 600;
}

/* High-resolution monitor responsive optimization layer */
@media (min-width: 576px) {
  .recharge-container {
    gap: 20px;
  }
  .input-card-ev {
    padding: 28px 24px;
  }
  .bank-info-grid {
    gap: 12px;
  }
}

/* ======================================================
   CORE VELTRIX HIGH-FIDELITY SPIN WHEEL INTERFACE STYLES
   ====================================================== */

/* FIXED STICKY TOP HEADER CONTROL BANNER */
.spin-header-main {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  background: #d97706; /* Premium Royal Corporate Blue */
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  padding: 0 16px;
  box-sizing: border-box;
  z-index: 1100;
}

.spin-header-main span {
  font-family: "Poppins", sans-serif;
  color: #ffffff;
  font-size: 17px;
  font-weight: 600;
  margin-left: 12px;
}
/* CONTAINER ARCHITECTURE DESIGN LAYOUTS - MOBILE OPTIMIZED BACKGROUND */
.spin-page-wrapper {
  /* High contrast tint overlay */
  background-image:
    linear-gradient(rgba(15, 23, 42, 0.45), rgba(15, 23, 42, 0.45)),
    url("back.jpg") !important;

  /* 🌟 THE FIX: Contain makes sure 100% of the image is visible without cropping */
  background-size: contain !important;
  background-position: top center !important; /* Aligns it nicely at the top of the canvas */
  background-repeat: repeat-y !important; /* Allows the image to tile down if the page is longer than the image */
  background-color: #0f172a !important; /* Fallback dark slate color for any space below the image */

  min-height: 100vh;
  padding: 85px 16px 40px 16px;
  font-family: "Poppins", sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
}

/* INFO CONTENT TRACKER CARDS - GLASSMORPHISM BOOST FOR MAXIMUM LEGIBILITY */
.spin-quota-card {
  width: 100%;
  max-width: 400px;
  background-color: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 20px;
  padding: 20px;
  text-align: center;
  box-sizing: border-box;
  margin-bottom: 30px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
}

.spin-quota-card .quota-title {
  font-size: 11px;
  font-weight: 700;
  color: #64748b;
  letter-spacing: 0.5px;
  margin: 0 0 6px 0;
}

.spin-quota-card .quota-count {
  font-size: 28px;
  font-weight: 800;
  color: #d97706;
  margin: 0 0 8px 0;
}

.spin-quota-card .quota-desc {
  font-size: 13px;
  color: #1e293b;
  font-weight: 500;
  line-height: 1.5;
  margin: 0;
}

/* 3D MECHANICAL WHEEL CHASSIS HOUSING LAYOUT */
.wheel-main-container {
  position: relative;
  width: 330px;
  height: 330px;
  margin: 20px auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* TOP-CENTER COMPASS TRIANGLE ARROW POINTER */
.wheel-pointer-compass {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-top: 26px solid #dc2626;
  z-index: 50;
  filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.25));
}

/* HIGH-SPEC PLASTERED WHEEL: COMPLETELY FIXED WITHOUT ROTATION TRANSITIONS */
.lucky-fortune-wheel {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #1e293b;
  border: 14px solid #c5a880;
  box-shadow:
    0 16px 48px rgba(0, 0, 0, 0.5),
    inset 0 0 20px rgba(0, 0, 0, 0.7);
  overflow: hidden;

  /* Plastered settings */
  transform: rotate(0deg) !important;
  transition: none !important;
  animation: none !important;

  box-sizing: border-box;
  z-index: 10;
}

/* WHEEL ANGULAR SLICE CONSTRAINTS PIECE ARCS */
.wheel-slice {
  position: absolute;
  width: 50%;
  height: 50%;
  transform-origin: 100% 100%;
  left: 0;
  top: 0;
  background: var(--bg);
  transform: rotate(calc(51.42deg * var(--i))) skewY(-38.58deg);
  box-sizing: border-box;
  border-right: 2px solid rgba(255, 255, 255, 0.2);
  border-bottom: 2px solid rgba(255, 255, 255, 0.2);
}

.wheel-slice span {
  position: absolute;
  font-family: "Poppins", sans-serif;
  color: #ffffff;
  font-weight: 700;
  font-size: 13px;
  transform: skewY(38.58deg) rotate(25.71deg);
  left: 35px;
  top: 65px;
  display: block;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  white-space: nowrap;
}

/* RADIANT CENTRAL INNER CALL-TO-ACTION LAUNCH BUTTON TRIGGER */
.wheel-trigger-center-btn {
  position: absolute;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: #111113;
  border: 4px solid #c5a880;
  color: #ffffff;
  z-index: 100;
  cursor: pointer;
  box-shadow:
    0 6px 16px rgba(0, 0, 0, 0.4),
    inset 0 2px 4px rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none;
}

.wheel-trigger-center-btn span {
  font-family: "Poppins", sans-serif;
  font-size: 11px;
  font-weight: 800;
  color: #c5a880;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.3px;
}

/* Disabled state modification ruleset */
.wheel-trigger-center-btn.disabled-state {
  background: #64748b !important;
  border-color: #94a3b8 !important;
  cursor: not-allowed;
}
.wheel-trigger-center-btn.disabled-state span {
  color: #e2e8f0 !important;
}

/* ======================================================
   UPGRADED PREMIUM POPUP REWARD MODAL OVERLAYS
   ====================================================== */
.spin-reward-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Increased backdrop dimming opacity from 0.6 to 0.78 for intense image isolation */
  background-color: rgba(11, 17, 32, 0.78) !important;
  backdrop-filter: blur(
    8px
  ) !important; /* Enhanced frosted blur to completely separate card from background */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  padding: 20px;
  box-sizing: border-box;
}

.spin-reward-modal-card {
  background-color: #ffffff;
  border-radius: 24px;
  width: 100%;
  max-width: 360px;
  padding: 30px 24px;
  box-sizing: border-box;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.8);
  /* Added a massive premium high-contrast shadow layer so the modal floats explicitly on top */
  box-shadow:
    0 25px 50px -12px rgba(0, 0, 0, 0.5),
    0 12px 24px -8px rgba(0, 0, 0, 0.4) !important;
  animation: modalPopEntrance 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275)
    forwards;
}

@keyframes modalPopEntrance {
  from {
    transform: scale(0.85);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

.modal-gift-icon {
  width: 64px;
  height: 64px;
  background-color: #eff6ff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px auto;
}

.modal-gift-icon i {
  font-size: 28px;
  color: #d97706;
}

.spin-reward-modal-card h2 {
  font-size: 22px;
  font-weight: 800;
  color: #1e293b;
  margin: 0 0 6px 0;
}

.modal-win-text {
  font-size: 13px;
  color: #64748b;
  margin: 0 0 12px 0;
}

.modal-win-amount {
  font-size: 32px;
  font-weight: 800;
  color: #c5a880;
  margin-bottom: 24px;
  letter-spacing: 0.5px;
}

.modal-claim-action-btn {
  width: 100%;
  background-color: #d97706;
  color: #ffffff;
  border: none;
  border-radius: 14px;
  padding: 14px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 12 rgba(30, 64, 175, 0.2);
  transition: background 0.15s ease;
}

.modal-claim-action-btn:hover {
  background-color: #1d4ed8;
}

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

/* ===============================================
   PREMIUM LIGHT SYSTEM INTERFACE DESIGN CONFIG
   =============================================== */
.records-page {
  width: 100%;
  min-height: 100vh;
  background: linear-gradient(
    180deg,
    #eff6ff 0%,
    #f8fbff 38%,
    #ffffff 100%
  ) !important;
  font-family: "Space Grotesk", sans-serif;
  box-sizing: border-box;
  padding-bottom: 60px;
}

/* ================= CLEAN FIXED BLUE HEADER ================= */
.records-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 68px;
  background: rgba(239, 246, 255, 0.94) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  border-bottom: 1px solid #bfdbfe;
  box-shadow: 0 8px 22px rgba(37, 99, 235, 0.1);
}

.records-header h2 {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  color: #0f172a !important;
  letter-spacing: -0.01em;
}

/* CIRCULAR BACK ARROW COMPONENT */
.records-back-btn {
  position: absolute;
  left: 16px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: #2563eb !important;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 16px;
  outline: none;
  transition: opacity 0.2s;
}

.records-back-btn:active {
  opacity: 0.7;
}

/* ================= HORIZONTAL SCROLL FILTER SYSTEM ================= */
.records-filter {
  display: flex;
  gap: 8px;
  padding: 14px 16px;
  margin-top: 68px;
  overflow-x: auto;
  background: rgba(255, 255, 255, 0.82);
  border-bottom: 1px solid #dbeafe;
}

.records-filter::-webkit-scrollbar {
  display: none;
}
.records-filter {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.filter-btn {
  border: 1px solid #bfdbfe;
  padding: 8px 20px;
  background: #ffffff;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  color: #64748b;
  white-space: nowrap;
  transition: all 0.2s ease;
  outline: none;
}

.filter-btn.active {
  background: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%) !important;
  color: #ffffff !important;
  border-color: #2563eb !important;
}

/* ================= CENTRAL DATA STREAM WRAPPER ================= */
#recordsContainer {
  max-width: 600px;
  margin: 0 auto;
  padding: 18px 16px 118px;
  background: transparent;
  box-sizing: border-box;
}

/* ================= FLOATING RECORD DATA CARD ELEMENTS ================= */
.record-card-v2 {
  width: 100%;
  background: #ffffff !important; /* Isolated pure white card containers */
  border-radius: 20px;
  padding: 18px;
  margin-bottom: 14px;
  box-sizing: border-box;
  border: 1px solid #dbeafe;
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.07);
  display: flex;
  flex-direction: column;
  animation: recordCardReveal 0.35s ease both;
}

.record-card-v2:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 30px rgba(37, 99, 235, 0.12);
}

@keyframes recordCardReveal {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* CARD INNER TOP ROW LOGIC BLOCKS */
.record-header-row-v2 {
  display: flex;
  align-items: center;
  width: 100%;
  border-bottom: 1px dashed #f1f5f9;
  padding-bottom: 14px;
  margin-bottom: 14px;
}

.record-icon-badge-box-v2 {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  margin-right: 12px;
  flex-shrink: 0;
  border: 1px solid #dbeafe;
  box-shadow: 0 6px 14px rgba(37, 99, 235, 0.08);
}

/* Context Micro Branding Color Classes from the Image Layout Base */
.icon-withdrawal-v2 {
  background-color: rgba(239, 68, 68, 0.06);
  color: #ef4444;
}

.icon-deposit-v2 {
  background-color: rgba(30, 102, 255, 0.06);
  color: #1e66ff;
}

.icon-bonus-v2 {
  background-color: rgba(168, 85, 247, 0.06);
  color: #a855f7;
}

.record-title-identity-v2 {
  display: flex;
  flex-direction: column;
  text-align: left;
  flex-grow: 1;
}

.record-title-identity-v2 h4 {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #1e293b;
}

.record-title-identity-v2 p {
  margin: 2px 0 0 0;
  font-size: 11px;
  color: #94a3b8;
}

/* STATUS COMPACT PILL HOOKS */
.record-status-pill-v2 {
  font-size: 11px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  gap: 5px;
}

.status-dot-v2 {
  font-size: 8px;
}

.status-success-v2 {
  background-color: #e6f9f0 !important; /* Soft mint highlight tint */
  color: #10b981 !important; /* Sharp verification emerald green text */
}

.status-pending-v2 {
  background-color: #fffbeb !important;
  color: #f59e0b !important;
}

.status-failed-v2 {
  background-color: #fef2f2 !important;
  color: #ef4444 !important;
}

/* CARD MID-BODY FINANCIAL METRICS GRID LAYER */
.record-metrics-row-v2 {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.metrics-column-v2 {
  display: flex;
  flex-direction: column;
}

.metrics-column-v2.text-left {
  text-align: left;
}
.metrics-column-v2.text-right {
  text-align: right;
}

.metrics-label-v2 {
  font-size: 10px;
  font-weight: 600;
  color: #94a3b8;
  letter-spacing: 0.03em;
  margin-bottom: 4px;
}

.amount-display-v2 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* 100% Image Match Red Text Mutation for Negative Outbound Assets */
.amount-minus-v2 {
  color: #dc2626 !important; /* High-fidelity deep warning red text */
}

.amount-plus-v2 {
  color: #10b981 !important; /* Success transaction token tint green */
}

.date-main-v2 {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  color: #334155;
}

.time-sub-v2 {
  margin: 2px 0 0 0;
  font-size: 11px;
  color: #94a3b8;
}

/* REPLICATED ACCORDION BOTTOM EDGE DETAILS LINE */
.record-accordion-trigger-v2 {
  width: 100%;
  text-align: left;
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid #f8fafc;
}

.record-card-v2 .record-metrics-row-v2 {
  display: none;
  opacity: 0;
  transform: translateY(-6px);
}

.record-card-v2.is-expanded .record-metrics-row-v2 {
  display: flex;
  animation: recordDetailsReveal 0.25s ease forwards;
}

@keyframes recordDetailsReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.record-accordion-trigger-v2 span {
  font-size: 11px;
  font-weight: 600;
  color: #5b21b6; /* Premium dark violet styling */
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* ================= MODAL OVERLAY ================= */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
}

.modal-overlay.active {
  display: flex;
}

/* ================= MODAL CARD ================= */
.modal-card {
  background: #ffffff;
  border-radius: 22px;
  padding: 24px;
  width: 100%;
  max-width: 420px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
}

/* ================= HEADER ================= */
.sheet-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.sheet-title {
  font-size: 22px;
  font-weight: 700;
  color: #000000;
}

.close-sheet {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: #ffffff;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
}

/* ================= INNER CARD ================= */
.slim-card {
  background: #f7f7f7;
  border-radius: 18px;
  padding: 18px;
  margin-bottom: 25px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

/* ================= PRODUCT ROW ================= */
.product-main-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.check-icon-container {
  width: 48px;
  height: 48px;
  background: #2d6bef;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.check-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: white;
  color: #000000;
  font-weight: 700;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ================= PRODUCT DETAILS ================= */
.product-details strong {
  font-size: 17px;
  font-weight: 700;
  display: block;
  color: #111;
}

.product-details p {
  font-size: 14px;
  color: #444;
  margin-top: 3px;
}

/* ================= DIVIDER ================= */
.divider-line {
  height: 1px;
  background: #e5e5e5;
  margin: 14px 0;
}

/* ================= BALANCE ================= */
.account-balance-row {
  font-size: 14px;
  color: #333;
  font-weight: 600;
}

/* ================= PURCHASE BUTTON ================= */
.purchase-btn {
  background: #2d6bef;
  color: white;
  border: none;
  border-radius: 40px;
  padding: 12px 28px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  display: block;
  margin: auto;
  box-shadow: 0 6px 15px rgba(47, 72, 236, 0.4);
  transition: transform 0.15s ease;
}

.purchase-btn:active {
  transform: scale(0.95);
}

/* ================= MOBILE ================= */
@media (max-width: 480px) {
  .modal-card {
    padding: 20px;
  }

  .sheet-title {
    font-size: 20px;
  }

  .product-details strong {
    font-size: 16px;
  }

  .product-details p,
  .account-balance-row {
    font-size: 13px;
  }

  .purchase-btn {
    font-size: 14px;
    padding: 10px 22px;
  }
}

:root {
  /* === SYSTEM COLOURS PROVIDED & UPDATED === */
  --agromint-dark-bg: #0f1b3a;
  --agromint-deep-navy: #0a142f;
  --agromint-card: #13244a;
  --agromint-blue: #1a53ff;

  --white: #ffffff;
  --light-text: #e0e6f5;
  --black-text: #000000; /* True black for maximum UI/UX legibility */
  --muted-dark: #334155;

  --btn-deposit: #3b82f6;
  --btn-withdraw: #22c55e; /* Profits highlight */
  --btn-plans: #60a5fa; /* Light blue asset tracking */
  --btn-gift: #8b5cf6;
}

/* Main Section Structure - Clean Flat White Background */
.product-section {
  background: transparent !important;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  padding: 12px 16px 0;
  box-sizing: border-box;
}

.rental-navigation-tabs {
  display: flex;
  gap: 8px;
  padding: 8px 0 0;
  background: transparent;
  width: 100%;
  box-sizing: border-box;
}

.rental-tab-btn {
  flex: 1;
  padding: 12px 10px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(255, 255, 255, 0.7);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  text-align: center;
  transition: all 0.2s ease-in-out;
  color: #475569;
}

.rental-tab-btn.active {
  background: linear-gradient(135deg, #4ade80 0%, #16a34a 100%);
  color: #ffffff;
  border-color: transparent;
  box-shadow: 0 10px 18px rgba(22, 163, 74, 0.2);
}

.rental-tab-btn:not(.active) {
  background: rgba(255, 255, 255, 0.7);
  color: #475569;
}

#dynamicProductList {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px !important;
  padding: 16px 0 100px 0 !important;
  background: transparent !important;
  box-sizing: border-box;
}

/* --- PRODUCT CARD CONFIGURATION --- */
.mx-product-card {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border-radius: 20px !important;
  border: 1px solid #dbeafe;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: 100%;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.08);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.mx-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 30px rgba(37, 99, 235, 0.14);
}

/* Image wrapper frame */
.mx-card-image-wrapper {
  position: relative;
  width: 100%;
  height: 145px;
  background: #e0f2fe;
  overflow: hidden;
}

.mx-card-logo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Text overlay directly on the picture card frame banner */
.mx-plan-name-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(transparent, rgba(15, 23, 42, 0.88));
  color: var(
    --white
  ) !important; /* Forces the plan title text on top of the image to stay white */
  font-size: 14px;
  font-weight: 700;
  padding: 12px 8px 6px 8px;
  box-sizing: border-box;
}

/* Top Right Float Quota Badge */
.mx-quota-badge {
  position: absolute;
  top: 6px;
  right: 6px;
  background: linear-gradient(135deg, #4ade80 0%, #16a34a 100%);
  color: var(--white) !important;
  font-size: 10px;
  font-weight: 700;
  padding: 5px 10px;
  border-radius: 999px;
  box-shadow: 0 5px 12px rgba(22, 163, 74, 0.25);
  z-index: 2;
}

/* --- METRICS INTERIOR GRID ENGINE --- */
.mx-main-info-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  padding: 12px 10px;
  background-color: var(--white);
}

/* Individual feature data blocks updated to high contrast text values */
.mx-stat-block {
  background: #ffffff;
  border-radius: 10px;
  padding: 9px 4px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid #e0f2fe;
}

/* FIXED: Enforced default black text for numbers so they never fall back to white */
.mx-stat-val {
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 2px;
  color: var(--black-text);
}

.mx-stat-label {
  font-size: 10px;
  color: var(--black-text);
  font-weight: 700;
  opacity: 0.6; /* Softens label slightly while keeping it clearly readable black */
}

/* Target Typography Formatting Helpers */
.true-black-text {
  color: var(--black-text) !important;
}

.withdraw-green-text {
  color: var(--btn-withdraw) !important; /* Green profits */
}

.plans-gold-text {
  color: var(--btn-plans) !important; /* Gold price value */
}

/* --- BUTTON LAYOUT FOOTER ENGAGEMENT BLOCK --- */
.mx-btn-wrapper {
  padding: 0 8px 10px 8px;
  background-color: var(--white);
}

.mx-invest-btn {
  width: 100%;
  background: linear-gradient(135deg, #4ade80 0%, #16a34a 100%) !important;
  color: var(--white) !important;
  border: none;
  padding: 11px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  transition: all 0.2s ease-in-out;
  box-shadow: 0 7px 14px rgba(22, 163, 74, 0.2);
}

.mx-invest-btn:active {
  background: #15803d !important;
  transform: scale(0.96);
}

/* This targets the <a> tag wrapping your settings item */
a.settings-link-wrapper {
  text-decoration: none !important; /* Forces the underline to disappear */
  color: inherit !important; /* Forces the text to stay your app's color */
  display: block; /* Makes the whole row clickable */
  -webkit-tap-highlight-color: transparent; /* Removes the gray box on mobile tap */
}

/* Optional: Add a slight hover or active effect so the user knows it's a button */
a.settings-link-wrapper:active {
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 8px;
}

/* 1. Force the input text to stay white and background to stay dark/transparent */
input,
select,
textarea {
  color: #ffffff !important;
  background-color: rgba(
    255,
    255,
    255,
    0.05
  ) !important; /* Subtle dark glass look */
  border: 1px solid rgba(168, 85, 247, 0.3); /* Soft Purple border */
  outline: none !important;
}

/* 2. Remove the "White Layer" that appears when the browser autofills or focuses */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-text-fill-color: #ffffff !important;
  -webkit-box-shadow: 0 0 0 1000px #000000 inset !important; /* Matches your Black background */
  transition: background-color 5000s ease-in-out 0s;
}

/* 3. Remove the white hover effect and keep it Purple */
input:focus {
  border-color: #a855f7 !important; /* Glowing Purple focus */
  background-color: rgba(0, 0, 0, 0.9) !important;
  box-shadow: 0 0 8px rgba(168, 85, 247, 0.4);
}

/* 4. Fix Placeholder color so it's not too bright */
::placeholder {
  color: rgba(255, 255, 255, 0.4) !important;
}

/* ================= CUSTOM ALERT ================= */
.custom-alert {
  position: fixed !important;

  top: 50% !important;
  left: 50% !important;

  transform: translate(-50%, -50%) !important;

  background: rgba(0, 0, 0, 0.85);
  color: #fff;

  padding: 14px 24px;
  border-radius: 12px;

  font-size: 15px;
  text-align: center;

  max-width: 90%;
  width: max-content;

  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5);

  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease;

  z-index: 999999; /* higher than EVERYTHING */
}

.custom-alert.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1) !important;
}
.custom-alert {
  right: auto;
  margin: 0;
}

.custom-alert.show {
  animation: alertPop 0.3s ease;
}

@keyframes alertPop {
  0% {
    transform: translate(-50%, -60%) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
}

/* ===== FULLSCREEN PREMIUM SLATE-WHITE OVERLAY ===== */
#pageLoader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(8, 20, 35, 0.3);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  font-family: "Inter", sans-serif;
}

/* FLOATING PREMIUM LIGHT GLASS CARD */
.loader-card {
  padding: 22px;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 45px rgba(4, 15, 28, 0.2);
  position: relative;
}

.dotted-loader {
  display: flex;
  align-items: center;
  gap: 7px;
}

.dotted-loader span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 0 12px rgba(255, 255, 255, 0.75);
  animation: loaderDot 900ms ease-in-out infinite;
}

.dotted-loader span:nth-child(2) {
  animation-delay: 100ms;
}
.dotted-loader span:nth-child(3) {
  animation-delay: 200ms;
}
.dotted-loader span:nth-child(4) {
  animation-delay: 300ms;
}
.dotted-loader span:nth-child(5) {
  animation-delay: 400ms;
}
.dotted-loader span:nth-child(6) {
  animation-delay: 500ms;
}
.dotted-loader span:nth-child(7) {
  animation-delay: 600ms;
}
.dotted-loader span:nth-child(8) {
  animation-delay: 700ms;
}

@keyframes loaderDot {
  0%,
  100% {
    opacity: 0.35;
    transform: translateY(0) scale(0.72);
  }
  50% {
    opacity: 1;
    transform: translateY(-7px) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dotted-loader span {
    animation: none;
    opacity: 0.8;
    transform: none;
  }
}

/* ====== CINEMATIC TRANSITION ANIMATIONS ====== */
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes moveLine {
  0% {
    transform: translateX(-150%);
  }
  100% {
    transform: translateX(250%);
  }
}

/* Header Image */
.product-header-img img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 12px;
  margin-bottom: 15px;
}

/* Reviews Ticker Wrapper - fills remaining viewport height */
.reviews-ticker-wrapper {
  width: 100%;
  height: calc(100vh - 250px); /* adjust based on your header/image height */
  overflow: hidden;
  border-radius: 12px;
  background: #ffffff; /* blue background */
  padding: 10px;
  box-sizing: border-box;
}

/* Ticker container */
.reviews-ticker {
  display: flex;
  flex-direction: column;
  gap: 15px;
  animation: scrollReviews 300s linear infinite; /* very slow scroll */
}

/* Each review item */
.review-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 15px;
  background: #ffffff; /* white card background */
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  min-height: 80px; /* make each review taller */
}

/* User logo / icon */
.review-item .user-img {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0; /* keeps image from shrinking */
}

/* Review text */
.review-item .review-text {
  flex: 1;
  font-size: 14px;
  line-height: 1.6;
  color: #79a2e5; /* blue text */
}

/* Smooth scroll animation */
@keyframes scrollReviews {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-50%);
  }
}

/* Full-width black box around dashboard image */
.dashboard-image-box-full {
  width: 100%; /* full width of parent container */
  background-color: #000000; /* black box (you can change to green) */
  padding: 15px; /* space inside box for image */
  border-radius: 16px; /* rounded corners */
  box-sizing: border-box;
  text-align: center; /* center image */
  margin: 20px 0; /* vertical spacing only, no horizontal shift */
  overflow: hidden; /* prevent any overflow */
}

/* Dashboard image inside the box */
.dashboard-image {
  max-width: 100%; /* fit inside green box */
  height: auto;
  border-radius: 12px; /* slightly rounded corners */
  display: inline-block; /* center properly */
}

/* ===== PAYMENT TYPE ===== */
.payment-type {
  margin: 15px 0;
  text-align: left;
  width: 100%;
  position: relative;
  font-family: sans-serif;
}

.payment-type label {
  display: block;
  margin-bottom: 6px;
  color: #f4b400; /* green label */
  font-weight: 600;
  font-size: 14px;
}

/* The clickable box */
.payment-box {
  width: 100%;
  background: #ffffff; /* white box */
  color: #000000; /* green text */
  border: 1px solid #c0c0c0; /* silver edge */
  border-radius: 12px;
  padding: 12px 15px;
  cursor: pointer;
  position: relative;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.2s;
}

.payment-box:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.payment-box .arrow {
  font-size: 14px;
}

/* Options list hidden by default */
.payment-options {
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 48px; /* below the box */
  width: 100%;
  background: #ffffff;
  border: 1px solid #c0c0c0;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  display: none; /* hidden initially */
  z-index: 100;
}

.payment-options li {
  padding: 10px 15px;
  cursor: pointer;
  color: #000000;
  font-weight: 500;
  transition: background 0.2s;
}

.payment-options li:hover {
  background: rgba(15, 157, 88, 0.1); /* light green hover */
}

/* Selected Amount Display */
.selected-amount {
  font-weight: bold;
  color: #000000; /* black */
  font-size: 20px;
  margin-top: 8px;
  text-align: center;
}

#paymentCountdown {
  margin-top: 14px;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  color: #ff0707; /* green */
}

#paymentStatusMessage {
  margin-top: 16px;
  padding: 14px;
  border-radius: 10px;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  display: none;
}

.status-pending {
  background: #f0fff6;
  color: #d29922;
}

.status-approved {
  background: #e6fff1;
  color: #1faa59;
}

.status-declined {
  background: #ffecec;
  color: #d62828;
}

.status-timeout {
  background: #fff6e5;
  color: #c77700;
}

/* ================= PROTECTED UI ================= */
#dashboard,
#bottomNav {
  display: none;
}

body.logged-in #dashboard {
  display: block;
}

body.logged-in #bottomNav {
  display: flex;
  transform: translateY(0);
}

/* ================= FLOATING NAV CONTROL (BLACK + GOLD) ================= */
#navToggle {
  position: fixed;
  bottom: 90px; /* sits above bottom nav */
  right: 20px;

  width: 64px;
  height: 44px;
  border-radius: 999px;

  background: rgba(0, 0, 0, 0.9); /* black semi-transparent */
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  color: #d4af37; /* gold text/icon */
  font-size: 22px;

  border: 1px solid rgba(212, 175, 55, 0.35); /* subtle gold border */
  cursor: pointer;

  z-index: 2001;
  display: none; /* auth decides */

  box-shadow: 0 8px 18px rgba(212, 175, 55, 0.25); /* subtle gold shadow */
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

/* Show toggle ONLY when logged in */
body.logged-in #navToggle {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Hover / press feedback */
#navToggle:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(212, 175, 55, 0.35); /* stronger gold glow */
}

#navToggle:active {
  transform: scale(0.95);
}

/* ================= BOTTOM NAV ================= */

/* Base nav state */
#bottomNav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  transform: translateY(0);
  transition: transform 0.3s ease;
  z-index: 2000;
}

#bottomNav.open {
  transform: translateY(0);
}

/* ================= FLOATING TELEGRAM (PROFILE PAGE) ================= */
.profile-page .telegram-float-profile {
  position: fixed;
  bottom: 90px; /* above bottom nav */
  right: 16px; /* move to right */
  z-index: 9999;

  width: 56px;
  height: 56px;
  border-radius: 50%;

  background: #0088cc; /* Telegram blue */
  color: #ffffff; /* white icon/text */

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 26px;
  text-decoration: none;

  box-shadow: 0 8px 20px rgba(0, 136, 204, 0.35); /* subtle blue shadow */
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

/* Hover / tap */
.profile-page .telegram-float-profile:hover {
  transform: scale(1.08);
  box-shadow: 0 12px 28px rgba(0, 136, 204, 0.45); /* stronger blue shadow */
}

/* Mobile safe */
@media (max-width: 480px) {
  .profile-page .telegram-float-profile {
    bottom: 100px;
    right: 12px; /* adjust right for mobile */
  }

  .profile-header-bar-v2 {
    height: 214px;
  }

  .profile-header-content {
    gap: 11px;
    padding: 28px 16px 48px;
  }

  .profile-avatar-badge {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 15px;
    font-size: 18px;
  }

  .profile-user-headline h2 {
    font-size: 17px;
  }
}

/* Toast Container - Positioned to the Top Right */
#toast-container {
  position: fixed;
  top: 90px;
  right: 20px;
  z-index: 10001;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: auto;
  max-width: 320px;
  pointer-events: none;
}

/* Individual Toast Styling - Premium White & Royal Blue Theme */
.modern-toast {
  pointer-events: auto;
  width: 100%;
  padding: 14px 18px;
  border-radius: 12px;
  background: #ffffff; /* Pure White Background */
  color: #1e293b; /* Premium Modern Black/Slate Text */
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08); /* Soft premium floating shadow */
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 12px;
  box-sizing: border-box;

  /* Hairline Outer Border & Left Accent Stripe */
  border: 1px solid #e2e8f0; /* Delicate light grey edge */
  border-left: 5px solid #1d72f6; /* Solid Royal Blue Core Accent */

  /* Animation */
  transform: translateX(120%);
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.35);
}

.modern-toast.show {
  transform: translateX(0);
  opacity: 1;
}

/* Brand Blue Accent for Standard/System Icons */
.toast-icon {
  font-size: 18px;
  color: #1d72f6; /* Royal Blue Icon Color Token */
}

/* Status Stripe Overrides */
.toast-success {
  border-left-color: #1d72f6; /* Success uses our Royal Blue */
}
.toast-error {
  border-left-color: #ef4444; /* High-visibility Warning Crimson Red for safety */
}
.toast-warning {
  border-left-color: #f59e0b; /* Deep Amber Orange for Warnings */
}

/* If your icons also dynamically change color based on status, add these optional overrides: */
.toast-success .toast-icon {
  color: #1d72f6;
}
.toast-error .toast-icon {
  color: #ef4444;
}
.toast-warning .toast-icon {
  color: #f59e0b;
}

/* ======================================================
   CORE VELTRIX HIGH-FIDELITY CHANGE PASSWORD PAGE STYLES
   ====================================================== */

/* FIXED STICKY TOP NAVIGATION BANNER */
.pass-header-main {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  background: #d97706; /* Premium Brand Royal Blue */
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  padding: 0 16px;
  box-sizing: border-box;
  z-index: 1100;
}

.pass-header-main span {
  font-family: "Inter", sans-serif;
  color: #ffffff;
  font-size: 17px;
  font-weight: 600;
  margin-left: 12px;
}

/* ARCHITECTURE CONTAINER WRAPPER - PURE CLEAN WHITE CANVAS */
.pass-page-wrapper {
  background-color: #ffffff !important; /* Fixed White Background */
  min-height: 100vh;
  padding: 85px 16px 40px 16px;
  font-family: "Inter", sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
}

/* SHIELD DESCRIPTION HERO GRAPHIC BLOCKS */
.pass-instruction-card {
  width: 100%;
  max-width: 400px;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 22px 16px;
  text-align: center;
  box-sizing: border-box;
  margin-bottom: 24px;
}

.secure-shield-icon {
  font-size: 36px;
  color: #d97706; /* Brand Blue Theme Accent */
  margin-bottom: 12px;
}

.pass-instruction-card .secure-title {
  font-size: 16px;
  font-weight: 700;
  color: #1e293b; /* Deep Black Charcoal Typography text */
  margin: 0 0 6px 0;
}

.pass-instruction-card .secure-desc {
  font-size: 12px;
  color: #64748b;
  line-height: 1.5;
  margin: 0;
}

/* FORM WRAPPER MODULAR PANEL GRID */
.pass-form-container {
  width: 100%;
  max-width: 400px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.pass-input-group {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.pass-field-label {
  font-size: 13px;
  font-weight: 600;
  color: #1e293b; /* Pure crisp black label text */
  margin-bottom: 8px;
  text-align: left;
}

/* INPUT COMPARTMENT ROW CONTAINERS */
.pass-field-input-box {
  display: flex;
  align-items: center;
  background-color: #f8fafc; /* Delicate off-white ice tint box */
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 0 14px;
  height: 52px;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}

.pass-field-input-box:focus-within {
  border-color: #1d72f6; /* Focus indicator blue halo */
}

.pass-start-icon {
  color: #94a3b8;
  font-size: 16px;
  margin-right: 12px;
  flex-shrink: 0;
}

.pass-field-input-box input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-size: 14px;
  font-weight: 500;
  color: #000000; /* Pure functional deep black text strings typed */
  font-family: inherit;
  width: 100%;
  padding: 0;
}

.pass-field-input-box input::placeholder {
  color: #94a3b8;
}

/* BRAND ACTION SUBMIT BUTTON SWITCH */
.pass-submit-action-btn {
  width: 100%;
  background-color: #1d72f6; /* Premium Brand Blue Button Switch */
  color: #ffffff;
  border: none;
  border-radius: 14px;
  padding: 15px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(29, 114, 246, 0.2);
  margin-top: 10px;
  transition:
    opacity 0.1s ease,
    transform 0.1s ease;
}

.pass-submit-action-btn:active {
  transform: scale(0.98);
  opacity: 0.95;
}

/* ======================================================
   BULLETPROOF FORM INPUT RESET SHIELD (ANTI-OVERLAY)
   ====================================================== */

/* 1. Global Reset for ALL inputs, textareas, and select menus on the site */
input,
textarea,
select,
input[type="text"],
input[type="password"],
input[type="number"],
input[type="email"] {
  background-color: #f8fafc !important; /* Force a clean, solid off-white background */
  color: #000000 !important; /* Force text you type to ALWAYS be visible pure black */
  opacity: 1 !important; /* Erase any weird hidden opacity or transparent overlays */
  visibility: visible !important; /* Block hidden property fighting */
  box-shadow: none !important; /* Remove background-hiding inner glow box shadows */
  -webkit-text-fill-color: #000000 !important; /* Force iOS / Safari to respect the pure black text */
}

/* 2. Lock down the exact same styles when the user clicks inside (FOCUS state) */
input:focus,
textarea:focus,
select:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="email"]:focus {
  background-color: #f8fafc !important; /* Keep background stable */
  color: #000000 !important; /* Keep text pure black */
  opacity: 1 !important;
  -webkit-text-fill-color: #000000 !important;
  outline: none !important; /* Clear ugly default browser halos */
}

/* 3. Kill browser autofill overriding your styling (Google Chrome autofill fix) */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px #f8fafc inset !important; /* Force background to stay light gray */
  -webkit-text-fill-color: #000000 !important; /* Force autofill text to stay black */
  transition: background-color 5000s ease-in-out 0s !important;
}

/* 4. Make placeholder text visible and clean gray */
input::placeholder,
textarea::placeholder {
  color: #94a3b8 !important;
  opacity: 1 !important;
}

/* =========================================================================
   HIGH-FIDELITY ULTRA CRYSTAL ASH TASK CENTER DESIGN MODULE
   ========================================================================= */

/* CORE VIEWPORT SHEET CANVAS - PREMIUM ASH WHITE CRYSTAL BASE */
.task-page-canvas {
  background-color: #f1f5f9 !important; /* Premium clean soft ash white canvas back */
  min-height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start !important;
  align-items: stretch;
  overflow-y: auto;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: "Inter", sans-serif !important;
}

/* FIXED NAVIGATION TOP STATUS HEADER ROW BAR */
.task-ui-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  background: #ffffff !important; /* Clean solid pure white navbar header track */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  border-bottom: 1px solid #e2e8f0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
  box-sizing: border-box;
}

.task-ui-header h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #1e293b; /* Crisp slate dark typography header */
  letter-spacing: -0.01em;
}

.task-ui-back-arrow {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: #334155; /* Slate gray arrow icon indicator */
  cursor: pointer;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

/* MAIN BODY INTERNAL SCROLL AREA PACKING */
.task-ui-scroll-body {
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
  padding: 76px 16px 100px 16px; /* High top clear padding alignment space */
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

/* HERO BOX ELEMENT TRACK BANNER - ULTRA ROYAL BLUE COMPRESSION DEEP */
.task-stats-hero-banner {
  width: 100%;
  background: linear-gradient(
    135deg,
    #d97706 0%,
    #0a4eb5 100%
  ) !important; /* Royal Blue gradient upgrade */
  border-radius: 16px;
  padding: 24px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  margin-bottom: 20px;
  box-shadow: 0 8px 20px rgba(29, 114, 246, 0.2); /* Soft ambient depth glow emission */
}

.task-hero-left-metrics {
  display: flex;
  flex-direction: column;
}

.task-hero-number-counter {
  font-size: 34px;
  font-weight: 800;
  color: #ffffff !important;
  line-height: 1;
  margin-bottom: 6px;
  letter-spacing: -0.02em;
}

.task-hero-subtitle-lbl {
  font-size: 12px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85);
}

.task-hero-pill-navigation {
  background: #ffffff !important;
  color: #1d72f6 !important; /* Premium brand colored text accent link */
  border: none;
  border-radius: 50px;
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
  white-space: nowrap;
}

/* REMARKS BLOCK AREA SETTINGS ROW */
.task-section-heading-block {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 16px;
  padding: 0 4px;
}

.task-section-heading-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.task-accent-stripe-marker {
  width: 4px;
  height: 16px;
  background-color: #d97706; /* Royal Blue vertical bar brand element */
  border-radius: 2px;
  display: inline-block;
}

.task-section-heading-title h3 {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: #1e293b;
  text-transform: capitalize;
}

.task-section-remarks-notice {
  margin: 0;
  font-size: 12px;
  color: #64748b;
  line-height: 1.5;
}

.task-section-remarks-notice strong {
  color: #ef4444; /* Highlights the word "Remarks" in clean alert red */
  font-weight: 600;
}

/* MODULAR LIST VERTICAL WRAPPER ROW FRAME CONTAINER */
.task-row-items-list-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

/* THE 3D MODULAR FLUID TASK ITEM ROW BLOCK PATTERN */
.task-row-record-item {
  background: #ffffff !important; /* Pure clear white interior card layout context style */
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px;
  padding: 14px 14px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;

  /* Matches 3D physical card profile shadow from reference graphics layout */
  box-shadow:
    0 4px 12px rgba(15, 23, 42, 0.03),
    0 1px 2px rgba(15, 23, 42, 0.01) !important;
  position: relative;
}

/* LEFT SIDE CIRCULAR COUNTER ITEM BADGE SYSTEM STYLE */
.task-item-numerical-badge {
  background: #10b981 !important; /* Beautiful deep emerald green index badge ring */
  color: #ffffff !important;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
  margin-right: 12px;
  box-shadow: 0 2px 6px rgba(16, 185, 129, 0.2);
}

/* MIDDLE BLOCK DETAILS FRAME PROFILE CONTAINER */
.task-item-details-middle {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 8px;
}

.task-item-details-middle h4 {
  margin: 0 0 3px 0;
  font-size: 14px;
  font-weight: 700;
  color: #1e293b !important;
  letter-spacing: -0.01em;
}

.task-item-reward-payout-lbl {
  font-size: 12px;
  color: #64748b !important;
  font-weight: 500;
}

.task-item-reward-payout-lbl .cash-bold {
  color: #d97706 !important; /* Highlight reward payouts in our premium brand blue */
  font-weight: 700;
}

/* ACTION CONTROLLER DATA WRAPPER BACK ROW LAYOUT END */
.task-item-action-end-block {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0;
}

/* RATIO METRICS FRACTION PILL EMBLEM BOX INDICATORS */
.task-item-numerical-counter-pill {
  background-color: #e0f2fe !important; /* Custom Ultra Crystal Blue Label fill tokens */
  color: #0369a1 !important;
  padding: 3px 10px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
}

/* UNIVERSAL ACTION BUTTON SHIELD FOR INTERACTIONS MODULES */
.task-item-state-action-btn {
  border: none !important;
  outline: none !important;
  padding: 6px 16px;
  font-size: 12px;
  font-weight: 700;
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
  min-width: 78px;
  text-align: center;
  box-sizing: border-box;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ACTIVE/UNLOCKED RECEIVE ACCENT STATE */
.task-item-state-action-btn.claimable {
  background-color: #1d72f6 !important; /* Core Royal Blue Action trigger */
  color: #ffffff !important;
  box-shadow: 0 3px 8px rgba(29, 114, 246, 0.25);
}

.task-item-state-action-btn.claimable:active {
  transform: scale(0.95);
}

/* RECIEVED ARRESTED COMPLETED LATCH DISABLED STATE EFFECT */
.task-item-state-action-btn.received {
  background-color: #e2e8f0 !important; /* Soft gray flat fill context styles */
  color: #94a3b8 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

/* ================= FLOATING SOCIAL SUPPORT (TELEGRAM & WHATSAPP) ================= */
.floating-social-container {
  position: fixed;
  bottom: 85px;
  right: 18px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}

.floating-social-btn {
  position: relative;
  isolation: isolate;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  color: #ffffff !important;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
  transition:
    transform 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    box-shadow 0.25s ease;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  animation: socialFloat 3.8s ease-in-out infinite;
}

.floating-social-btn::before,
.floating-social-btn::after {
  position: absolute;
  inset: -5px;
  z-index: -1;
  content: "";
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
}

.floating-social-btn::before {
  animation: socialPulse 2.8s ease-out 1s infinite;
}

.floating-social-btn::after {
  inset: -10px;
  opacity: 0;
  animation: socialPulse 2.8s ease-out 2.1s infinite;
}

.floating-social-btn.float-telegram {
  background: linear-gradient(135deg, #0088cc, #00a2ed);
  box-shadow: 0 6px 20px rgba(0, 136, 204, 0.45);
}

.floating-social-btn.float-whatsapp {
  background: linear-gradient(135deg, #25d366, #128c7e);
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.45);
  animation-delay: 1.1s;
}

.floating-social-btn:hover {
  transform: scale(1.12) translateY(-2px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
}

.floating-social-btn:active {
  transform: scale(0.95);
}

.floating-social-btn:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.95);
  outline-offset: 4px;
}

@keyframes socialFloat {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}

@keyframes socialPulse {
  0% {
    opacity: 0.55;
    transform: scale(0.82);
  }
  70%,
  100% {
    opacity: 0;
    transform: scale(1.32);
  }
}

@media (max-width: 480px) {
  .floating-social-container {
    bottom: 95px;
    right: 14px;
    gap: 10px;
  }

  .floating-social-btn {
    width: 48px;
    height: 48px;
    font-size: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .floating-social-btn,
  .floating-social-btn::before,
  .floating-social-btn::after {
    animation: none;
  }
}

/* Refined light authentication screens */
body:not(.logged-in) {
  background: linear-gradient(145deg, #eff6ff 0%, #f8fbff 52%, #dbeafe 100%);
  color: #0f172a;
  padding: 0;
  align-items: stretch;
  justify-content: flex-start;
}

body.auth-loading > * {
  visibility: hidden !important;
  pointer-events: none !important;
}

body.auth-loading #pageLoader {
  display: flex !important;
  visibility: visible !important;
  pointer-events: auto !important;
  opacity: 1 !important;
}

body:not(.logged-in) #bottomNav,
body:not(.logged-in) #navToggle,
body:not(.logged-in) .floating-social-container,
body:not(.logged-in) .dashboard-header {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body:not(.logged-in)::before {
  width: 360px;
  height: 360px;
  top: -170px;
  left: -110px;
  background: radial-gradient(
    circle,
    rgba(96, 165, 250, 0.22) 0%,
    transparent 70%
  );
}

body:not(.logged-in)::after {
  width: 420px;
  height: 420px;
  right: -170px;
  bottom: -190px;
  background: radial-gradient(
    circle,
    rgba(147, 197, 253, 0.28) 0%,
    transparent 70%
  );
}

body:not(.logged-in) .container {
  max-width: 430px;
  padding: 34px 28px 28px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(147, 197, 253, 0.45);
  border-radius: 26px;
  box-shadow: 0 24px 60px rgba(37, 99, 235, 0.14);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

body:not(.logged-in) #signupContainer,
body:not(.logged-in) #loginContainer {
  width: 100%;
  max-width: 600px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 0 24px 12px;
  background: #ffffff;
  border: none;
  border-radius: 0;
  box-shadow: 0 0 40px rgba(37, 99, 235, 0.08);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.auth-cover-image {
  position: relative;
  width: calc(100% + 48px);
  height: 180px;
  margin: 0 -24px 18px;
  overflow: hidden;
  background: #dbeafe;
}

.auth-cover-image::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(15, 23, 42, 0.04),
    rgba(37, 99, 235, 0.42)
  );
  content: "";
}

.auth-cover-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

body:not(.logged-in) #signupContainer .brand-header-section,
body:not(.logged-in) #loginContainer .brand-header-section {
  max-width: 430px;
  margin: 0 auto 18px;
}

body:not(.logged-in) #signupContainer .form-body,
body:not(.logged-in) #loginContainer .form-body {
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
}

.auth-form-heading {
  margin: 0 0 16px;
  padding: 0 0 12px;
  border-bottom: 1px solid #e0f2fe;
}

.auth-form-kicker {
  display: block;
  margin-bottom: 7px;
  color: #2563eb;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.auth-form-heading h3 {
  margin: 0 0 6px;
  color: #0f172a;
  font-size: 21px;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.auth-form-heading p {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.55;
}

body:not(.logged-in) .brand-header-section {
  margin-bottom: 18px;
}

body:not(.logged-in) .glowing-logo-circle {
  width: 76px;
  height: 76px;
  margin-bottom: 16px;
  background: #dbeafe;
  border: 2px solid #93c5fd;
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.16);
}

body:not(.logged-in) .brand-logo-img {
  width: 52px;
  height: 52px;
}

body:not(.logged-in) .brand-main-title {
  color: #0f172a;
  font-size: 25px;
  letter-spacing: -0.04em;
}

body:not(.logged-in) .brand-sub-title {
  color: #64748b;
  line-height: 1.5;
}

body:not(.logged-in) .input-label {
  color: #334155;
  letter-spacing: 0.06em;
  font-size: 11px;
  font-weight: 800;
}

body:not(.logged-in) .input-group {
  margin-bottom: 12px;
}

body:not(.logged-in) .phone-input-wrapper,
body:not(.logged-in) .password-wrapper {
  min-height: 52px;
  background: #f8fbff;
  border: 1px solid #dbeafe;
  border-radius: 14px;
}

body:not(.logged-in) .phone-input-wrapper:focus-within,
body:not(.logged-in) .password-wrapper:focus-within {
  border-color: #60a5fa;
  box-shadow: 0 0 0 4px rgba(96, 165, 250, 0.16);
  background: #ffffff;
}

body:not(.logged-in) .field-icon-left,
body:not(.logged-in) .field-icon-right {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  margin-right: 10px;
  border-radius: 10px;
  color: #2563eb;
  background: linear-gradient(145deg, #dbeafe 0%, #eff6ff 100%);
  box-shadow:
    inset 0 0 0 1px rgba(147, 197, 253, 0.45),
    0 4px 10px rgba(37, 99, 235, 0.08);
  font-size: 12px;
}

body:not(.logged-in) .field-icon-right {
  order: 3;
  margin: 0 0 0 10px;
}

body:not(.logged-in) .country-code-prefix {
  color: #334155;
  border-right-color: #bfdbfe;
}

body:not(.logged-in) .phone-input-wrapper input,
body:not(.logged-in) .password-wrapper input {
  color: #0f172a;
}

body:not(.logged-in) .phone-input-wrapper input::placeholder,
body:not(.logged-in) .password-wrapper input::placeholder {
  color: #94a3b8;
}

body:not(.logged-in) .toggle-password {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin-left: 8px;
  border-radius: 10px;
  color: #64748b;
  background: #eff6ff;
  font-size: 12px;
  transition:
    color 0.2s ease,
    background 0.2s ease,
    transform 0.2s ease;
}

body:not(.logged-in) .toggle-password:hover,
body:not(.logged-in) .bottom-alternative-link span {
  color: #2563eb;
}

body:not(.logged-in) .toggle-password:hover {
  background: #dbeafe;
  transform: translateY(-1px);
}

body:not(.logged-in) .bottom-alternative-link {
  color: #64748b;
}

body:not(.logged-in) .btn-action-submit {
  background: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%);
  border-radius: 14px;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.22);
  min-height: 52px;
}

body:not(.logged-in) .arrow-right-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.2);
  font-size: 11px;
}

body:not(.logged-in) .inline-action-links-row {
  justify-content: flex-end;
  margin: 14px 0 14px;
}

body:not(.logged-in) .bottom-alternative-link {
  font-size: 12px;
}

body:not(.logged-in) .btn-action-submit:hover {
  box-shadow: 0 14px 28px rgba(37, 99, 235, 0.3);
}

@media (max-width: 480px) {
  body:not(.logged-in) .container {
    padding: 28px 18px 22px;
    border-radius: 22px;
  }

  body:not(.logged-in) #signupContainer,
  body:not(.logged-in) #loginContainer {
    padding: 0 18px 10px;
  }

  .auth-cover-image {
    width: calc(100% + 36px);
    height: 130px;
    margin-left: -18px;
    margin-right: -18px;
    margin-bottom: 16px;
  }

  body:not(.logged-in) .brand-main-title {
    font-size: 22px;
  }

  .auth-form-heading h3 {
    font-size: 19px;
  }
}

/* Final dashboard responsiveness layer */
body.logged-in {
  align-items: flex-start;
  justify-content: center;
  padding: 68px 0 0;
  overflow-x: hidden;
}

.dashboard,
.dashboard-header {
  width: 100%;
  max-width: 600px;
}

.main-container,
.product-section {
  width: 100%;
}

@media (max-width: 520px) {
  .dashboard-header {
    padding: 0 12px;
  }

  .brand-copy strong {
    font-size: 13px;
  }

  .main-container {
    padding: 10px 12px 0;
  }

  .dashboard-hero {
    border-radius: 18px;
    padding: 16px 12px 14px;
  }

  .hero-metrics {
    gap: 6px;
  }

  .metric-pill {
    padding: 9px 4px;
  }

  .metric-pill span {
    font-size: 9px;
  }

  .metric-pill strong {
    font-size: 13px;
  }

  .action-card-container {
    border-radius: 18px;
    padding: 12px 10px 10px;
  }

  .action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .action-btn {
    min-height: 104px;
    padding: 12px 6px 10px;
  }

  .product-section {
    padding: 10px 12px 0;
  }

  #dynamicProductList {
    gap: 8px !important;
    padding-top: 10px !important;
  }

  .mx-card-image-wrapper {
    height: 118px;
  }

  .mx-plan-name-overlay {
    font-size: 12px;
    padding: 10px 7px 5px;
  }

  .mx-main-info-box {
    gap: 5px;
    padding: 8px 6px;
  }

  .mx-stat-block {
    padding: 7px 2px;
  }

  .mx-stat-val {
    font-size: 11px;
  }

  .mx-stat-label {
    font-size: 9px;
  }

  .mx-invest-btn {
    font-size: 12px !important;
    padding: 9px 6px !important;
  }

  .bottom-nav,
  #bottomNav {
    padding-bottom: env(safe-area-inset-bottom);
  }
}

@media (min-width: 521px) {
  .dashboard-hero,
  .action-card-container,
  .product-section {
    width: min(100%, 520px);
  }
}

/* Keep investment filters aligned with the page theme after global button rules. */
.investment-page .investment-filter-group .filter-btn.active {
  background: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%) !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
  box-shadow: 0 6px 14px rgba(37, 99, 235, 0.2) !important;
}

/* Final light-blue replacement for legacy yellow/gold UI accents. */
:root {
  --brand-gold-accent: #93c5fd;
  --btn-plans: #60a5fa;
  --accent-yellow: #60a5fa;
  --agromint-gold: #93c5fd;
  --agromint-gold-dark: #60a5fa;
}

#homeNav.active .nav-icon-wrapper {
  background: rgba(96, 165, 250, 0.2);
}

#homeNav.active i,
#homeNav.active span {
  color: #2563eb !important;
}

#navToggle {
  background: #dbeafe;
  color: #2563eb;
  border-color: #93c5fd;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.18);
}

#navToggle:hover {
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.26);
}

.badge-gold {
  background: linear-gradient(135deg, #93c5fd, #2563eb);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.24);
}

.highlight-yellow {
  color: #2563eb !important;
  background: #dbeafe !important;
}

.accent-gold,
.plans-gold-text {
  color: #2563eb !important;
}

.spinner-dot {
  background: #60a5fa;
  box-shadow: 0 0 12px rgba(96, 165, 250, 0.6);
}

.brand-nova {
  color: #2563eb;
}

.products-header h2 {
  color: #2563eb;
  background: #dbeafe;
}

.status-pending-v2 {
  background-color: #eff6ff !important;
  color: #2563eb !important;
}

.records-page .filter-btn.active {
  background: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%) !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
}

.records-page {
  margin-top: -68px;
}

.records-page .status-pending-v2 {
  background: #eff6ff !important;
  color: #2563eb !important;
}

.records-page .record-icon-badge-box-v2,
.records-page .icon-withdrawal-v2,
.records-page .icon-deposit-v2,
.records-page .icon-bonus-v2 {
  background: #eff6ff !important;
  border: 1px solid #bfdbfe;
  color: #2563eb !important;
  box-shadow:
    inset 0 0 0 1px rgba(219, 234, 254, 0.7),
    0 6px 14px rgba(37, 99, 235, 0.08);
}

.records-page .record-title-identity-v2 h4 {
  font-family: "Space Grotesk", sans-serif;
  font-size: 15px;
  font-weight: 700;
}

.records-page .metrics-label-v2 {
  color: #64748b;
  font-size: 10px;
  font-weight: 800;
}

.records-page .record-accordion-trigger-v2 {
  color: #2563eb;
  border-top-color: #e0f2fe;
  cursor: pointer;
}

.records-page .record-accordion-trigger-v2 span {
  color: #2563eb;
  transition:
    color 0.2s ease,
    transform 0.2s ease;
}

.records-page .record-accordion-trigger-v2:hover span {
  transform: translateX(3px);
}

@media (max-width: 480px) {
  .records-page .record-header-row-v2 {
    align-items: flex-start;
  }

  .records-page .record-status-pill-v2 {
    padding: 5px 8px;
    font-size: 10px;
  }

  .records-page .record-title-identity-v2 h4 {
    font-size: 13px;
  }

  .records-page .record-card-v2 {
    padding: 15px;
  }
}

.profile-page .account-services-panel-box .menu-list-row-item-v2 {
  animation: profileRowReveal 0.35s ease both;
}

.profile-page .account-services-panel-box .menu-list-row-item-v2:nth-child(2) {
  animation-delay: 45ms;
}

.profile-page .account-services-panel-box .menu-list-row-item-v2:nth-child(3) {
  animation-delay: 90ms;
}

.profile-page .color-task {
  color: #2563eb !important;
  background: #dbeafe;
}

.profile-page .color-team {
  color: #0ea5e9 !important;
  background: #e0f2fe;
}

.profile-page .color-income {
  color: #16a34a !important;
  background: #dcfce7;
}

.profile-page .color-records,
.profile-page .color-dephist,
.profile-page .color-bank {
  color: #2563eb !important;
  background: #eff6ff;
}

.profile-page .color-withhist {
  color: #0284c7 !important;
  background: #e0f2fe;
}

.profile-page .color-lock {
  color: #64748b !important;
  background: #f1f5f9;
}

.profile-page .color-support {
  color: #0284c7 !important;
  background: #e0f2fe;
}

@keyframes profileRowReveal {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .profile-page .account-services-panel-box .menu-list-row-item-v2 {
    animation: none;
  }
}

/* ================= INVITE PAGE REDESIGN ================= */
.invite-page {
  --invite-ink: #102a43;
  --invite-muted: #6b7c93;
  --invite-blue: #147d92;
  --invite-blue-deep: #0b5364;
  --invite-coral: #f28c62;
  --invite-cream: #f7f5ef;
  --invite-line: #e5e9e6;
  background: var(--invite-cream) !important;
  color: var(--invite-ink) !important;
  font-family: "Space Grotesk", sans-serif !important;
}

.invite-page .invite-header-fixed-v2 {
  height: 82px !important;
  justify-content: space-between !important;
  padding: 0 22px 0 68px !important;
  background: rgba(247, 245, 239, 0.94) !important;
  border-bottom: 1px solid var(--invite-line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px);
}

.invite-page .invite-header-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
  align-items: flex-start;
}

.invite-page .invite-header-copy span,
.invite-page .card-eyebrow,
.invite-page .invite-hero-kicker,
.invite-page .team-eyebrow {
  color: var(--invite-blue) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase;
}

.invite-page .invite-header-fixed-v2 h2 {
  color: var(--invite-ink) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
}

.invite-page .invite-back-btn-v2 {
  left: 18px !important;
  width: 38px !important;
  height: 38px !important;
  border: 1px solid var(--invite-line) !important;
  border-radius: 12px !important;
  color: var(--invite-ink) !important;
  background: #ffffff !important;
  box-shadow: 0 5px 14px rgba(16, 42, 67, 0.07);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease;
}

.invite-page .invite-back-btn-v2:hover {
  transform: translateY(-50%) translateX(-2px);
  box-shadow: 0 8px 18px rgba(16, 42, 67, 0.12);
}

.invite-page .invite-header-mark {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  color: var(--invite-blue);
  background: #e0f1ee;
  font-size: 15px;
}

.invite-page .referral-container {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  padding: 28px 22px 132px !important;
  gap: 18px !important;
}

.invite-page .invite-hero-panel {
  position: relative;
  min-height: 220px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 34px 36px;
  border-radius: 26px;
  color: #ffffff;
  background: linear-gradient(120deg, #0b5364 0%, #147d92 58%, #1c9a9d 100%);
  box-shadow: 0 18px 36px rgba(11, 83, 100, 0.22);
  animation: inviteRise 600ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.invite-page .invite-hero-content,
.invite-page .invite-hero-stat {
  position: relative;
  z-index: 1;
}

.invite-page .invite-hero-content {
  max-width: 440px;
}

.invite-page .invite-hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #bde9df !important;
  margin-bottom: 12px;
}

.invite-page .invite-hero-content h1 {
  margin: 0;
  font-size: clamp(29px, 5vw, 45px);
  line-height: 1.02;
  letter-spacing: -0.055em;
  font-weight: 700;
}

.invite-page .invite-hero-content p {
  max-width: 350px;
  margin: 15px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  line-height: 1.55;
}

.invite-page .invite-hero-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 122px;
  min-height: 122px;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(10px);
}

.invite-page .invite-hero-stat i {
  color: #f8c58f;
  margin-bottom: 5px;
}

.invite-page .invite-hero-stat strong {
  font-size: 28px;
  line-height: 1;
}

.invite-page .invite-hero-stat span {
  margin-top: 7px;
  color: rgba(255, 255, 255, 0.74);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.invite-page .invite-hero-orbit {
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  pointer-events: none;
}

.invite-page .invite-hero-orbit-one {
  width: 310px;
  height: 310px;
  right: 30px;
  top: -150px;
}

.invite-page .invite-hero-orbit-two {
  width: 210px;
  height: 210px;
  right: 80px;
  bottom: -130px;
}

.invite-page .section-block-wrapper {
  padding: 0 !important;
  max-width: none !important;
}

.invite-page .referral-master-card,
.invite-page .earnings-master-card,
.invite-page .how-it-works-card {
  padding: 26px !important;
  border: 1px solid var(--invite-line) !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 30px rgba(16, 42, 67, 0.06) !important;
  animation: inviteRise 600ms 90ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.invite-page .referral-master-card {
  margin-top: 0 !important;
}

.invite-page .card-heading-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 24px;
}

.invite-page .card-eyebrow {
  display: block;
  margin-bottom: 8px;
}

.invite-page .section-block-title {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 !important;
  color: var(--invite-ink) !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  text-align: left !important;
  text-transform: none;
}

.invite-page .section-block-title i {
  color: var(--invite-coral);
  font-size: 16px;
}

.invite-page .live-status {
  flex-shrink: 0;
  padding: 6px 9px;
  border-radius: 99px;
  color: #24745f;
  background: #e4f4eb;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.invite-page .live-status i {
  margin-right: 4px;
  font-size: 7px;
}

.invite-page .referral-inner-brick {
  margin-bottom: 20px !important;
  padding: 17px;
  border: 1px solid #edf0ee;
  border-radius: 16px;
  background: #fbfcfa;
}

.invite-page .card-label {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 10px !important;
  color: var(--invite-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-align: left !important;
}

.invite-page .card-label i {
  color: var(--invite-blue);
}

.invite-page .copy-input-wrapper {
  height: 50px !important;
  margin-bottom: 10px !important;
  padding: 0 14px !important;
  border: 1px solid #e3ebe8 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
}

.invite-page .code-display,
.invite-page .link-display {
  color: var(--invite-ink) !important;
  font-weight: 600 !important;
}

.invite-page .copy-inline-icon {
  color: var(--invite-blue) !important;
  transition:
    transform 180ms ease,
    color 180ms ease;
}

.invite-page .copy-inline-icon:hover {
  color: var(--invite-coral) !important;
  transform: scale(1.15);
}

.invite-page .copy-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: var(--invite-ink) !important;
  box-shadow: 0 7px 16px rgba(16, 42, 67, 0.14) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  transition:
    transform 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease;
}

.invite-page .copy-action-btn:hover {
  background: var(--invite-blue) !important;
  box-shadow: 0 10px 20px rgba(20, 125, 146, 0.22) !important;
  transform: translateY(-2px);
}

.invite-page .earnings-master-card,
.invite-page .how-it-works-card {
  animation-delay: 160ms;
}

.invite-page .earnings-tier-row,
.invite-page .step-item {
  border-color: var(--invite-line) !important;
}

.invite-page .tier-badge-indicator {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  font-size: 15px;
}

.invite-page .badge-gold {
  background: #fce5d4;
  color: #b95a32;
  box-shadow: none;
}

.invite-page .badge-silver {
  background: #e0f1ee;
  color: var(--invite-blue-deep);
  box-shadow: none;
}

.invite-page .tier-info-text h4,
.invite-page .how-header h3 {
  color: var(--invite-ink) !important;
}

.invite-page .tier-info-text p,
.invite-page .step-content p {
  color: var(--invite-muted) !important;
}

.invite-page .tier-value-pill,
.invite-page .highlight-yellow {
  color: #b95a32 !important;
  background: #fff0e6 !important;
}

.invite-page .how-header i,
.invite-page .step-check-icon i {
  color: var(--invite-coral) !important;
}

.invite-page .unified-team-section {
  padding-top: 14px;
  border-top: 1px solid var(--invite-line);
  animation: inviteRise 600ms 230ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.invite-page .unified-team-header > i {
  color: var(--invite-blue) !important;
  background: #e0f1ee !important;
  box-shadow: none !important;
}

.invite-page .unified-team-header h3 {
  color: var(--invite-ink) !important;
}

.invite-page .unified-team-wrapper .mini-stat-box,
.invite-page .unified-team-wrapper .level-showcase-panel {
  border-color: var(--invite-line) !important;
  box-shadow: 0 8px 18px rgba(16, 42, 67, 0.04) !important;
}

.invite-page .level-tab-btn.active,
.invite-page .panel-action-link-btn {
  background: var(--invite-ink) !important;
}

@keyframes inviteRise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 560px) {
  .invite-page .invite-header-fixed-v2 {
    height: 74px !important;
    padding-left: 64px !important;
  }

  .invite-page .invite-header-fixed-v2 h2 {
    font-size: 18px !important;
  }

  .invite-page .referral-container {
    padding: 18px 12px 124px !important;
  }

  .invite-page .invite-hero-panel {
    min-height: 278px;
    align-items: flex-start;
    flex-direction: column;
    padding: 25px 22px;
    border-radius: 21px;
  }

  .invite-page .invite-hero-content h1 {
    font-size: 34px;
  }

  .invite-page .invite-hero-content p {
    margin-top: 12px;
    font-size: 13px;
  }

  .invite-page .invite-hero-stat {
    align-self: flex-end;
    min-height: 84px;
    min-width: 112px;
    padding: 11px;
  }

  .invite-page .invite-hero-stat strong {
    font-size: 23px;
  }

  .invite-page .referral-master-card,
  .invite-page .earnings-master-card,
  .invite-page .how-it-works-card {
    padding: 19px !important;
    border-radius: 18px !important;
  }

  .invite-page .section-block-title {
    font-size: 17px !important;
  }

  .invite-page .card-heading-row {
    margin-bottom: 18px;
  }

  .invite-page .referral-inner-brick {
    padding: 13px;
  }

  .invite-page .stats-grid-container {
    gap: 6px !important;
  }

  .invite-page .mini-stat-box {
    padding: 12px 5px !important;
  }

  .invite-page .mini-stat-box .label {
    font-size: 8px !important;
  }

  .invite-page .mini-stat-box .value {
    font-size: 13px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .invite-page .invite-hero-panel,
  .invite-page .referral-master-card,
  .invite-page .earnings-master-card,
  .invite-page .how-it-works-card,
  .invite-page .unified-team-section {
    animation: none;
  }
}

/* ================= DASHBOARD BALANCE HERO ================= */
.dashboard .dashboard-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 252px;
  padding: 21px 18px 17px;
  border: 1px solid rgba(20, 125, 146, 0.2);
  border-radius: 26px;
  background:
    radial-gradient(
      circle at 87% 17%,
      rgba(255, 255, 255, 0.82) 0 3%,
      transparent 3.5%
    ),
    radial-gradient(
      circle at 90% 18%,
      rgba(20, 125, 146, 0.13) 0 18%,
      transparent 18.5%
    ),
    linear-gradient(128deg, #dff3ee 0%, #edf7f4 42%, #fff8ed 100%);
  box-shadow: 0 18px 38px rgba(20, 125, 146, 0.14);
  animation: dashboardHeroReveal 650ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.dashboard .dashboard-hero::before,
.dashboard .dashboard-hero::after {
  position: absolute;
  z-index: -1;
  content: "";
  border: 1px solid rgba(20, 125, 146, 0.12);
  border-radius: 50%;
  pointer-events: none;
}

.dashboard .dashboard-hero::before {
  width: 260px;
  height: 260px;
  top: -175px;
  right: -52px;
}

.dashboard .dashboard-hero::after {
  width: 190px;
  height: 190px;
  right: -21px;
  bottom: -134px;
}

.dashboard .hero-topline {
  position: relative;
  z-index: 1;
  margin-bottom: 24px;
  color: #147d92;
  font-size: 11px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.dashboard .hero-topline p {
  margin: 0;
}

.dashboard .status-dot {
  width: 7px;
  height: 7px;
  background: #f28c62;
  box-shadow:
    0 0 0 4px rgba(242, 140, 98, 0.14),
    0 0 13px rgba(242, 140, 98, 0.55);
}

.dashboard .hero-balance-block {
  position: relative;
  z-index: 1;
  align-items: center;
  min-height: 106px;
  margin-bottom: 22px;
  padding: 22px 21px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.56);
  box-shadow:
    0 10px 24px rgba(16, 42, 67, 0.06),
    inset 0 1px rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
}

.dashboard .hero-balance-copy {
  min-width: 0;
}

.dashboard .hero-label {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 8px;
  color: #587083;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.dashboard .hero-label i {
  color: #147d92;
  font-size: 12px;
}

.dashboard .hero-amount {
  color: #102a43;
  font-size: clamp(2.25rem, 7vw, 3.5rem);
  font-weight: 700;
  letter-spacing: -0.065em;
  line-height: 0.98;
  text-shadow: 0 2px 0 rgba(255, 255, 255, 0.7);
  animation: balancePulse 3.8s ease-in-out 900ms infinite;
}

.dashboard .hero-balance-note {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 9px;
  color: #68808c;
  font-size: 10px;
  font-weight: 600;
}

.dashboard .hero-balance-note i {
  color: #298b72;
  font-size: 11px;
}

.dashboard .hero-balance-emblem {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(20, 125, 146, 0.16);
  border-radius: 18px;
  color: #147d92;
  background: linear-gradient(145deg, #e4f5ef, #ffffff);
  box-shadow: 0 8px 18px rgba(20, 125, 146, 0.11);
  font-size: 24px;
  transform: rotate(6deg);
}

.dashboard .hero-metrics {
  position: relative;
  z-index: 1;
  gap: 9px;
}

.dashboard .metric-pill {
  position: relative;
  min-height: 58px;
  align-items: flex-start;
  padding: 11px 12px 10px 38px;
  border: 1px solid rgba(20, 125, 146, 0.14);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.63);
  text-align: left;
  box-shadow: none;
}

.dashboard .metric-pill > i {
  position: absolute;
  top: 13px;
  left: 13px;
  color: #f28c62;
  font-size: 13px;
}

.dashboard .metric-pill span {
  color: #68808c;
  font-size: 9px;
  letter-spacing: 0.1em;
}

.dashboard .metric-pill strong {
  color: #102a43;
  font-size: 17px;
  line-height: 1;
}

@keyframes dashboardHeroReveal {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes balancePulse {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-2px);
  }
}

@media (max-width: 430px) {
  .dashboard .dashboard-hero {
    min-height: 240px;
    padding: 18px 14px 14px;
    border-radius: 22px;
  }

  .dashboard .hero-topline {
    margin-bottom: 18px;
  }

  .dashboard .hero-balance-block {
    min-height: 101px;
    margin-bottom: 18px;
    padding: 18px 15px;
    border-radius: 17px;
  }

  .dashboard .hero-amount {
    font-size: clamp(2rem, 11vw, 2.8rem);
  }

  .dashboard .hero-balance-emblem {
    width: 49px;
    height: 49px;
    border-radius: 15px;
    font-size: 20px;
  }

  .dashboard .metric-pill {
    min-height: 55px;
    padding-left: 34px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dashboard .dashboard-hero,
  .dashboard .hero-amount {
    animation: none;
  }
}

/* ================= BANK PAGE REDESIGN ================= */
#bankPage {
  --bank-ink: #102a43;
  --bank-muted: #6b7c93;
  --bank-teal: #2563eb;
  --bank-teal-deep: #1d4ed8;
  --bank-coral: #60a5fa;
  --bank-cream: #f4f8ff;
  min-height: 100vh;
  overflow-y: auto;
  background: linear-gradient(145deg, #f4f8ff 0%, #e0efff 100%) !important;
  color: var(--bank-ink);
  font-family: "Space Grotesk", sans-serif;
}

#bankPage .bank-header-premium {
  position: sticky;
  top: 0;
  z-index: 10;
  height: 76px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(244, 248, 255, 0.92) !important;
  border-bottom: 1px solid #e1e9e5;
  box-shadow: 0 8px 24px rgba(16, 42, 67, 0.05);
  backdrop-filter: blur(18px);
}

#bankPage .bank-back-btn {
  position: absolute;
  left: 18px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid #dce7e3;
  border-radius: 12px;
  color: var(--bank-ink) !important;
  background: #ffffff;
  cursor: pointer;
  box-shadow: 0 5px 14px rgba(16, 42, 67, 0.07);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease;
}

#bankPage .bank-back-btn:hover {
  transform: translateX(-2px);
  box-shadow: 0 8px 18px rgba(16, 42, 67, 0.12);
}

#bankPage .header-main-content h2 {
  margin: 0;
  color: var(--bank-ink) !important;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.04em;
}

#bankPage .bank-page-body {
  width: min(100%, 620px);
  margin: 0 auto;
  padding: 24px 18px 112px;
}

#bankPage .bank-intro-panel {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  overflow: hidden;
  margin-bottom: 25px;
  padding: 22px 21px;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 22px;
  background: linear-gradient(130deg, #123b83 0%, #2563eb 64%, #60a5fa 100%);
  color: #ffffff;
  box-shadow: 0 16px 30px rgba(11, 83, 100, 0.2);
  animation: bankRise 600ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

#bankPage .bank-intro-panel::after {
  position: absolute;
  right: -44px;
  bottom: -95px;
  width: 210px;
  height: 210px;
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
}

#bankPage .bank-intro-icon {
  position: relative;
  z-index: 1;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 15px;
  color: #f8c58f;
  background: rgba(255, 255, 255, 0.13);
  font-size: 20px;
}

#bankPage .bank-intro-panel > div:nth-child(2) {
  position: relative;
  z-index: 1;
}

#bankPage .bank-intro-eyebrow {
  display: block;
  margin-bottom: 7px;
  color: #bde9df;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

#bankPage .bank-intro-panel h1 {
  max-width: 355px;
  margin: 0;
  font-size: clamp(21px, 4vw, 29px);
  line-height: 1.05;
  letter-spacing: -0.055em;
}

#bankPage .bank-intro-panel p {
  max-width: 360px;
  margin: 10px 0 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 12px;
  line-height: 1.5;
}

#bankPage .bank-intro-shield {
  position: absolute;
  right: 22px;
  top: 22px;
  color: rgba(255, 255, 255, 0.18);
  font-size: 24px;
}

#bankPage .bank-step-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 3px 12px;
}

#bankPage .bank-step-heading > span {
  color: var(--bank-coral);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

#bankPage .bank-step-heading h3 {
  margin: 0;
  color: var(--bank-ink);
  font-size: 17px;
}

#bankPage .bank-step-heading p {
  margin: 3px 0 0;
  color: var(--bank-muted);
  font-size: 11px;
}

#bankPage .funds-form-body {
  margin: 0;
}

#bankPage .input-card-premium {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 22px;
  border: 1px solid #e1e9e5;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(16, 42, 67, 0.07);
  animation: bankRise 600ms 90ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

#bankPage .funds-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

#bankPage .samsung-label {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--bank-ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

#bankPage .samsung-label i {
  color: var(--bank-teal);
  font-size: 12px;
}

#bankPage .funds-field,
#bankPage .funds-select-box {
  min-height: 52px;
  width: 100%;
  border: 1px solid #dce7e3;
  border-radius: 13px;
  background: #f8fbfa;
  color: var(--bank-ink) !important;
  font-family: inherit;
  font-size: 14px;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    background 180ms ease;
}

#bankPage .funds-field {
  padding: 0 14px;
}

#bankPage .funds-field:focus,
#bankPage .funds-select-box:focus-within {
  border-color: var(--bank-teal);
  outline: none;
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(20, 125, 146, 0.12);
}

#bankPage .funds-select-box {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0;
}

#bankPage .funds-select-box select {
  width: 100%;
  min-height: 50px;
  padding: 0 42px 0 14px;
  border: 0;
  outline: 0;
  appearance: none;
  background: transparent !important;
  color: var(--bank-ink) !important;
  font: inherit;
}

#bankPage .select-dropdown-indicator-arrow {
  position: absolute;
  right: 15px;
  color: var(--bank-teal);
  pointer-events: none;
}

#bankPage .funds-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 52px;
  margin-top: 2px;
  border: 0;
  border-radius: 13px;
  color: #ffffff;
  background: var(--bank-ink);
  box-shadow: 0 10px 18px rgba(16, 42, 67, 0.16);
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition:
    transform 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease;
}

#bankPage .funds-action-btn:hover {
  background: var(--bank-teal);
  box-shadow: 0 12px 22px rgba(20, 125, 146, 0.22);
  transform: translateY(-2px);
}

#bankPage .bank-status-message {
  display: none;
  padding: 11px 13px;
  border: 1px solid #c7eadb;
  border-radius: 11px;
  color: #23785f;
  background: #edf9f2;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}

#bankPage .security-info-footer-v3 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 16px;
  color: var(--bank-muted);
  font-size: 11px;
}

#bankPage .security-info-footer-v3 p {
  margin: 0;
}

#bankPage .security-info-footer-v3 i {
  color: #298b72;
}

@keyframes bankRise {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 480px) {
  #bankPage .bank-header-premium {
    height: 70px;
  }

  #bankPage .header-main-content h2 {
    font-size: 18px;
  }

  #bankPage .bank-page-body {
    padding: 17px 12px 108px;
  }

  #bankPage .bank-intro-panel {
    margin-bottom: 21px;
    padding: 19px 16px;
    border-radius: 19px;
  }

  #bankPage .bank-intro-icon {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    font-size: 17px;
  }

  #bankPage .bank-intro-panel h1 {
    font-size: 22px;
  }

  #bankPage .input-card-premium {
    gap: 16px;
    padding: 17px 14px;
    border-radius: 18px;
  }

  #bankPage .security-info-footer-v3 {
    font-size: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #bankPage .bank-intro-panel,
  #bankPage .input-card-premium {
    animation: none;
  }
}

/* ================= PASSWORD PAGE REDESIGN ================= */
#changePasswordPage {
  --pass-ink: #102a43;
  --pass-muted: #6b7c93;
  --pass-blue: #2563eb;
  --pass-blue-deep: #123b83;
  --pass-sky: #60a5fa;
  --pass-line: #dce7f5;
  min-height: 100vh;
  overflow-y: auto;
  background: linear-gradient(145deg, #f4f8ff 0%, #e0efff 100%) !important;
  font-family: "Space Grotesk", sans-serif;
  color: var(--pass-ink);
}

#changePasswordPage .pass-header-main {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  height: 76px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(244, 248, 255, 0.92) !important;
  border-bottom: 1px solid var(--pass-line);
  box-shadow: 0 8px 24px rgba(16, 42, 67, 0.05);
  backdrop-filter: blur(18px);
}

#changePasswordPage .pass-header-main span {
  margin-left: 0;
  color: var(--pass-ink) !important;
  font-family: "Space Grotesk", sans-serif;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
}

#changePasswordPage .pass-header-main .back-btn-white {
  position: absolute;
  left: 18px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid var(--pass-line);
  border-radius: 12px;
  color: var(--pass-ink) !important;
  background: #ffffff;
  box-shadow: 0 5px 14px rgba(16, 42, 67, 0.07);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease;
}

#changePasswordPage .pass-header-main .back-btn-white:hover {
  transform: translateX(-2px);
  box-shadow: 0 8px 18px rgba(16, 42, 67, 0.12);
}

#changePasswordPage .pass-page-wrapper {
  width: min(100%, 620px);
  margin: 0 auto;
  padding: 100px 18px 112px;
  box-sizing: border-box;
}

#changePasswordPage .password-hero-panel {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  overflow: hidden;
  margin-bottom: 25px;
  padding: 22px 21px;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 22px;
  color: #ffffff;
  background: linear-gradient(130deg, #123b83 0%, #2563eb 64%, #60a5fa 100%);
  box-shadow: 0 16px 30px rgba(37, 99, 235, 0.2);
  animation: passwordRise 600ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

#changePasswordPage .password-hero-panel::after {
  position: absolute;
  right: -48px;
  bottom: -100px;
  width: 220px;
  height: 220px;
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
}

#changePasswordPage .password-hero-icon {
  position: relative;
  z-index: 1;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 15px;
  color: #dbeafe;
  background: rgba(255, 255, 255, 0.14);
  font-size: 21px;
  animation: shieldFloat 3.6s ease-in-out infinite;
}

#changePasswordPage .password-hero-panel > div:nth-child(2) {
  position: relative;
  z-index: 1;
}

#changePasswordPage .password-hero-eyebrow {
  display: block;
  margin-bottom: 7px;
  color: #bfdbfe;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

#changePasswordPage .password-hero-panel h1 {
  margin: 0;
  font-size: clamp(22px, 4vw, 30px);
  line-height: 1.04;
  letter-spacing: -0.055em;
}

#changePasswordPage .password-hero-panel p {
  max-width: 370px;
  margin: 10px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  line-height: 1.5;
}

#changePasswordPage .password-hero-fingerprint {
  position: absolute;
  top: 22px;
  right: 23px;
  color: rgba(255, 255, 255, 0.2);
  font-size: 25px;
}

#changePasswordPage .password-section-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 3px 12px;
}

#changePasswordPage .password-section-heading > span {
  color: var(--pass-blue);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

#changePasswordPage .password-section-heading h3 {
  margin: 0;
  color: var(--pass-ink);
  font-size: 17px;
}

#changePasswordPage .password-section-heading p {
  margin: 3px 0 0;
  color: var(--pass-muted);
  font-size: 11px;
}

#changePasswordPage .pass-form-container {
  gap: 17px;
  padding: 22px;
  border: 1px solid var(--pass-line);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(16, 42, 67, 0.07);
  animation: passwordRise 600ms 90ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

#changePasswordPage .pass-input-group {
  gap: 8px;
}

#changePasswordPage .pass-field-label {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--pass-ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

#changePasswordPage .pass-field-label i {
  color: var(--pass-blue);
  font-size: 12px;
}

#changePasswordPage .pass-field-input-box {
  min-height: 52px;
  border: 1px solid var(--pass-line);
  border-radius: 13px;
  background: #f8fbff;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    background 180ms ease;
}

#changePasswordPage .pass-field-input-box:focus-within {
  border-color: var(--pass-blue);
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
  transform: translateY(-1px);
}

#changePasswordPage .pass-start-icon {
  color: var(--pass-blue);
}

#changePasswordPage .pass-field-input-box input {
  color: var(--pass-ink) !important;
  background: transparent !important;
  font-family: inherit;
}

#changePasswordPage .pass-field-input-box input::placeholder {
  color: #9aabc0 !important;
}

#changePasswordPage .password-requirements {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 11px 12px;
  border: 1px solid #dbeafe;
  border-radius: 11px;
  color: #41617f;
  background: #eff6ff;
  font-size: 11px;
  line-height: 1.45;
}

#changePasswordPage .password-requirements i {
  flex: 0 0 auto;
  margin-top: 1px;
  color: var(--pass-blue);
}

#changePasswordPage .pass-submit-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 52px;
  margin-top: 2px;
  border: 0;
  border-radius: 13px;
  color: #ffffff;
  background: var(--pass-ink);
  box-shadow: 0 10px 18px rgba(16, 42, 67, 0.16);
  font-family: inherit;
  font-weight: 700;
  transition:
    transform 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease;
}

#changePasswordPage .pass-submit-action-btn:hover {
  background: var(--pass-blue);
  box-shadow: 0 12px 22px rgba(37, 99, 235, 0.24);
  transform: translateY(-2px);
}

#changePasswordPage .pass-submit-action-btn:active {
  transform: translateY(0) scale(0.98);
}

#changePasswordPage .password-trust-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--pass-muted);
  font-size: 10px;
}

#changePasswordPage .password-trust-note i {
  color: #298b72;
}

@keyframes passwordRise {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes shieldFloat {
  0%,
  100% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-4px) rotate(-4deg);
  }
}

@media (max-width: 480px) {
  #changePasswordPage .pass-header-main {
    height: 70px;
  }

  #changePasswordPage .pass-header-main span {
    font-size: 18px;
  }

  #changePasswordPage .pass-page-wrapper {
    padding: 91px 12px 108px;
  }

  #changePasswordPage .password-hero-panel {
    margin-bottom: 21px;
    padding: 19px 16px;
    border-radius: 19px;
  }

  #changePasswordPage .password-hero-icon {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    font-size: 18px;
  }

  #changePasswordPage .password-hero-panel h1 {
    font-size: 23px;
  }

  #changePasswordPage .pass-form-container {
    gap: 15px;
    padding: 17px 14px;
    border-radius: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #changePasswordPage .password-hero-panel,
  #changePasswordPage .pass-form-container,
  #changePasswordPage .password-hero-icon {
    animation: none;
  }
}

/* ================= TASK CENTER REDESIGN ================= */
#taskPage {
  --task-ink: #102a43;
  --task-muted: #6b7c93;
  --task-blue: #2563eb;
  --task-blue-deep: #123b83;
  --task-sky: #60a5fa;
  --task-line: #dce7f5;
  min-height: 100vh;
  overflow-y: auto;
  background: linear-gradient(145deg, #f4f8ff 0%, #e0efff 100%) !important;
  color: var(--task-ink);
  font-family: "Space Grotesk", sans-serif !important;
}

#taskPage .task-ui-header {
  position: sticky;
  top: 0;
  height: 76px;
  justify-content: space-between;
  padding: 0 22px 0 68px;
  background: rgba(244, 248, 255, 0.92) !important;
  border-bottom: 1px solid var(--task-line);
  box-shadow: 0 8px 24px rgba(16, 42, 67, 0.05);
  backdrop-filter: blur(18px);
}

#taskPage .task-ui-header h2 {
  margin: 0;
  color: var(--task-ink);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.04em;
}

#taskPage .task-header-title {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

#taskPage .task-header-title > span {
  color: var(--task-blue);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.16em;
}

#taskPage .task-header-mark {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  color: var(--task-blue);
  background: #dbeafe;
  font-size: 15px;
}

#taskPage .task-ui-back-arrow {
  left: 18px;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid var(--task-line);
  border-radius: 12px;
  color: var(--task-ink);
  background: #ffffff;
  box-shadow: 0 5px 14px rgba(16, 42, 67, 0.07);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease;
}

#taskPage .task-ui-back-arrow:hover {
  transform: translateY(-50%) translateX(-2px);
  box-shadow: 0 8px 18px rgba(16, 42, 67, 0.12);
}

#taskPage .task-ui-scroll-body {
  width: min(100%, 650px);
  max-width: 650px;
  padding: 24px 18px 112px;
}

#taskPage .task-stats-hero-banner {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 188px;
  margin-bottom: 25px;
  padding: 25px 22px;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 24px;
  background: linear-gradient(
    130deg,
    #123b83 0%,
    #2563eb 64%,
    #60a5fa 100%
  ) !important;
  box-shadow: 0 17px 32px rgba(37, 99, 235, 0.2);
  animation: taskRise 600ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

#taskPage .task-hero-glow {
  position: absolute;
  z-index: -1;
  width: 250px;
  height: 250px;
  right: -95px;
  bottom: -158px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
}

#taskPage .task-hero-left-metrics {
  position: relative;
  z-index: 1;
}

#taskPage .task-hero-kicker {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 15px;
  color: #bfdbfe;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

#taskPage .task-hero-number-counter {
  margin-bottom: 4px;
  color: #ffffff !important;
  font-size: clamp(42px, 10vw, 60px);
  font-weight: 700;
  letter-spacing: -0.07em;
  line-height: 0.9;
}

#taskPage .task-hero-subtitle-lbl {
  color: rgba(255, 255, 255, 0.76);
  font-size: 12px;
}

#taskPage .task-hero-pill-navigation {
  position: absolute;
  right: 20px;
  bottom: 22px;
  gap: 7px;
  padding: 10px 13px;
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 12px;
  color: var(--task-ink) !important;
  background: #ffffff !important;
  font-family: inherit;
  font-size: 11px;
  box-shadow: 0 8px 17px rgba(16, 42, 67, 0.14);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease;
}

#taskPage .task-hero-pill-navigation:hover {
  transform: translateY(-2px);
  box-shadow: 0 11px 21px rgba(16, 42, 67, 0.19);
}

#taskPage .task-hero-pill-navigation > i:first-child {
  color: var(--task-blue);
}

#taskPage .task-section-heading-block {
  margin-bottom: 16px;
  padding: 0 3px;
}

#taskPage .task-section-heading-title {
  gap: 11px;
  margin-bottom: 10px;
}

#taskPage .task-section-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 13px;
  color: var(--task-blue);
  background: #dbeafe;
  font-size: 17px;
}

#taskPage .task-accent-stripe-marker {
  display: none;
}

#taskPage .task-section-heading-title h3 {
  color: var(--task-ink);
  font-size: 18px;
  letter-spacing: -0.03em;
}

#taskPage .task-section-heading-title p {
  margin: 3px 0 0;
  color: var(--task-muted);
  font-size: 11px;
}

#taskPage .task-section-remarks-notice {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #dbeafe;
  border-radius: 11px;
  color: #41617f;
  background: #eff6ff;
  font-size: 11px;
}

#taskPage .task-section-remarks-notice i {
  flex: 0 0 auto;
  margin-top: 1px;
  color: var(--task-blue);
}

#taskPage .task-row-items-list-container {
  gap: 12px;
}

#taskPage .task-row-record-item {
  min-height: 96px;
  padding: 16px;
  border: 1px solid var(--task-line) !important;
  border-radius: 18px;
  background: #ffffff !important;
  box-shadow: 0 9px 22px rgba(16, 42, 67, 0.055) !important;
  animation: taskCardRise 550ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease;
}

#taskPage .task-row-record-item:nth-child(2) {
  animation-delay: 70ms;
}
#taskPage .task-row-record-item:nth-child(3) {
  animation-delay: 140ms;
}
#taskPage .task-row-record-item:nth-child(4) {
  animation-delay: 210ms;
}

#taskPage .task-row-record-item:hover {
  border-color: #bfdbfe !important;
  box-shadow: 0 14px 27px rgba(37, 99, 235, 0.11) !important;
  transform: translateY(-3px);
}

#taskPage .task-item-numerical-badge {
  position: relative;
  width: 43px;
  height: 43px;
  margin-right: 13px;
  border-radius: 14px;
  color: var(--task-blue) !important;
  background: #dbeafe !important;
  box-shadow: none;
  font-size: 11px;
}

#taskPage .task-item-numerical-badge i {
  font-size: 16px;
}

#taskPage .task-item-numerical-badge span {
  position: absolute;
  right: -4px;
  bottom: -4px;
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  color: #ffffff;
  background: var(--task-blue);
  font-size: 8px;
}

#taskPage .task-item-details-middle h4 {
  color: var(--task-ink) !important;
  font-size: 14px;
}

#taskPage .task-item-reward-payout-lbl {
  color: var(--task-muted) !important;
}

#taskPage .task-item-reward-payout-lbl .cash-bold {
  color: var(--task-blue) !important;
}

#taskPage .task-item-action-end-block {
  gap: 8px;
}

#taskPage .task-item-numerical-counter-pill {
  padding: 5px 8px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  color: #41617f !important;
  background: #eff6ff !important;
  font-size: 10px;
}

#taskPage .task-item-state-action-btn {
  min-width: 78px;
  padding: 8px 13px;
  border-radius: 10px;
  font-family: inherit;
  font-size: 11px;
}

#taskPage .task-item-state-action-btn.claimable {
  color: #ffffff !important;
  background: var(--task-blue) !important;
  box-shadow: 0 7px 14px rgba(37, 99, 235, 0.2);
}

#taskPage .task-item-state-action-btn.claimable:hover {
  background: var(--task-blue-deep) !important;
  transform: translateY(-1px);
}

#taskPage .task-item-state-action-btn.received {
  color: #94a3b8 !important;
  background: #eef2f7 !important;
}

@keyframes taskRise {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes taskCardRise {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 480px) {
  #taskPage .task-ui-header {
    height: 70px;
    padding-left: 64px;
  }

  #taskPage .task-ui-header h2 {
    font-size: 18px;
  }

  #taskPage .task-ui-scroll-body {
    padding: 17px 12px 108px;
  }

  #taskPage .task-stats-hero-banner {
    min-height: 180px;
    padding: 21px 17px;
    border-radius: 20px;
  }

  #taskPage .task-hero-pill-navigation {
    right: 17px;
    bottom: 17px;
    padding: 9px 10px;
  }

  #taskPage .task-row-record-item {
    align-items: flex-start;
    padding: 13px;
  }

  #taskPage .task-item-details-middle h4 {
    font-size: 13px;
  }

  #taskPage .task-item-numerical-counter-pill {
    max-width: 104px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  #taskPage .task-stats-hero-banner,
  #taskPage .task-row-record-item {
    animation: none;
  }
}

/* ================= SPIN PAGE REDESIGN ================= */
#spinWinPage {
  --spin-ink: #102a43;
  --spin-muted: #6b7c93;
  --spin-teal: #147d92;
  --spin-teal-deep: #0b5364;
  --spin-coral: #f28c62;
  --spin-cream: #f7f5ef;
  font-family: "Space Grotesk", sans-serif;
  background: var(--spin-cream);
}

#spinWinPage .spin-header-main {
  height: 82px;
  padding: 0 22px 0 68px;
  justify-content: space-between;
  background: rgba(247, 245, 239, 0.94);
  border-bottom: 1px solid #e5e9e6;
  box-shadow: none;
  backdrop-filter: blur(18px);
}

#spinWinPage .spin-header-main::after {
  content: "DAILY REWARDS";
  color: var(--spin-teal);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
}

#spinWinPage .spin-header-main span {
  margin-left: 0;
  color: var(--spin-ink);
  font-family: "Space Grotesk", sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.03em;
}

#spinWinPage .spin-header-main .back-btn-white {
  position: absolute;
  left: 18px;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #e5e9e6;
  border-radius: 12px;
  color: var(--spin-ink);
  background: #ffffff;
  box-shadow: 0 5px 14px rgba(16, 42, 67, 0.07);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease;
}

#spinWinPage .spin-header-main .back-btn-white:hover {
  transform: translateX(-2px);
  box-shadow: 0 8px 18px rgba(16, 42, 67, 0.12);
}

#spinWinPage .spin-page-wrapper {
  position: relative;
  min-height: 100vh;
  padding: 110px 18px 52px;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 8% 23%,
      rgba(20, 125, 146, 0.11) 0 1px,
      transparent 1.5px
    ),
    radial-gradient(
      circle at 91% 66%,
      rgba(242, 140, 98, 0.12) 0 1px,
      transparent 1.5px
    ),
    linear-gradient(145deg, #f7f5ef 0%, #eaf5f1 100%) !important;
  background-size:
    28px 28px,
    34px 34px,
    auto !important;
}

#spinWinPage .spin-page-wrapper::before,
#spinWinPage .spin-page-wrapper::after {
  position: absolute;
  z-index: 0;
  content: "";
  border: 1px solid rgba(20, 125, 146, 0.1);
  border-radius: 50%;
  pointer-events: none;
}

#spinWinPage .spin-page-wrapper::before {
  width: 380px;
  height: 380px;
  top: 145px;
  left: -225px;
}

#spinWinPage .spin-page-wrapper::after {
  width: 300px;
  height: 300px;
  right: -190px;
  bottom: 55px;
}

#spinWinPage .spin-quota-card,
#spinWinPage .wheel-main-container,
#spinWinPage .spin-page-note {
  position: relative;
  z-index: 1;
}

#spinWinPage .spin-quota-card {
  width: min(100%, 430px);
  margin: 0 auto 20px;
  padding: 18px 20px 17px;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.76) !important;
  box-shadow: 0 12px 26px rgba(16, 42, 67, 0.08);
  text-align: left;
  backdrop-filter: blur(13px);
  animation: spinReveal 600ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

#spinWinPage .spin-quota-heading {
  display: flex;
  align-items: center;
  gap: 11px;
}

#spinWinPage .spin-quota-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  color: var(--spin-teal);
  background: #e0f1ee;
  font-size: 17px;
}

#spinWinPage .quota-title {
  margin: 0 0 4px;
  color: var(--spin-ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

#spinWinPage .quota-status {
  margin: 0;
  color: #298b72;
  font-size: 10px;
  font-weight: 600;
}

#spinWinPage .quota-status i {
  margin-right: 3px;
  font-size: 7px;
}

#spinWinPage .quota-count {
  margin: 0 0 0 auto;
  color: var(--spin-teal-deep);
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.05em;
}

#spinWinPage .quota-desc {
  margin: 14px 0 0 53px;
  color: var(--spin-muted);
  font-size: 12px;
  line-height: 1.45;
}

#spinWinPage .wheel-main-container {
  width: min(82vw, 360px);
  height: min(82vw, 360px);
  margin: 28px auto 23px;
  filter: drop-shadow(0 21px 26px rgba(16, 42, 67, 0.18));
  animation: spinReveal 700ms 80ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

#spinWinPage .wheel-orbit {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

#spinWinPage .wheel-orbit-outer {
  inset: -23px;
  border: 1px dashed rgba(20, 125, 146, 0.35);
  animation: orbitTurn 18s linear infinite;
}

#spinWinPage .wheel-orbit-outer::before,
#spinWinPage .wheel-orbit-outer::after {
  position: absolute;
  width: 8px;
  height: 8px;
  content: "";
  border-radius: 50%;
  background: var(--spin-coral);
  box-shadow:
    0 0 0 5px rgba(242, 140, 98, 0.15),
    0 0 14px rgba(242, 140, 98, 0.5);
}

#spinWinPage .wheel-orbit-outer::before {
  top: 22px;
  left: 24px;
}

#spinWinPage .wheel-orbit-outer::after {
  right: 30px;
  bottom: 14px;
  background: #f8c58f;
}

#spinWinPage .wheel-orbit-inner {
  inset: -9px;
  border: 1px solid rgba(242, 140, 98, 0.42);
  animation: orbitTurnReverse 11s linear infinite;
}

#spinWinPage .wheel-main-container::before {
  position: absolute;
  inset: -15px;
  content: "";
  border: 1px solid rgba(20, 125, 146, 0.2);
  border-radius: 50%;
  box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.5);
}

#spinWinPage .wheel-pointer-compass {
  top: -17px;
  border-left-width: 15px;
  border-right-width: 15px;
  border-top: 27px solid var(--spin-coral);
  filter: drop-shadow(0 4px 4px rgba(16, 42, 67, 0.2));
}

#spinWinPage .lucky-fortune-wheel {
  border: 13px solid #ffffff;
  outline: 5px solid var(--spin-teal);
  background: conic-gradient(
    from -12deg,
    #f28c62 0 14.28%,
    #2b8ca0 14.28% 28.56%,
    #efbd68 28.56% 42.84%,
    #4da68d 42.84% 57.12%,
    #e87968 57.12% 71.4%,
    #477fba 71.4% 85.68%,
    #806bb2 85.68% 100%
  );
  box-shadow:
    0 0 0 9px rgba(242, 140, 98, 0.32),
    inset 0 0 20px rgba(16, 42, 67, 0.55);
  transform: rotate(0deg) !important;
  transition: transform 4.1s cubic-bezier(0.12, 0.72, 0.18, 1) !important;
}

#spinWinPage .wheel-slice {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--bg) 82%, white),
    var(--bg)
  ) !important;
  border-right: 2px solid rgba(255, 255, 255, 0.34);
  border-bottom: 2px solid rgba(255, 255, 255, 0.34);
}

#spinWinPage .wheel-slice::after {
  position: absolute;
  inset: 8px;
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  opacity: 0.8;
}

#spinWinPage .wheel-slice span {
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(11px, 3.2vw, 14px);
  text-shadow: 0 2px 5px rgba(16, 42, 67, 0.42);
}

#spinWinPage .wheel-slice > i {
  position: absolute;
  z-index: 2;
  left: 50px;
  top: 42px;
  display: block;
  color: rgba(255, 255, 255, 0.92);
  font-size: 16px;
  transform: skewY(38.58deg) rotate(25.71deg);
  filter: drop-shadow(0 2px 3px rgba(16, 42, 67, 0.28));
}

#spinWinPage .wheel-slice:nth-child(odd) > i {
  color: #fff1c7;
}

#spinWinPage .wheel-slice:nth-child(even) > i {
  color: #e7ffff;
}

#spinWinPage .wheel-trigger-center-btn {
  isolation: isolate;
  width: 84px;
  height: 84px;
  border: 5px solid #ffffff;
  background: var(--spin-ink);
  box-shadow:
    0 8px 18px rgba(16, 42, 67, 0.3),
    inset 0 2px 5px rgba(255, 255, 255, 0.16);
  transition:
    transform 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease;
  animation: hubFloat 2.8s ease-in-out infinite;
}

#spinWinPage .wheel-trigger-center-btn:hover {
  background: var(--spin-teal-deep);
  box-shadow:
    0 10px 22px rgba(20, 125, 146, 0.3),
    inset 0 2px 5px rgba(255, 255, 255, 0.2);
  transform: scale(1.06);
}

#spinWinPage .wheel-trigger-center-btn i {
  position: relative;
  z-index: 1;
  display: block;
  margin-bottom: 3px;
  color: #f8c58f;
  font-size: 15px;
}

#spinWinPage .wheel-trigger-center-btn span {
  position: relative;
  z-index: 1;
  color: #ffffff;
  font-family: "Space Grotesk", sans-serif;
  font-size: 10px;
}

#spinWinPage .wheel-trigger-center-btn .wheel-hub-glow {
  position: absolute;
  z-index: 0;
  inset: 8px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(20, 125, 146, 0.6), transparent 70%);
  animation: hubGlow 2.2s ease-in-out infinite;
}

#spinWinPage .wheel-main-container.is-spinning .wheel-orbit-outer {
  animation-duration: 2.4s;
}

#spinWinPage .wheel-main-container.is-spinning .wheel-orbit-inner {
  animation-duration: 1.4s;
}

#spinWinPage .wheel-main-container.is-spinning .wheel-pointer-compass {
  animation: pointerBounce 700ms ease-in-out infinite;
}

#spinWinPage .wheel-main-container.is-spinning .wheel-trigger-center-btn {
  animation: none;
  transform: scale(0.94);
}

#spinWinPage .wheel-trigger-center-btn.disabled-state {
  background: #8295a2 !important;
  border-color: #ffffff !important;
}

#spinWinPage .spin-page-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--spin-muted);
  font-size: 11px;
  font-weight: 600;
  animation: spinReveal 600ms 170ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

#spinWinPage .spin-page-note i {
  color: var(--spin-teal);
  font-size: 12px;
}

@keyframes spinReveal {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes orbitTurn {
  to {
    transform: rotate(360deg);
  }
}

@keyframes orbitTurnReverse {
  to {
    transform: rotate(-360deg);
  }
}

@keyframes pointerBounce {
  0%,
  100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(5px);
  }
}

@keyframes hubFloat {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}

@keyframes hubGlow {
  0%,
  100% {
    opacity: 0.55;
    transform: scale(0.88);
  }
  50% {
    opacity: 1;
    transform: scale(1.08);
  }
}

@media (max-width: 520px) {
  #spinWinPage .spin-header-main {
    height: 74px;
    padding-left: 64px;
  }

  #spinWinPage .spin-header-main span {
    font-size: 18px;
  }

  #spinWinPage .spin-header-main::after {
    font-size: 8px;
  }

  #spinWinPage .spin-page-wrapper {
    padding: 94px 12px 38px;
  }

  #spinWinPage .spin-quota-card {
    padding: 15px;
    border-radius: 17px;
  }

  #spinWinPage .quota-desc {
    margin-left: 0;
    font-size: 11px;
  }

  #spinWinPage .wheel-main-container {
    width: min(80vw, 320px);
    height: min(80vw, 320px);
    margin-top: 25px;
  }

  #spinWinPage .wheel-trigger-center-btn {
    width: 74px;
    height: 74px;
  }

  #spinWinPage .wheel-orbit-outer {
    inset: -17px;
  }

  #spinWinPage .wheel-orbit-inner {
    inset: -7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #spinWinPage .spin-quota-card,
  #spinWinPage .wheel-main-container,
  #spinWinPage .spin-page-note {
    animation: none;
  }

  #spinWinPage .lucky-fortune-wheel {
    transition: none !important;
  }

  #spinWinPage .wheel-orbit-outer,
  #spinWinPage .wheel-orbit-inner,
  #spinWinPage .wheel-trigger-center-btn,
  #spinWinPage .wheel-trigger-center-btn .wheel-hub-glow {
    animation: none;
  }
}

/* ================= LIVE DASHBOARD MOTION ================= */
.dashboard .dashboard-hero {
  animation:
    dashboardHeroReveal 650ms cubic-bezier(0.2, 0.8, 0.2, 1) both,
    heroBreath 7s ease-in-out 1.2s infinite;
}

.dashboard .status-dot {
  animation: statusPulse 2s ease-in-out infinite;
}

.dashboard .hero-balance-emblem {
  position: relative;
  isolation: isolate;
  animation: emblemFloat 4s ease-in-out 1s infinite;
}

.dashboard .hero-balance-emblem::before,
.dashboard .hero-balance-emblem::after {
  position: absolute;
  content: "";
  border-radius: 50%;
  pointer-events: none;
}

.dashboard .hero-balance-emblem::before {
  inset: -6px;
  z-index: -1;
  border: 1px dashed rgba(20, 125, 146, 0.45);
  animation: emblemOrbit 5s linear infinite;
}

.dashboard .hero-balance-emblem::after {
  inset: 4px;
  z-index: -1;
  background: radial-gradient(
    circle at 32% 24%,
    rgba(255, 255, 255, 0.95),
    transparent 32%
  );
  opacity: 0.8;
  animation: emblemShine 2.8s ease-in-out infinite;
}

.dashboard .hero-balance-emblem i {
  animation: emblemIconPulse 2.8s ease-in-out infinite;
}

.dashboard .metric-pill {
  animation: metricEnter 550ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.dashboard .metric-pill:nth-child(2) {
  animation-delay: 90ms;
}

.dashboard .metric-pill:nth-child(3) {
  animation-delay: 180ms;
}

.dashboard .action-btn {
  animation: actionEnter 500ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease;
}

.dashboard .action-btn:nth-child(2) {
  animation-delay: 70ms;
}

.dashboard .action-btn:nth-child(3) {
  animation-delay: 140ms;
}

.dashboard .action-btn:nth-child(4) {
  animation-delay: 210ms;
}

.dashboard .action-btn:hover {
  transform: translateY(-5px);
  border-color: rgba(20, 125, 146, 0.25);
  box-shadow: 0 14px 24px rgba(20, 125, 146, 0.14);
}

.dashboard .action-btn:hover .action-icon {
  transform: scale(1.08) rotate(-4deg);
}

.dashboard .action-icon {
  transition:
    transform 180ms ease,
    box-shadow 180ms ease;
}

.dashboard .product-list-container {
  animation: feedEnter 650ms 260ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.dashboard .value-live-update {
  animation: liveValueFlash 720ms ease both;
}

@keyframes heroBreath {
  0%,
  100% {
    box-shadow: 0 18px 38px rgba(20, 125, 146, 0.14);
  }
  50% {
    box-shadow: 0 22px 44px rgba(20, 125, 146, 0.2);
  }
}

@keyframes statusPulse {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.62;
    transform: scale(0.78);
  }
}

@keyframes emblemFloat {
  0%,
  100% {
    transform: rotate(6deg) translateY(0);
  }
  50% {
    transform: rotate(1deg) translateY(-5px);
  }
}

@keyframes emblemOrbit {
  to {
    transform: rotate(360deg);
  }
}

@keyframes emblemShine {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(0.88);
  }
  50% {
    opacity: 0.95;
    transform: scale(1.08);
  }
}

@keyframes emblemIconPulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.14);
  }
}

@keyframes metricEnter {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes actionEnter {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes feedEnter {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes liveValueFlash {
  0% {
    color: #f28c62;
    transform: scale(1.08);
  }
  100% {
    color: #102a43;
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dashboard .dashboard-hero,
  .dashboard .status-dot,
  .dashboard .hero-balance-emblem,
  .dashboard .hero-balance-emblem::before,
  .dashboard .hero-balance-emblem::after,
  .dashboard .hero-balance-emblem i,
  .dashboard .metric-pill,
  .dashboard .action-btn,
  .dashboard .product-list-container,
  .dashboard .value-live-update {
    animation: none;
  }

  .dashboard .action-btn,
  .dashboard .action-icon {
    transition: none;
  }
}

/* ================= AUTH FORM REDESIGN ================= */
body:not(.logged-in) {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  min-height: 100svh;
  padding: 22px 16px;
  overflow-x: hidden;
  overflow-y: auto;
  background: linear-gradient(145deg, #eaf3ff 0%, #f7faff 55%, #dceaff 100%);
}

body:not(.logged-in) #signupContainer,
body:not(.logged-in) #loginContainer {
  width: min(100%, 460px);
  max-width: 460px;
  min-height: 0;
  margin: auto;
  padding: 0 26px 24px;
  overflow: hidden;
  border: 1px solid rgba(191, 219, 254, 0.8);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 24px 64px rgba(30, 64, 120, 0.15);
  animation: authCardEnter 500ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

body:not(.logged-in) #signupContainer .auth-cover-image,
body:not(.logged-in) #loginContainer .auth-cover-image {
  position: relative;
  width: calc(100% + 52px);
  height: 142px;
  margin: 0 -26px 22px;
  overflow: hidden;
  background: #123b83;
}

body:not(.logged-in) .auth-cover-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 54%;
}

body:not(.logged-in) .auth-cover-image::after,
body:not(.logged-in) .auth-image-shade {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(100deg, rgba(9, 35, 82, 0.78), rgba(37, 99, 235, 0.08));
}

body:not(.logged-in) .auth-image-brand,
body:not(.logged-in) .auth-image-caption {
  position: absolute;
  z-index: 1;
  left: 22px;
  color: #ffffff;
}

body:not(.logged-in) .auth-image-brand {
  top: 19px;
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

body:not(.logged-in) .auth-brand-mark {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 10px;
  color: #dbeafe;
  background: rgba(255, 255, 255, 0.15);
}

body:not(.logged-in) .auth-image-caption {
  bottom: 17px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 11px;
}

body:not(.logged-in) #signupContainer .brand-header-section,
body:not(.logged-in) #loginContainer .brand-header-section {
  width: 100%;
  max-width: none;
  margin: 0 auto 18px;
  text-align: left;
}

body:not(.logged-in) .auth-kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  color: #2563eb;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body:not(.logged-in) .brand-main-title {
  margin: 0;
  color: #102a43;
  font-size: 27px;
  line-height: 1.1;
  letter-spacing: 0;
}

body:not(.logged-in) .brand-sub-title {
  margin: 6px 0 0;
  color: #6b7c93;
  font-size: 12px;
  line-height: 1.5;
}

body:not(.logged-in) #signupContainer .form-body,
body:not(.logged-in) #loginContainer .form-body {
  width: 100%;
  max-width: none;
  margin: 0;
}

body:not(.logged-in) .input-label {
  margin-bottom: 7px;
  color: #344a62;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

body:not(.logged-in) .input-group {
  margin-bottom: 13px;
}

body:not(.logged-in) .phone-input-wrapper,
body:not(.logged-in) .password-wrapper {
  min-height: 50px;
  border: 1px solid #d9e6f5;
  border-radius: 11px;
  background: #f7faff;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

body:not(.logged-in) .phone-input-wrapper:focus-within,
body:not(.logged-in) .password-wrapper:focus-within {
  border-color: #60a5fa;
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(96, 165, 250, 0.13);
}

body:not(.logged-in) .btn-action-submit {
  min-height: 50px;
  margin-top: 4px;
  border-radius: 11px;
  background: linear-gradient(110deg, #123b83, #2563eb);
  box-shadow: 0 9px 20px rgba(37, 99, 235, 0.2);
}

body:not(.logged-in) .auth-switch-prompt {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 16px;
  color: #6b7c93;
  font-size: 11px;
  text-align: center;
}

body:not(.logged-in) .auth-switch-prompt button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 0;
  border: 0;
  color: #2563eb;
  background: transparent;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

@keyframes authCardEnter {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 480px) {
  body:not(.logged-in) {
    align-items: flex-start;
    padding: 12px;
  }

  body:not(.logged-in) #signupContainer,
  body:not(.logged-in) #loginContainer {
    width: 100%;
    margin: auto;
    padding: 0 18px 20px;
    border-radius: 19px;
  }

  body:not(.logged-in) #signupContainer .auth-cover-image,
  body:not(.logged-in) #loginContainer .auth-cover-image {
    width: calc(100% + 36px);
    height: 122px;
    margin: 0 -18px 18px;
  }

  body:not(.logged-in) .auth-image-brand,
  body:not(.logged-in) .auth-image-caption {
    left: 17px;
  }

  body:not(.logged-in) .brand-main-title {
    font-size: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.logged-in) #signupContainer,
  body:not(.logged-in) #loginContainer {
    animation: none;
  }
}

/* ================= FULL-VIEWPORT AUTH EXPERIENCE ================= */
body:not(.logged-in) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  height: 100svh;
  min-height: 0;
  padding: 16px;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 12% 15%, rgba(96, 165, 250, 0.22), transparent 36%),
    radial-gradient(ellipse at 90% 88%, rgba(37, 99, 235, 0.14), transparent 34%),
    linear-gradient(145deg, #eaf3ff 0%, #f8fbff 54%, #e2eeff 100%);
}

body:not(.logged-in)::before,
body:not(.logged-in)::after {
  content: none;
}

body:not(.logged-in) #signupContainer,
body:not(.logged-in) #loginContainer {
  display: none;
  flex-direction: column;
  width: min(100%, 490px);
  height: min(744px, calc(100svh - 32px));
  min-height: 0;
  max-width: 490px;
  margin: 0;
  padding: 0 27px 17px;
  overflow: hidden;
  border: 1px solid rgba(191, 219, 254, 0.9);
  border-radius: 23px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 24px 70px rgba(24, 62, 124, 0.18);
}

body:not(.logged-in) #signupContainer.active,
body:not(.logged-in) #loginContainer.active {
  display: flex;
}

body:not(.logged-in) #signupContainer .auth-cover-image,
body:not(.logged-in) #loginContainer .auth-cover-image {
  flex: 0 0 clamp(86px, 15svh, 126px);
  width: calc(100% + 54px);
  height: auto;
  margin: 0 -27px 17px;
  border-radius: 0;
  background: #123b83;
}

body:not(.logged-in) .auth-cover-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
}

body:not(.logged-in) .auth-cover-image::after {
  background: linear-gradient(100deg, rgba(8, 34, 78, 0.8), rgba(37, 99, 235, 0.12));
}

body:not(.logged-in) .auth-image-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(8, 34, 78, 0.24), transparent 72%);
}

body:not(.logged-in) .auth-image-brand {
  top: 15px;
  left: 19px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 8px;
  color: white;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.13em;
}

body:not(.logged-in) .auth-brand-mark {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 9px;
  color: #dbeafe;
  background: rgba(255, 255, 255, 0.14);
}

body:not(.logged-in) .auth-image-caption {
  left: 20px;
  bottom: 13px;
  z-index: 2;
  color: rgba(255, 255, 255, 0.8);
  font-size: 10px;
}

body:not(.logged-in) .auth-fingerprint-orbit {
  position: absolute;
  top: 50%;
  right: 28px;
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  overflow: hidden;
  border: 1px solid rgba(219, 234, 254, 0.44);
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.94);
  background: rgba(219, 234, 254, 0.1);
  box-shadow: 0 0 0 7px rgba(219, 234, 254, 0.08);
  transform: translateY(-50%);
}

body:not(.logged-in) .auth-fingerprint-orbit::before {
  position: absolute;
  inset: -5px;
  content: "";
  border: 1px solid rgba(191, 219, 254, 0.75);
  border-radius: 50%;
  animation: fingerprintOrbit 5s linear infinite;
}

body:not(.logged-in) .auth-fingerprint-orbit > i {
  font-size: 27px;
  animation: fingerprintGlow 2.4s ease-in-out infinite;
}

body:not(.logged-in) .auth-fingerprint-scan {
  position: absolute;
  left: 9px;
  right: 9px;
  height: 2px;
  background: #bfdbfe;
  box-shadow: 0 0 10px rgba(191, 219, 254, 0.95);
  animation: fingerprintScan 2.6s ease-in-out infinite;
}

body:not(.logged-in) #signupContainer .brand-header-section,
body:not(.logged-in) #loginContainer .brand-header-section {
  flex: 0 0 auto;
  width: 100%;
  margin: 0 auto 15px;
  text-align: left;
}

body:not(.logged-in) .auth-kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  color: #2563eb;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body:not(.logged-in) .brand-main-title {
  margin: 0;
  color: #102a43;
  font-size: 25px;
  line-height: 1.08;
  letter-spacing: 0;
}

body:not(.logged-in) .brand-sub-title {
  margin: 5px 0 0;
  color: #6b7c93;
  font-size: 11px;
  line-height: 1.35;
}

body:not(.logged-in) #signupContainer .form-body,
body:not(.logged-in) #loginContainer .form-body {
  display: flex;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  max-width: none;
  margin: 0;
}

body:not(.logged-in) #signupForm,
body:not(.logged-in) #loginForm {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

body:not(.logged-in) .input-group {
  flex: 0 0 auto;
  margin-bottom: 10px;
}

body:not(.logged-in) .input-label {
  margin-bottom: 5px;
  color: #344a62;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

body:not(.logged-in) .phone-input-wrapper,
body:not(.logged-in) .password-wrapper {
  min-height: 45px;
  border: 1px solid #d9e6f5;
  border-radius: 10px;
  background: #f7faff;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

body:not(.logged-in) .phone-input-wrapper:focus-within,
body:not(.logged-in) .password-wrapper:focus-within {
  border-color: #60a5fa;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.14);
}

body:not(.logged-in) .phone-input-wrapper input,
body:not(.logged-in) .password-wrapper input {
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 13px;
}

body:not(.logged-in) .btn-action-submit {
  flex: 0 0 46px;
  min-height: 46px;
  margin-top: auto;
  border-radius: 10px;
  background: linear-gradient(110deg, #123b83, #2563eb);
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.2);
}

body:not(.logged-in) .auth-switch-prompt {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 11px;
  color: #6b7c93;
  font-size: 10px;
  text-align: center;
}

body:not(.logged-in) .auth-switch-prompt button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 0;
  border: 0;
  color: #2563eb;
  background: transparent;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

@keyframes fingerprintOrbit {
  to { transform: rotate(360deg); }
}

@keyframes fingerprintGlow {
  0%, 100% { opacity: 0.72; transform: scale(0.94); }
  50% { opacity: 1; transform: scale(1.04); }
}

@keyframes fingerprintScan {
  0%, 100% { top: 15px; opacity: 0.25; }
  50% { top: calc(100% - 15px); opacity: 1; }
}

@media (max-width: 480px) {
  body:not(.logged-in) {
    padding: 10px;
  }

  body:not(.logged-in) #signupContainer,
  body:not(.logged-in) #loginContainer {
    width: 100%;
    height: calc(100svh - 20px);
    padding: 0 18px 14px;
    border-radius: 18px;
  }

  body:not(.logged-in) #signupContainer .auth-cover-image,
  body:not(.logged-in) #loginContainer .auth-cover-image {
    flex-basis: clamp(72px, 12svh, 96px);
    width: calc(100% + 36px);
    margin: 0 -18px 12px;
  }

  body:not(.logged-in) .auth-fingerprint-orbit {
    right: 20px;
    width: 50px;
    height: 50px;
  }

  body:not(.logged-in) .auth-fingerprint-orbit > i {
    font-size: 22px;
  }

  body:not(.logged-in) #signupContainer .brand-header-section,
  body:not(.logged-in) #loginContainer .brand-header-section {
    margin-bottom: 10px;
  }

  body:not(.logged-in) .brand-main-title {
    font-size: 22px;
  }

  body:not(.logged-in) .input-group {
    margin-bottom: 8px;
  }
}

@media (max-height: 650px) {
  body:not(.logged-in) #signupContainer,
  body:not(.logged-in) #loginContainer {
    padding-bottom: 10px;
  }

  body:not(.logged-in) #signupContainer .auth-cover-image,
  body:not(.logged-in) #loginContainer .auth-cover-image {
    flex-basis: 68px;
    margin-bottom: 9px;
  }

  body:not(.logged-in) .brand-header-section {
    margin-bottom: 8px !important;
  }

  body:not(.logged-in) .input-group {
    margin-bottom: 6px;
  }

  body:not(.logged-in) .phone-input-wrapper,
  body:not(.logged-in) .password-wrapper {
    min-height: 40px;
  }

  body:not(.logged-in) .btn-action-submit {
    flex-basis: 42px;
    min-height: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.logged-in) .auth-fingerprint-orbit::before,
  body:not(.logged-in) .auth-fingerprint-orbit > i,
  body:not(.logged-in) .auth-fingerprint-scan {
    animation: none;
  }
}
