body:not(.auth-portal-shell):not(.customer-portal-shell) .portal-main {
  background:
    radial-gradient(900px 440px at 94% -8%, rgba(14, 165, 233, 0.08), transparent 58%),
    radial-gradient(680px 360px at 10% 0%, rgba(16, 185, 129, 0.06), transparent 62%);
}

.portal-main > header {
  box-shadow: 0 1px 0 rgba(148, 163, 184, 0.08), 0 12px 28px rgba(2, 6, 23, 0.12);
}

.sidebar-shell {
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(2, 6, 23, 0.98)),
    radial-gradient(460px 260px at 0% 0%, rgba(16, 185, 129, 0.12), transparent 70%) !important;
}

.sidebar-shell > div:first-child {
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.035), transparent);
}

.sidebar-nav a {
  position: relative;
  min-height: 2.6rem;
}

.sidebar-nav a.active,
.sidebar-nav a.bg-red-500\/10,
.sidebar-nav a.bg-sky-500\/10 {
  box-shadow: inset 3px 0 0 currentColor, 0 8px 20px rgba(2, 6, 23, 0.16);
}

.portal-main .glass,
.portal-main .stat-card {
  box-shadow: 0 12px 30px rgba(2, 6, 23, 0.12);
}

.portal-main .stat-card {
  background: linear-gradient(145deg, rgba(30, 41, 59, 0.96), rgba(15, 23, 42, 0.92));
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.portal-main a.stat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 34px rgba(2, 6, 23, 0.22);
}

.portal-main .glass > :first-child:is(.px-4, .px-5, .px-6) {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.025), transparent);
}

.public-site .public-hero {
  background-image: radial-gradient(720px 300px at 50% 0%, rgba(20, 184, 166, 0.11), transparent 68%);
}

.public-site .public-hero h1 {
  letter-spacing: -0.045em;
}

.public-site .public-hero > .relative {
  max-width: 76rem;
}

.customer-portal-shell .cp-hero,
.customer-portal-shell .cp-panel {
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
}

.customer-portal-shell .cp-txn-row {
  transition: background-color 160ms ease, transform 160ms ease;
}

.customer-portal-shell .cp-txn-row:hover {
  background: #f8fafc;
}

.dash-quick-card {
  transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.dash-quick-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 28px rgba(2, 6, 23, 0.2);
}

.dash-quick-card .dash-quick-icon {
  transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.dash-quick-card:hover .dash-quick-icon {
  transform: scale(1.08);
  background: rgba(16, 185, 129, 0.2);
  box-shadow: 0 8px 18px rgba(16, 185, 129, 0.16);
}

@media (max-width: 640px) {
  .portal-main > header {
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
  }

  .portal-main .glass,
  .portal-main .stat-card {
    border-radius: 0.9rem;
  }

  .public-site .public-hero h1 {
    letter-spacing: -0.035em;
  }
}
