@font-face {
  font-family: "Inclusive Sans";
  src: url("/fonts/InclusiveSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inclusive Sans";
  src: url("/fonts/InclusiveSans-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Literata";
  src: url("/fonts/Literata-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
:root {
  --zense-color-default-black: #000000;
  --zense-color-default-black-75: rgba(0, 0, 0, 0.75);
  --zense-color-default-black-50: rgba(0, 0, 0, 0.5);
  --zense-color-default-black-25: rgba(0, 0, 0, 0.25);
  --zense-color-default-black-5: rgba(0, 0, 0, 0.05);
  --zense-color-default-black-3: rgba(0, 0, 0, 0.03);
  --zense-color-default-white: #ffffff;
  --zense-color-default-white-75: rgba(255, 255, 255, 0.75);
  --zense-color-default-white-50: rgba(255, 255, 255, 0.5);
  --zense-color-default-white-25: rgba(255, 255, 255, 0.25);
  --zense-color-default-transparent: rgba(255, 255, 255, 0);
  --zense-color-neutral-100: #ffffff;
  --zense-color-neutral-200: #f4f6f7;
  --zense-color-neutral-300: #e9ecef;
  --zense-color-neutral-400: #dfe6ea;
  --zense-color-neutral-500: #d9e0e5;
  --zense-color-neutral-600: #8a9aa3;
  --zense-color-neutral-700: #5c6c75;
  --zense-color-neutral-800: #22282b;
  --zense-color-neutral-900: #000000;
  --zense-color-neutral-850: #1c2123;
  --zense-color-neutral-950: #111416;
  --zense-color-crimson-100: #f9d7ec;
  --zense-color-crimson-200: #eec6d6;
  --zense-color-crimson-300: #ba195a;
  --zense-color-crimson-400: #a73160;
  --zense-color-crimson-500: #931b4b;
  --zense-color-crimson-600: #5b012e;
  --zense-color-tangerine-100: #f9ebdd;
  --zense-color-tangerine-200: #ffe0c4;
  --zense-color-tangerine-300: #ffb36e;
  --zense-color-tangerine-400: #ffa263;
  --zense-color-tangerine-500: #ff934a;
  --zense-color-tangerine-600: #ed6000;
  --zense-color-orange-100: #ffeedf;
  --zense-color-orange-200: #ffe2c9;
  --zense-color-orange-300: #fabf8b;
  --zense-color-orange-400: #f57f17;
  --zense-color-orange-500: #9f530f;
  --zense-color-yellow-100: #fdf0dd;
  --zense-color-yellow-200: #fce6c6;
  --zense-color-yellow-300: #ffd780;
  --zense-color-yellow-400: #ffaf00;
  --zense-color-yellow-500: #573c00;
  --zense-color-green-100: #d9efdd;
  --zense-color-green-200: #bfe5c7;
  --zense-color-green-300: #90c39b;
  --zense-color-green-400: #218838;
  --zense-color-green-500: #0f5132;
  --zense-color-red-100: #ffe3e3;
  --zense-color-red-200: #ffd1d1;
  --zense-color-red-300: #f58094;
  --zense-color-red-400: #ea0029;
  --zense-color-red-500: #9f001c;
  --zense-color-blue-100: #edf5fd;
  --zense-color-blue-200: #cce3f9;
  --zense-color-blue-300: #80baf0;
  --zense-color-blue-400: #0075e1;
  --zense-color-blue-500: #00488a;
}

:root {
  --color-heading: var(--zense-color-neutral-darkest);
  --color-base: var(--zense-color-neutral-white);
  --color-charcoal-dark: var(--zense-color-neutral-darkest);
  --color-charcoal-light: var(--zense-color-neutral-darker);
  --color-accent: var(--zense-color-brand-primary);
  --color-accent-hover: var(--zense-color-brand-primary-hover);
  --color-success: var(--zense-color-status-success);
  --color-error: var(--zense-color-status-error);
  --color-warning: var(--zense-color-status-warning);
  --color-muted: var(--zense-color-neutral-dark);
  --color-border: var(--zense-color-neutral-lighter);
  --color-surface: var(--zense-color-neutral-lightest);
}

:root {
  --zense-font-family-heading: "Literata", Georgia, serif;
  --zense-font-family-body: "Inclusive Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --zense-font-size-2xs: calc(10rem / 16);
  --zense-font-size-xs: calc(12rem / 16);
  --zense-font-size-sm: calc(14rem / 16);
  --zense-font-size-md: calc(16rem / 16);
  --zense-font-size-lg: calc(18rem / 16);
  --zense-font-size-xl: calc(22rem / 16);
  --zense-font-size-2xl: calc(28rem / 16);
  --zense-font-size-3xl: calc(36rem / 16);
  --zense-font-weight-regular: 400;
  --zense-font-weight-medium: 500;
  --zense-font-weight-semibold: 600;
  --zense-font-weight-bold: 700;
  --zense-line-height-2xs: calc(12rem / 16);
  --zense-line-height-xs: calc(16rem / 16);
  --zense-line-height-sm: calc(20rem / 16);
  --zense-line-height-md: calc(24rem / 16);
  --zense-line-height-lg: calc(24rem / 16);
  --zense-line-height-xl: calc(28rem / 16);
  --zense-line-height-2xl: calc(36rem / 16);
  --zense-line-height-3xl: calc(44rem / 16);
  --zense-radius-none: 0;
  --zense-radius-sm: calc(4rem / 16);
  --zense-radius-md: calc(8rem / 16);
  --zense-radius-lg: calc(16rem / 16);
  --zense-radius-xl: calc(32rem / 16);
  --zense-radius-2xl: calc(128rem / 16);
  --zense-radius-3xl: calc(360rem / 16);
  --zense-radius-full: calc(999rem / 16);
  --zense-border-width-none: 0;
  --zense-border-width-sm: calc(1rem / 16);
  --zense-border-width-md: calc(2rem / 16);
  --zense-border-width-lg: calc(4rem / 16);
  --zense-border-width-xl: calc(6rem / 16);
  --zense-spacing-2: calc(2rem / 16);
  --zense-spacing-4: calc(4rem / 16);
  --zense-spacing-8: calc(8rem / 16);
  --zense-spacing-12: calc(12rem / 16);
  --zense-spacing-16: calc(16rem / 16);
  --zense-spacing-20: calc(20rem / 16);
  --zense-spacing-24: calc(24rem / 16);
  --zense-spacing-32: calc(32rem / 16);
  --zense-spacing-40: calc(40rem / 16);
  --zense-spacing-48: calc(48rem / 16);
  --zense-spacing-56: calc(56rem / 16);
  --zense-spacing-64: calc(64rem / 16);
  --zense-spacing-72: calc(72rem / 16);
  --font-family-base: var(--zense-font-family-body);
  --font-family-heading: var(--zense-font-family-heading);
  --font-size-base: 1rem;
  --font-weight-normal: 400;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --line-height-base: 1.5;
  --spacing-xs: var(--zense-spacing-4);
  --spacing-sm: var(--zense-spacing-8);
  --spacing-md: var(--zense-spacing-16);
  --spacing-lg: var(--zense-spacing-24);
  --spacing-xl: var(--zense-spacing-32);
  --radius-md: var(--zense-radius-md);
  --focus-ring-color: var(--color-accent);
  --focus-ring-width: calc(3rem / 16);
  --focus-ring-offset: calc(2rem / 16);
  --transition-fast: 150ms ease;
  --transition-normal: 300ms ease;
}

:root {
  --zense-color-neutral-black: var(--zense-color-neutral-900);
  --zense-color-neutral-darkest: var(--zense-color-neutral-800);
  --zense-color-neutral-darker: var(--zense-color-neutral-700);
  --zense-color-neutral-dark: var(--zense-color-neutral-600);
  --zense-color-neutral-medium: var(--zense-color-neutral-500);
  --zense-color-neutral-light: var(--zense-color-neutral-400);
  --zense-color-neutral-lighter: var(--zense-color-neutral-300);
  --zense-color-neutral-lightest: var(--zense-color-neutral-200);
  --zense-color-neutral-white: var(--zense-color-neutral-100);
  --zense-color-brand-primary: var(--zense-color-crimson-300);
  --zense-color-brand-primary-hover: var(--zense-color-crimson-400);
  --zense-color-brand-primary-active: var(--zense-color-crimson-500);
  --zense-color-brand-primary-deep: var(--zense-color-crimson-600);
  --zense-color-brand-primary-tint: var(--zense-color-crimson-200);
  --zense-color-brand-primary-subtle: var(--zense-color-crimson-100);
  --zense-color-brand-secondary: var(--zense-color-tangerine-500);
  --zense-color-brand-secondary-dark: var(--zense-color-tangerine-600);
  --zense-color-brand-secondary-hover: var(--zense-color-tangerine-400);
  --zense-color-brand-secondary-medium: var(--zense-color-tangerine-300);
  --zense-color-brand-secondary-tint: var(--zense-color-tangerine-200);
  --zense-color-brand-secondary-subtle: var(--zense-color-tangerine-100);
  --zense-color-status-success: var(--zense-color-green-400);
  --zense-color-status-success-dark: var(--zense-color-green-500);
  --zense-color-status-success-medium: var(--zense-color-green-300);
  --zense-color-status-success-light: var(--zense-color-green-200);
  --zense-color-status-success-subtle: var(--zense-color-green-100);
  --zense-color-status-error: var(--zense-color-red-400);
  --zense-color-status-error-dark: var(--zense-color-red-500);
  --zense-color-status-error-medium: var(--zense-color-red-300);
  --zense-color-status-error-light: var(--zense-color-red-200);
  --zense-color-status-error-subtle: var(--zense-color-red-100);
  --zense-color-status-warning: var(--zense-color-orange-400);
  --zense-color-status-warning-dark: var(--zense-color-orange-500);
  --zense-color-status-warning-medium: var(--zense-color-orange-300);
  --zense-color-status-warning-light: var(--zense-color-orange-200);
  --zense-color-status-warning-subtle: var(--zense-color-orange-100);
  --zense-color-status-caution: var(--zense-color-yellow-400);
  --zense-color-status-caution-dark: var(--zense-color-yellow-500);
  --zense-color-status-caution-medium: var(--zense-color-yellow-300);
  --zense-color-status-caution-light: var(--zense-color-yellow-200);
  --zense-color-status-caution-subtle: var(--zense-color-yellow-100);
  --zense-color-status-info: var(--zense-color-blue-400);
  --zense-color-status-info-dark: var(--zense-color-blue-500);
  --zense-color-status-info-medium: var(--zense-color-blue-300);
  --zense-color-status-info-light: var(--zense-color-blue-200);
  --zense-color-status-info-subtle: var(--zense-color-blue-100);
}

:root[data-theme=dark] {
  --zense-color-neutral-black: var(--zense-color-neutral-100);
  --zense-color-neutral-darkest: var(--zense-color-neutral-100);
  --zense-color-neutral-darker: var(--zense-color-neutral-200);
  --zense-color-neutral-dark: var(--zense-color-neutral-300);
  --zense-color-neutral-light: var(--zense-color-neutral-600);
  --zense-color-neutral-lighter: var(--zense-color-neutral-700);
  --zense-color-neutral-lightest: var(--zense-color-neutral-800);
  --zense-color-neutral-white: var(--zense-color-neutral-850);
  --zense-color-brand-primary: var(--zense-color-crimson-200);
  --zense-color-brand-secondary: var(--zense-color-tangerine-300);
  --zense-color-brand-secondary-dark: var(--zense-color-tangerine-600);
  --zense-color-status-error: var(--zense-color-red-300);
  --zense-color-status-error-dark: var(--zense-color-red-400);
  --zense-color-status-error-light: var(--zense-color-red-200);
  --zense-color-status-success: var(--zense-color-green-300);
  --zense-color-status-success-dark: var(--zense-color-green-400);
  --zense-color-status-success-light: var(--zense-color-green-200);
  --zense-color-status-warning: var(--zense-color-orange-300);
  --zense-color-status-warning-dark: var(--zense-color-orange-400);
  --zense-color-status-warning-light: var(--zense-color-orange-200);
  --zense-color-status-info: var(--zense-color-blue-300);
  --zense-color-status-info-dark: var(--zense-color-blue-400);
  --zense-color-status-info-light: var(--zense-color-blue-200);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-base);
  color: var(--color-charcoal-dark);
}

html body {
  background-color: var(--zense-color-neutral-200);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-heading);
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-semibold);
}

:root {
  --zense-box-shell-bg: var(--zense-color-neutral-white);
  --zense-box-shell-header-bg: var(--zense-color-neutral-lightest);
  --zense-box-shell-header-border: var(--zense-color-neutral-lighter);
  --zense-box-shell-header-text: var(--zense-color-neutral-darkest);
  --zense-box-shell-nav-link-text: var(--zense-color-neutral-darker);
  --zense-box-shell-nav-link-hover: var(--zense-color-brand-primary);
  --zense-box-shell-nav-link-active: var(--zense-color-brand-primary);
  --zense-box-shell-nav-link-bg-hover: var(--zense-color-brand-primary-subtle);
  --zense-box-shell-footer-bg: var(--zense-color-neutral-lightest);
  --zense-box-shell-footer-border: var(--zense-color-neutral-lighter);
  --zense-box-shell-footer-text: var(--zense-color-neutral-dark);
  --zense-box-shell-skip-bg: var(--zense-color-brand-primary);
  --zense-box-shell-skip-text: var(--zense-color-neutral-white);
}

.layout {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.layout__header {
  background-color: var(--color-surface);
  border-bottom: var(--zense-border-width-sm) solid var(--color-border);
  padding: var(--spacing-md);
}

.layout__nav {
  display: flex;
  align-items: center;
  max-width: 75rem;
  margin: 0 auto;
}

.layout__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-sm);
  text-decoration: none;
}

.layout__brand-icon {
  width: 2.25rem;
  height: 2.25rem;
}

.layout__brand-wordmark {
  height: 1.5rem;
  width: auto;
}

.layout__content {
  flex: 1;
  max-width: 75rem;
  margin: 0 auto;
  padding: var(--spacing-lg);
  width: 100%;
}

.layout__footer {
  background-color: var(--color-surface);
  border-top: var(--zense-border-width-sm) solid var(--color-border);
  padding: var(--spacing-md);
  text-align: center;
  color: var(--color-muted);
  font-size: var(--zense-font-size-sm);
}

.zense-card {
  --card-bg: var(--zense-color-neutral-white);
  --card-border: var(--zense-color-neutral-lighter);
  --card-radius: var(--zense-radius-md);
  --card-padding: var(--zense-spacing-16);
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--card-radius);
  padding: var(--card-padding);
  overflow: hidden;
}

.app-shell {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: var(--zense-box-shell-bg);
}

.app-shell__skip-link {
  position: absolute;
  left: -624.9375rem;
  top: auto;
  width: 0.0625rem;
  height: 0.0625rem;
  overflow: hidden;
  background: var(--zense-box-shell-skip-bg);
  color: var(--zense-box-shell-skip-text);
  padding: var(--zense-spacing-8) var(--zense-spacing-16);
  border-radius: var(--zense-radius-sm);
  text-decoration: none;
  font-weight: var(--zense-font-weight-semibold);
  z-index: 9999;
}
.app-shell__skip-link:focus, .app-shell__skip-link:focus-visible {
  position: fixed;
  top: var(--zense-spacing-8);
  left: var(--zense-spacing-8);
  width: auto;
  height: auto;
  overflow: visible;
  outline: var(--focus-ring-width) solid var(--focus-ring-color);
  outline-offset: var(--focus-ring-offset);
}

.app-shell__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--zense-spacing-8);
  text-decoration: none;
  flex-shrink: 0;
}

.app-shell__brand-icon {
  width: 2.25rem;
  height: 2.25rem;
}

.app-shell__user {
  font-size: var(--zense-font-size-sm);
  font-weight: var(--zense-font-weight-medium);
  color: var(--zense-box-shell-header-text);
}

.app-shell__error {
  padding: var(--zense-spacing-16);
  background: var(--zense-color-status-error-subtle);
  color: var(--zense-color-status-error-dark);
  border: var(--zense-border-width-sm) solid var(--zense-color-status-error-light);
  border-radius: var(--zense-radius-md);
}

.app-shell__support {
  font-size: var(--zense-font-size-sm);
  color: var(--zense-box-shell-footer-text);
}

.app-shell__support-phone {
  white-space: nowrap;
}

.a-button {
  --button-bg: var(--zense-color-brand-primary-active);
  --button-color: var(--color-base);
  --button-border-color: transparent;
  --button-background-color: var(--zense-color-brand-primary-active);
  --button-hover-background-color: var(--zense-color-brand-primary-deep);
  --button-border-radius: calc(999rem / 16);
  display: inline-flex;
  align-items: center;
  padding-block: var(--spacing-sm);
  padding-inline: var(--spacing-md);
  background: var(--button-bg);
  color: var(--button-color);
  border: var(--zense-border-width-sm) solid var(--button-border-color);
  border-radius: var(--zense-radius-full);
  cursor: pointer;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  transition: background var(--transition-fast);
  text-decoration: none;
}
.a-button:hover {
  --button-bg: var(--zense-color-brand-primary-deep);
}
.a-button:focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring-color);
  outline-offset: var(--focus-ring-offset);
}

.a-button--secondary {
  --button-bg: transparent;
  --button-color: var(--color-accent);
  --button-border-color: var(--color-accent);
  --button-background-color: transparent;
  --button-hover-background-color: var(--zense-color-brand-primary-subtle);
}
.a-button--secondary:hover {
  --button-bg: var(--zense-color-brand-primary-subtle);
}

.a-button--hero-positive {
  --button-bg: var(--color-success);
  --button-color: var(--color-base);
  --button-border-color: transparent;
  --button-background-color: var(--color-success);
  --button-hover-background-color: var(--zense-color-status-success-dark);
}
.a-button--hero-positive:hover {
  --button-bg: var(--zense-color-status-success-dark);
}

.a-button.a-button--theme-boxless {
  --button-bg: transparent;
  --button-background-color: transparent;
  --button-border-color: transparent;
  background: transparent;
}

.a-button.a-button--theme-dismiss {
  --button-bg: transparent;
  --button-background-color: transparent;
  --button-color: var(--zense-color-brand-primary);
  --button-icon-color: var(--zense-color-brand-primary);
  --button-border-color: var(--zense-color-neutral-lighter);
  background: transparent;
  border: var(--zense-border-width-sm) solid var(--button-border-color);
  border-radius: var(--zense-radius-full);
}

.zense-code-input {
  --code-input-gap: var(--zense-spacing-8);
  --code-input-border: var(--zense-color-neutral-lighter);
  display: flex;
  gap: var(--code-input-gap);
  justify-content: center;
}

.zense-code-input--busy {
  opacity: 0.6;
  pointer-events: none;
}

.zense-code-input__cell {
  --cell-width: calc(48rem / 16);
  --cell-height: calc(56rem / 16);
  --cell-bg: var(--zense-color-neutral-white);
  --cell-color: var(--zense-color-neutral-darkest);
  --cell-border: var(--zense-border-width-sm) solid var(--code-input-border);
  --cell-radius: var(--zense-radius-md);
  --cell-font-size: var(--zense-font-size-xl);
  --cell-font-weight: var(--zense-font-weight-semibold);
  width: var(--cell-width);
  height: var(--cell-height);
  text-align: center;
  font-size: var(--cell-font-size);
  font-weight: var(--cell-font-weight);
  border: var(--cell-border);
  border-radius: var(--cell-radius);
  background: var(--cell-bg);
  color: var(--cell-color);
  transition: border-color var(--transition-fast);
}
.zense-code-input__cell:focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring-color);
  outline-offset: var(--focus-ring-offset);
}
.zense-code-input__cell:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.onboarding-layout {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--zense-color-neutral-lightest);
}

.onboarding-layout__main {
  flex: 1;
  display: flex;
  justify-content: center;
  padding: var(--zense-spacing-32) var(--zense-spacing-24);
}

.onboarding-layout__brand {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.onboarding-layout__brand-icon {
  height: 2.5rem;
}

.onboarding-layout__support {
  font-size: var(--zense-font-size-sm);
  color: var(--zense-color-neutral-dark);
}

@media (max-width: 768px) {
  .onboarding-layout__main {
    padding: var(--zense-spacing-16) var(--zense-spacing-16);
  }
}
.onboarding-scaffold {
  width: 100%;
  max-width: 48.75rem;
}

.onboarding-scaffold__stepper {
  margin-top: var(--zense-spacing-16);
  margin-bottom: var(--zense-spacing-24);
}

.onboarding-scaffold__card {
  --card-radius: var(--zense-radius-xl);
  --card-padding: var(--zense-spacing-64);
}

.onboarding-scaffold__actions {
  display: flex;
  gap: var(--zense-spacing-16);
  margin-top: var(--zense-spacing-32);
  justify-content: flex-end;
}

.onboarding-scaffold__footer {
  margin-top: var(--zense-spacing-24);
  text-align: center;
  font-size: var(--zense-font-size-sm);
  color: var(--zense-color-neutral-dark);
}

.onboarding-scaffold__error {
  margin-bottom: var(--zense-spacing-16);
}

.onboarding-scaffold__field-error {
  margin-top: var(--zense-spacing-4);
  color: var(--zense-color-status-error);
  font-size: var(--zense-font-size-sm);
}

.onboarding-scaffold__link {
  color: var(--zense-color-brand-primary);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-size: var(--zense-font-size-sm);
  text-decoration: none;
}
.onboarding-scaffold__link:hover {
  text-decoration: underline;
}
.onboarding-scaffold__link:focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring-color);
  outline-offset: var(--focus-ring-offset);
}

@media (max-width: 768px) {
  .onboarding-scaffold__card {
    --card-padding: var(--zense-spacing-32);
  }
  .onboarding-scaffold__actions {
    flex-direction: column-reverse;
  }
}
@media (max-width: 393px) {
  .onboarding-scaffold__card {
    --card-padding: var(--zense-spacing-24);
    --card-radius: var(--zense-radius-lg);
  }
}
.auth-scaffold {
  width: 100%;
  max-width: 48.75rem;
  margin-inline: auto;
}

.auth-scaffold__heading {
  margin-bottom: var(--zense-spacing-32);
}

.auth-scaffold__heading--icon {
  display: flex;
  align-items: center;
  gap: var(--zense-spacing-16);
  min-height: 7rem;
}

.auth-scaffold__heading-icon {
  flex-shrink: 0;
}

.auth-scaffold__heading-icon svg {
  width: 4rem;
  height: 4rem;
}

.auth-scaffold__heading-icon--success {
  color: var(--zense-color-status-success);
  display: inline-flex;
}

.auth-scaffold__eyebrow {
  display: block;
  font-family: var(--zense-font-family-body);
  font-size: var(--zense-font-size-sm);
  line-height: var(--zense-line-height-sm);
  color: var(--zense-color-neutral-dark);
  margin-bottom: var(--zense-spacing-4);
}

.auth-scaffold__title {
  font-family: var(--zense-font-family-heading);
  font-weight: var(--zense-font-weight-bold);
  font-size: var(--zense-font-size-3xl);
  line-height: var(--zense-line-height-3xl);
  color: var(--zense-color-neutral-darkest);
  margin: 0;
}

.auth-scaffold__card {
  --card-radius: var(--zense-radius-xl);
  --card-padding: var(--zense-spacing-64);
}

.auth-scaffold__actions {
  display: flex;
  gap: var(--zense-spacing-16);
  margin-top: var(--zense-spacing-32);
  justify-content: flex-end;
}

.auth-scaffold__actions--centred {
  justify-content: center;
}

.auth-scaffold__actions--start {
  justify-content: flex-start;
}

.auth-scaffold__footer {
  margin-top: var(--zense-spacing-24);
  text-align: center;
  font-size: var(--zense-font-size-sm);
  color: var(--zense-color-neutral-dark);
}

.auth-scaffold__field-error {
  font-size: var(--zense-font-size-sm);
  color: var(--zense-color-status-error);
  margin-top: var(--zense-spacing-4);
}

@media (max-width: 1024px) {
  .auth-scaffold {
    max-width: 48.125rem;
  }
  .auth-scaffold__card {
    --card-padding: var(--zense-spacing-32);
  }
}
@media (max-width: 393px) {
  .auth-scaffold {
    max-width: 21.4375rem;
    width: calc(100% + 2 * var(--zense-spacing-8));
    margin-inline: calc(-1 * var(--zense-spacing-8));
  }
  .auth-scaffold__title {
    font-size: var(--zense-font-size-2xl);
  }
  .auth-scaffold__card {
    --card-padding: var(--zense-spacing-16);
  }
  .auth-scaffold__actions {
    flex-direction: column-reverse;
  }
  .auth-scaffold__actions--centred {
    flex-direction: column;
  }
}
.auth-layout {
  display: grid;
  grid-template-rows: min-content 1fr min-content;
  min-height: 100dvh;
  background-color: var(--zense-color-neutral-lightest);
}

.auth-layout__header {
  display: flex;
  align-items: center;
  height: 3.75rem;
  padding-inline: var(--zense-spacing-16);
  background-color: var(--zense-color-brand-primary);
}

.auth-layout__brand {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

.auth-layout__brand-icon {
  height: 2rem;
  width: auto;
}

.auth-layout__brand-wordmark {
  height: 1.375rem;
  width: auto;
}

.auth-layout__main {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--zense-spacing-32);
}

.auth-layout__footer {
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-inline: var(--zense-spacing-32);
  border-top: 1px solid var(--zense-color-neutral-medium);
}

.auth-layout__footer-text {
  font-size: var(--zense-font-size-xs);
  color: var(--zense-color-neutral-darker);
}

@media (min-width: 768px) {
  .auth-layout__header {
    height: 6.25rem;
    padding-inline: var(--zense-spacing-32);
  }
  .auth-layout__brand-icon {
    height: 2.625rem;
  }
  .auth-layout__brand-wordmark {
    height: 1.8125rem;
  }
  .auth-layout__main {
    padding: var(--zense-spacing-64);
  }
}
.zense-twofactor__resend.resend-countdown-link--disabled .resend-countdown-link__action {
  color: var(--zense-color-brand-primary);
  text-decoration: underline;
}

.zense-twofactor__email-fallback {
  font-size: var(--zense-font-size-sm);
  color: var(--zense-color-neutral-dark);
}

.zense-twofactor__email-fallback-link {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: var(--zense-color-brand-primary);
  font-size: var(--zense-font-size-sm);
  text-decoration: underline;
}
.zense-twofactor__email-fallback-link:focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring-color);
  outline-offset: var(--focus-ring-offset);
}

.template-entry {
  display: grid;
  grid-template-rows: 1fr min-content;
  min-height: 100dvh;
}

.login-background {
  background-image: var(--template-entry-background-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.template-entry__content {
  display: flex;
  justify-content: center;
  padding-top: 1rem;
  padding-inline: 1rem;
}

.template-entry__footer-band {
  height: 4rem;
  display: flex;
  align-items: center;
  color: var(--zense-color-brand-primary-hover);
  background-color: transparent;
  border-top: solid 0.0625rem var(--zense-color-brand-secondary-tint);
}

.template-entry__footer-band .site-footer__layout {
  justify-content: flex-end;
}

.template-entry__heading {
  font-size: 1.75rem;
}

.template-entry .content-box {
  --content-box-padding: calc(32rem / 16);
  width: 21.4375rem;
  max-width: 100%;
}

@media (min-width: 834px) {
  .template-entry__content {
    padding-top: 18.46875rem;
  }
  .template-entry .content-box {
    --content-box-padding: calc(32rem / 16);
    width: 40rem;
  }
  .template-entry__heading {
    font-size: 2.25rem;
  }
}
@media (min-width: 1440px) {
  .template-entry__content {
    padding-top: 11.25rem;
  }
  .template-entry .content-box {
    --content-box-padding: calc(64rem / 16);
  }
}
.goal-progress-item {
  --goal-progress-item-track-color: var(--zense-color-neutral-lightest);
  --goal-progress-item-bar-color: var(--zense-color-brand-primary);
  --goal-progress-item-status-background: var(--zense-color-neutral-lightest);
  --goal-progress-item-meta-color: var(--zense-color-neutral-dark);
  display: block;
}

.goal-progress-item__name {
  font-weight: var(--goal-progress-item-name-weight, 600);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 0;
}

.goal-progress-item__name-button {
  appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  text-align: start;
  cursor: pointer;
}
.goal-progress-item__name-button:hover {
  text-decoration: underline;
}
.goal-progress-item__name-button:focus-visible {
  outline: var(--focus-outline, initial);
  outline-offset: var(--focus-offset, initial);
}

.goal-progress-item__progress-track {
  position: relative;
  height: 0.5rem;
  background-color: var(--goal-progress-item-track-color);
  border-radius: 0.25rem;
  overflow: hidden;
  margin-block: 0.5rem;
}

.goal-progress-item__progress-bar {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: var(--goal-progress, 0%);
  background-color: var(--goal-progress-item-bar-color);
  border-radius: 0.25rem;
}

.goal-progress-item__values {
  display: flex;
  justify-content: space-between;
  font-size: 0.875rem;
}

.goal-progress-item__target-date,
.goal-progress-item__linked-option,
.goal-progress-item__recurring,
.goal-progress-item__as-at {
  font-size: 0.75rem;
  margin-block: 0.25rem;
  margin-inline: 0;
  color: var(--goal-progress-item-meta-color);
}

.goal-progress-item__status {
  display: inline-block;
  font-size: 0.75rem;
  padding-inline: 0.375rem;
  padding-block: 0.125rem;
  border-radius: 0.25rem;
  background-color: var(--goal-progress-item-status-background);
}

.goal-progress-item__actions {
  display: flex;
  gap: 0.5rem;
  margin-block-start: 0.5rem;
}

.password-meter {
  display: flex;
  align-items: center;
  gap: var(--zense-spacing-8);
}

.password-meter__track {
  display: flex;
  gap: 0.25rem;
  flex: 1;
}

.password-meter__segment {
  height: 0.25rem;
  flex: 1;
  border-radius: 0.125rem;
  background-color: var(--zense-color-neutral-light);
}

.password-meter__segment--weak {
  background-color: var(--zense-color-status-error);
}

.password-meter__segment--fair {
  background-color: var(--zense-color-status-warning);
}

.password-meter__segment--good {
  background-color: var(--zense-color-status-success);
}

.password-meter__label {
  font-size: var(--zense-font-size-sm);
  line-height: var(--zense-line-height-sm);
  color: var(--zense-color-neutral-dark);
  white-space: nowrap;
}

.zense-signin__logo {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

.zense-signin__logo-icon {
  height: 2.5625rem;
  width: auto;
}

.zense-signin__logo-wordmark {
  height: 1.8125rem;
  width: auto;
}

.zense-signin__field-error {
  margin-top: var(--zense-spacing-4);
  color: var(--zense-color-semantic-error);
  font-size: var(--zense-font-size-sm);
}

.zense-signin__actions {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-32);
  margin-top: var(--zense-spacing-32);
}

@media (min-width: 834px) {
  .zense-signin__actions {
    flex-direction: row;
    align-items: center;
  }
  .zense-signin__actions .a-button--variant-form {
    min-width: 12.5rem;
    flex: none;
  }
}
.zense-signin__join-prompt {
  font-size: 1.125rem;
  color: var(--zense-color-neutral-dark);
  text-align: center;
}

@media (min-width: 834px) {
  .zense-signin__join-prompt {
    text-align: left;
  }
}
.zense-signin__forgotten-link, .zense-signin__alert-link, .zense-signin__join-link {
  color: var(--zense-color-brand-primary);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.zense-signin__forgotten-link:focus-visible, .zense-signin__alert-link:focus-visible, .zense-signin__join-link:focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring-color);
  outline-offset: var(--focus-ring-offset);
}

.zense-signin__join-link {
  font-weight: 700;
  text-decoration: underline;
}
.zense-signin__join-link:hover {
  text-decoration: none;
}

.zense-signin__alert-link {
  display: inline;
  color: inherit;
  font: inherit;
  text-decoration: underline;
}
.zense-signin__alert-link:hover {
  text-decoration: none;
}

.zense-signin__forgotten-link {
  display: block;
  margin-top: var(--zense-spacing-12);
  font-size: var(--zense-font-size-sm);
  text-decoration: underline;
}
.zense-signin__forgotten-link:hover {
  text-decoration: none;
}

.zense-signin__footer-text {
  text-align: right;
  font-size: var(--zense-font-size-sm);
}

.box-theme--notify-error {
  --box-text-color: var(--zense-color-status-error-dark);
  --box-background-color: var(--zense-color-status-error-light);
  --box-heading-color: var(--zense-color-status-error-dark);
}

.loading-panel__overlay {
  background-color: var(--loading-panel-overlay-background, hsl(from var(--zense-color-neutral-black) h s l/0.3));
}

.alert-outlet {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
}

.alert-outlet__backdrop {
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--zense-color-neutral-darkest) 50%, transparent);
}

.alert-outlet__dialog {
  position: relative;
  z-index: 1;
  background: var(--zense-color-neutral-white);
  border-radius: var(--zense-radius-lg);
  padding: var(--zense-spacing-32);
  max-width: 25rem;
  width: 90%;
  text-align: center;
}

.alert-outlet__title {
  margin: 0 0 var(--zense-spacing-16);
  font-size: var(--zense-font-size-xl);
  font-weight: var(--zense-font-weight-bold);
  color: var(--zense-color-neutral-darkest);
}

.alert-outlet__message {
  margin: 0 0 var(--zense-spacing-24);
  color: var(--zense-color-neutral-dark);
  font-size: var(--zense-font-size-md);
}

.alert-outlet__actions {
  display: flex;
  justify-content: center;
}

.alert-outlet__action {
  background: var(--zense-color-brand-primary);
  color: var(--zense-color-neutral-white);
  border: none;
  border-radius: 1.5rem;
  padding: var(--zense-spacing-12) var(--zense-spacing-32);
  font-size: var(--zense-font-size-md);
  font-weight: var(--zense-font-weight-bold);
  cursor: pointer;
  min-width: 7.5rem;
}

.alert-outlet__action:hover {
  opacity: 0.9;
}

.alert-outlet__action:focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring-color);
  outline-offset: var(--focus-ring-offset);
}

.password-helper-card {
  background: var(--zense-color-neutral-lightest);
  border-radius: var(--zense-radius-md);
  padding: var(--zense-spacing-16);
}

.password-helper-card__heading {
  margin: 0 0 var(--zense-spacing-8);
  font-size: var(--zense-font-size-sm);
  font-weight: var(--zense-font-weight-bold);
  color: var(--zense-color-neutral-darkest);
}

.password-helper-card__list {
  margin: 0;
  padding-left: var(--zense-spacing-16);
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-4);
}

.password-helper-card__item {
  font-size: var(--zense-font-size-sm);
  color: var(--zense-color-neutral-dark);
}

.zense-password-criteria {
  background: var(--zense-color-neutral-lightest);
  border-radius: var(--zense-radius-md);
  padding: var(--zense-spacing-16);
}

.zense-password-criteria__heading {
  margin: 0;
  margin-bottom: var(--zense-spacing-8);
  font-size: var(--zense-font-size-sm);
  font-weight: var(--zense-font-weight-bold);
  color: var(--zense-color-neutral-darkest);
}

.zense-password-criteria__list {
  margin: 0;
  padding-inline-start: var(--zense-spacing-16);
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-4);
}

.zense-password-criteria__item {
  font-size: var(--zense-font-size-sm);
  color: var(--zense-color-neutral-dark);
}

.zense-password-criteria__item--met {
  color: var(--zense-color-status-success);
}

.reset-success__icon-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.reset-success__check-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: var(--zense-color-semantic-success);
  color: var(--zense-color-neutral-white);
  font-size: var(--zense-font-size-2xl);
  font-weight: var(--zense-font-weight-bold);
  margin-bottom: var(--zense-spacing-16);
}

.downstream-unavailable-banner {
  --banner-gap: var(--zense-spacing-8);
  --banner-padding: var(--zense-spacing-16);
  --banner-radius: var(--zense-radius-md);
  display: flex;
  flex-direction: column;
  gap: var(--banner-gap);
  padding: var(--banner-padding);
  border-radius: var(--banner-radius);
}

.downstream-unavailable-banner__message {
  font-size: var(--zense-font-size-sm);
}

.downstream-unavailable-banner__service {
  font-size: var(--zense-font-size-xs);
  font-weight: var(--zense-font-weight-semibold);
  color: var(--zense-color-neutral-darker);
}

.retryable-error-panel {
  --panel-gap: var(--zense-spacing-16);
  --panel-padding: var(--zense-spacing-16);
  --panel-radius: var(--zense-radius-md);
  display: flex;
  flex-direction: column;
  gap: var(--panel-gap);
  padding: var(--panel-padding);
  border-radius: var(--panel-radius);
}

.state-panel {
  --state-panel-gap: var(--zense-spacing-16);
  --state-panel-padding-block: var(--zense-spacing-48);
  --state-panel-padding-inline: var(--zense-spacing-24);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--state-panel-gap);
  padding-block: var(--state-panel-padding-block);
  padding-inline: var(--state-panel-padding-inline);
}

.state-panel--compact {
  --state-panel-padding-block: var(--zense-spacing-24);
}

.state-panel--empty .state-panel__icon,
.state-panel--unavailable .state-panel__icon {
  color: var(--state-panel-muted-icon-color, var(--zense-color-neutral-light));
}

.state-panel--error .state-panel__icon {
  color: var(--state-panel-error-icon-color, var(--zense-color-status-error));
}

.state-panel--blocked .state-panel__icon {
  color: var(--state-panel-blocked-icon-color, var(--zense-color-status-warning));
}

.state-panel__title {
  margin: 0;
  font-size: var(--state-panel-title-font-size, var(--zense-font-size-lg));
  font-weight: var(--state-panel-title-font-weight, var(--zense-font-weight-semibold));
}

.state-panel__description {
  margin: 0;
  font-size: var(--state-panel-description-font-size, var(--zense-font-size-sm));
  color: var(--state-panel-description-color, var(--zense-color-neutral-dark));
}

.state-panel__actions {
  display: flex;
  gap: var(--state-panel-actions-gap, var(--zense-spacing-12));
}

.page-hero {
  --page-hero-gap: var(--zense-spacing-16);
  --page-hero-padding-block: var(--zense-spacing-24);
  display: flex;
  flex-direction: column;
  gap: var(--page-hero-gap);
  padding-block: var(--page-hero-padding-block);
}

.page-hero__back {
  display: flex;
}

.page-hero__content {
  display: flex;
  flex-direction: column;
  gap: var(--page-hero-content-gap, var(--zense-spacing-8));
}

.page-hero__title {
  margin: 0;
  font-size: var(--page-hero-title-font-size, var(--zense-font-size-2xl));
  font-weight: var(--page-hero-title-font-weight, var(--zense-font-weight-bold));
  line-height: var(--page-hero-title-line-height, var(--zense-line-height-2xl));
}

.page-hero__subtitle {
  margin: 0;
  font-size: var(--page-hero-subtitle-font-size, var(--zense-font-size-lg));
  color: var(--page-hero-subtitle-color, var(--zense-color-neutral-dark));
}

.page-hero__body {
  font-size: var(--page-hero-body-font-size, var(--zense-font-size-md));
  line-height: var(--page-hero-body-line-height, var(--zense-line-height-md));
}

.page-hero__body > * + * {
  margin-block-start: var(--page-hero-body-paragraph-gap, var(--zense-spacing-12));
}

.page-hero__disclaimer {
  margin: 0;
  font-size: var(--page-hero-disclaimer-font-size, var(--zense-font-size-xs));
  font-style: italic;
  color: var(--page-hero-disclaimer-color, var(--zense-color-neutral-dark));
}

.chart-widget {
  --chart-widget-gap: var(--zense-spacing-12);
  --chart-widget-padding: var(--zense-spacing-16);
  --chart-widget-border-radius: var(--zense-radius-md);
  display: flex;
  flex-direction: column;
  gap: var(--chart-widget-gap);
  padding: var(--chart-widget-padding);
  border-radius: var(--chart-widget-border-radius);
  background-color: var(--chart-widget-background, var(--box-background-color, transparent));
}

.chart-widget__header {
  display: flex;
  flex-direction: column;
  gap: var(--chart-widget-header-gap, var(--zense-spacing-4));
}

.chart-widget__title {
  font-size: var(--chart-widget-title-font-size, var(--zense-font-size-sm));
  color: var(--chart-widget-title-color, var(--zense-color-neutral-dark));
}

.chart-widget__primary-value {
  font-size: var(--chart-widget-primary-value-font-size, var(--zense-font-size-2xl));
  font-weight: var(--chart-widget-primary-value-weight, var(--zense-font-weight-bold));
  line-height: var(--chart-widget-primary-value-line-height, var(--zense-line-height-2xl));
}

.chart-widget__metrics {
  display: flex;
  flex-direction: column;
  gap: var(--chart-widget-metrics-gap, var(--zense-spacing-4));
}

.chart-widget__segments {
  display: flex;
  flex-wrap: wrap;
  gap: var(--chart-widget-segments-gap, var(--zense-spacing-8));
}

.chart-widget__segment {
  display: inline-block;
  border: var(--zense-border-width-sm) solid var(--chart-widget-segment-border, currentColor);
  border-radius: var(--zense-radius-full);
  cursor: pointer;
  font-size: var(--chart-widget-segment-font-size, var(--zense-font-size-sm));
  padding-block: var(--zense-spacing-4);
  padding-inline: var(--zense-spacing-12);
  opacity: 0.6;
  transition: opacity 0.15s, background-color 0.15s;
}

.chart-widget__segment:hover {
  opacity: 1;
}

.chart-widget__segment-input:focus-visible + .chart-widget__segment {
  outline: var(--focus-outline, initial);
  outline-offset: var(--focus-offset, initial);
}

.chart-widget__segment-input:checked + .chart-widget__segment {
  background-color: var(--chart-widget-segment-active-background, var(--zense-color-brand-primary));
  color: var(--chart-widget-segment-active-color, var(--zense-color-neutral-white));
  opacity: 1;
}

.chart-widget__chart-area {
  position: relative;
}

.chart-widget__timeranges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--chart-widget-timeranges-gap, var(--zense-spacing-8));
}

.chart-widget__pill {
  display: inline-block;
  border: var(--zense-border-width-sm) solid var(--chart-widget-pill-border, currentColor);
  border-radius: var(--zense-radius-full);
  cursor: pointer;
  font-size: var(--chart-widget-pill-font-size, var(--zense-font-size-xs));
  padding-block: var(--zense-spacing-4);
  padding-inline: var(--zense-spacing-12);
  opacity: 0.6;
  transition: opacity 0.15s, background-color 0.15s;
}

.chart-widget__pill:hover {
  opacity: 1;
}

.chart-widget__pill-input:focus-visible + .chart-widget__pill {
  outline: var(--focus-outline, initial);
  outline-offset: var(--focus-offset, initial);
}

.chart-widget__pill-input:checked + .chart-widget__pill {
  background-color: var(--chart-widget-pill-active-background, var(--zense-color-brand-primary));
  color: var(--chart-widget-pill-active-color, var(--zense-color-neutral-white));
  opacity: 1;
}

.chart-widget__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--chart-widget-actions-gap, var(--zense-spacing-8));
}

.chart-widget__disclaimer {
  margin: 0;
  font-size: var(--chart-widget-disclaimer-font-size, var(--zense-font-size-xs));
  line-height: var(--chart-widget-disclaimer-line-height, var(--zense-line-height-xs));
  color: var(--chart-widget-disclaimer-color, var(--zense-color-neutral-dark));
}

.support-correlation-id {
  display: inline-flex;
  align-items: baseline;
  gap: var(--zense-spacing-4);
  font-size: var(--zense-font-size-xs);
}

.support-correlation-id__label {
  font-weight: var(--zense-font-weight-medium);
  color: var(--zense-color-neutral-darker);
}

.support-correlation-id__value {
  font-weight: var(--zense-font-weight-semibold);
  color: var(--zense-color-neutral-darkest);
}

.status-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--zense-spacing-4);
  padding-block: var(--zense-spacing-4);
  padding-inline: var(--zense-spacing-8);
  border-radius: var(--zense-radius-full);
  font-size: var(--zense-font-size-xs);
  font-weight: var(--zense-font-weight-semibold);
  line-height: var(--zense-line-height-xs);
}

.status-badge--positive {
  background-color: var(--zense-color-status-success-subtle);
  color: var(--zense-color-status-success-dark);
}

.status-badge--negative {
  background-color: var(--zense-color-status-error-subtle);
  color: var(--zense-color-status-error-dark);
}

.status-badge--warning {
  background-color: var(--zense-color-status-warning-subtle);
  color: var(--zense-color-status-warning-dark);
}

.status-badge--info {
  background-color: var(--zense-color-status-info-subtle);
  color: var(--zense-color-status-info-dark);
}

.status-badge--neutral {
  background-color: var(--zense-color-neutral-lightest);
  color: var(--zense-color-neutral-darkest);
}

.status-timeline {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-12);
  margin: 0;
  padding: 0;
  list-style: none;
}

.status-timeline__item {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-2);
}

.status-timeline__label {
  font-size: var(--zense-font-size-sm);
  font-weight: var(--zense-font-weight-medium);
  color: var(--zense-color-neutral-darkest);
}

.status-timeline__time {
  font-size: var(--zense-font-size-xs);
  color: var(--zense-color-neutral-darker);
}

.status-explanation {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-8);
}

.status-explanation__description {
  margin: 0;
  font-size: var(--zense-font-size-sm);
  color: var(--zense-color-neutral-darkest);
}

.address-autocomplete {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.address-autocomplete__input {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid var(--zense-color-neutral-lighter);
  border-radius: var(--zense-radius-md);
  font-size: 1rem;
  color: var(--zense-color-neutral-dark);
  background: var(--zense-color-neutral-white);
  outline: none;
}
.address-autocomplete__input:focus {
  border-color: var(--zense-color-brand-primary);
}

.address-autocomplete__dropdown {
  position: absolute;
  top: calc(100% + 0.25rem);
  left: 0;
  right: 0;
  z-index: 10;
  background: var(--zense-color-neutral-white);
  border: 1px solid var(--zense-color-neutral-lighter);
  border-radius: var(--zense-radius-md);
  overflow: hidden;
}

.address-autocomplete__item {
  list-style: none;
}

.address-autocomplete__item-btn {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0.75rem 1rem;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  gap: 0.25rem;
}
.address-autocomplete__item-btn:hover {
  background: var(--zense-color-neutral-lightest);
}

.address-autocomplete__item-primary {
  font-weight: var(--zense-font-weight-semibold);
  color: var(--zense-color-neutral-dark);
  font-size: 1rem;
}

.address-autocomplete__item-secondary {
  color: var(--zense-color-neutral-medium);
  font-size: 0.875rem;
}

.address-autocomplete__manual-toggle {
  height: 2.5rem;
  border-radius: var(--zense-radius-full);
  gap: 0.5rem;
  padding: 0 1rem;
  background: none;
  border: 1px solid var(--zense-color-neutral-lighter);
  cursor: pointer;
  font-size: 0.875rem;
  color: var(--zense-color-neutral-dark);
  align-self: flex-start;
}
.address-autocomplete__manual-toggle:hover {
  background: var(--zense-color-neutral-lightest);
}

.foreign-tax-country-repeater {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.foreign-tax-country-repeater__group {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background: var(--zense-color-neutral-lightest);
  border-radius: 1rem;
  padding: 1rem;
}

.foreign-tax-country-repeater__group-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.foreign-tax-country-repeater__group-heading {
  font-size: 0.875rem;
  font-weight: var(--zense-font-weight-bold);
  color: var(--zense-color-neutral-medium);
}

.foreign-tax-country-repeater__field-row {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.foreign-tax-country-repeater__country-field {
  width: 100%;
  padding: 0.75rem 1rem;
  background: var(--zense-color-neutral-white);
  border: 1px solid var(--zense-color-neutral-lighter);
  border-radius: var(--zense-radius-md);
  font-size: 1rem;
  color: var(--zense-color-neutral-dark);
  text-align: left;
  cursor: pointer;
}
.foreign-tax-country-repeater__country-field:hover {
  border-color: var(--zense-color-brand-primary);
}

.foreign-tax-country-repeater__tin-input {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid var(--zense-color-neutral-lighter);
  border-radius: var(--zense-radius-md);
  font-size: 1rem;
  color: var(--zense-color-neutral-dark);
  background: var(--zense-color-neutral-white);
  outline: none;
}
.foreign-tax-country-repeater__tin-input:focus {
  border-color: var(--zense-color-brand-primary);
}

.foreign-tax-country-repeater__remove-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--zense-color-neutral-medium);
  font-size: 0.875rem;
  padding: 0.25rem;
  border-radius: var(--zense-radius-sm);
}
.foreign-tax-country-repeater__remove-btn:hover {
  color: var(--zense-color-neutral-dark);
}

.foreign-tax-country-repeater__add-btn {
  align-self: flex-start;
  border-radius: var(--zense-radius-full);
  padding: 0 1rem;
  height: 2.5rem;
  background: none;
  border: 1px solid var(--zense-color-neutral-lighter);
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: var(--zense-font-weight-medium);
  color: var(--zense-color-neutral-dark);
}
.foreign-tax-country-repeater__add-btn:hover {
  background: var(--zense-color-neutral-lightest);
}

.resend-countdown-link {
  display: inline;
}

.resend-countdown-link__action {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--zense-color-brand-primary);
  font-size: 1rem;
  text-decoration: underline;
  padding: 0;
}

.resend-countdown-link--disabled .resend-countdown-link__action {
  cursor: default;
  color: var(--zense-color-neutral-medium);
  text-decoration: none;
  pointer-events: none;
}

.document-viewer-sheet__body {
  overflow-y: auto;
  flex: 1;
}

.document-viewer-sheet__content {
  max-width: 48.75rem;
  margin: 0 auto;
  padding: 0 4rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.document-viewer-sheet__footer {
  position: sticky;
  bottom: 0;
  background: var(--zense-color-neutral-white);
  border-top: 1px solid var(--zense-color-neutral-lighter);
  box-shadow: 0 -0.3125rem 0.46875rem rgba(0, 0, 0, 0.03);
  padding: 2rem;
  display: flex;
  justify-content: center;
}

.document-viewer-sheet__footer-btn {
  min-width: 12.5rem;
}

@media (max-width: 768px) {
  .document-viewer-sheet__content {
    padding: 0 2rem;
  }
  .document-viewer-sheet__footer-btn {
    width: 100%;
  }
}
.ddrs-agreement-sheet {
  display: contents;
}

.onboarding-ddr__section-heading {
  font-weight: var(--zense-font-weight-bold);
  font-size: var(--zense-font-size-md);
  line-height: var(--zense-line-height-md);
  margin-bottom: var(--zense-spacing-12);
}

.onboarding-ddr__bank-section {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-12);
}

.onboarding-ddr__bank-row {
  display: flex;
  align-items: center;
  gap: var(--zense-spacing-16);
  padding-block: var(--zense-spacing-16);
  padding-inline: 0;
  border-top: var(--zense-border-width-sm) solid var(--zense-color-neutral-lighter);
  border-bottom: var(--zense-border-width-sm) solid var(--zense-color-neutral-lighter);
}

.onboarding-ddr__bank-icon {
  width: 3rem;
  height: 3rem;
  flex-shrink: 0;
  background-color: var(--zense-color-neutral-lightest);
  border-radius: var(--zense-radius-full);
}

.onboarding-ddr__bank-info {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-4);
}

.onboarding-ddr__bank-name {
  font-weight: var(--zense-font-weight-medium);
  font-size: var(--zense-font-size-md);
  line-height: var(--zense-line-height-md);
}

.onboarding-ddr__bank-account {
  font-size: var(--zense-font-size-sm);
  color: var(--zense-color-neutral-darker);
  line-height: var(--zense-line-height-sm);
}

.onboarding-ddr__bank-caption {
  font-size: var(--zense-font-size-xs);
  color: var(--zense-color-neutral-dark);
  line-height: var(--zense-line-height-sm);
}

.onboarding-ddr__confirm-bullets {
  padding-left: var(--zense-spacing-24);
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-8);
  font-size: var(--zense-font-size-md);
}

.investment-option-card {
  --card-gap: var(--zense-spacing-12);
  --card-padding: var(--zense-spacing-16);
  --card-radius: var(--zense-radius-md);
  --card-bg: var(--zense-color-neutral-white);
  --card-border: var(--zense-color-neutral-lighter);
  display: flex;
  align-items: center;
  gap: var(--card-gap);
  padding: var(--card-padding);
  border-radius: var(--card-radius);
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  cursor: pointer;
  width: 100%;
  text-align: left;
}
.investment-option-card:hover {
  background: var(--zense-color-neutral-lightest);
}
.investment-option-card:focus-visible {
  outline: 2px solid var(--zense-color-brand-primary);
  outline-offset: 2px;
}

.investment-option-card__icon {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.investment-option-card__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-8);
}

.investment-option-card__title {
  font-size: 1.125rem;
  line-height: 1.375rem;
  font-weight: 700;
  color: var(--zense-color-text-primary);
  margin: 0;
}

.investment-option-card__description {
  font-size: 1rem;
  line-height: 1.5rem;
  color: var(--zense-color-text-secondary);
  margin: 0;
}

.investment-option-card__facts {
  display: flex;
  gap: var(--zense-spacing-32);
}

.investment-option-card__arrow {
  flex-shrink: 0;
  color: var(--zense-color-brand-primary);
}

.chart-group {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-16);
}

.chart-group__header {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-4);
}

.chart-group__price {
  font-size: 1.75rem;
  line-height: 2rem;
  font-weight: 700;
  color: var(--zense-color-text-primary);
}

.chart-group__date {
  font-size: 0.75rem;
  line-height: 1.25rem;
  color: var(--zense-color-text-secondary);
}

.chart-group__tabs {
  display: flex;
  gap: var(--zense-spacing-8);
  border-bottom: 1px solid var(--zense-color-border-subtle);
}

.chart-group__tab {
  padding-block: var(--zense-spacing-8);
  padding-inline: var(--zense-spacing-16);
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: var(--zense-color-text-secondary);
  border-bottom: 2px solid transparent;
  margin-bottom: -0.0625rem;
}

.chart-group__tab--active {
  color: var(--zense-color-brand-primary);
  border-bottom-color: var(--zense-color-brand-primary);
  font-weight: 500;
}

.chart-group__timeframes {
  display: flex;
  gap: var(--zense-spacing-8);
  background: var(--zense-color-neutral-lighter);
  border-radius: var(--zense-radius-sm);
  padding: var(--zense-spacing-4);
}

.chart-group__pill {
  padding-block: var(--zense-spacing-4);
  padding-inline: var(--zense-spacing-12);
  border: 1px solid transparent;
  border-radius: var(--zense-radius-sm);
  background: transparent;
  cursor: pointer;
  font-size: 0.75rem;
  line-height: 1rem;
  color: var(--zense-color-text-primary);
}

.chart-group__pill--active {
  background: var(--zense-color-neutral-white);
  border-color: var(--zense-color-border-subtle);
}

.chart-group__chart {
  min-height: 12.5rem;
}

.chart-group__balance-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 12.5rem;
  background: var(--zense-color-neutral-lightest);
  border-radius: var(--zense-radius-md);
  color: var(--zense-color-text-secondary);
}

.performance-chart {
  width: 100%;
}

.invested-overview {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-24);
}

.invested-overview__transactions {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-8);
}

.invested-overview__transaction-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--zense-spacing-8);
  padding-block: var(--zense-spacing-12);
  padding-inline: 0;
  border-bottom: 1px solid var(--zense-color-border-subtle);
}

.invested-overview__tx-desc {
  flex: 1;
  font-size: 0.875rem;
  color: var(--zense-color-text-primary);
}

.invested-overview__tx-amount {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--zense-color-text-primary);
}

.invested-overview__tx-date {
  font-size: 0.75rem;
  color: var(--zense-color-text-secondary);
}

.invested-overview__recurring {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-8);
}

.invested-overview__goals {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-8);
}

.invested-overview__goals-promo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--zense-spacing-8);
  padding: var(--zense-spacing-16);
  background: var(--zense-color-neutral-lightest);
  border-radius: var(--zense-radius-md);
}

.invested-overview__goal-progress {
  height: 0.5rem;
  background: var(--zense-color-neutral-lighter);
  border-radius: var(--zense-radius-sm);
  overflow: hidden;
}

.invested-overview__goal-bar {
  height: 100%;
  width: var(--goal-progress);
  background: var(--zense-color-brand-primary);
  border-radius: var(--zense-radius-sm);
}

.invested-overview__switch,
.invested-overview__withdraw {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-8);
  padding: var(--zense-spacing-16);
  background: var(--zense-color-neutral-lightest);
  border-radius: var(--zense-radius-md);
}

.invested-overview__section-title {
  font-size: 1.125rem;
  line-height: 1.375rem;
  font-weight: 700;
  color: var(--zense-color-text-primary);
  margin: 0;
}

.invested-overview__link-btn {
  background: none;
  border: none;
  padding: 0;
  color: var(--zense-color-brand-primary);
  font-size: 0.875rem;
  cursor: pointer;
  text-decoration: underline;
}
.invested-overview__link-btn:disabled {
  color: var(--zense-color-text-disabled);
  cursor: not-allowed;
  text-decoration: none;
}

.invested-overview__cta-btn {
  background: none;
  border: 1px solid var(--zense-color-border-subtle);
  border-radius: var(--zense-radius-md);
  padding-block: var(--zense-spacing-12);
  padding-inline: var(--zense-spacing-16);
  font-size: 0.875rem;
  color: var(--zense-color-text-primary);
  cursor: pointer;
  width: 100%;
}
.invested-overview__cta-btn:disabled {
  color: var(--zense-color-text-disabled);
  cursor: not-allowed;
}

.invest-frequency {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-16);
}

.invest-frequency__options {
  background: var(--zense-color-neutral-white);
  border-radius: 2rem;
  padding: 4rem;
}

.invest-frequency__list {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-8);
}

.invest-frequency__option {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--zense-spacing-4);
  padding: var(--zense-spacing-16);
  border: 1px solid var(--zense-color-border-subtle);
  border-radius: var(--zense-radius-md);
  background: var(--zense-color-neutral-white);
  cursor: pointer;
  width: 100%;
  text-align: left;
}
.invest-frequency__option:hover {
  border-color: var(--zense-color-brand-primary);
}

.invest-frequency__option-label {
  font-size: 1rem;
  font-weight: 600;
  color: var(--zense-color-text-primary);
}

.invest-frequency__option-desc {
  font-size: 0.875rem;
  color: var(--zense-color-text-secondary);
}

.invest-amount__form {
  background: var(--zense-color-neutral-white);
  border-radius: 2rem;
  padding: 4rem;
}

.invest-amount__actions {
  display: flex;
  gap: var(--zense-spacing-16);
  justify-content: flex-end;
}

.invest-review__actions {
  position: sticky;
  bottom: 0;
  display: flex;
  gap: var(--zense-spacing-16);
  justify-content: flex-end;
  background: var(--zense-color-neutral-white);
  padding: var(--zense-spacing-16);
  border-top: 1px solid var(--zense-color-border-subtle);
  z-index: 10;
}

.invest-review__callout {
  font-size: 0.875rem;
  color: var(--zense-color-text-secondary);
}

.invest-otp {
  max-width: 17.4375rem;
}

.invest-otp__error {
  font-size: 0.875rem;
  color: var(--zense-color-error-text);
}

.invest-otp__resend {
  margin-top: var(--zense-spacing-16);
}

.invest-receipt__success-icon {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: var(--zense-color-success-subtle);
  margin-block: 0 var(--zense-spacing-16);
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.invest-receipt__header {
  text-align: center;
  margin-bottom: var(--zense-spacing-24);
}

.invest-receipt__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--zense-color-text-primary);
}

.invest-receipt__receipt-number {
  font-size: 0.875rem;
  color: var(--zense-color-text-secondary);
  margin-top: var(--zense-spacing-4);
}

.invest-receipt__callout {
  font-size: 0.875rem;
  color: var(--zense-color-text-secondary);
}

.invest-receipt__actions {
  display: flex;
  justify-content: center;
}

@media (max-width: 767px) {
  .invest-edit__actions {
    flex-direction: column;
    gap: 0.5rem;
  }
  .invest-edit__primary-actions {
    flex-direction: column;
    width: 100%;
  }
  .invest-edit__primary-actions > * {
    width: 100%;
  }
}
@media (max-width: 1023px) {
  .invest-edit__content-box,
  .invest-review-update__content-box,
  .invest-receipt__content-box {
    padding: 2rem;
  }
}
@media (max-width: 767px) {
  .invest-edit__content-box,
  .invest-review-update__content-box,
  .invest-receipt__content-box {
    padding: 1.5rem;
  }
}
@media (max-width: 767px) {
  .layout--2-col {
    flex-direction: column;
  }
  .layout--2-col > * {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .invest-review-update__actions {
    flex-direction: column;
    gap: 0.5rem;
  }
  .invest-review-update__actions > * {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .invest-receipt__actions {
    width: 100%;
  }
  .invest-receipt__actions > * {
    width: 100%;
  }
}
.recurring-panel {
  background: var(--zense-color-neutral-white);
}

.recurring-panel__header {
  padding: 1rem;
  border-bottom: 1px solid var(--zense-color-border-subtle);
}

.recurring-panel__heading {
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.25rem;
  color: var(--zense-color-neutral-dark);
  margin: 0;
}

.recurring-panel__body {
  padding: 1rem;
}

.recurring-panel__description {
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: var(--zense-color-neutral-medium);
  margin: 0 0 1rem;
}

.recurring-panel__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding-block: 0.75rem;
  padding-inline: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 2rem;
  background: transparent;
  color: var(--zense-color-primary);
  font-size: 0.875rem;
  cursor: pointer;
}

.recurring-panel__cta:hover {
  background: color-mix(in srgb, var(--zense-color-primary) 5%, transparent);
}

.recurring-panel__cta-icon {
  font-size: 1.125rem;
  line-height: 1;
}

.recurring-panel__footer {
  display: flex;
  align-items: center;
  min-height: 3.375rem;
  padding-block: 0.3125rem;
  padding-inline: 1rem;
  border-top: 1px solid var(--zense-color-border-subtle);
}

.recurring-panel__edit-link {
  background: transparent;
  border: none;
  color: var(--zense-color-primary);
  font-size: 0.875rem;
  cursor: pointer;
  padding: 0;
}

.recurring-panel__edit-link:hover {
  text-decoration: underline;
}

.goal-crop-slider {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
}

.goal-crop-slider__track {
  flex: 1;
  height: 1.5rem;
  appearance: none;
  cursor: pointer;
}

.goal-crop-slider__minus {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.goal-crop-slider__plus {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.goal-image-cropper {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}

.goal-image-cropper__preview {
  width: 11.5rem;
  height: 11.5rem;
  border-radius: 0.5rem;
  overflow: hidden;
  flex-shrink: 0;
}

.goal-image-cropper__preview img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.goal-image-cropper__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--zense-color-neutral-lightest);
}

.goal-image-cropper__controls {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1;
}

.goal-image-cropper__buttons {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}

.goal-image-cropper__file-input {
  display: none;
}

.goal-settings {
  max-width: 48.75rem;
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.goal-settings__about {
  background: var(--zense-color-neutral-white);
  border-radius: 2rem;
  padding: 4rem;
}

.goal-settings__section-title {
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.25rem;
  margin-bottom: 1rem;
}

.goal-settings__alerts {
  background: var(--zense-color-neutral-white);
  border-radius: 2rem;
  padding: 4rem;
}

.goal-settings__alerts-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.goal-settings__actions {
  position: sticky;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--zense-color-neutral-lightest);
  padding-block: 1rem;
}

.goal-settings__action-right {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}

.goal-settings__edit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.25rem;
  border-radius: 0.25rem;
}

.goal-editor {
  max-width: 48.75rem;
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.goal-editor__card {
  background: var(--zense-color-neutral-white);
  border-radius: 2rem;
  padding: 4rem;
}

.goal-editor__actions {
  display: flex;
  justify-content: space-between;
}

.withdraw-amount {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-32);
  max-width: 48.75rem;
  margin: 0 auto;
  width: 100%;
}

.withdraw-amount__card {
  background: var(--zense-color-neutral-white);
  border-radius: var(--zense-radius-xl);
  padding: var(--zense-spacing-64);
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-32);
  box-shadow: 0 0 1.875rem 0.3125rem var(--zense-color-default-black-3);
}

.withdraw-amount__field {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-4);
}

.withdraw-amount__hint {
  font-size: var(--zense-font-size-sm);
  line-height: var(--zense-line-height-sm);
  color: var(--zense-color-neutral-dark);
  margin: 0;
}

.withdraw-amount__description {
  font-size: var(--zense-font-size-sm);
  line-height: var(--zense-line-height-sm);
  color: var(--zense-color-neutral-dark);
  margin: 0;
}

.withdraw-amount__actions {
  display: flex;
  justify-content: space-between;
  gap: var(--zense-spacing-16);
}

.withdraw-confirm-close {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--zense-color-default-black-50);
  backdrop-filter: blur(0.0625rem);
  z-index: 100;
  padding: var(--zense-spacing-8) var(--zense-spacing-32);
  border: none;
  margin: 0;
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
}

.withdraw-confirm-close__card {
  position: relative;
  background: var(--zense-color-neutral-white);
  border: 0.0625rem solid var(--zense-color-neutral-lighter);
  border-radius: var(--zense-radius-xl);
  padding-top: var(--zense-spacing-56);
  padding-inline: var(--zense-spacing-32);
  padding-bottom: var(--zense-spacing-32);
  width: 37.5rem;
  max-width: 37.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.875rem;
}

.withdraw-confirm-close__dismiss {
  position: absolute;
  top: var(--zense-spacing-20);
  right: var(--zense-spacing-20);
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--zense-color-neutral-medium);
  font-size: var(--zense-font-size-sm);
  padding: 0;
}
.withdraw-confirm-close__dismiss:hover {
  color: var(--zense-color-neutral-black);
}
.withdraw-confirm-close__dismiss:focus-visible {
  outline: 0.125rem solid var(--zense-color-focus-ring);
  outline-offset: 0.125rem;
  border-radius: var(--zense-radius-sm);
}

.withdraw-confirm-close__title {
  font-size: var(--zense-font-size-2xl);
  line-height: var(--zense-line-height-2xl);
  font-weight: var(--zense-font-weight-bold);
  font-family: var(--zense-font-family-heading);
  color: var(--zense-color-neutral-black);
  text-align: center;
  margin: 0;
}

.withdraw-confirm-close__body {
  font-size: var(--zense-font-size-md);
  line-height: var(--zense-line-height-md);
  color: var(--zense-color-neutral-black);
  text-align: center;
  margin: 0;
  word-break: break-word;
}

.withdraw-confirm-close__buttons {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: var(--zense-spacing-12);
  width: 100%;
}

.withdraw-review {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-32);
  max-width: 48.75rem;
  margin: 0 auto;
  width: 100%;
}

.withdraw-review__card {
  background: var(--zense-color-neutral-white);
  border-radius: var(--zense-radius-xl);
  padding: var(--zense-spacing-64);
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-32);
  box-shadow: 0 0 1.875rem 0.3125rem var(--zense-color-default-black-3);
}

.withdraw-review__rows {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}

.withdraw-review__row {
  display: flex;
  align-items: flex-start;
  gap: var(--zense-spacing-16);
  padding-block: var(--zense-spacing-24);
}

.withdraw-review__row:first-child {
  padding-top: 0;
}

.withdraw-review__row:last-child {
  padding-bottom: 0;
}

.withdraw-review__row--bordered {
  border-top: var(--zense-border-width-sm) solid var(--zense-color-neutral-lighter);
}

.withdraw-review__label {
  flex: 0 0 10rem;
  font-size: var(--zense-font-size-sm);
  line-height: var(--zense-line-height-sm);
  color: var(--zense-color-neutral-darker);
  padding-block: var(--zense-spacing-2);
  margin: 0;
}

.withdraw-review__value {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-4);
  font-size: var(--zense-font-size-md);
  line-height: var(--zense-line-height-md);
  font-weight: var(--zense-font-weight-bold);
  color: var(--zense-color-neutral-darkest);
  margin: 0;
}

.withdraw-review__value-note {
  font-size: var(--zense-font-size-sm);
  line-height: var(--zense-line-height-sm);
  font-weight: var(--zense-font-weight-regular);
  color: var(--zense-color-neutral-darkest);
}

.withdraw-review__notification {
  background: var(--zense-color-neutral-lightest);
  border-radius: var(--zense-radius-md);
  padding: var(--zense-spacing-16);
}

.withdraw-review__notification-text {
  font-size: var(--zense-font-size-sm);
  line-height: var(--zense-line-height-sm);
  color: var(--zense-color-neutral-darkest);
  margin: 0;
}

.withdraw-review__acknowledgement {
  font-size: var(--zense-font-size-sm);
  line-height: var(--zense-line-height-sm);
  color: var(--zense-color-neutral-darker);
  margin: 0;
}

.withdraw-review__actions {
  display: flex;
  justify-content: space-between;
  gap: var(--zense-spacing-16);
}

.withdraw-verify {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--zense-spacing-32);
  max-width: 48.75rem;
  margin: 0 auto;
  width: 100%;
}

.withdraw-verify__card {
  background: var(--zense-color-neutral-white);
  border-radius: var(--zense-radius-xl);
  padding: var(--zense-spacing-64);
  width: 100%;
  box-shadow: 0 0 1.875rem 0.3125rem var(--zense-color-default-black-3);
  position: relative;
}

.withdraw-verify__content {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-32);
}

.withdraw-verify__description {
  font-size: var(--zense-font-size-md);
  line-height: var(--zense-line-height-md);
  color: var(--zense-color-neutral-darkest);
  margin: 0;
}

.withdraw-verify__field {
  display: flex;
  flex-direction: column;
  gap: var(--zense-spacing-12);
}

.withdraw-verify__label {
  font-size: var(--zense-font-size-md);
  line-height: var(--zense-line-height-sm);
  font-weight: var(--zense-font-weight-semibold);
  color: var(--zense-color-neutral-darkest);
}

.withdraw-verify__resend {
  font-size: var(--zense-font-size-sm);
  line-height: var(--zense-line-height-sm);
  color: var(--zense-color-brand-primary);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
  text-align: left;
}
.withdraw-verify__resend:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.withdraw-verify__resend:focus-visible {
  outline: 0.125rem solid var(--zense-color-brand-primary);
  outline-offset: var(--zense-spacing-2);
  border-radius: var(--zense-radius-sm);
}

@media (max-width: 768px) {
  .withdraw-amount__card {
    padding: var(--zense-spacing-32);
  }
  .withdraw-review__card {
    padding: var(--zense-spacing-32);
  }
  .withdraw-verify__card {
    padding: var(--zense-spacing-32);
  }
}
@media (max-width: 393px) {
  .withdraw-amount__card {
    padding: var(--zense-spacing-16);
  }
  .withdraw-confirm-close {
    padding: var(--zense-spacing-16) var(--zense-spacing-32);
  }
  .withdraw-confirm-close__card {
    padding-top: var(--zense-spacing-64);
    width: 21.4375rem;
    max-width: 100%;
  }
  .withdraw-confirm-close__title {
    font-size: var(--zense-font-size-xl);
    line-height: var(--zense-line-height-xl);
  }
  .withdraw-confirm-close__buttons {
    flex-direction: column;
  }
  .withdraw-review__card {
    padding-block: var(--zense-spacing-32);
    padding-inline: var(--zense-spacing-16);
    border: var(--zense-border-width-sm) solid var(--zense-color-neutral-medium);
  }
  .withdraw-review__row {
    flex-direction: column;
    gap: var(--zense-spacing-4);
  }
  .withdraw-review__label {
    flex: none;
  }
  .withdraw-review__actions {
    flex-direction: column-reverse;
  }
  .withdraw-verify__card {
    padding-block: var(--zense-spacing-32);
    padding-inline: var(--zense-spacing-16);
  }
}
.chart--positive {
  color: var(--zense-color-status-success);
}

.chart--negative {
  color: var(--zense-color-status-error);
}

.portfolio-error__headline {
  font-weight: 600;
  margin-block-end: 0.5rem;
}

.portfolio-error__body {
  margin: 0;
}

.portfolio__eligibility-gate {
  padding-inline: 4rem;
  padding-block: 2rem;
}

.portfolio__main {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding-inline: 4rem;
  padding-block-start: 1rem;
  padding-block-end: 2rem;
}

.portfolio-metric {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

.portfolio-metric__label {
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.03125rem;
  color: var(--zense-color-neutral-dark);
}

.portfolio-metric__value {
  font-size: 0.875rem;
  font-weight: 600;
}

.portfolio__as-at {
  font-size: 0.75rem;
  color: var(--zense-color-neutral-dark);
  margin: 0;
}

.portfolio__as-at--stale {
  color: var(--zense-color-status-warning);
}

.portfolio__stale-indicator {
  font-style: italic;
}

.portfolio__holdings {
  display: flex;
  flex-direction: column;
}

.portfolio__panels {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  padding-inline: 4rem;
  padding-block-end: 2rem;
}

.portfolio__panel {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border-radius: 1rem;
  background-color: var(--zense-color-neutral-white);
  box-shadow: 0 0 1.875rem 0.3125rem rgba(0, 0, 0, 0.03);
  padding: 1rem;
  min-height: 3.25rem;
}

.portfolio__empty-hero {
  padding-inline: 4rem;
  padding-block-start: 1rem;
  padding-block-end: 2rem;
}

@media (max-width: 834px) {
  .portfolio__main {
    padding-inline: 2rem;
  }
  .portfolio__panels {
    padding-inline: 2rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .portfolio__empty-hero {
    padding-inline: 2rem;
  }
  .portfolio__eligibility-gate {
    padding-inline: 2rem;
  }
}
@media (max-width: 768px) {
  .portfolio__main {
    padding-inline: 1rem;
    gap: 1rem;
  }
  .portfolio__panels {
    padding-inline: 1rem;
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .portfolio__empty-hero {
    padding-inline: 1rem;
  }
  .portfolio__eligibility-gate {
    padding-inline: 1rem;
  }
}
.ledger-row {
  display: flex;
  align-items: center;
  cursor: pointer;
  height: 4.75rem;
  padding: 0 1rem;
  gap: 0.75rem;
}

.ledger-row__icon {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
}

.ledger-row__glyph {
  border-radius: 50%;
  width: 100%;
  height: 100%;
}

.ledger-row__content {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

.ledger-row__name {
  font-weight: 500;
}

.ledger-row__sub {
  color: var(--zense-color-text-secondary);
  font-size: 0.8125rem;
}

.ledger-row__amount {
  text-align: right;
  font-weight: 500;
  white-space: nowrap;
}

.ledger-row__amount--negative {
  color: var(--zense-color-error-text);
}

.transaction-detail-modal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
}

.transaction-detail-modal__wrapper {
  position: relative;
  background: var(--zense-color-neutral-white);
  border-radius: 0.5rem;
  max-width: 37.5rem;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  padding: 1.5rem;
  border: none;
}

.transaction-detail-modal__dismiss {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 2rem;
  height: 2rem;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: var(--zense-color-text-secondary);
}

.transaction-detail-modal__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding-bottom: 1.5rem;
  text-align: center;
}

.transaction-detail-modal__hero-amount {
  font-size: 1.75rem;
  font-weight: 700;
}

.transaction-detail-modal__hero-amount--negative {
  color: var(--zense-color-error-text);
}

.transaction-detail-modal__title {
  font-size: 1.125rem;
  font-weight: 500;
}

.transaction-detail-modal__badge {
  display: inline-block;
  padding: 0.25rem 0.625rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  background: var(--zense-color-neutral-lighter);
  color: var(--zense-color-text-secondary);
}

.transaction-detail-modal__badge--pending {
  background: var(--zense-color-warning-subtle);
  color: var(--zense-color-warning-text);
}

.transaction-detail-modal__body {
  display: flex;
  flex-direction: column;
}

.transaction-detail-modal__data-row {
  display: flex;
  justify-content: space-between;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--zense-color-border-subtle);
}

.transaction-detail-modal__footer {
  display: flex;
  justify-content: center;
  padding-top: 1.5rem;
}

@media (max-width: 393px) {
  .transaction-detail-modal__wrapper {
    max-width: 23.4375rem;
  }
}
.activity-page {
  display: flex;
  flex-direction: column;
}

.activity-page__header {
  padding: 1.5rem 0 1rem;
}

.activity-page__title {
  font-size: 1.5rem;
  font-weight: 600;
  margin: 0;
}

.activity-page__layout {
  display: grid;
  grid-template-columns: 1fr 21.625rem;
  gap: 1.5rem;
}

.activity-page__list-panel {
  display: flex;
  flex-direction: column;
}

.activity-page__filter-panel {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.activity-page__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-bottom: 0.75rem;
}

.activity-page__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.625rem;
  border-radius: 1rem;
  border: 1px solid var(--zense-color-brand-primary);
  background: var(--zense-color-neutral-white);
  color: var(--zense-color-brand-primary);
  font-size: 0.8125rem;
  cursor: pointer;
}

.activity-page__chip-dismiss {
  font-size: 0.6875rem;
}

.activity-page__group-header {
  height: 3.25rem;
  display: flex;
  align-items: center;
  padding: 0 1rem;
  background: var(--zense-color-neutral-lightest);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--zense-color-text-secondary);
}

.activity-page__terminator {
  text-align: center;
  color: var(--zense-color-text-secondary);
  height: 5.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.activity-page__load-more-wrapper {
  display: flex;
  justify-content: center;
  padding: 1rem;
}

.activity-page__load-more {
  min-width: 7.5rem;
}

.activity-page__filter-actions {
  display: flex;
  gap: 0.5rem;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 1rem;
}

@media (max-width: 768px) {
  .activity-page__layout {
    grid-template-columns: 1fr;
  }
  .activity-page__filter-panel {
    order: -1;
  }
}
.document-list__hub {
  display: flex;
  flex-direction: column;
}

.document-list__hub-row {
  display: flex;
  align-items: center;
  padding: 1rem 0;
  text-decoration: none;
  cursor: pointer;
  gap: 0.75rem;
}
.document-list__hub-row:hover {
  opacity: 0.8;
}

.document-list__hub-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  flex-shrink: 0;
}

.document-list__hub-label {
  flex: 1;
}

.document-list__hub-chevron {
  font-size: 1.25rem;
}

.document-list__category-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.document-list__breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
}

.document-list__category-layout {
  display: grid;
  grid-template-columns: 1fr 21.625rem;
  gap: 1.5rem;
}

.document-list__category-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.document-list__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-bottom: 0.75rem;
}

.document-list__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.625rem;
  border-radius: 1rem;
  border: 1px solid var(--zense-color-brand-primary);
  background: var(--zense-color-neutral-white);
  color: var(--zense-color-brand-primary);
  font-size: 0.8125rem;
  cursor: pointer;
}

.document-list__chip-dismiss {
  font-size: 0.6875rem;
}

.document-list__group-header {
  height: 3.25rem;
  display: flex;
  align-items: center;
  padding: 0 1rem;
  background: var(--zense-color-neutral-lightest);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--zense-color-text-secondary);
}

.document-list__row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0;
}

.document-list__row-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0.125rem;
}

.document-list__row-title {
  font-weight: 500;
}

.document-list__row-subtitle {
  font-size: 0.875rem;
  color: var(--zense-color-text-secondary);
}

.document-list__download-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
  color: var(--zense-color-brand-primary);
}

.document-list__empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 3rem 1.5rem;
}

.document-list__no-results {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem 1.5rem;
}

.document-list__filter-panel {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.document-list__filter-actions {
  display: flex;
  gap: 0.5rem;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 1rem;
}

@media (max-width: 768px) {
  .document-list__category-layout {
    grid-template-columns: 1fr;
  }
  .document-list__filter-panel {
    order: -1;
  }
}
.session-timeout {
  --session-timeout-gap: var(--zense-spacing-16);
  --session-timeout-padding: var(--zense-spacing-16);
  --session-timeout-radius: var(--zense-radius-md);
  display: flex;
  flex-direction: column;
  gap: var(--session-timeout-gap);
  min-height: 0.0625rem;
}

.session-timeout__warning {
  padding: var(--session-timeout-padding);
  border-radius: var(--session-timeout-radius);
  background-color: var(--zense-color-status-warning-subtle);
  color: var(--zense-color-status-warning-dark);
}

.session-timeout__expired {
  padding: var(--session-timeout-padding);
  border-radius: var(--session-timeout-radius);
  background-color: var(--zense-color-status-error-subtle);
  color: var(--zense-color-status-error-dark);
}

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

/*# sourceMappingURL=theme.css.map */
