/* Deutsche Bank global palette layer. Loaded last to recolor existing layouts only. */
:root {
  --lead-primary: #001F5B;
  --lead-primary-hover: #0A3D91;
  --lead-sky: #0A3D91;
  --lead-accent: #001F5B;
  --lead-ink: #001F5B;
  --lead-text: #001F5B;
  --lead-muted: rgba(0, 31, 91, .64);
  --lead-surface: #F6F8FC;
  --lead-panel: #ffffff;
  --lead-border: rgba(0, 31, 91, .14);
  --lead-tint: rgba(0, 31, 91, .08);
  --lead-gradient: linear-gradient(135deg, #001F5B 0%, #062E78 48%, #0A3D91 100%);
  --lead-gradient-soft: linear-gradient(135deg, rgba(0, 31, 91, .11), rgba(10, 61, 145, .07));
  --lead-shadow: 0 18px 44px rgba(7, 27, 69, .08);
  --lead-shadow-strong: 0 24px 54px rgba(7, 27, 69, .22);

  --lead-blue: var(--lead-primary);
  --lead-blue-2: var(--lead-primary-hover);
  --lead-cyan: rgba(0, 31, 91, .1);
  --ink: var(--lead-ink);
  --text: var(--lead-text);
  --muted: var(--lead-muted);
  --line: var(--lead-border);
  --soft: var(--lead-surface);
  --panel: var(--lead-panel);

  --navy: var(--lead-ink);
  --navy-mid: var(--lead-ink);
  --navy-card: var(--lead-ink);
  --blue: var(--lead-primary);
  --blue-light: var(--lead-sky);
  --blue-glow: rgba(0, 31, 91, .14);
  --gold: var(--lead-sky);
  --gold-light: var(--lead-sky);
  --off-white: var(--lead-surface);
  --border: rgba(255, 255, 255, .2);
  --border-light: rgba(47, 91, 255, .12);
  --shadow-sm: 0 4px 14px rgba(7, 27, 69, .08);
  --shadow-md: var(--lead-shadow);
  --shadow-lg: var(--lead-shadow-strong);

  --brand-navy: var(--lead-ink);
  --brand-navy-deep: var(--lead-ink);
  --brand-cyan: var(--lead-sky);
  --card-grad: var(--lead-gradient);
  --surface-bg: var(--lead-surface);
  --surface-card: var(--lead-panel);
  --text-primary: var(--lead-ink);
  --text-secondary: var(--lead-muted);
  --shadow-card: var(--lead-shadow);
}

html,
body,
.app-shell,
.app-main,
main {
  background-color: var(--lead-surface);
  color: var(--lead-text);
  font-family: "Aptos Display", Aptos, "Manrope", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  letter-spacing: -.01em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.brand-mark,
.dashboard-greeting strong,
.section-title,
.bank-app-card h2,
.bank-app-card h3,
.dashboard-section-head strong,
.balance-value-row strong {
  letter-spacing: -.035em;
  color: var(--lead-text);
}

.loader span {
  border-color: rgba(77, 181, 255, .28);
  border-top-color: var(--lead-sky);
}

.brand-mark-dark {
  color: var(--lead-ink) !important;
}

.brand-mark {
  font-weight: 800;
}

.brand-symbol {
  background: #ffffff !important;
  border-radius: 0 !important;
  box-shadow: 0 0 0 1px rgba(0, 30, 96, .08), 0 10px 24px rgba(0, 30, 96, .12) !important;
}

.brand-symbol img,
.admin-console .admin-console-logo img {
  object-fit: contain !important;
}

.bank-navbar {
  border-bottom-color: rgba(47, 91, 255, .11);
  background: rgba(255, 255, 255, .96);
}

.bank-navbar .nav-link:hover,
.site-footer a:hover,
.section-title-row a,
.dashboard-section-head a,
.auth-kicker,
.quick-grid i,
.account-card-icon,
.translate-widget > i,
.otp-resend-row .btn-link {
  color: var(--lead-ink) !important;
}

.btn-primary-pill,
.btn-gold,
.btn-navy,
.btn-primary,
button.btn-primary {
  color: #fff !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, #001F5B 0%, #0A3D91 100%) !important;
  box-shadow: 0 12px 25px rgba(0, 31, 91, .22);
}

.btn-primary-pill:hover,
.btn-gold:hover,
.btn-navy:hover,
.btn-primary:hover,
button.btn-primary:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #001946 0%, #08347D 100%) !important;
  box-shadow: 0 16px 34px rgba(0, 31, 91, .28);
}

.btn-outline-primary {
  color: var(--lead-primary) !important;
  border-color: rgba(47, 91, 255, .34) !important;
}

.btn-outline-primary:hover {
  color: #fff !important;
  background: var(--lead-primary) !important;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--lead-sky) !important;
  box-shadow: 0 0 0 4px rgba(77, 181, 255, .18) !important;
}

.hero,
.auth-shell,
.card-link-shell {
  background-color: var(--lead-surface);
}

.lead-overview-top,
.banking-hero,
.send-hero,
.card-link-hero,
.auth-panel,
.app-flow-modal .modal-header {
  background: var(--lead-gradient) !important;
  box-shadow: var(--lead-shadow-strong) !important;
}

.lead-overview-panel,
.premium-card,
.bank-card,
.table-card,
.bank-app-card,
.auth-suite,
.auth-card,
.notification-card,
.modal-content {
  border-color: var(--lead-border) !important;
  box-shadow: var(--lead-shadow) !important;
}

.service-band,
.lead-overview-grid div,
.quick-grid a,
.cash-flow div,
.empty-mini,
.empty-state-card,
.instant-recipient-grid button,
.instant-recipient-row {
  background: var(--lead-surface) !important;
  border-color: var(--lead-border) !important;
}

.icon-chip,
.tx-icon,
.bank-logo,
.quick-grid i,
.account-card-icon,
.recipient-avatar,
.instant-recipient-grid button span {
  color: var(--lead-ink) !important;
  background: var(--lead-tint) !important;
  border-color: rgba(0, 31, 91, .16) !important;
}

.cta-band,
.site-footer {
  background: var(--lead-ink) !important;
}

.site-footer .brand-mark-light,
.site-footer h6,
.site-footer a,
.site-footer p,
.footer-bottom {
  color: rgba(255, 255, 255, .93);
}

/* Auth, signup and onboarding surfaces */
.auth-shell,
.onboarding-modern-shell {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.auth-shell {
  background:
    linear-gradient(112deg, rgba(7, 27, 69, .2) 0%, rgba(246, 248, 252, .8) 43%, rgba(246, 248, 252, .93) 100%),
    url("https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1800&q=80") center / cover no-repeat !important;
}

.onboarding-modern-shell {
  background:
    linear-gradient(110deg, rgba(7, 27, 69, .16) 0%, rgba(246, 248, 252, .82) 45%, rgba(246, 248, 252, .94) 100%),
    url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1800&q=80") center / cover no-repeat fixed !important;
}

.auth-shell::before,
.onboarding-modern-shell::before {
  content: "";
  position: absolute;
  right: clamp(1.5rem, 6vw, 5.5rem);
  bottom: clamp(1.25rem, 5vw, 4rem);
  width: clamp(10rem, 17vw, 16rem);
  aspect-ratio: 1;
  background: url("../icons/deutsche-bank-logo.png") center / contain no-repeat;
  mix-blend-mode: multiply;
  opacity: .065;
  pointer-events: none;
}

.auth-shell > *,
.onboarding-modern-shell > * {
  position: relative;
  z-index: 1;
}

.auth-suite,
.onboarding-flow {
  background: rgba(255, 255, 255, .94) !important;
  backdrop-filter: blur(14px);
}

.auth-panel,
.onboarding-rail {
  background:
    radial-gradient(circle at 16% 12%, rgba(77, 181, 255, .12), transparent 14rem),
    var(--lead-gradient) !important;
}

.auth-panel .brand-mark,
.auth-panel .eyebrow,
.auth-panel h2,
.auth-panel p {
  color: #fff !important;
}

.auth-panel h2 {
  max-width: 430px;
  font-size: clamp(2.15rem, 3.35vw, 3.15rem);
  line-height: 1.08;
  font-weight: 650;
}

.auth-panel p {
  max-width: 440px;
  color: rgba(255, 255, 255, .82) !important;
  line-height: 1.58;
}

.agent-onboarding-banner,
.agent-assisted-signup .agent-onboarding-banner {
  border-color: rgba(77, 181, 255, .22) !important;
  background:
    radial-gradient(circle at 8% 16%, rgba(77, 181, 255, .12), transparent 12rem),
    linear-gradient(135deg, #ffffff 0%, var(--lead-surface) 100%) !important;
  box-shadow: var(--lead-shadow) !important;
}

.agent-onboarding-photo,
.admin-agent-photo {
  background: var(--lead-gradient) !important;
  box-shadow: 0 12px 28px rgba(7, 27, 69, .2) !important;
}

.agent-verified-row em,
.agent-verified-row b,
.agent-onboarding-message strong {
  color: var(--lead-primary) !important;
}

.agent-onboarding-message,
.verified-agent-card {
  border-color: rgba(77, 181, 255, .24) !important;
  background: var(--lead-gradient-soft) !important;
}

.onboarding-progress span,
.onboarding-stepper span.active {
  background: var(--lead-gradient) !important;
}

/* Application shells and sidebars */
.sidebar,
#sidebar,
.user-sidebar,
nav.sidebar,
.admin-sidebar {
  background: var(--lead-ink) !important;
  border-right-color: rgba(255, 255, 255, .2) !important;
  box-shadow: 12px 0 38px rgba(7, 27, 69, .18);
}

.sidebar .nav-link,
.sidebar .nav-link i {
  color: rgba(255, 255, 255, .78) !important;
}

.sidebar .nav-link.active,
.sidebar .nav-link:hover {
  color: #fff !important;
  background: rgba(77, 181, 255, .24) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
}

.sidebar .nav-link.active::before {
  background: var(--lead-sky) !important;
}

.sidebar-session {
  border-color: rgba(255, 255, 255, .24) !important;
  background: rgba(255, 255, 255, .14) !important;
}

.topbar {
  border-color: rgba(47, 91, 255, .1) !important;
  background: rgba(255, 255, 255, .91) !important;
  box-shadow: 0 12px 30px rgba(7, 27, 69, .06) !important;
}

/* Dashboard and banking cards */
.total-balance-panel,
.balance-card,
body.dashboard-screen .total-balance-panel,
body.dashboard-screen .bank-home-grid > .total-balance-panel.bank-app-card {
  color: #fff !important;
  border-color: transparent !important;
  background:
    radial-gradient(circle at 86% 12%, rgba(77, 181, 255, .14), transparent 13rem),
    var(--lead-gradient) !important;
  box-shadow: var(--lead-shadow-strong) !important;
}

body.dashboard-screen .balance-account-meta div,
.balance-card .balance-account-meta div {
  border-color: rgba(255, 255, 255, .25) !important;
  background: rgba(255, 255, 255, .13) !important;
}

.premium-mobile-card,
body.dashboard-screen .premium-mobile-card,
.virtual-card,
.live-card-face,
.admin-card-preview,
.premium-visa {
  color: #fff;
  background:
    radial-gradient(circle at 82% 10%, rgba(77, 181, 255, .13), transparent 8rem),
    var(--lead-gradient) !important;
  box-shadow: 0 18px 38px rgba(7, 27, 69, .2) !important;
}

.live-card-back {
  background: var(--lead-gradient) !important;
}

.app-quick-grid i,
body.dashboard-screen .app-quick-grid i {
  color: #fff !important;
  background: var(--lead-primary) !important;
  box-shadow: 0 10px 20px rgba(47, 91, 255, .2) !important;
}

.app-quick-grid a:hover,
.app-quick-grid button:hover {
  border-color: rgba(47, 91, 255, .25) !important;
}

.status-info,
.category-badge {
  color: var(--lead-primary) !important;
  background: var(--lead-tint) !important;
}

.notification-card.is-unread {
  border-left-color: var(--lead-sky) !important;
}

.mobile-bottom-nav {
  border-top-color: var(--lead-border) !important;
  background: rgba(255, 255, 255, .98) !important;
}

.mobile-bottom-nav a.active,
.bottom-nav-item.active,
.bottom-nav-item:hover {
  color: var(--lead-primary) !important;
}

.mobile-bottom-nav a.active i {
  color: var(--lead-primary) !important;
}

.deposit-protection-badge.deposit-protection-compact .deposit-protection-mark i {
  color: var(--lead-primary) !important;
  background: var(--lead-tint) !important;
}

.bg-navy {
  background: var(--lead-gradient) !important;
}

/* Admin console: Deutsche Bank operations workspace */
.admin-console {
  --admin-primary: #001F5B;
  --admin-secondary: #0A3D91;
  --admin-accent: #001F5B;
  --admin-bg: #F7F9FD;
  --admin-panel: #ffffff;
  --admin-text: #001E60;
  --admin-muted: rgba(7, 27, 69, .64);
  --admin-border: rgba(47, 91, 255, .14);
  --admin-sidebar: #001E60;
  --admin-sidebar-deep: #001E60;
  font-family: "Manrope", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  background: var(--admin-bg);
  color: var(--admin-text);
}

.admin-console .app-shell,
.admin-console .app-main {
  background:
    radial-gradient(circle at 86% 4%, rgba(77, 181, 255, .08), transparent 25rem),
    var(--admin-bg) !important;
}

.admin-console .sidebar {
  width: 276px;
  gap: 1.15rem;
  padding: 20px 14px 16px;
  background: var(--admin-sidebar) !important;
  border-right: 1px solid rgba(77, 181, 255, .18) !important;
  box-shadow: 16px 0 38px rgba(7, 27, 69, .12);
}

.admin-console .app-main {
  width: calc(100% - 276px);
  margin-left: 276px;
  padding: 26px 30px 34px;
}

.admin-console .admin-console-brand {
  min-height: 62px;
  gap: .8rem;
  padding: 0 .55rem 1rem;
  border-bottom: 1px solid rgba(226, 232, 240, .11);
}

.admin-console .admin-console-logo {
  width: 36px;
  height: 36px;
  min-width: 36px;
  display: inline-flex;
  overflow: hidden;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .22);
}

.admin-console .admin-console-logo img {
  width: 36px;
  height: 36px;
  display: block;
  object-fit: cover;
}

.admin-console .admin-console-brand-copy strong,
.admin-console .admin-console-brand-copy small {
  display: block;
  letter-spacing: 0;
}

.admin-console .admin-console-brand-copy strong {
  color: #fff;
  font-size: 1.1rem;
  line-height: 1.1;
  font-weight: 800;
}

.admin-console .admin-console-brand-copy small {
  margin-top: .25rem;
  color: rgba(203, 213, 225, .7);
  font-size: .68rem;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
}

.admin-console .sidebar .nav {
  gap: .24rem;
  padding: .2rem 0;
}

.admin-console .sidebar .nav-link {
  min-height: 43px;
  gap: .72rem;
  border-radius: 11px;
  padding: .62rem .78rem;
  color: rgba(203, 213, 225, .78) !important;
  font-size: .88rem;
  font-weight: 650;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.admin-console .sidebar .nav-link i {
  width: 18px;
  color: rgba(148, 163, 184, .9) !important;
}

.admin-console .sidebar .nav-link:hover {
  color: #fff !important;
  background: rgba(77, 181, 255, .18) !important;
  box-shadow: none;
}

.admin-console .sidebar .nav-link.active {
  color: #fff !important;
  background: rgba(77, 181, 255, .28) !important;
  box-shadow: inset 3px 0 0 var(--admin-secondary);
}

.admin-console .sidebar .nav-link:hover i,
.admin-console .sidebar .nav-link.active i {
  color: #fff !important;
}

.admin-console .admin-console-session {
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 12px;
  padding: .75rem .82rem;
  background: rgba(255, 255, 255, .045);
}

.admin-console .admin-console-session small,
.admin-console .admin-console-session strong,
.admin-console .admin-console-session span {
  display: block;
  letter-spacing: 0;
}

.admin-console .admin-console-session small {
  color: rgba(148, 163, 184, .78);
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
}

.admin-console .admin-console-session strong {
  margin-top: .25rem;
  color: #fff;
  font-size: .83rem;
  font-weight: 700;
}

.admin-console .admin-console-session span {
  margin-top: .14rem;
  overflow: hidden;
  color: rgba(203, 213, 225, .72);
  font-size: .74rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-console .sidebar-signout-btn {
  border-radius: 11px;
  color: #dbeafe;
  border-color: rgba(148, 163, 184, .14);
}

.admin-console .sidebar-signout-btn:hover {
  color: #fff;
  background: rgba(77, 181, 255, .16);
}

.admin-console .topbar {
  min-height: 76px;
  margin-bottom: 22px;
  padding: 0 0 20px;
  border: 0 !important;
  border-bottom: 1px solid var(--admin-border) !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}

.admin-console .admin-page-heading h1 {
  margin: 0;
  color: var(--admin-text);
  font-size: clamp(1.45rem, 2vw, 1.82rem);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: 0;
}

.admin-console .admin-page-heading div {
  margin-top: .28rem;
  color: var(--admin-muted);
  font-size: .82rem;
  font-weight: 600;
}

.admin-console .language-static-pill {
  border-color: var(--admin-border);
  color: var(--admin-muted);
  background: var(--admin-panel);
}

.admin-console .admin-header-actions .btn-outline-danger {
  border-color: var(--admin-border);
  color: var(--admin-muted);
  background: var(--admin-panel);
}

.admin-console .admin-header-actions .btn-outline-danger:hover {
  border-color: rgba(47, 91, 255, .18);
  color: var(--admin-primary);
  background: rgba(77, 181, 255, .12);
}

.admin-console .admin-overview-intro {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 20px;
}

.admin-console .admin-overview-intro span {
  color: var(--admin-primary);
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-console .admin-overview-intro h2 {
  margin: .38rem 0 .35rem;
  color: var(--admin-text);
  font-size: clamp(1.25rem, 1.7vw, 1.55rem);
  line-height: 1.15;
  font-weight: 800;
}

.admin-console .admin-overview-intro p {
  margin: 0;
  color: var(--admin-muted);
  font-size: .87rem;
}

.admin-console .admin-security-pill {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  border: 1px solid rgba(77, 181, 255, .3);
  border-radius: 999px;
  padding: .62rem .9rem;
  color: var(--admin-primary);
  background: rgba(77, 181, 255, .12);
  font-size: .78rem;
  font-weight: 700;
}

.admin-console .admin-analytics-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.admin-console .admin-stat-card,
.admin-console .admin-chart-card {
  border: 1px solid var(--admin-border);
  border-radius: 16px;
  background: var(--admin-panel);
  box-shadow: 0 10px 28px rgba(7, 27, 69, .055);
}

.admin-console .admin-stat-card {
  min-height: 142px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
}

.admin-console .admin-stat-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  font-size: 1rem;
}

.admin-console .icon-members {
  color: var(--admin-primary);
  background: rgba(77, 181, 255, .13);
}

.admin-console .icon-deposits {
  color: var(--admin-primary);
  background: rgba(77, 181, 255, .13);
}

.admin-console .icon-transfers {
  color: var(--admin-primary);
  background: rgba(77, 181, 255, .13);
}

.admin-console .icon-volume {
  color: var(--admin-primary);
  background: rgba(77, 181, 255, .13);
}

.admin-console .admin-stat-copy small {
  display: block;
  margin: .76rem 0 .28rem;
  color: var(--admin-muted);
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.admin-console .admin-stat-copy strong {
  display: block;
  color: var(--admin-text);
  font-size: clamp(1.42rem, 2vw, 1.72rem);
  line-height: 1.05;
  font-weight: 800;
}

.admin-console .admin-stat-copy span {
  display: block;
  margin-top: .26rem;
  color: var(--admin-muted);
  font-size: .72rem;
  font-weight: 600;
}

.admin-console .admin-chart-card {
  padding: 22px;
}

.admin-console .admin-liquidity-chart {
  grid-column: span 3;
}

.admin-console .admin-activity-chart {
  grid-column: span 1;
}

.admin-console .admin-panel-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 18px;
}

.admin-console .admin-panel-heading small {
  display: block;
  margin-bottom: .35rem;
  color: var(--admin-muted);
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
}

.admin-console .admin-panel-heading h3 {
  margin: 0;
  color: var(--admin-text);
  font-size: 1.04rem;
  font-weight: 800;
}

.admin-console .admin-panel-badge {
  border-radius: 999px;
  padding: .42rem .72rem;
  color: var(--admin-primary);
  background: rgba(77, 181, 255, .13);
  font-size: .72rem;
  font-weight: 700;
}

.admin-console .admin-chart-card canvas {
  max-width: 100%;
}

.admin-sidebar-overlay {
  display: none;
}

@media (max-width: 1199.98px) {
  .admin-console .admin-analytics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-console .admin-liquidity-chart,
  .admin-console .admin-activity-chart {
    grid-column: span 2;
  }
}

@media (max-width: 991.98px) {
  .admin-console .sidebar {
    transform: translateX(-100%);
  }

  .admin-console .sidebar.open {
    transform: translateX(0);
  }

  .admin-console .app-main {
    width: 100%;
    margin-left: 0;
    padding: 18px;
  }

  .admin-sidebar-overlay.is-visible {
    position: fixed;
    inset: 0;
    z-index: 49;
    display: block;
    background: rgba(7, 27, 69, .38);
  }

  body.admin-nav-open {
    overflow: hidden;
  }

  .admin-console .mobile-toggle {
    display: inline-grid;
    place-items: center;
    width: 45px;
    height: 45px;
    padding: 0;
    border-radius: 12px;
  }
}

@media (max-width: 575.98px) {
  .admin-console .app-main {
    padding: 14px;
  }

  .admin-console .topbar {
    align-items: flex-start;
    margin-bottom: 16px;
    padding-bottom: 14px;
  }

  .admin-console .admin-page-heading h1 {
    font-size: 1.18rem;
  }

  .admin-console .admin-page-heading div {
    font-size: .75rem;
  }

  .admin-console .admin-header-actions {
    display: none !important;
  }

  .admin-console .admin-overview-intro {
    display: block;
    margin-bottom: 16px;
  }

  .admin-console .admin-security-pill {
    margin-top: .8rem;
  }

  .admin-console .admin-analytics-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .admin-console .admin-stat-card,
  .admin-console .admin-chart-card,
  .admin-console .admin-liquidity-chart,
  .admin-console .admin-activity-chart {
    grid-column: 1;
  }

  .admin-console .admin-stat-card {
    min-height: 116px;
    padding: 16px;
  }

  .admin-console .admin-chart-card {
    padding: 16px;
  }
}

/* Palette-only guard for the enhanced admin console when it is enabled. */
.admin-console {
  --admin-primary: var(--lead-primary);
  --admin-secondary: var(--lead-sky);
  --admin-accent: var(--lead-accent);
  --admin-bg: var(--lead-surface);
  --admin-text: var(--lead-ink);
  --admin-muted: var(--lead-muted);
  --admin-border: var(--lead-border);
  --admin-sidebar: var(--lead-ink);
  --admin-sidebar-deep: var(--lead-ink);
}

.admin-console .sidebar {
  background: var(--lead-ink) !important;
  border-right-color: rgba(77, 181, 255, .18) !important;
}

.admin-console .sidebar .nav-link.active,
.admin-console .sidebar .nav-link:hover {
  background: rgba(77, 181, 255, .2) !important;
}

/* Region selector: quiet, centered private-banking entry point. */
.country-choice-shell {
  min-height: calc(100vh - 76px);
  display: grid;
  place-items: center;
  padding: clamp(1.5rem, 5vw, 4rem) 0;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(112deg, rgba(7, 27, 69, .13) 0%, rgba(246, 248, 252, .82) 34%, rgba(246, 248, 252, .9) 100%),
    url("https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1800&q=80") center / cover no-repeat !important;
}

.country-choice-shell::before {
  content: "";
  position: absolute;
  right: clamp(1.5rem, 6vw, 5.5rem);
  top: clamp(1.75rem, 7vw, 4.25rem);
  width: clamp(11rem, 18vw, 17rem);
  aspect-ratio: 1;
  background: url("../icons/deutsche-bank-logo.png") center / contain no-repeat;
  mix-blend-mode: multiply;
  opacity: .06;
  pointer-events: none;
}

.country-choice-shell > .container {
  position: relative;
  z-index: 1;
}

.country-choice-portal {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(1.5rem, 3vw, 2.7rem);
  border: 1px solid var(--lead-border);
  border-radius: 26px;
  background: rgba(255, 255, 255, .91);
  box-shadow: 0 30px 74px rgba(7, 27, 69, .13);
  backdrop-filter: blur(15px);
}

.country-choice-head {
  max-width: 620px;
  margin: 0 auto clamp(1.5rem, 3vw, 2.5rem);
  text-align: center;
}

.country-choice-head .eyebrow {
  display: inline-block;
  margin-bottom: .7rem;
  color: var(--lead-ink);
  font-size: .73rem;
  font-weight: 800;
  text-transform: uppercase;
}

.country-choice-head h1 {
  margin: 0 0 .7rem;
  color: var(--lead-ink);
  font-size: clamp(1.85rem, 3.1vw, 2.65rem);
  line-height: 1.1;
  font-weight: 800;
}

.country-choice-head p {
  margin: 0;
  color: var(--lead-muted);
  font-size: 1rem;
  line-height: 1.55;
}

.country-choice-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
}

.country-choice-card {
  min-height: 220px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem;
  border: 1px solid var(--lead-border) !important;
  border-radius: 18px;
  color: var(--lead-ink) !important;
  background: var(--lead-panel) !important;
  box-shadow: 0 12px 28px rgba(7, 27, 69, .05);
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.country-choice-card:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 31, 91, .34) !important;
  box-shadow: 0 20px 42px rgba(0, 31, 91, .13);
}

.country-choice-flag {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: var(--lead-tint);
  overflow: hidden;
}

.country-choice-flag img {
  width: 36px;
  height: auto;
  display: block;
  object-fit: cover;
  box-shadow: 0 3px 8px rgba(7, 27, 69, .1);
}

.country-choice-icon {
  display: none !important;
}

.country-choice-card strong {
  display: block;
  color: var(--lead-ink);
  font-size: 1.04rem;
  font-weight: 800;
}

.country-choice-card small {
  display: block;
  margin-top: .45rem;
  color: var(--lead-muted);
  line-height: 1.45;
}

.country-choice-card > i {
  margin-top: auto;
  color: var(--lead-ink);
  transition: transform .2s ease;
}

.country-choice-card:hover > i {
  transform: translateX(5px);
}

/* Deposit center and gift card review surfaces */
.deposit-page-hero,
.admin-deposit-hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem;
  padding: clamp(1.35rem, 2.5vw, 2rem);
  border-radius: 20px;
  color: #fff;
  background: var(--lead-gradient);
  box-shadow: var(--lead-shadow-strong);
}

.deposit-page-hero .eyebrow,
.admin-deposit-hero .eyebrow {
  color: rgba(255, 255, 255, .7);
}

.deposit-page-hero h2,
.admin-deposit-hero h2 {
  margin: .25rem 0 .45rem;
  color: #fff;
  font-size: clamp(1.3rem, 2.2vw, 1.8rem);
  font-weight: 800;
}

.deposit-page-hero p,
.admin-deposit-hero p {
  margin: 0;
  max-width: 660px;
  color: rgba(255, 255, 255, .76);
}

.deposit-hero-icon,
.admin-deposit-hero > span {
  width: 58px;
  height: 58px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 17px;
  color: #fff;
  font-size: 1.35rem;
  background: rgba(255, 255, 255, .13);
  border: 1px solid rgba(255, 255, 255, .17);
}

.deposit-workspace {
  display: grid;
  grid-template-columns: minmax(350px, 1.05fr) minmax(320px, .95fr);
  gap: 1.2rem;
  align-items: start;
}

.deposit-methods {
  display: grid;
  gap: 1.2rem;
}

.gift-card-deposit-card,
.check-deposit-card,
.deposit-history-card,
.admin-deposit-review-card {
  border: 1px solid var(--lead-border);
  border-radius: 18px;
  background: var(--lead-panel);
  box-shadow: var(--lead-shadow);
}

.gift-card-deposit-card {
  padding: clamp(1.15rem, 2.5vw, 1.6rem);
}

.gift-card-deposit-heading {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1.1rem;
}

.gift-card-deposit-heading h3 {
  margin: .18rem 0 .2rem;
  color: var(--lead-ink);
  font-size: 1.32rem;
  font-weight: 800;
}

.gift-card-deposit-heading p {
  margin: 0;
  color: var(--lead-muted);
}

.gift-card-brand-icon {
  width: 56px;
  height: 56px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 17px;
  color: #fff;
  font-size: 1.6rem;
  background: var(--lead-gradient);
}

.gift-card-notice {
  display: flex;
  gap: .7rem;
  align-items: flex-start;
  padding: .78rem .85rem;
  border: 1px solid rgba(77, 181, 255, .26);
  border-radius: 12px;
  color: var(--lead-muted);
  background: rgba(77, 181, 255, .09);
  font-size: .86rem;
  line-height: 1.45;
}

.gift-card-notice i {
  margin-top: .16rem;
  color: var(--lead-primary);
}

.gift-upload-drop {
  position: relative;
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .8rem .9rem;
  border: 1px dashed rgba(47, 91, 255, .3);
  border-radius: 12px;
  cursor: pointer;
  background: var(--lead-surface);
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.gift-upload-drop:hover {
  border-color: var(--lead-sky);
  background: rgba(77, 181, 255, .08);
  box-shadow: 0 10px 24px rgba(7, 27, 69, .06);
}

.gift-upload-drop i {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: var(--lead-primary);
  background: var(--lead-tint);
}

.gift-upload-drop span {
  display: grid;
  gap: .12rem;
}

.gift-upload-drop strong {
  color: var(--lead-ink);
  font-size: .9rem;
}

.gift-upload-drop small,
.form-note {
  color: var(--lead-muted);
  font-size: .76rem;
}

.gift-upload-drop input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.check-deposit-card {
  padding: 1.2rem;
}

.check-deposit-card h4 {
  color: var(--lead-ink);
  font-size: 1.06rem;
  font-weight: 800;
}

.deposit-history-header {
  padding: 1.2rem 1.25rem .85rem;
}

.deposit-history-header h3 {
  margin: 0 0 .22rem;
  color: var(--lead-ink);
  font-size: 1.16rem;
  font-weight: 800;
}

.deposit-history-header p {
  margin: 0;
  color: var(--lead-muted);
  font-size: .84rem;
}

.deposit-history-list {
  display: grid;
  gap: .65rem;
  padding: 0 1rem 1rem;
}

.deposit-history-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: center;
  padding: .88rem;
  border: 1px solid var(--lead-border);
  border-radius: 12px;
  background: var(--lead-surface);
}

.deposit-type-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--lead-primary);
  background: var(--lead-tint);
}

.deposit-type-icon.gift {
  color: #fff;
  background: var(--lead-gradient);
}

.deposit-history-copy strong {
  display: block;
  color: var(--lead-ink);
  font-size: .89rem;
  font-weight: 750;
}

.deposit-history-copy small {
  display: block;
  margin-top: .15rem;
  color: var(--lead-muted);
  font-size: .75rem;
}

.deposit-history-amount {
  display: grid;
  justify-items: end;
  gap: .32rem;
}

.deposit-history-amount strong {
  color: var(--lead-ink);
  font-size: .93rem;
}

.admin-deposit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.admin-deposit-review-card {
  padding: 1.15rem;
}

.admin-deposit-review-card header {
  display: flex;
  justify-content: space-between;
  gap: .7rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.admin-deposit-review-card h3 {
  margin: 0 0 .2rem;
  color: var(--lead-ink);
  font-size: 1.02rem;
  font-weight: 800;
}

.admin-deposit-review-card header p {
  margin: 0;
  color: var(--lead-muted);
  font-size: .8rem;
}

.admin-deposit-review-card header p span {
  display: block;
}

.admin-deposit-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
  margin-bottom: .9rem;
}

.admin-deposit-metrics div {
  padding: .62rem;
  border-radius: 10px;
  background: var(--lead-surface);
}

.admin-deposit-metrics small {
  display: block;
  margin-bottom: .2rem;
  color: var(--lead-muted);
  font-size: .67rem;
  text-transform: uppercase;
  font-weight: 700;
}

.admin-deposit-metrics strong {
  display: block;
  color: var(--lead-ink);
  font-size: .85rem;
}

.admin-deposit-files {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: .9rem;
}

.admin-deposit-memo {
  margin: 0 0 .85rem;
  padding: .65rem .75rem;
  border-radius: 10px;
  color: var(--lead-muted);
  background: var(--lead-surface);
  font-size: .82rem;
}

.admin-deposit-actions {
  padding-top: .85rem;
  border-top: 1px solid var(--lead-border);
}

@media (max-width: 991.98px) {
  .country-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .deposit-workspace,
  .admin-deposit-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .auth-shell,
  .onboarding-modern-shell {
    background-attachment: scroll !important;
  }

  .auth-shell::before,
  .onboarding-modern-shell::before,
  .country-choice-shell::before {
    width: clamp(6.5rem, 24vw, 8.5rem);
    opacity: .05;
  }

  .country-choice-portal {
    padding: 1.2rem;
    border-radius: 20px;
  }

  .country-choice-grid {
    grid-template-columns: 1fr;
  }

  .country-choice-card {
    min-height: 168px;
  }

  .deposit-page-hero,
  .admin-deposit-hero {
    align-items: flex-start;
    padding: 1.15rem;
  }

  .deposit-hero-icon,
  .admin-deposit-hero > span {
    width: 48px;
    height: 48px;
  }

  .gift-card-deposit-heading {
    align-items: flex-start;
  }

  .gift-card-brand-icon {
    width: 48px;
    height: 48px;
  }

  .deposit-history-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .deposit-history-amount {
    grid-column: 2;
    justify-items: start;
  }

  .admin-deposit-review-card header {
    flex-direction: column;
  }

  .admin-deposit-metrics {
    grid-template-columns: 1fr 1fr;
  }
}

/* Dashboard layout refinement: preserve the mobile card stack, widen desktop workspace. */
@media (min-width: 1024px) {
  body.dashboard-screen .app-main {
    padding: 18px clamp(20px, 2vw, 32px) 26px !important;
  }

  body.dashboard-screen .topbar,
  body.dashboard-screen .mobile-bank-app {
    width: min(100%, 1480px) !important;
  }

  body.dashboard-screen .topbar {
    min-height: 56px !important;
    margin-bottom: 6px !important;
    padding: 0 28px 8px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none;
  }

  body.dashboard-screen .dashboard-greeting {
    display: grid;
    gap: 1px;
  }

  body.dashboard-screen .dashboard-greeting span {
    line-height: 1.1;
  }

  body.dashboard-screen .dashboard-greeting strong {
    line-height: 1.05;
  }

  body.dashboard-screen .bank-home-grid {
    gap: 18px !important;
  }

  body.dashboard-screen .bank-home-grid > .total-balance-panel.bank-app-card {
    height: 300px;
    min-height: 300px !important;
    max-height: 300px !important;
    display: flex;
    flex-direction: column;
    padding: 22px 28px !important;
  }

  body.dashboard-screen .balance-hero-top {
    margin-bottom: 10px !important;
  }

  body.dashboard-screen .total-balance-panel .balance-label {
    margin-bottom: 4px !important;
  }

  body.dashboard-screen .total-balance-panel .balance-mask {
    margin-top: 8px !important;
  }

  body.dashboard-screen .total-balance-panel .balance-account-meta {
    margin-top: auto !important;
    gap: 12px !important;
  }

  body.dashboard-screen .virtual-card-panel,
  body.dashboard-screen .account-stack-panel,
  body.dashboard-screen .assigned-agent-panel {
    min-height: 202px !important;
    height: 202px;
    padding: 20px !important;
  }

  body.dashboard-screen .premium-mobile-card {
    width: 100% !important;
  }
}

@media (min-width: 1600px) {
  body.dashboard-screen .topbar,
  body.dashboard-screen .mobile-bank-app {
    width: min(100%, 1560px) !important;
  }
}

@media (min-width: 576px) and (max-width: 1199.98px) {
  body.dashboard-screen .bank-home-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  body.dashboard-screen .total-balance-panel {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  body.dashboard-screen .virtual-card-panel {
    grid-column: 1 / span 5 !important;
    grid-row: 2 !important;
  }

  body.dashboard-screen .account-stack-panel {
    grid-column: 6 / -1 !important;
    grid-row: 2 !important;
  }

  body.dashboard-screen .assigned-agent-panel {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
  }

  body.dashboard-screen .quick-action-panel {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
  }

  body.dashboard-screen .transactions-panel {
    grid-column: 1 / -1 !important;
    grid-row: 5 !important;
  }

  body.dashboard-screen .instant-pay-panel {
    grid-column: 1 / -1 !important;
    grid-row: 6 !important;
  }

  body.dashboard-screen .desktop-insights-panel {
    grid-column: 1 / -1 !important;
    grid-row: 7 !important;
  }

  body.dashboard-screen .virtual-card-panel,
  body.dashboard-screen .account-stack-panel {
    min-height: 196px !important;
    padding: 18px !important;
  }

  body.dashboard-screen .premium-mobile-card {
    width: 100% !important;
    min-height: 126px !important;
    max-height: 126px !important;
    margin-inline: 0 !important;
  }

  body.dashboard-screen .assigned-agent-panel {
    min-height: 126px !important;
  }

  body.dashboard-screen .total-balance-panel .balance-value-row {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
  }

  body.dashboard-screen .total-balance-panel .balance-value-row strong {
    font-size: clamp(3rem, 8.5vw, 4rem) !important;
    line-height: .96;
  }

  body.dashboard-screen .total-balance-panel .balance-value-row button {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border-radius: 15px;
  }
}

/* Mobile navigation drawer: content scrolls while session and sign out remain reachable. */
@media (max-width: 991.98px) {
  .sidebar {
    display: flex !important;
    flex-direction: column !important;
    height: 100vh !important;
    height: 100dvh !important;
    overflow: hidden !important;
  }

  .sidebar .sidebar-brand,
  .sidebar .sidebar-session,
  .sidebar .sidebar-signout-wrap {
    flex: 0 0 auto;
  }

  .sidebar .nav {
    flex: 1 1 auto !important;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .sidebar .sidebar-session {
    margin-top: 0 !important;
  }

  .sidebar .sidebar-signout-wrap {
    margin-top: 0 !important;
  }
}

@media (max-width: 575.98px) {
  .sidebar .sidebar-signout-wrap {
    margin-bottom: calc(54px + env(safe-area-inset-bottom)) !important;
  }
}

/* Desktop sidebar brand header: compact side mark, nav starts high. */
@media (min-width: 992px) {
  .sidebar > .sidebar-brand {
    flex: 0 0 auto;
    min-height: 44px;
    position: relative;
    display: block !important;
    padding: 0 !important;
  }

  .sidebar > .sidebar-brand .brand-mark {
    width: 100% !important;
    justify-content: flex-start !important;
    text-align: left;
    gap: 0;
  }

  .sidebar > .sidebar-brand .brand-symbol {
    flex: 0 0 auto;
    position: absolute;
    left: 78px;
    top: 30px;
    width: 36px;
    height: 36px;
    margin: 0;
  }

  .sidebar > .nav {
    padding-top: 34px;
  }
}

/* Unified Deutsche Bank runtime theme */
.brand-deutsche-bank .sidebar,
.brand-deutsche-bank.admin-console .sidebar {
  background: var(--lead-ink) !important;
}

.brand-deutsche-bank .nav-link.active,
.brand-deutsche-bank.admin-console .nav-link.active {
  background: rgba(10, 61, 145, .24) !important;
  color: #fff !important;
  border-color: rgba(10, 61, 145, .35) !important;
}

.brand-deutsche-bank .total-balance-panel,
.brand-deutsche-bank .premium-visa,
.brand-deutsche-bank .premium-mobile-card {
  background: var(--lead-gradient) !important;
}

.brand-deutsche-bank .brand-symbol {
  background: #fff !important;
}

.country-choice-card em {
  display: block;
  margin-top: 4px;
  font-style: normal;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .02em;
  color: var(--lead-ink);
}

.country-choice-grid {
  grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
}

/* Premium final polish: Deutsche Bank-inspired contrast, geometry, and movement. */
.total-balance-panel,
body.dashboard-screen .bank-home-grid > .total-balance-panel.bank-app-card {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, .045) 0 1px, transparent 1px 36px),
    linear-gradient(30deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 42px),
    radial-gradient(circle at 86% 12%, rgba(77, 181, 255, .12), transparent 13rem),
    var(--lead-gradient) !important;
}

.total-balance-panel > *,
body.dashboard-screen .bank-home-grid > .total-balance-panel.bank-app-card > * {
  position: relative;
  z-index: 1;
}

.total-balance-panel::after,
body.dashboard-screen .bank-home-grid > .total-balance-panel.bank-app-card::after {
  content: "";
  position: absolute;
  inset: auto -4rem -5rem auto;
  width: 24rem;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, .055);
  transform: rotate(45deg);
  pointer-events: none;
}

/* No light-blue ink: all readable labels and links stay in Deutsche navy. */
.brand-deutsche-bank .brand-mark-dark,
.brand-deutsche-bank .bank-navbar .brand-mark,
.brand-deutsche-bank .bank-navbar .nav-link,
.brand-deutsche-bank .section-title-row a,
.brand-deutsche-bank .dashboard-section-head a,
.brand-deutsche-bank .auth-kicker,
.brand-deutsche-bank .country-choice-head .eyebrow,
.brand-deutsche-bank .country-choice-card em,
.brand-deutsche-bank .country-choice-card > i,
.brand-deutsche-bank .account-card-icon,
.brand-deutsche-bank .translate-widget > i,
.brand-deutsche-bank .otp-resend-row .btn-link,
.brand-deutsche-bank .auth-card a,
.brand-deutsche-bank .account-stack-panel a,
.brand-deutsche-bank .transactions-panel a {
  color: var(--lead-ink) !important;
}
