/* Sovereign Series UX/UI standardization layer.
   Additive only: keeps existing routes, forms, auth handlers, and API workflows intact. */
:root {
  --dv8-red: #c92736;
  --dv8-red-hover: #a91f2b;
  --dv8-red-light: #fee2e2;
  --dv8-orange: #f97316;
  --dv8-black: #0b1220;
  --dv8-white: #ffffff;
  --dv8-grey: #64748b;
  --dv8-beige: #f4efe4;
  --quantum-cyan: #0891b2;
  --quantum-cyan-hover: #0e7490;
  --quantum-navy-950: #020617;
  --quantum-navy-900: #0f172a;
  --quantum-navy-800: #1e293b;
  --quantum-slate: #334155;
  --success: #15803d;
  --warning: #b45309;
  --danger: #b91c1c;
  --info: #0369a1;
  --neutral-50: #f8fafc;
  --neutral-100: #f1f5f9;
  --neutral-200: #e2e8f0;
  --neutral-300: #cbd5e1;
  --neutral-400: #94a3b8;
  --neutral-500: #64748b;
  --neutral-700: #334155;
  --neutral-900: #0f172a;
  --cicx-page-background: linear-gradient(135deg, #f8fafc 0%, #f4efe4 42%, #eef7fa 100%);
  --cicx-surface: rgba(255, 255, 255, 0.96);
  --cicx-surface-strong: #ffffff;
  --cicx-text: #0f172a;
  --cicx-muted: #475569;
  --cicx-border: rgba(15, 23, 42, 0.14);
  --cicx-border-strong: rgba(201, 39, 54, 0.32);
  --cicx-shadow: 0 20px 48px rgba(15, 23, 42, 0.14);
  --cicx-radius: 8px;
  --cicx-control-height: 46px;
}

html[data-theme="dark"] {
  --cicx-page-background: linear-gradient(135deg, #020617 0%, #0f172a 48%, #082f49 100%);
  --cicx-surface: rgba(15, 23, 42, 0.95);
  --cicx-surface-strong: #111827;
  --cicx-text: #f8fafc;
  --cicx-muted: #cbd5e1;
  --cicx-border: rgba(148, 163, 184, 0.24);
  --cicx-border-strong: rgba(8, 145, 178, 0.42);
  --cicx-shadow: 0 20px 56px rgba(0, 0, 0, 0.34);
}

html[data-theme="sandf"] {
  --dv8-red: #006536;
  --dv8-red-hover: #004225;
  --dv8-red-light: #e7f2ec;
  --quantum-cyan: #006536;
  --quantum-cyan-hover: #004225;
  --cicx-page-background: linear-gradient(135deg, #f7f3e8 0%, #eef6ed 52%, #f8fafc 100%);
  --cicx-surface: rgba(255, 255, 255, 0.97);
  --cicx-surface-strong: #ffffff;
  --cicx-text: #102116;
  --cicx-muted: #475c4f;
  --cicx-border-strong: rgba(0, 101, 54, 0.36);
  --cicx-shadow: 0 18px 42px rgba(0, 42, 22, 0.12);
}

body.dv8-auth-body,
.public-shell,
.challenge-shell,
.qs-platform-shell,
.shell-mode,
.app-shell {
  color: var(--cicx-text);
  font-family: "Inter", "Saira", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
}

body.dv8-auth-body {
  min-height: 100svh;
  background: var(--cicx-page-background);
}

.dv8-login-container,
.public-shell,
.challenge-shell {
  min-height: 100svh;
  padding: clamp(0.75rem, 2svh, 1.5rem);
}

.dv8-auth-shell,
.dv8-login-card,
.public-card,
.challenge-card {
  border: 1px solid var(--cicx-border);
  border-radius: var(--cicx-radius);
  background: var(--cicx-surface);
  box-shadow: var(--cicx-shadow);
}

.dv8-auth-shell {
  width: min(1120px, 100%);
  overflow: hidden;
}

.dv8-auth-aside {
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.94), rgba(15, 23, 42, 0.9)),
    linear-gradient(135deg, rgba(201, 39, 54, 0.24), rgba(8, 145, 178, 0.16));
  color: var(--dv8-white);
}

.dv8-auth-eyebrow,
.qs-auth-kicker,
.workflow-kicker,
.dv8-auth-application-name,
.login-workflow-progress__eyebrow,
.qs-login-posture__eyebrow,
.challenge-brand,
.brand-subtitle {
  color: var(--dv8-red);
  font-family: "Saira", "Inter", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.dv8-auth-aside .dv8-auth-eyebrow,
.dv8-auth-aside .dv8-brand-subtitle,
.dv8-auth-aside .dv8-auth-aside-title {
  color: var(--dv8-white);
}

.dv8-login-card,
.public-card,
.challenge-card,
.qs-login-surface,
.qs-login-command__main,
.qs-login-posture,
.qs-auth-help-disclosure,
.workflow-panel,
.page-disclaimer {
  border-color: var(--cicx-border);
  border-radius: var(--cicx-radius);
  background: var(--cicx-surface-strong);
  color: var(--cicx-text);
}

.dv8-login-card-brand,
.auth-brand-header,
.challenge-header,
.brand-header {
  display: grid;
  justify-items: center;
  gap: 0.35rem;
  text-align: center;
}

.dv8-login-card-brand img,
.dv8-auth-login-logo,
.auth-login-logo,
.brand-logo-img,
.login-main-logo,
.qs-shell-logo {
  max-width: min(260px, 72vw);
  max-height: 82px;
  object-fit: contain;
}

.dv8-auth-title,
.qs-login-surface__title,
.challenge-header h1,
.workflow-heading h2,
.brand-title {
  color: var(--cicx-text);
  font-family: "Saira", "Inter", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
}

.dv8-auth-summary,
.qs-login-surface__text,
.qs-auth-caption,
.qs-auth-help-disclosure__copy,
.workflow-step-copy span,
.page-disclaimer,
.challenge-copy,
.public-copy,
.status-message {
  color: var(--cicx-muted);
}

.qs-auth-form,
.qs-login-form,
.auth-form,
.challenge-form {
  gap: clamp(0.75rem, 1.6svh, 1rem);
}

.qs-auth-input-shell,
.auth-form input,
.auth-form select,
.challenge-form input,
.challenge-form select,
.field input,
.field select {
  min-height: var(--cicx-control-height);
  border: 1px solid var(--cicx-border);
  border-radius: var(--cicx-radius);
  background: var(--cicx-surface-strong);
  color: var(--cicx-text);
}

.qs-auth-input-shell:focus-within,
.auth-form input:focus,
.auth-form select:focus,
.challenge-form input:focus,
.challenge-form select:focus,
.field input:focus,
.field select:focus {
  border-color: var(--quantum-cyan);
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.18);
  outline: none;
}

.qs-auth-primary-button,
.login-button,
.submit-button,
.challenge-actions button,
.dv8-btn-primary {
  min-height: var(--cicx-control-height);
  border-radius: var(--cicx-radius);
  border: 1px solid var(--dv8-red);
  background: var(--dv8-red);
  color: var(--dv8-white);
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.qs-auth-primary-button:hover,
.login-button:hover,
.submit-button:hover,
.challenge-actions button:hover,
.dv8-btn-primary:hover {
  border-color: var(--dv8-red-hover);
  background: var(--dv8-red-hover);
}

.qs-auth-alt-card,
.qs-auth-secondary-button,
.login-secondary-action,
.support-links a,
.challenge-links a,
.dv8-btn-secondary {
  border-radius: var(--cicx-radius);
  border-color: var(--cicx-border);
  color: var(--cicx-text);
}

.qs-auth-alt-card:hover,
.qs-auth-secondary-button:hover,
.login-secondary-action:hover,
.support-links a:hover,
.challenge-links a:hover,
.dv8-btn-secondary:hover {
  border-color: var(--quantum-cyan);
  color: var(--quantum-cyan-hover);
}

.qs-auth-alert,
.login-error,
.status-message,
.challenge-error,
.challenge-success {
  border-radius: var(--cicx-radius);
}

.workflow-indicator,
.login-workflow-progress__steps,
.qs-login-posture__list {
  gap: 0.65rem;
}

.workflow-step,
.login-workflow-progress__step,
.qs-login-posture__item {
  border-radius: var(--cicx-radius);
}

.workflow-step.is-active .workflow-step-marker,
.login-workflow-progress__step.is-active .login-workflow-progress__marker,
.qs-login-posture__step,
.qs-auth-pill {
  background: rgba(8, 145, 178, 0.12);
  color: var(--quantum-cyan-hover);
}

.dv8-auth-framework-help summary,
.qs-auth-help-disclosure__summary {
  border-radius: var(--cicx-radius);
}

.dv8-auth-standard-footer,
.frame-footer {
  border-top: 1px solid var(--cicx-border);
  color: var(--cicx-muted);
  font-size: 0.78rem;
  line-height: 1.35;
  text-align: center;
}

.dv8-auth-page-tools {
  top: clamp(0.75rem, 2svh, 1.25rem);
  right: clamp(0.75rem, 2svh, 1.25rem);
}

.login-theme-toggle {
  border-radius: 999px;
  border: 1px solid var(--cicx-border);
  background: var(--cicx-surface);
  color: var(--cicx-text);
}

.qs-platform-shell,
.shell-mode--authenticated .shell-workspace,
.app-shell {
  background: var(--neutral-50);
}

.qs-sidebar,
.shell-sidebar,
.app-sidebar {
  background: var(--quantum-navy-950);
}

.qs-content,
.content-zone,
.app-main,
.shell-main {
  background: var(--neutral-50);
}

.card,
.panel,
.dashboard-card,
.metric-card,
.qs-utility-status-card,
.dv8-utility-card {
  border-radius: var(--cicx-radius);
}

@media (min-width: 900px) and (min-height: 720px) {
  .dv8-auth-shell {
    max-height: calc(100svh - 2rem);
  }

  .dv8-login-card__body {
    padding-block: clamp(1rem, 2svh, 1.5rem);
  }
}

@media (max-width: 899px) {
  .dv8-auth-shell {
    display: block;
  }

  .dv8-auth-aside {
    display: none;
  }

  .dv8-login-container,
  .public-shell,
  .challenge-shell {
    align-items: start;
  }
}

/* Force-load pass: this file is intentionally the final stylesheet in every served head. */
html,
body.dv8-auth-body,
body.app-shell-body,
body.shell-mode,
body.dashboard-body,
body.authenticated,
body.unauthenticated {
  background: var(--cicx-page-background) !important;
  color: var(--cicx-text) !important;
}

.dv8-login-container,
.public-shell,
.challenge-shell {
  display: grid !important;
  min-block-size: 100svh !important;
  place-items: center !important;
  align-content: center !important;
  background: var(--cicx-page-background) !important;
}

.dv8-auth-shell:not(.dv8-auth-shell--minimal) {
  display: grid !important;
  grid-template-columns: minmax(280px, 0.78fr) minmax(360px, 1fr) !important;
  inline-size: min(1080px, calc(100vw - 2rem)) !important;
  min-block-size: min(700px, calc(100svh - 2rem)) !important;
}

.dv8-login-card,
.public-card,
.challenge-card {
  inline-size: min(560px, calc(100vw - 2rem)) !important;
  border: 1px solid var(--cicx-border-strong) !important;
  border-radius: var(--cicx-radius) !important;
  background: var(--cicx-surface-strong) !important;
  box-shadow: var(--cicx-shadow) !important;
}

.dv8-auth-shell .dv8-login-card {
  inline-size: auto !important;
  box-shadow: none !important;
}

.dv8-auth-aside {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  padding: clamp(1.25rem, 3vw, 2.25rem) !important;
}

.dv8-login-card__body,
.public-card,
.challenge-card {
  padding: clamp(1rem, 2.4svh, 1.65rem) !important;
}

.dv8-auth-brand-lockup,
.dv8-login-card-brand,
.auth-brand-header,
.brand-header,
.challenge-header {
  margin-block-end: clamp(0.65rem, 1.4svh, 1rem) !important;
}

.dv8-login-card-brand img,
.dv8-auth-login-logo,
.auth-login-logo,
.brand-logo-img,
.login-main-logo,
.qs-shell-logo,
.app-shell-side-nav__brand img,
.qs-sidebar-brand img {
  display: block !important;
  inline-size: auto !important;
  max-inline-size: min(248px, 70vw) !important;
  max-block-size: 78px !important;
  object-fit: contain !important;
}

.dv8-auth-application-name,
.brand-subtitle,
.challenge-brand {
  margin: 0 !important;
  color: var(--dv8-red) !important;
  font-size: clamp(0.72rem, 1.5vw, 0.84rem) !important;
}

.dv8-auth-title,
.dv8-auth-heading,
.qs-login-surface__title,
.challenge-header h1,
.brand-title {
  margin: 0 !important;
  color: var(--cicx-text) !important;
  font-size: clamp(1.08rem, 2.3vw, 1.45rem) !important;
}

.public-copy,
.challenge-copy,
.dv8-auth-summary,
.qs-login-surface__text {
  margin-block: 0.45rem 0.75rem !important;
  color: var(--cicx-muted) !important;
}

.qs-auth-form,
.auth-form,
.challenge-form {
  display: grid !important;
  gap: clamp(0.7rem, 1.4svh, 0.95rem) !important;
}

.qs-auth-input-shell,
.auth-form input,
.auth-form select,
.challenge-form input,
.challenge-form select,
.field input,
.field select {
  min-block-size: var(--cicx-control-height) !important;
  border-color: var(--cicx-border) !important;
  border-radius: var(--cicx-radius) !important;
}

.qs-auth-primary-button,
.login-button,
.submit-button,
.challenge-actions button,
.dv8-btn-primary {
  min-block-size: var(--cicx-control-height) !important;
  border-radius: var(--cicx-radius) !important;
  background: var(--dv8-red) !important;
  border-color: var(--dv8-red) !important;
  color: var(--dv8-white) !important;
}

.dv8-auth-framework-help,
.qs-auth-help-disclosure,
.workflow-panel,
.page-disclaimer,
.qs-login-posture,
.qs-login-surface,
.qs-login-command__main {
  border: 1px solid var(--cicx-border) !important;
  border-radius: var(--cicx-radius) !important;
  background: var(--cicx-surface-strong) !important;
  box-shadow: none !important;
}

.dv8-auth-framework-help summary,
.qs-auth-help-disclosure__summary {
  min-block-size: 42px !important;
  border-radius: var(--cicx-radius) !important;
}

.dv8-auth-standard-footer,
.frame-footer {
  margin-block-start: clamp(0.75rem, 1.6svh, 1rem) !important;
  padding-block-start: 0.75rem !important;
  border-top: 1px solid var(--cicx-border) !important;
}

.app-shell-frame,
.qs-platform-shell,
.app-shell {
  background: var(--neutral-50) !important;
  color: var(--cicx-text) !important;
}

.app-shell-side-nav,
.qs-sidebar,
.side-nav,
.shell-sidebar {
  background: linear-gradient(180deg, var(--quantum-navy-950), var(--quantum-navy-900)) !important;
  color: var(--dv8-white) !important;
}

.workspace-frame,
.qs-main-wrapper,
.app-main,
.content-zone,
.workspace-main,
.qs-content {
  background: var(--neutral-50) !important;
}

.top-bar,
.qs-topbar,
.app-shell-topbar,
.breadcrumb-bar {
  background: var(--cicx-surface-strong) !important;
  border-color: var(--cicx-border) !important;
}

.card,
.panel,
.dashboard-card,
.metric-card,
.module-card,
.workspace-card,
.qs-utility-status-card,
.dv8-utility-card {
  border: 1px solid var(--cicx-border) !important;
  border-radius: var(--cicx-radius) !important;
  background: var(--cicx-surface-strong) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08) !important;
}

/* SANDF default-load cleanup: compact first viewport, one visual hierarchy. */
body.dv8-auth-body,
body.dv8-has-utility-cluster,
body.authenticated,
body.unauthenticated {
  overflow-x: hidden !important;
}

.dv8-login-container,
.public-shell--login,
.challenge-shell {
  padding: clamp(0.5rem, 1.35svh, 1rem) !important;
}

.dv8-auth-shell:not(.dv8-auth-shell--minimal) {
  grid-template-columns: minmax(250px, 0.72fr) minmax(340px, 1fr) !important;
  min-block-size: auto !important;
  max-block-size: calc(100svh - 1.25rem) !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

.dv8-auth-aside {
  justify-content: flex-start !important;
  gap: clamp(0.65rem, 1.3svh, 0.9rem) !important;
  padding: clamp(1rem, 2.2vw, 1.6rem) !important;
}

.dv8-auth-aside .dv8-brand-subtitle {
  display: none !important;
}

.dv8-auth-aside-title {
  margin: 0 !important;
  font-size: clamp(1.25rem, 2.25vw, 1.8rem) !important;
  line-height: 1.12 !important;
}

.dv8-auth-eyebrow,
.qs-auth-kicker,
.workflow-kicker,
.dv8-auth-application-name,
.login-workflow-progress__eyebrow,
.qs-login-posture__eyebrow,
.challenge-brand,
.brand-subtitle {
  font-size: clamp(0.68rem, 1.2vw, 0.78rem) !important;
  line-height: 1.25 !important;
}

.dv8-auth-title,
.dv8-auth-heading,
.qs-login-surface__title,
.challenge-header h1,
.workflow-heading h2,
.brand-title {
  font-size: clamp(1rem, 2vw, 1.32rem) !important;
  line-height: 1.16 !important;
}

.dv8-auth-summary,
.qs-login-surface__text,
.qs-auth-caption,
.qs-auth-help-disclosure__copy,
.workflow-step-copy span,
.page-disclaimer,
.challenge-copy,
.public-copy,
.status-message,
.auth-form label,
.field span {
  font-size: clamp(0.78rem, 1.3vw, 0.9rem) !important;
  line-height: 1.38 !important;
}

.dv8-login-card__body,
.public-card--login,
.challenge-card {
  padding: clamp(0.85rem, 1.85svh, 1.35rem) !important;
}

.dv8-auth-brand-lockup,
.dv8-login-card-brand,
.auth-brand-header,
.brand-header,
.challenge-header {
  gap: 0.22rem !important;
  margin-block-end: clamp(0.45rem, 1svh, 0.75rem) !important;
}

.dv8-login-card-brand img,
.dv8-auth-login-logo,
.auth-login-logo,
.brand-logo-img,
.login-main-logo,
.qs-shell-logo {
  max-inline-size: min(220px, 62vw) !important;
  max-block-size: 64px !important;
}

.public-card--login {
  inline-size: min(28rem, calc(100vw - 1rem)) !important;
}

.public-card--login .public-copy {
  margin-block: 0.2rem 0.6rem !important;
  text-align: center !important;
}

.public-card--login .auth-form,
.public-card--login .support-links {
  gap: 0.55rem !important;
}

.public-card--login .support-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin-block-start: 0.6rem !important;
}

.public-card--login .support-links a {
  display: grid !important;
  min-block-size: 34px !important;
  place-items: center !important;
  padding: 0.45rem 0.55rem !important;
  font-size: 0.76rem !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

.public-card--login .dv8-auth-framework-help,
.dv8-auth-framework-help,
.qs-auth-help-disclosure {
  margin-block-start: 0.65rem !important;
}

.dv8-auth-framework-help summary,
.qs-auth-help-disclosure__summary {
  min-block-size: 38px !important;
  padding: 0.55rem 0.7rem !important;
}

.public-card--login .dv8-auth-framework-help summary > span:last-child,
.qs-auth-help-disclosure__summary-text {
  display: none !important;
}

.workflow-panel {
  padding: 0.75rem !important;
}

.workflow-indicator,
.login-workflow-progress__steps,
.qs-login-posture__list {
  gap: 0.42rem !important;
}

.workflow-step,
.login-workflow-progress__step,
.qs-login-posture__item {
  padding: 0.5rem !important;
}

.public-card--login .page-disclaimer {
  display: none !important;
}

.cicx-auth-plane-switch {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.42rem !important;
  margin-block: 0.75rem 0.85rem !important;
}

.cicx-auth-plane-chip {
  display: inline-grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 0.42rem !important;
  min-block-size: 34px !important;
  padding: 0.42rem 0.58rem !important;
  border: 1px solid color-mix(in srgb, var(--border, rgba(255,255,255,0.32)) 72%, transparent) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--surface-elevated, #fff) 12%, transparent) !important;
  color: var(--text-secondary, rgba(255,255,255,0.82)) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.cicx-auth-plane-chip.is-active {
  border-color: var(--dv8-red, #006536) !important;
  background: color-mix(in srgb, var(--dv8-red, #006536) 14%, var(--surface-elevated, #fff)) !important;
  color: var(--text, #0f172a) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--dv8-red, #006536) 16%, transparent) !important;
}

.cicx-auth-plane-chip__dot {
  inline-size: 0.5rem !important;
  block-size: 0.5rem !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, currentColor 52%, transparent) !important;
}

.cicx-auth-plane-chip.is-active .cicx-auth-plane-chip__dot {
  background: var(--dv8-red, #006536) !important;
}

.cicx-auth-trust-signals {
  display: grid !important;
  gap: 0.5rem !important;
  margin-block: 0.75rem !important;
}

.cicx-auth-trust-card {
  display: grid !important;
  grid-template-columns: 1.85rem minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 0.58rem !important;
  padding: 0.6rem 0.68rem !important;
  border: 1px solid var(--border, rgba(148,163,184,0.24)) !important;
  border-radius: 0.72rem !important;
  background: color-mix(in srgb, var(--surface-elevated, #fff) 86%, transparent) !important;
  box-shadow: 0 10px 24px -22px rgba(2, 6, 23, 0.42) !important;
}

.cicx-auth-trust-card > i,
.cicx-auth-trust-card > span:first-child:not(:last-child) {
  display: grid !important;
  inline-size: 1.85rem !important;
  block-size: 1.85rem !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--dv8-red, #006536) 12%, transparent) !important;
  color: var(--dv8-red, #006536) !important;
  font-size: 0.8rem !important;
  font-weight: 900 !important;
}

.cicx-auth-trust-card strong {
  display: block !important;
  color: var(--text, #0f172a) !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.cicx-auth-trust-card small {
  display: block !important;
  margin-block-start: 0.12rem !important;
  color: var(--text-secondary, #475569) !important;
  font-size: 0.69rem !important;
  line-height: 1.32 !important;
}

.login-workflow-progress {
  margin-block: 0.75rem !important;
  padding: 0.72rem !important;
  border: 1px solid var(--border, rgba(148,163,184,0.24)) !important;
  border-radius: 0.78rem !important;
  background: color-mix(in srgb, var(--surface-elevated, #fff) 88%, transparent) !important;
}

.login-workflow-progress__intro {
  margin-block-end: 0.55rem !important;
}

.login-workflow-progress__eyebrow {
  display: block !important;
  color: var(--dv8-red, #006536) !important;
  font-size: 0.64rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

.login-workflow-progress__summary,
.next-step-info {
  margin: 0 !important;
  color: var(--text-secondary, #475569) !important;
  font-size: 0.72rem !important;
  line-height: 1.35 !important;
}

.progress-container {
  display: grid !important;
  gap: 0.42rem !important;
}

.progress-step {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1.85rem minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 0.52rem !important;
  min-block-size: 2.15rem !important;
  padding: 0.35rem 0 !important;
}

.step-indicator {
  display: grid !important;
  inline-size: 1.85rem !important;
  block-size: 1.85rem !important;
  place-items: center !important;
  border: 1px solid var(--border-strong, rgba(148,163,184,0.45)) !important;
  border-radius: 999px !important;
  background: var(--surface-bg, #f8fafc) !important;
  color: var(--text-tertiary, #64748b) !important;
  font-size: 0.78rem !important;
}

.progress-step.current .step-indicator,
.progress-step.is-current .step-indicator {
  border-color: transparent !important;
  background: var(--dv8-red, #006536) !important;
  color: #fff !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--dv8-red, #006536) 16%, transparent) !important;
}

.progress-step.completed .step-indicator,
.progress-step.is-complete .step-indicator {
  border-color: transparent !important;
  background: var(--success, #16a34a) !important;
  color: #fff !important;
}

.step-label {
  min-inline-size: 0 !important;
  color: var(--text-secondary, #475569) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
}

.progress-step.current .step-label,
.progress-step.is-current .step-label,
.progress-step.completed .step-label,
.progress-step.is-complete .step-label {
  color: var(--text, #0f172a) !important;
}

.step-connector {
  display: none !important;
}

.cicx-auth-reference-link {
  color: var(--dv8-red, #006536) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.cicx-auth-reference-link:hover,
.cicx-auth-reference-link:focus-visible {
  text-decoration: underline !important;
}

.cicx-auth-visible-progress {
  margin-block: 0.65rem !important;
}

.cicx-auth-visible-progress .workflow-heading {
  display: none !important;
}

.workflow-step-marker {
  display: grid !important;
  inline-size: 1.85rem !important;
  block-size: 1.85rem !important;
  place-items: center !important;
  border: 1px solid var(--border-strong, rgba(148,163,184,0.45)) !important;
  border-radius: 999px !important;
  background: var(--surface-bg, #f8fafc) !important;
  color: var(--text-tertiary, #64748b) !important;
  font-size: 0.74rem !important;
  font-weight: 900 !important;
}

.workflow-step.is-active .workflow-step-marker {
  border-color: transparent !important;
  background: var(--dv8-red, #006536) !important;
  color: #fff !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--dv8-red, #006536) 16%, transparent) !important;
}

.workflow-step.is-complete .workflow-step-marker {
  border-color: transparent !important;
  background: var(--success, #16a34a) !important;
  color: #fff !important;
}

.workflow-step-copy {
  display: grid !important;
  gap: 0.08rem !important;
  min-inline-size: 0 !important;
}

.workflow-step-copy strong {
  color: var(--text, #0f172a) !important;
  font-size: 0.75rem !important;
  line-height: 1.2 !important;
}

.workflow-step-copy span {
  color: var(--text-secondary, #475569) !important;
  font-size: 0.68rem !important;
  line-height: 1.25 !important;
}

.workflow-step-status {
  color: var(--dv8-red, #006536) !important;
  font-weight: 800 !important;
}

.dv8-auth-standard-footer,
.frame-footer {
  margin-block-start: 0.6rem !important;
  padding-block-start: 0.55rem !important;
  font-size: 0.72rem !important;
}

body.dv8-has-utility-cluster .public-shell--login ~ .dv8-utility-cluster,
body.dv8-auth-body .dv8-utility-cluster {
  max-inline-size: min(19rem, calc(100vw - 1rem)) !important;
}

body.dv8-has-utility-cluster .public-shell--login ~ .dv8-utility-cluster .dv8-utility-card,
body.dv8-auth-body .dv8-utility-cluster .dv8-utility-card {
  min-block-size: 3.45rem !important;
  padding: 0.55rem 0.7rem !important;
}

body.dv8-has-utility-cluster .public-shell--login ~ .dv8-utility-cluster .dv8-utility-card__eyebrow,
body.dv8-auth-body .dv8-utility-cluster .dv8-utility-card__eyebrow {
  font-size: 0.58rem !important;
}

body.dv8-has-utility-cluster .public-shell--login ~ .dv8-utility-cluster .dv8-utility-card__title,
body.dv8-auth-body .dv8-utility-cluster .dv8-utility-card__title {
  font-size: 0.76rem !important;
  line-height: 1.18 !important;
}

@media (max-height: 760px) and (min-width: 900px) {
  .dv8-auth-shell:not(.dv8-auth-shell--minimal) {
    grid-template-columns: minmax(220px, 0.62fr) minmax(330px, 1fr) !important;
  }

  .dv8-auth-aside {
    padding: 0.95rem !important;
  }

  .dv8-login-card-brand img,
  .dv8-auth-login-logo,
  .auth-login-logo,
  .brand-logo-img,
  .login-main-logo,
  .qs-shell-logo {
    max-block-size: 54px !important;
  }

  .dv8-auth-standard-footer,
  .frame-footer {
    margin-block-start: 0.45rem !important;
    padding-block-start: 0.45rem !important;
  }
}

@media (max-width: 899px) {
  .dv8-auth-shell:not(.dv8-auth-shell--minimal) {
    display: block !important;
    inline-size: min(560px, calc(100vw - 1rem)) !important;
    min-block-size: auto !important;
  }

  .dv8-auth-aside {
    display: none !important;
  }

  .cicx-auth-plane-switch {
    grid-template-columns: 1fr !important;
  }

  .dv8-login-card,
  .public-card,
  .challenge-card {
    inline-size: min(100%, calc(100vw - 1rem)) !important;
  }
}

/* Auth viewport fit: keep the primary sign-in action visible on first load. */
@media (min-width: 900px) {
  .dv8-login-container,
  .public-shell--login,
  .challenge-shell {
    padding: clamp(0.35rem, 1svh, 0.75rem) !important;
  }

  .dv8-auth-shell:not(.dv8-auth-shell--minimal) {
    block-size: min(760px, calc(100svh - 0.75rem)) !important;
    min-block-size: 0 !important;
    max-block-size: calc(100svh - 0.75rem) !important;
    overflow: hidden !important;
  }

  .dv8-login-card {
    min-block-size: 0 !important;
    overflow: hidden !important;
  }

  .dv8-login-card__body {
    min-block-size: 0 !important;
    overflow: auto !important;
    scrollbar-gutter: stable !important;
    padding: clamp(0.7rem, 1.3svh, 1rem) !important;
  }

  .qs-auth-page--login:not(.qs-auth-page--workflow) > .qs-login-command {
    display: none !important;
  }

  .qs-login-surface {
    padding: clamp(0.8rem, 1.45svh, 1.1rem) !important;
  }

  .qs-login-form {
    gap: clamp(0.55rem, 1.05svh, 0.75rem) !important;
  }

  .qs-login-surface__text,
  .qs-login-submit-caption {
    margin-block: 0.25rem !important;
  }

  .login-workflow-progress {
    margin-block: 0.35rem 0.55rem !important;
    padding: 0.6rem !important;
  }

  .login-workflow-progress__intro {
    display: none !important;
  }

  .progress-container {
    margin-bottom: 0.35rem !important;
  }

  .step-indicator {
    width: 34px !important;
    height: 34px !important;
    font-size: 14px !important;
  }

  .qs-auth-input-shell,
  .auth-form input,
  .auth-form select,
  .challenge-form input,
  .challenge-form select,
  .field input,
  .field select,
  .qs-auth-primary-button,
  .login-button,
  .submit-button,
  .challenge-actions button,
  .dv8-btn-primary {
    min-block-size: 44px !important;
  }

  .qs-login-alt-access {
    gap: 0.45rem !important;
    margin-top: 0.35rem !important;
    padding-top: 0.5rem !important;
  }

  .qs-login-alt-access__header .qs-auth-kicker,
  .qs-login-alt-access__header .qs-login-surface__text {
    display: none !important;
  }

  .qs-login-alt-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.45rem !important;
  }

  .qs-auth-alt-card {
    min-block-size: 42px !important;
    padding: 0.45rem 0.55rem !important;
  }

  .qs-auth-alt-card__copy,
  .qs-auth-alt-card__arrow {
    display: none !important;
  }

  .qs-auth-status-row {
    gap: 0.35rem !important;
  }

  .qs-auth-pill {
    min-height: 1.75rem !important;
    padding: 0.28rem 0.5rem !important;
  }

  .qs-auth-page--login:not(.qs-auth-page--workflow) .login-workflow-progress,
  .qs-auth-page--login:not(.qs-auth-page--workflow) .dv8-legal-notice,
  .dv8-login-card:has(.qs-auth-page--login:not(.qs-auth-page--workflow)) .dv8-auth-bottom-notice .dv8-legal-notice,
  .public-card--login .cicx-auth-visible-progress,
  .public-card--login .cicx-auth-trust-signals {
    display: none !important;
  }

  .public-card--login {
    max-block-size: calc(100svh - 1rem) !important;
    overflow: hidden auto !important;
  }
}

/* Auth left-pane brand placement: keep logos out of the form card. */
.dv8-auth-aside {
  justify-content: flex-start !important;
  gap: clamp(0.55rem, 1.15svh, 0.95rem) !important;
}

.dv8-auth-aside > .dv8-auth-brand-lockup,
.dv8-auth-aside > .dv8-auth-aside-brand {
  display: grid !important;
  justify-items: start !important;
  align-items: start !important;
  margin-block: 0 clamp(0.35rem, 0.85svh, 0.65rem) !important;
  text-align: left !important;
}

.dv8-auth-aside > .dv8-auth-brand-lockup .dv8-auth-brandmark,
.dv8-auth-aside > .dv8-auth-aside-brand .dv8-auth-login-logo {
  display: block !important;
  justify-self: start !important;
}

.dv8-auth-aside .dv8-auth-brandmark-image,
.dv8-auth-aside .dv8-auth-login-logo__asset,
.dv8-auth-aside .brand-logo-img {
  inline-size: auto !important;
  max-inline-size: min(232px, 54vw) !important;
  max-block-size: 68px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.dv8-auth-aside .brand-logo-img {
  display: block !important;
}

.dv8-auth-aside .dv8-auth-brandmark-image[class*="--theme-"],
.dv8-auth-aside .dv8-auth-login-logo__asset[data-auth-logo-theme] {
  display: none !important;
}

html:not([data-theme]) .dv8-auth-aside .dv8-auth-brandmark-image--theme-light,
html[data-theme="light"] .dv8-auth-aside .dv8-auth-brandmark-image--theme-light,
html:not([data-theme]) .dv8-auth-aside .dv8-auth-login-logo__asset--light,
html[data-theme="light"] .dv8-auth-aside .dv8-auth-login-logo__asset--light,
html[data-theme="dark"] .dv8-auth-aside .dv8-auth-brandmark-image--theme-dark,
html[data-theme="sovereign"] .dv8-auth-aside .dv8-auth-brandmark-image--theme-dark,
html[data-theme="dark"] .dv8-auth-aside .dv8-auth-login-logo__asset--dark,
html[data-theme="sovereign"] .dv8-auth-aside .dv8-auth-login-logo__asset--sovereign,
html[data-theme="sandf"] .dv8-auth-aside .dv8-auth-brandmark-image--theme-defence,
html[data-theme="defence"] .dv8-auth-aside .dv8-auth-brandmark-image--theme-defence,
html[data-theme="sandf"] .dv8-auth-aside .dv8-auth-login-logo__asset--sandf,
html[data-theme="defence"] .dv8-auth-aside .dv8-auth-login-logo__asset--defence {
  display: block !important;
}

.dv8-login-card > .dv8-login-card-brand,
.dv8-login-card__body > .dv8-auth-application-name,
.dv8-login-card__body > .dv8-auth-card-brand-lockup {
  display: none !important;
}

/* Auth surface cleanup: one brand pane, compact alternate paths, popup help. */
body.dv8-auth-body .cicx-auth-trust-signals,
.public-shell--login .cicx-auth-trust-signals {
  display: none !important;
}

body.dv8-auth-body .dv8-utility-cluster,
body.dv8-auth-body .qs-utility-cluster,
body.dv8-auth-body .dv8-contract-health,
body.dv8-keygen-auth-body .dv8-contract-health,
body.dv8-has-utility-cluster .public-shell--login ~ .dv8-contract-health,
body.dv8-has-utility-cluster .public-shell--login ~ .dv8-utility-cluster {
  display: none !important;
}

body.dv8-auth-body.dv8-has-utility-cluster,
body.dv8-has-utility-cluster:has(.public-shell--login) {
  padding-bottom: 0 !important;
  overflow: hidden !important;
}

.public-card--login .workflow-panel.cicx-auth-visible-progress,
.public-card--login .public-copy,
.public-card--login .support-links {
  display: none !important;
}

.qs-auth-page--login .qs-login-surface__text {
  display: none !important;
}

.qs-login-submit-caption {
  margin: 0.45rem 0 0 !important;
  color: var(--text-secondary, #475569) !important;
  font-size: 0.78rem !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

.qs-login-alt-access {
  gap: 0.5rem !important;
  margin-top: 0.55rem !important;
  padding-top: 0.6rem !important;
}

.qs-login-alt-access__header {
  margin-block-end: 0.2rem !important;
}

.qs-login-alt-access__header .qs-auth-kicker,
.qs-login-alt-access__header .qs-login-surface__text {
  display: none !important;
}

.qs-login-alt-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.5rem !important;
}

.qs-auth-alt-card {
  min-block-size: 44px !important;
  padding: 0.55rem 0.65rem !important;
  border-radius: 8px !important;
}

.qs-auth-alt-card__body {
  min-inline-size: 0 !important;
}

.qs-auth-alt-card__title {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.2 !important;
}

.qs-auth-alt-card__copy,
.qs-auth-alt-card__arrow {
  display: none !important;
}

.dv8-auth-framework-help {
  position: static !important;
  inline-size: 100% !important;
}

.dv8-auth-framework-help > summary {
  cursor: pointer !important;
  list-style: none !important;
}

.dv8-auth-framework-help > summary::-webkit-details-marker {
  display: none !important;
}

.dv8-auth-framework-help[open]::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 3000 !important;
  background: rgba(15, 23, 42, 0.48) !important;
  backdrop-filter: blur(8px) !important;
}

.dv8-auth-framework-help[open] > summary {
  position: relative !important;
  z-index: 3002 !important;
}

.dv8-auth-framework-help[open] > .qs-auth-help-disclosure__panel,
.dv8-auth-framework-help[open] > .dv8-auth-framework-help__panel {
  position: fixed !important;
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 3001 !important;
  width: min(28rem, calc(100vw - 2rem)) !important;
  max-height: min(68svh, 32rem) !important;
  overflow: auto !important;
  transform: translate(-50%, -50%) !important;
  padding: 1rem !important;
  border: 1px solid var(--cicx-border, rgba(148, 163, 184, 0.24)) !important;
  border-radius: 8px !important;
  background: var(--cicx-surface, #ffffff) !important;
  color: var(--cicx-text, #0f172a) !important;
  box-shadow: var(--cicx-shadow, 0 24px 72px rgba(15, 23, 42, 0.22)) !important;
}

@media (max-width: 520px) {
  .qs-login-alt-grid {
    grid-template-columns: 1fr !important;
  }
}

html:has(body.dv8-auth-body),
body.dv8-auth-body {
  block-size: 100dvh !important;
  min-block-size: 100dvh !important;
  max-block-size: 100dvh !important;
  overflow: hidden !important;
}

body.dv8-auth-body .dv8-login-container,
body.dv8-auth-body .public-shell--login,
body.dv8-auth-body .challenge-shell {
  box-sizing: border-box !important;
  block-size: 100dvh !important;
  min-block-size: 0 !important;
  max-block-size: 100dvh !important;
  overflow: hidden !important;
}

body.dv8-auth-body .dv8-auth-shell:not(.dv8-auth-shell--minimal) {
  box-sizing: border-box !important;
  block-size: min(760px, calc(100dvh - 0.5rem)) !important;
  max-block-size: calc(100dvh - 0.5rem) !important;
}

/* CEDEWISE auth-frame alignment: same frame dimensions, footer outside frame. */
html:has(body.dv8-auth-body),
html:has(body.dv8-keygen-auth-body) {
  min-block-size: 100% !important;
  overflow: hidden !important;
}

body.dv8-auth-body,
body.dv8-keygen-auth-body {
  min-block-size: 100dvh !important;
  max-block-size: 100dvh !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.dv8-auth-body .dv8-login-container,
body.dv8-keygen-auth-body .public-shell--login {
  display: grid !important;
  grid-template-rows: minmax(0, auto) auto !important;
  align-content: center !important;
  justify-items: center !important;
  gap: 18px !important;
  box-sizing: border-box !important;
  inline-size: 100% !important;
  min-block-size: 100dvh !important;
  max-block-size: 100dvh !important;
  padding: 24px !important;
  overflow: hidden !important;
}

body.dv8-auth-body .dv8-auth-shell:not(.dv8-auth-shell--minimal),
body.dv8-keygen-auth-body .keygen-auth-shell {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  inline-size: min(1080px, 100%) !important;
  block-size: min(660px, calc(100dvh - 118px)) !important;
  min-block-size: min(660px, calc(100dvh - 118px)) !important;
  max-block-size: calc(100dvh - 118px) !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--cicx-border, rgba(15, 74, 55, 0.16)) !important;
  border-radius: 8px !important;
  background: var(--cicx-surface-strong, #ffffff) !important;
  box-shadow: var(--cicx-shadow, 0 18px 42px rgba(0, 42, 22, 0.12)) !important;
}

body.dv8-auth-body .dv8-auth-aside,
body.dv8-keygen-auth-body .keygen-auth-aside {
  block-size: 100% !important;
  min-block-size: 0 !important;
  padding: clamp(1.75rem, 3.9vw, 42px) !important;
  border-right: 1px solid rgba(15, 74, 55, 0.14) !important;
  background:
    radial-gradient(circle at 10% 0, rgba(217, 177, 75, 0.24), transparent 22rem),
    radial-gradient(circle at 100% 100%, rgba(15, 74, 55, 0.14), transparent 25rem),
    linear-gradient(150deg, #f8f5ec 0%, #eef4ee 58%, #e6efe9 100%) !important;
}

body.dv8-auth-body .dv8-auth-shell .dv8-login-card,
body.dv8-keygen-auth-body .keygen-auth-shell .public-card--login {
  inline-size: 100% !important;
  block-size: 100% !important;
  min-block-size: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--cicx-surface-strong, #ffffff) !important;
  box-shadow: none !important;
}

body.dv8-auth-body .dv8-auth-shell .dv8-login-card__body,
body.dv8-keygen-auth-body .keygen-auth-shell .public-card--login {
  padding: clamp(1.75rem, 4vw, 52px) !important;
  overflow: hidden auto !important;
}

body.dv8-auth-body .dv8-auth-bottom-notice,
body.dv8-keygen-auth-body .frame-footer.dv8-auth-standard-footer {
  display: grid !important;
  gap: 4px !important;
  inline-size: min(1080px, 100%) !important;
  min-inline-size: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center !important;
}

body.dv8-auth-body .dv8-auth-bottom-notice .dv8-legal-notice,
body.dv8-auth-body .dv8-auth-bottom-notice .dv8-auth-legal,
body.dv8-auth-body .dv8-auth-bottom-notice .dv8-auth-copyright {
  max-inline-size: min(1080px, 100%) !important;
  margin: 0 auto 0.25rem !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--cicx-muted, #475c4f) !important;
  font-size: 0.72rem !important;
  line-height: 1.28 !important;
}

body.dv8-auth-body .dv8-auth-bottom-notice .dv8-auth-standard-footer,
body.dv8-keygen-auth-body .frame-footer.dv8-auth-standard-footer {
  color: var(--cicx-muted, #475c4f) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

@media (max-width: 860px) {
  html:has(body.dv8-auth-body),
  html:has(body.dv8-keygen-auth-body),
  body.dv8-auth-body,
  body.dv8-keygen-auth-body {
    max-block-size: none !important;
    overflow: auto !important;
  }

  body.dv8-auth-body .dv8-login-container,
  body.dv8-keygen-auth-body .public-shell--login {
    min-block-size: 100dvh !important;
    max-block-size: none !important;
    padding: 18px !important;
    overflow: visible !important;
  }

  body.dv8-auth-body .dv8-auth-shell:not(.dv8-auth-shell--minimal),
  body.dv8-keygen-auth-body .keygen-auth-shell {
    grid-template-columns: 1fr !important;
    block-size: auto !important;
    min-block-size: 0 !important;
    max-block-size: none !important;
  }

  body.dv8-auth-body .dv8-auth-aside,
  body.dv8-keygen-auth-body .keygen-auth-aside,
  body.dv8-auth-body .dv8-auth-shell .dv8-login-card__body,
  body.dv8-keygen-auth-body .keygen-auth-shell .public-card--login {
    padding: 28px !important;
  }
}

/* Responsive auth-frame completion: preserve the single brand pane and help popup on stacked layouts. */
@media (max-width: 860px) {
  body.dv8-auth-body .dv8-login-container,
  body.dv8-keygen-auth-body .public-shell--login {
    align-content: start !important;
    align-items: start !important;
    grid-template-rows: auto auto !important;
    overflow: visible !important;
  }

  body.dv8-auth-body .dv8-auth-shell:not(.dv8-auth-shell--minimal),
  body.dv8-keygen-auth-body .keygen-auth-shell {
    margin-block: 0 !important;
    overflow: visible !important;
  }

  body.dv8-auth-body .dv8-auth-aside,
  body.dv8-keygen-auth-body .keygen-auth-aside {
    display: grid !important;
    block-size: auto !important;
    min-block-size: 0 !important;
    gap: 1rem !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(15, 74, 55, 0.14) !important;
  }

  body.dv8-auth-body .dv8-auth-shell .dv8-auth-framework-help,
  body.dv8-auth-body .dv8-auth-shell .qs-auth-help-disclosure,
  body.dv8-keygen-auth-body .keygen-auth-shell .dv8-auth-framework-help,
  body.dv8-keygen-auth-body .keygen-auth-shell .qs-auth-help-disclosure {
    display: block !important;
    inline-size: 100% !important;
  }

  body.dv8-auth-body .dv8-auth-aside .dv8-auth-brandmark,
  body.dv8-auth-body .dv8-auth-aside .dv8-auth-login-logo,
  body.dv8-auth-body .dv8-auth-aside .auth-login-logo,
  body.dv8-auth-body .dv8-auth-aside .brand-logo-img,
  body.dv8-keygen-auth-body .keygen-auth-aside .auth-login-logo,
  body.dv8-keygen-auth-body .keygen-auth-aside .brand-logo-img {
    display: block !important;
  }

  body.dv8-auth-body .dv8-auth-aside .dv8-auth-login-logo__asset[data-auth-logo-theme],
  body.dv8-auth-body .dv8-auth-aside .dv8-auth-brandmark-image[class*="--theme-"] {
    display: none !important;
  }

  html:not([data-theme]) body.dv8-auth-body .dv8-auth-aside .dv8-auth-login-logo__asset--light,
  html[data-theme="light"] body.dv8-auth-body .dv8-auth-aside .dv8-auth-login-logo__asset--light,
  html[data-theme="dark"] body.dv8-auth-body .dv8-auth-aside .dv8-auth-login-logo__asset--dark,
  html[data-theme="sovereign"] body.dv8-auth-body .dv8-auth-aside .dv8-auth-login-logo__asset--sovereign,
  html[data-theme="sandf"] body.dv8-auth-body .dv8-auth-aside .dv8-auth-login-logo__asset--sandf,
  html[data-theme="defence"] body.dv8-auth-body .dv8-auth-aside .dv8-auth-login-logo__asset--defence {
    display: block !important;
  }

  body.dv8-auth-body .dv8-auth-bottom-notice,
  body.dv8-keygen-auth-body .frame-footer.dv8-auth-standard-footer {
    align-self: start !important;
  }
}

/* Mobile auth-frame order: keep the brand/help pane before credentials and keep footer after the full frame. */
@media (max-width: 860px) {
  body.dv8-auth-body .dv8-login-container,
  body.dv8-keygen-auth-body .public-shell--login {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  body.dv8-auth-body .dv8-auth-shell:not(.dv8-auth-shell--minimal),
  body.dv8-keygen-auth-body .keygen-auth-shell {
    flex: 0 0 auto !important;
    inline-size: min(1080px, 100%) !important;
  }

  body.dv8-auth-body .dv8-auth-aside,
  body.dv8-keygen-auth-body .keygen-auth-aside {
    order: 0 !important;
    inline-size: 100% !important;
  }

  body.dv8-auth-body .dv8-auth-shell .dv8-login-card,
  body.dv8-keygen-auth-body .keygen-auth-shell .public-card--login {
    order: 1 !important;
    inline-size: 100% !important;
  }

  body.dv8-keygen-auth-body .keygen-auth-shell .public-card--login {
    display: flex !important;
    flex-direction: column !important;
  }

  body.dv8-keygen-auth-body .keygen-auth-shell .public-card--login .dv8-auth-framework-help {
    order: -1 !important;
    margin-block: 0 0.75rem !important;
  }

  body.dv8-auth-body .dv8-auth-bottom-notice,
  body.dv8-keygen-auth-body .frame-footer.dv8-auth-standard-footer {
    flex: 0 0 auto !important;
    position: static !important;
  }
}

@media (max-width: 520px) {
  body.dv8-auth-body .dv8-auth-aside,
  body.dv8-keygen-auth-body .keygen-auth-aside {
    gap: 0.75rem !important;
    padding: 20px !important;
  }

  body.dv8-auth-body .cicx-auth-plane-switch,
  body.dv8-keygen-auth-body .cicx-auth-plane-switch {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Final auth-frame guards: keep one themed brandmark visible after mobile cleanup rules. */
body.dv8-auth-body .dv8-auth-aside .dv8-auth-brandmark-image[class*="--theme-"],
body.dv8-keygen-auth-body .keygen-auth-aside .dv8-auth-brandmark-image[class*="--theme-"] {
  display: none !important;
}

html:not([data-theme]) body.dv8-auth-body .dv8-auth-aside .dv8-auth-brandmark-image--theme-light,
html[data-theme="light"] body.dv8-auth-body .dv8-auth-aside .dv8-auth-brandmark-image--theme-light,
html[data-theme="dark"] body.dv8-auth-body .dv8-auth-aside .dv8-auth-brandmark-image--theme-dark,
html[data-theme="sovereign"] body.dv8-auth-body .dv8-auth-aside .dv8-auth-brandmark-image--theme-dark,
html[data-theme="sandf"] body.dv8-auth-body .dv8-auth-aside .dv8-auth-brandmark-image--theme-defence,
html[data-theme="defence"] body.dv8-auth-body .dv8-auth-aside .dv8-auth-brandmark-image--theme-defence,
html:not([data-theme]) body.dv8-keygen-auth-body .keygen-auth-aside .dv8-auth-brandmark-image--theme-light,
html[data-theme="light"] body.dv8-keygen-auth-body .keygen-auth-aside .dv8-auth-brandmark-image--theme-light,
html[data-theme="dark"] body.dv8-keygen-auth-body .keygen-auth-aside .dv8-auth-brandmark-image--theme-dark,
html[data-theme="sovereign"] body.dv8-keygen-auth-body .keygen-auth-aside .dv8-auth-brandmark-image--theme-dark,
html[data-theme="sandf"] body.dv8-keygen-auth-body .keygen-auth-aside .dv8-auth-brandmark-image--theme-defence,
html[data-theme="defence"] body.dv8-keygen-auth-body .keygen-auth-aside .dv8-auth-brandmark-image--theme-defence {
  display: block !important;
}

@media (max-width: 520px) {
  body.dv8-auth-body .dv8-auth-framework-help[open] > .qs-auth-help-disclosure__panel,
  body.dv8-keygen-auth-body .dv8-auth-framework-help[open] > .qs-auth-help-disclosure__panel {
    position: fixed !important;
    top: 16px !important;
    right: 16px !important;
    bottom: auto !important;
    left: 16px !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - 96px) !important;
    transform: none !important;
    overflow: auto !important;
  }
}

/* Login right-frame fit: the card body is the frame; legacy wrapper divs do not render as nested cards. */
body.dv8-auth-body .dv8-auth-shell .dv8-login-card {
  display: flex !important;
  min-block-size: 100% !important;
}

body.dv8-auth-body .dv8-auth-shell .dv8-login-card__body,
body.dv8-auth-body .dv8-auth-shell .dv8-login-card__body--top {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  inline-size: 100% !important;
  min-block-size: 100% !important;
}

body.dv8-auth-body .dv8-login-card__body > .qs-auth-page--login:not(.qs-auth-page--workflow) {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: clamp(0.75rem, 1.6vh, 1rem) !important;
  inline-size: min(100%, 470px) !important;
  margin: auto !important;
}

body.dv8-auth-body .qs-auth-page--login:not(.qs-auth-page--workflow) .qs-login-workspace,
body.dv8-auth-body .qs-auth-page--login:not(.qs-auth-page--workflow) .qs-login-panel,
body.dv8-auth-body .qs-auth-page--login:not(.qs-auth-page--workflow) .qs-login-surface {
  display: contents !important;
}

body.dv8-auth-body .qs-auth-page--login:not(.qs-auth-page--workflow) .qs-login-surface__head,
body.dv8-auth-body .qs-auth-page--login:not(.qs-auth-page--workflow) .login-workflow-progress,
body.dv8-auth-body .qs-auth-page--login:not(.qs-auth-page--workflow) .qs-login-form,
body.dv8-auth-body .qs-auth-page--login:not(.qs-auth-page--workflow) .qs-login-alt-access,
body.dv8-auth-body .qs-auth-page--login:not(.qs-auth-page--workflow) .qs-auth-alert,
body.dv8-auth-body .qs-auth-page--login:not(.qs-auth-page--workflow) .qs-auth-banner,
body.dv8-auth-body .qs-auth-page--login:not(.qs-auth-page--workflow) .qs-login-command {
  inline-size: 100% !important;
  max-inline-size: 470px !important;
  margin-inline: auto !important;
}

body.dv8-keygen-auth-body .keygen-auth-shell .public-card--login {
  align-items: center !important;
  justify-content: center !important;
}

body.dv8-keygen-auth-body .keygen-auth-shell .public-card--login > .auth-form,
body.dv8-keygen-auth-body .keygen-auth-shell .public-card--login > .status-message,
body.dv8-keygen-auth-body .keygen-auth-shell .public-card--login > .qs-login-alt-access,
body.dv8-keygen-auth-body .keygen-auth-shell .public-card--login > .dv8-auth-framework-help {
  inline-size: 100% !important;
  max-inline-size: 470px !important;
  margin-inline: auto !important;
}

@media (max-width: 860px) {
  body.dv8-auth-body .dv8-auth-shell .dv8-login-card__body,
  body.dv8-auth-body .dv8-auth-shell .dv8-login-card__body--top,
  body.dv8-keygen-auth-body .keygen-auth-shell .public-card--login {
    justify-content: flex-start !important;
  }
}
