/* Login ambient ??Horizon (ePortal), Blue Hour / Dawn light blue */

body.login-ambient,
body.login-ambient-active {
  background: #06121f;
  overflow: auto;
}

body.login-ambient[data-login-theme="dawn"],
body.login-ambient-active[data-login-theme="dawn"] {
  background: #eaf4fa;
}

body.login-ambient .fixed-background,
body.login-ambient-active .fixed-background {
  display: none !important;
}

.login-ambient {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  background: #06121f;
}

.login-ambient[data-theme="dawn"] {
  background: #eaf4fa;
}

.login-ambient__bg {
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left center;
  opacity: 0;
  transition: opacity 0.55s ease;
  pointer-events: none;
  z-index: 0;
}

.login-ambient__bg--bluehour {
  background-image: url("./assets/horizon-bluehour.webp");
  background-size: cover;
  background-position: center center;
  filter: saturate(1.06) contrast(1.05);
}

.login-ambient__bg--dawn {
  background-image: url("./assets/horizon-dawn.webp");
  background-size: cover;
  background-position: center center;
  filter: saturate(1.08) contrast(1.03);
}

.login-ambient[data-theme="bluehour"] .login-ambient__bg--bluehour,
.login-ambient[data-theme="dawn"] .login-ambient__bg--dawn {
  opacity: 1;
}

.login-ambient__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: auto;
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M7 1v12M1 7h12' stroke='%231a3348' stroke-width='1.25' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") 7 7, crosshair;
  z-index: 2;
  background: transparent;
}

.login-ambient__vignette {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 30% 48%, transparent 0%, rgba(3, 10, 20, 0.18) 55%, rgba(3, 10, 20, 0.55) 100%),
    linear-gradient(90deg, rgba(4, 12, 24, 0.05) 0%, rgba(4, 12, 24, 0.2) 52%, rgba(4, 12, 24, 0.72) 100%);
}

.login-ambient[data-theme="dawn"] .login-ambient__vignette {
  background:
    radial-gradient(ellipse at 30% 45%, transparent 0%, rgba(234, 244, 250, 0.12) 50%, rgba(170, 205, 225, 0.32) 100%),
    linear-gradient(90deg, rgba(248, 252, 255, 0.05) 0%, rgba(234, 244, 250, 0.28) 55%, rgba(248, 252, 255, 0.78) 100%);
}

.login-ambient__grain {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0.28;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

.login-ambient[data-theme="dawn"] .login-ambient__grain {
  opacity: 0.18;
  mix-blend-mode: multiply;
}

.login-ambient-clock {
  position: fixed;
  left: 28px;
  top: 24px;
  z-index: 5;
  display: grid;
  gap: 2px;
  pointer-events: none;
  color: #dbe5ee;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

.login-ambient[data-theme="dawn"] .login-ambient-clock {
  color: #1e3a4f;
  text-shadow: 0 1px 8px rgba(255, 255, 255, 0.45);
}

.login-ambient-clock strong {
  font-family: "SFMono-Regular", "IBM Plex Mono", Consolas, monospace;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.login-ambient-clock span {
  color: rgba(168, 185, 201, 0.9);
  font-size: 11px;
  letter-spacing: 0.12em;
}

.login-ambient[data-theme="dawn"] .login-ambient-clock span {
  color: rgba(90, 70, 50, 0.8);
}

.login-ambient-toolbar {
  position: fixed;
  left: 28px;
  top: 72px;
  z-index: 5;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  pointer-events: auto;
}

.login-scene-switch {
  display: inline-flex;
  gap: 0;
  border: 1px solid rgba(205, 219, 232, 0.28);
  border-radius: 999px;
  overflow: hidden;
  background: rgba(4, 18, 37, 0.62);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
}

.login-ambient[data-theme="dawn"] .login-scene-switch {
  border-color: rgba(95, 150, 185, 0.28);
  background: rgba(248, 252, 255, 0.78);
  box-shadow: 0 8px 24px rgba(60, 110, 150, 0.12);
}

.login-scene-switch__btn {
  appearance: none;
  border: 0;
  margin: 0;
  padding: 8px 14px;
  background: transparent;
  color: rgba(219, 229, 238, 0.72);
  font-size: 12px;
  letter-spacing: 0.08em;
  cursor: pointer;
}

.login-ambient[data-theme="dawn"] .login-scene-switch__btn {
  color: rgba(40, 80, 110, 0.72);
}

.login-scene-switch__btn[aria-pressed="true"] {
  background: rgba(215, 45, 66, 0.88);
  color: #fff;
}

.login-ambient[data-theme="dawn"] .login-scene-switch__btn[aria-pressed="true"] {
  background: rgba(95, 160, 197, 0.92);
  color: #fff;
}

.login-ambient-motion {
  appearance: none;
  border: 1px solid rgba(205, 219, 232, 0.28);
  border-radius: 999px;
  padding: 8px 14px;
  background: rgba(4, 18, 37, 0.62);
  color: rgba(219, 229, 238, 0.85);
  font-size: 12px;
  letter-spacing: 0.1em;
  cursor: pointer;
  backdrop-filter: blur(10px);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.login-ambient[data-theme="dawn"] .login-ambient-motion {
  border-color: rgba(95, 150, 185, 0.28);
  background: rgba(248, 252, 255, 0.78);
  color: rgba(30, 70, 100, 0.88);
}

.login-ambient-motion[aria-pressed="true"] strong {
  color: #ffe9a8;
}

.login-ambient[data-theme="dawn"] .login-ambient-motion[aria-pressed="true"] strong {
  color: #3d6a8f;
}

.login-ambient-motion strong {
  font-family: "SFMono-Regular", Consolas, monospace;
  font-weight: 600;
}

.login-ambient__nodes {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}

.login-ambient__node {
  position: absolute;
  transform: translate(10px, -50%);
  pointer-events: auto;
  appearance: none;
  border: 0;
  background: transparent;
  color: rgba(220, 230, 240, 0.92);
  font-size: 11px;
  letter-spacing: 0.02em;
  padding: 0 0 0 4px;
  min-height: 28px;
  cursor: pointer;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
}

.login-ambient[data-theme="dawn"] .login-ambient__node {
  color: rgba(30, 58, 82, 0.92);
  text-shadow: 0 1px 6px rgba(255, 255, 255, 0.55);
}

.login-ambient__node span {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
  background: rgba(4, 18, 37, 0.5);
  white-space: nowrap;
  max-width: 9.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
}

.login-ambient[data-theme="dawn"] .login-ambient__node span {
  background: rgba(248, 252, 255, 0.78);
}

.login-ambient__node[aria-pressed="true"] {
  color: #fff;
}

.login-ambient__node[aria-pressed="true"] span {
  background: rgba(215, 45, 66, 0.8);
  color: #fff;
}

.login-ambient[data-theme="dawn"] .login-ambient__node[aria-pressed="true"] {
  color: #c42b3a;
}

.login-ambient[data-theme="dawn"] .login-ambient__node[aria-pressed="true"] span {
  background: rgba(255, 248, 238, 0.92);
  color: #c42b3a;
  box-shadow: inset 0 0 0 1px rgba(196, 43, 58, 0.45);
}

.login-ambient__node.is-hub:not([aria-pressed="true"]) span {
  color: #ffe9a8;
}

.login-ambient[data-theme="dawn"] .login-ambient__node.is-hub:not([aria-pressed="true"]) span {
  color: #3d6a8f;
}

.login-ambient__context {
  display: none;
  position: fixed;
  left: 28px;
  bottom: 96px;
  width: min(280px, calc(100vw - 440px));
  max-width: 280px;
  z-index: 5;
  pointer-events: auto;
  padding: 10px 12px;
  border-left: 2px solid rgba(201, 162, 39, 0.85);
  border-radius: 0 4px 4px 0;
  background: rgba(4, 18, 37, 0.88);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28);
  color: #dbe5ee;
}

.login-ambient[data-theme="dawn"] .login-ambient__context {
  background: rgba(255, 248, 238, 0.9);
  color: #1e3a4f;
  border-left-color: rgba(95, 160, 197, 0.9);
  box-shadow: 0 8px 20px rgba(60, 110, 150, 0.12);
}

.login-ambient__context.is-open {
  display: block;
}

.login-ambient__context-kicker {
  display: block;
  margin-bottom: 4px;
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(190, 205, 220, 0.72);
}

.login-ambient[data-theme="dawn"] .login-ambient__context-kicker {
  color: rgba(110, 85, 55, 0.75);
}

.login-ambient__context h2 {
  margin: 0;
  font-size: 16px;
  line-height: 1.2;
  color: #fff;
}

.login-ambient[data-theme="dawn"] .login-ambient__context h2 {
  color: #163044;
}

.login-ambient__context-code {
  display: block;
  margin-top: 2px;
  font-size: 10px;
  letter-spacing: 0.06em;
  color: rgba(200, 214, 228, 0.8);
  font-family: "SFMono-Regular", Consolas, monospace;
}

.login-ambient[data-theme="dawn"] .login-ambient__context-code {
  color: rgba(90, 70, 50, 0.75);
}

.login-ambient__context-summary {
  margin: 8px 0 0;
  font-size: 11px;
  line-height: 1.45;
  color: rgba(200, 214, 228, 0.88);
}

.login-ambient[data-theme="dawn"] .login-ambient__context-summary {
  color: rgba(70, 52, 36, 0.85);
}

.login-ambient__context-list {
  margin: 8px 0 0;
  padding: 0;
}

.login-ambient__context-list > div {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 6px;
  padding: 3px 0;
  font-size: 10px;
  border-top: 1px solid rgba(205, 219, 232, 0.1);
}

.login-ambient[data-theme="dawn"] .login-ambient__context-list > div {
  border-top-color: rgba(95, 150, 185, 0.16);
}

.login-ambient__context-list dt {
  margin: 0;
  color: rgba(168, 185, 201, 0.85);
}

.login-ambient[data-theme="dawn"] .login-ambient__context-list dt {
  color: rgba(110, 85, 55, 0.8);
}

.login-ambient__context-list dd {
  margin: 0;
  color: #e8eef6;
}

.login-ambient[data-theme="dawn"] .login-ambient__context-list dd {
  color: #1e3a4f;
}

.login-ambient__market-ruler {
  position: fixed;
  left: 28px;
  bottom: 28px;
  z-index: 2;
  display: grid;
  grid-template-columns: auto repeat(5, minmax(0, 1fr));
  width: min(860px, calc(100vw - 420px));
  max-width: calc(100% - 56px);
  pointer-events: none;
  background: rgba(4, 18, 37, 0.55);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(205, 219, 232, 0.16);
  border-radius: 4px;
  color: #dbe5ee;
}

.login-ambient[data-theme="dawn"] .login-ambient__market-ruler {
  background: rgba(248, 252, 255, 0.78);
  border-color: rgba(95, 150, 185, 0.22);
  color: #1e3a4f;
}

.login-ambient__ruler-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  padding: 10px 14px;
  min-height: 52px;
  border-right: 1px solid rgba(205, 219, 232, 0.12);
}

.login-ambient[data-theme="dawn"] .login-ambient__ruler-title {
  border-right-color: rgba(95, 150, 185, 0.16);
}

.login-ambient__ruler-title strong {
  font-size: 11px;
  letter-spacing: 0.08em;
}

.login-ambient__ruler-title span {
  font-size: 10px;
  color: rgba(168, 185, 201, 0.85);
}

.login-ambient[data-theme="dawn"] .login-ambient__ruler-title span {
  color: rgba(110, 85, 55, 0.75);
}

.login-ambient__market-time {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  padding: 10px 12px;
  min-height: 52px;
}

.login-ambient__market-time span {
  font-size: 10px;
  color: rgba(168, 185, 201, 0.9);
  letter-spacing: 0.06em;
}

.login-ambient[data-theme="dawn"] .login-ambient__market-time span {
  color: rgba(110, 85, 55, 0.8);
}

.login-ambient__market-time time {
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 14px;
  font-weight: 600;
}

.login-ambient__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.login-ambient #root.login-ambient-root,
body.login-ambient-active #root.login-ambient-root {
  position: relative;
  z-index: 1;
  pointer-events: none;
}

body.login-ambient #root.login-ambient-root .full-page-content-right-border,
body.login-ambient-active #root.login-ambient-root .full-page-content-right-border {
  pointer-events: auto;
}

body.login-ambient #root.login-ambient-root .d-lg-flex a,
body.login-ambient #root.login-ambient-root .d-lg-flex button,
body.login-ambient-active #root.login-ambient-root .d-lg-flex a,
body.login-ambient-active #root.login-ambient-root .d-lg-flex button {
  pointer-events: auto;
}

body.login-ambient .full-page-content-right-border,
body.login-ambient-active .full-page-content-right-border {
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(10px);
}

body.login-ambient[data-login-theme="dawn"] .full-page-content-right-border,
body.login-ambient-active[data-login-theme="dawn"] .full-page-content-right-border {
  background: rgba(255, 252, 247, 0.96);
}

html[data-color*=dark] body.login-ambient .full-page-content-right-border,
html[data-color*=dark] body.login-ambient-active .full-page-content-right-border {
  background: rgba(11, 36, 56, 0.92);
}

body.login-ambient .login-ambient-brand,
body.login-ambient-active .login-ambient-brand {
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
}

body.login-ambient[data-login-theme="dawn"] .login-ambient-brand .text-white,
body.login-ambient-active[data-login-theme="dawn"] .login-ambient-brand .text-white {
  color: #163044 !important;
  text-shadow: 0 1px 12px rgba(255, 255, 255, 0.55);
}

body.login-ambient[data-login-theme="dawn"] .login-ambient-brand .btn-outline-white,
body.login-ambient-active[data-login-theme="dawn"] .login-ambient-brand .btn-outline-white {
  color: #1e3a4f;
  border-color: rgba(58, 45, 34, 0.55);
}

@media (max-width: 991.98px) {
  .login-ambient-clock {
    left: 16px;
    top: 16px;
  }

  .login-ambient-toolbar {
    left: 16px;
    top: 64px;
  }

  .login-ambient__market-ruler {
    left: 16px;
    right: 16px;
    bottom: 16px;
    width: auto;
    max-width: none;
    grid-template-columns: 1fr 1fr;
  }

  .login-ambient__ruler-title {
    grid-column: 1 / -1;
    border-right: 0;
    border-bottom: 1px solid rgba(205, 219, 232, 0.12);
    min-height: 0;
    padding: 8px 12px 0;
  }

  .login-ambient__market-time {
    min-height: 44px;
    padding: 6px 12px;
  }

  .login-ambient__nodes,
  .login-ambient__context {
    display: none !important;
  }

  .login-ambient__canvas {
    pointer-events: none;
  }
}

/* SweetAlert must sit above ambient canvas/nodes; freeze ambient hit-targets while open */
body.login-ambient.swal2-shown .login-ambient,
body.login-ambient-active.swal2-shown .login-ambient,
body.login-ambient.swal2-shown .login-ambient *,
body.login-ambient-active.swal2-shown .login-ambient *,
html.eportal-auth-full.login-horizon.swal2-shown .login-ambient,
html.eportal-auth-full.login-horizon.swal2-shown .login-ambient * {
  pointer-events: none !important;
}

body.login-ambient .swal2-container,
body.login-ambient-active .swal2-container,
html.eportal-auth-full.login-horizon .swal2-container {
  z-index: 20000 !important;
  pointer-events: auto !important;
}

body.login-ambient .swal2-container .swal2-popup,
body.login-ambient .swal2-container .swal2-actions,
body.login-ambient .swal2-container .swal2-styled,
html.eportal-auth-full.login-horizon .swal2-container .swal2-popup,
html.eportal-auth-full.login-horizon .swal2-container .swal2-actions,
html.eportal-auth-full.login-horizon .swal2-container .swal2-styled {
  pointer-events: auto !important;
}

/* Auth Swal ??glass popup matching Horizon login panel */
html.eportal-auth-full.login-horizon .swal2-container.eportal-auth-swal-container {
  background: rgba(8, 20, 36, 0.45) !important;
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .swal2-container.eportal-auth-swal-container {
  background: rgba(60, 40, 20, 0.28) !important;
}
html.eportal-auth-full.login-horizon .swal2-popup.eportal-auth-swal {
  border-radius: 1rem !important;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(18, 36, 56, 0.88) !important;
  color: #e8eef6 !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  padding: 1.5rem 1.35rem 1.25rem !important;
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .swal2-popup.eportal-auth-swal {
  background: rgba(255, 250, 242, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.55);
  color: #1e3a4f !important;
  box-shadow: 0 16px 48px rgba(120, 80, 40, 0.18);
}
html.eportal-auth-full.login-horizon .swal2-popup.eportal-auth-swal .swal2-title {
  color: #dbe5ee !important;
  font-size: 1.25rem;
  font-weight: 700;
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .swal2-popup.eportal-auth-swal .swal2-title {
  color: #1e3a4f !important;
}
html.eportal-auth-full.login-horizon .swal2-popup.eportal-auth-swal .swal2-html-container {
  color: rgba(220, 230, 240, 0.9) !important;
  font-size: 0.95rem;
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .swal2-popup.eportal-auth-swal .swal2-html-container {
  color: rgba(58, 45, 34, 0.88) !important;
}
html.eportal-auth-full.login-horizon .swal2-popup.eportal-auth-swal .eportal-auth-swal-confirm,
html.eportal-auth-full.login-horizon .swal2-popup.eportal-auth-swal .swal2-confirm {
  border-radius: 0.9rem !important;
  border: 0 !important;
  background: linear-gradient(135deg, #3d6a8f, #7aa3c4) !important;
  color: #fff !important;
  box-shadow: none !important;
  padding: 0.55rem 1.4rem !important;
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .swal2-popup.eportal-auth-swal .eportal-auth-swal-confirm,
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .swal2-popup.eportal-auth-swal .swal2-confirm {
  background: #5fa0c5 !important;
  color: #fff !important;
}

/* ===== ePortal glass login panel ===== */
html.eportal-auth-full.login-horizon .fixed-background { display: none !important; }
html.eportal-auth-full.login-horizon #root > .container-fluid {
  position: relative;
  z-index: 1;
  pointer-events: none;
}
html.eportal-auth-full.login-horizon #root .full-page-content-right-border,
html.eportal-auth-full.login-horizon #root a,
html.eportal-auth-full.login-horizon #root button,
html.eportal-auth-full.login-horizon #root input,
html.eportal-auth-full.login-horizon #root select,
html.eportal-auth-full.login-horizon #root label,
html.eportal-auth-full.login-horizon #root .form-check {
  pointer-events: auto;
}
/* Cookie banner sits outside #root; body.login-ambient has pointer-events:none */
html.eportal-auth-full.login-horizon #cookie-consent-banner,
html.eportal-auth-full.login-horizon #cookie-consent-banner * {
  pointer-events: auto !important;
}
html.eportal-auth-full.login-horizon #cookie-consent-banner {
  z-index: 30000 !important;
}
html.eportal-auth-full.login-horizon .eportal-auth-marketing-text {
  color: rgba(255,255,255,0.96); text-shadow: 0 2px 18px rgba(0,0,0,0.45);
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .eportal-auth-marketing-text,
body.login-ambient[data-login-theme="dawn"] .eportal-auth-marketing-text {
  color: #163044; text-shadow: 0 1px 12px rgba(255,255,255,0.45);
}
html.eportal-auth-full.login-horizon .full-page-content-right-border {
  background: rgba(255, 255, 255, 0.10) !important;
  backdrop-filter: blur(22px) saturate(1.2);
  -webkit-backdrop-filter: blur(22px) saturate(1.2);
  border-left: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 1.25rem 0 0 1.25rem;
  box-shadow: -16px 0 48px rgba(0,0,0,0.32);
  color: #e8eef6;
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border,
body.login-ambient[data-login-theme="dawn"] .full-page-content-right-border {
  background: rgba(255, 250, 242, 0.28) !important;
  border-left: 1px solid rgba(255, 255, 255, 0.55) !important;
  box-shadow: -16px 0 48px rgba(120,80,40,0.14);
  color: #1e3a4f;
}
html.eportal-auth-full.login-horizon .full-page-content-right-border .form-control,
html.eportal-auth-full.login-horizon .full-page-content-right-border .form-select {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.28);
  color: #e8eef6;
  border-radius: 0.9rem;
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border .form-control,
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border .form-select {
  background: rgba(248, 252, 255, 0.86);
  border-color: rgba(255, 255, 255, 0.55);
  color: #1e3a4f;
}
html.eportal-auth-full.login-horizon .full-page-content-right-border .btn-primary {
  border-radius: 0.9rem;
  border: 0;
  background: linear-gradient(135deg, #3d6a8f, #7aa3c4);
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border .btn-primary {
  background: #5fa0c5;
  color: #fff;
}
html.eportal-auth-full.login-horizon .full-page-content-right-border .text-primary { color: #dbe5ee !important; }
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border .text-primary { color: #3d6a8f !important; }
html.eportal-auth-full.login-horizon .full-page-content-right-border .btn-outline-primary {
  border-radius: 0.65rem; color: #dbe5ee; border-color: rgba(220,230,240,0.45); background: rgba(8,20,36,0.25);
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border .btn-outline-primary {
  color: #4a6a80; border-color: rgba(95,150,185,0.4); background: rgba(248,252,255,0.55);
}
html.eportal-auth-full.login-horizon .eportal-lang-segment .btn-primary { color: #fff !important; background: rgba(122,163,196,0.85); border-color: transparent; }
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .eportal-lang-segment .btn-primary { background: rgba(95,160,197,0.9); }
html.eportal-auth-full.login-horizon .bg-foreground { background: transparent !important; }
html.eportal-auth-full.login-horizon .shadow-deep { box-shadow: none !important; }
html.eportal-auth-full.login-horizon .full-page-content-right-border .filled.form-group > i,
html.eportal-auth-full.login-horizon .full-page-content-right-border .form-check-label,
html.eportal-auth-full.login-horizon .full-page-content-right-border .text-muted { color: rgba(220,230,240,0.82) !important; }
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border .filled.form-group > i,
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border .form-check-label,
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border .text-muted { color: rgba(40,80,110,0.78) !important; }
html.eportal-auth-full.login-horizon .eportal-captcha-frame {
  background: transparent;
  border: 0;
  border-radius: 0.9rem;
  padding: 0;
  box-shadow: none;
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .eportal-captcha-frame {
  background: transparent;
  border: 0;
  box-shadow: none;
}
html.eportal-auth-full.login-horizon .eportal-captcha-img {
  border-radius: 0.75rem;
  width: 180px;
  height: 52px;
  box-shadow: 0 4px 14px rgba(50, 90, 130, 0.14);
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .eportal-captcha-img {
  box-shadow: 0 4px 14px rgba(50, 90, 130, 0.14);
}
html.eportal-auth-full.login-horizon[data-login-theme="bluehour"] .eportal-captcha-img,
html.eportal-auth-full.login-horizon:not([data-login-theme="dawn"]) .eportal-captcha-img {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
}

/* OTP check-code + input ??one glass pill matching login fields */
html.eportal-auth-full.login-horizon .full-page-content-right-border .eportal-otp-input-group {
  border-radius: 0.9rem;
  overflow: hidden;
}
html.eportal-auth-full.login-horizon .eportal-otp-code-addon {
  min-height: 48px;
  padding: 0.55rem 0.95rem;
  border-radius: 0.9rem 0 0 0.9rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-right: 0;
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffe9a8;
  letter-spacing: 0.18em;
  font-weight: 700;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .eportal-otp-code-addon {
  background: rgba(248, 252, 255, 0.86) !important;
  border-color: rgba(255, 255, 255, 0.55);
  color: #3d6a8f;
}
html.eportal-auth-full.login-horizon .full-page-content-right-border .eportal-otp-input-group .form-control {
  border-radius: 0 0.9rem 0.9rem 0;
  min-height: 48px;
  border-left: 0;
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: rgba(255, 255, 255, 0.28);
  color: #e8eef6;
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.22);
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border .eportal-otp-input-group .form-control {
  background: rgba(248, 252, 255, 0.86) !important;
  border-color: rgba(255, 255, 255, 0.55);
  color: #1e3a4f;
  box-shadow: inset 1px 0 0 rgba(150, 110, 60, 0.22);
}
html.eportal-auth-full.login-horizon .full-page-content-right-border .eportal-otp-input-group:focus-within .eportal-otp-code-addon,
html.eportal-auth-full.login-horizon .full-page-content-right-border .eportal-otp-input-group:focus-within .form-control {
  border-color: rgba(122, 163, 196, 0.75);
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border .eportal-otp-input-group:focus-within .eportal-otp-code-addon,
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border .eportal-otp-input-group:focus-within .form-control {
  border-color: rgba(95, 160, 197, 0.55);
}

/* OTP verify + resend stay on one row */
html.eportal-auth-full .eportal-otp-actions {
  flex-wrap: nowrap;
  align-items: stretch;
}
html.eportal-auth-full .eportal-otp-actions > .btn {
  min-width: 0;
  white-space: nowrap;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

/* Password: single pill matching UserId / Captcha (left radius on input, right on toggle) */
html.eportal-auth-full.login-horizon .full-page-content-right-border .eportal-pwd-input-group {
  border-radius: 0.9rem;
  overflow: hidden;
}
html.eportal-auth-full.login-horizon .full-page-content-right-border .eportal-pwd-input-group .form-control {
  border-radius: 0.9rem 0 0 0.9rem;
  min-height: 48px;
  border-right: 0;
}
html.eportal-auth-full.login-horizon .full-page-content-right-border .eportal-pwd-input-group .eportal-pwd-toggle {
  border-radius: 0 0.9rem 0.9rem 0;
  min-height: 48px;
  height: auto;
  border-left: 0;
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.28);
  color: rgba(220, 230, 240, 0.9);
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border .eportal-pwd-input-group .eportal-pwd-toggle {
  background: rgba(248, 252, 255, 0.86);
  border-color: rgba(255, 255, 255, 0.55);
  color: #4a6a80;
}
html.eportal-auth-full.login-horizon .full-page-content-right-border .eportal-pwd-input-group:focus-within .form-control,
html.eportal-auth-full.login-horizon .full-page-content-right-border .eportal-pwd-input-group:focus-within .eportal-pwd-toggle {
  border-color: rgba(122, 163, 196, 0.75);
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border .eportal-pwd-input-group:focus-within .form-control,
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border .eportal-pwd-input-group:focus-within .eportal-pwd-toggle {
  border-color: rgba(95, 160, 197, 0.55);
}
html.eportal-auth-full.login-horizon .full-page-content-right-border .btn-outline-secondary {
  border-radius: 0.9rem;
  color: #dbe5ee;
  border-color: rgba(220, 230, 240, 0.4);
  background: rgba(8, 20, 36, 0.28);
}
html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border .btn-outline-secondary {
  color: #4a6a80;
  border-color: rgba(150, 110, 60, 0.4);
  background: rgba(255, 250, 242, 0.45);
}
@media (max-width: 991.98px) {
  html.eportal-auth-full.login-horizon .full-page-content-right-border { background: rgba(12,28,48,0.78) !important; }
  html.eportal-auth-full.login-horizon[data-login-theme="dawn"] .full-page-content-right-border { background: rgba(248,252,255,0.92) !important; }
}