@charset "UTF-8";
:root {
  --primary: #8000ff;
  --primary-rgb: 128, 0, 255;
  --primary-text-emphasis: #431677;
  --primary-text-emphasis-rgb: 67, 22, 119;
  --primary-bg-subtle: #f6e9ff;
  --primary-bg-subtle-rgb: 246, 233, 255;
  --primary-border-subtle: #e3bfff;
  --primary-border-subtle-rgb: 227, 191, 255;
  --success: #15803d;
  --success-rgb: 21, 128, 61;
  --success-text-emphasis: #174022;
  --success-text-emphasis-rgb: 23, 64, 34;
  --success-bg-subtle: #e9f2ea;
  --success-bg-subtle-rgb: 233, 242, 234;
  --success-border-subtle: #bed9c1;
  --success-border-subtle-rgb: 190, 217, 193;
  --danger: #dc2626;
  --danger-rgb: 220, 38, 38;
  --danger-text-emphasis: #6a1e18;
  --danger-text-emphasis-rgb: 106, 30, 24;
  --danger-bg-subtle: #ffebe7;
  --danger-bg-subtle-rgb: 255, 235, 231;
  --danger-border-subtle: #ffc4b9;
  --danger-border-subtle-rgb: 255, 196, 185;
  --warning: #f59e0b;
  --warning-rgb: 245, 158, 11;
  --warning-text-emphasis: #744d15;
  --warning-text-emphasis-rgb: 116, 77, 21;
  --warning-bg-subtle: #fff5e9;
  --warning-bg-subtle-rgb: 255, 245, 233;
  --warning-border-subtle: #ffe1bc;
  --warning-border-subtle-rgb: 255, 225, 188;
  --info: #06b6d4;
  --info-rgb: 6, 182, 212;
  --info-text-emphasis: #1e5764;
  --info-text-emphasis-rgb: 30, 87, 100;
  --info-bg-subtle: #eef8fb;
  --info-bg-subtle-rgb: 238, 248, 251;
  --info-border-subtle: #cae9f2;
  --info-border-subtle-rgb: 202, 233, 242;
  --accent: #00ffa2;
  --accent-rgb: 0, 255, 162;
  --accent-text-emphasis: #22774f;
  --accent-text-emphasis-rgb: 34, 119, 79;
  --accent-bg-subtle: #ccffec;
  --accent-bg-subtle-rgb: 204, 255, 236;
  --accent-border-subtle: #a6ffde;
  --accent-border-subtle-rgb: 166, 255, 222;
  --primary-dark: #4000ca;
  --success-dark: #005213;
  --danger-dark: #a20000;
  --warning-dark: #bd6f00;
  --info-dark: #0086a3;
  --accent-dark: #00ca73;
  --black: #000;
  --black-rgb: 0, 0, 0;
  --white: #fff;
  --white-rgb: 255, 255, 255;
  --blue: #2171b5;
  --blue-rgb: 33, 113, 181;
  --indigo: #170783;
  --indigo-rgb: 23, 7, 131;
  --purple: #8000ff;
  --purple-rgb: 128, 0, 255;
  --red: #dc2626;
  --red-rgb: 220, 38, 38;
  --green: #15803d;
  --green-rgb: 21, 128, 61;
  --yellow: #f59e0b;
  --yellow-rgb: 245, 158, 11;
  --orange: #f97316;
  --orange-rgb: 249, 115, 22;
  --pink: #ec4899;
  --pink-rgb: 236, 72, 153;
  --teal: #0f766e;
  --teal-rgb: 15, 118, 110;
  --cyan: #06b6d4;
  --cyan-rgb: 6, 182, 212;
  --slate: #64748b;
  --slate-rgb: 100, 116, 139;
  --mint: #00ffa2;
  --mint-rgb: 0, 255, 162;
  --blue-100: #ecf0f8;
  --blue-200: #c5d2e9;
  --blue-300: #9eb5da;
  --blue-400: #7599cb;
  --blue-500: #2171b5;
  --blue-600: #224e7b;
  --blue-700: #1e3957;
  --blue-800: #172435;
  --blue-900: #0c1016;
  --indigo-100: #eae4f3;
  --indigo-200: #c1b1da;
  --indigo-300: #977fc1;
  --indigo-400: #6c50a9;
  --indigo-500: #170783;
  --indigo-600: #1b0b5b;
  --indigo-700: #190c41;
  --indigo-800: #160829;
  --indigo-900: #0a0313;
  --purple-100: #f6e9ff;
  --purple-200: #e3bfff;
  --purple-300: #cc94ff;
  --purple-400: #b267ff;
  --purple-500: #8000ff;
  --purple-600: #5b14ab;
  --purple-700: #431677;
  --purple-800: #2c1347;
  --purple-900: #16091c;
  --red-100: #ffebe7;
  --red-200: #ffc4b9;
  --red-300: #fc9d8d;
  --red-400: #f27462;
  --red-500: #dc2626;
  --red-600: #96231d;
  --red-700: #6a1e18;
  --red-800: #411711;
  --red-900: #1d0c06;
  --green-100: #e9f2ea;
  --green-200: #bed9c1;
  --green-300: #93bf9a;
  --green-400: #67a674;
  --green-500: #15803d;
  --green-600: #19592c;
  --green-700: #174022;
  --green-800: #132818;
  --green-900: #09120a;
  --yellow-100: #fff5e9;
  --yellow-200: #ffe1bc;
  --yellow-300: #ffce91;
  --yellow-400: #ffba64;
  --yellow-500: #f59e0b;
  --yellow-600: #a66c15;
  --yellow-700: #744d15;
  --yellow-800: #462f12;
  --yellow-900: #1d1408;
  --orange-100: #fff1e8;
  --orange-200: #ffd5ba;
  --orange-300: #ffba8d;
  --orange-400: #ff9e61;
  --orange-500: #f97316;
  --orange-600: #a95017;
  --orange-700: #773a15;
  --orange-800: #482611;
  --orange-900: #1e1107;
  --pink-100: #ffeef4;
  --pink-200: #ffcddf;
  --pink-300: #fcaacb;
  --pink-400: #f787b7;
  --pink-500: #ec4899;
  --pink-600: #a03669;
  --pink-700: #702a4a;
  --pink-800: #441d2e;
  --pink-900: #1c0f14;
  --teal-100: #e9f1f0;
  --teal-200: #bdd5d1;
  --teal-300: #91b9b4;
  --teal-400: #659e97;
  --teal-500: #0f766e;
  --teal-600: #16524c;
  --teal-700: #163b37;
  --teal-800: #122623;
  --teal-900: #081110;
  --cyan-100: #eef8fb;
  --cyan-200: #cae9f2;
  --cyan-300: #a5dae9;
  --cyan-400: #7bcce1;
  --cyan-500: #06b6d4;
  --cyan-600: #1e7c8f;
  --cyan-700: #1e5764;
  --cyan-800: #19353c;
  --cyan-900: #0e1619;
  --slate-100: #eff0f3;
  --slate-200: #cfd3db;
  --slate-300: #afb7c4;
  --slate-400: #919cad;
  --slate-500: #64748b;
  --slate-600: #46505f;
  --slate-700: #333a44;
  --slate-800: #21252b;
  --slate-900: #0f1113;
  --mint-100: #f0fff6;
  --mint-200: #d0ffe3;
  --mint-300: #adffd0;
  --mint-400: #84ffbe;
  --mint-500: #00ffa2;
  --mint-600: #22ab6f;
  --mint-700: #22774f;
  --mint-800: #1c4730;
  --mint-900: #101c15;
  --rdpu-100: #fff7f3;
  --rdpu-200: #fde0dd;
  --rdpu-300: #fcc5c0;
  --rdpu-400: #fa9fb5;
  --rdpu-500: #f768a1;
  --rdpu-600: #dd3497;
  --rdpu-700: #ae017e;
  --rdpu-800: #7a0177;
  --rdpu-900: #49006a;
  --rdbu-100: #b2182b;
  --rdbu-200: #d6604d;
  --rdbu-300: #f4a582;
  --rdbu-400: #fddbc7;
  --rdbu-500: #f7f7f7;
  --rdbu-600: #d1e5f0;
  --rdbu-700: #92c5de;
  --rdbu-800: #4393c3;
  --rdbu-900: #2166ac;
  --piyg-100: #c51b7d;
  --piyg-200: #de77ae;
  --piyg-300: #f1b6da;
  --piyg-400: #fde0ef;
  --piyg-500: #f7f7f7;
  --piyg-600: #e6f5d0;
  --piyg-700: #b8e186;
  --piyg-800: #7fbc41;
  --piyg-900: #4d9221;
  --emphasis: #000;
  --body: #0f1113;
  --background: #fff;
  --muted: #64748b;
  --secondary: #46505f;
  --tertiary: #64748b;
  --border: #cfd3db;
  --link: #224e7b;
  --link-hover: #1e3957;
  --muted-bg-subtle: #eff0f3;
  --muted-border-subtle: #cfd3db;
  --muted-text-emphasis: #333a44;
  color-scheme: light;
  --body-bg: #fff;
  --body-bg-rgb: 255, 255, 255;
  --body-color: #0f1113;
  --body-color-rgb: 15, 17, 19;
  --secondary-bg: #cfd3db;
  --secondary-color: #46505f;
  --tertiary-bg: #eff0f3;
  --tertiary-color: #64748b;
  --border-color: #cfd3db;
  --border-color-rgb: 207, 211, 219;
  --border-color-input: #afb7c4;
  --input-border-color: rgb(47.4630404463%, 53.510460251%, 62.2036262204%);
  --link-color: #224e7b;
  --link-hover-color: #1e3957;
  --focus-ring-color: var(--primary);
  --focus-ring-rgb: var(--primary-rgb);
  --component-active-bg: #1e3957;
  --component-active-color: #fff;
  --gradient: #f6e9ff, #ecf0f8;
  --gradient-bg: rgba(246, 233, 255, 0.25), rgba(255, 255, 255, 0.25), rgba(236, 240, 248, 0.25);
  --table-scroll-shadow: rgb(0 0 0 / 16%);
  --hr: 1rem;
  --vr: 1.5rem;
  --space-0: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --gap-y-sm: 0.75rem;
  --gap-x-sm: 0.75rem;
  --gap-y: 1.125rem;
  --gap-x: 1rem;
  --font-family-base: -apple-system, blinkmacsystemfont, Segoe UI, roboto, sans-serif;
  --font-size-xs: 0.75rem;
  --line-height-xs: 1.5rem;
  --font-size-sm: 0.875rem;
  --line-height-sm: 1.5rem;
  --font-size-base: 1rem;
  --line-height-base: 1.5;
  --font-size-md: 1.25rem;
  --line-height-md: 1.5rem;
  --font-size-lg: 1.5rem;
  --line-height-lg: 2.25rem;
  --font-size-xl: 1.75rem;
  --line-height-xl: 2.25rem;
  --font-size-2xl: 2rem;
  --line-height-2xl: 3rem;
}
@media (max-width: 767px) {
  :root {
    --font-size-md: 1.125rem;
    --font-size-lg: 1.25rem;
    --font-size-xl: 1.5rem;
    --font-size-2xl: 1.75rem;
    --line-height-lg: 1.5rem;
    --line-height-2xl: 2.25rem;
  }
}
:root {
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --shadow-card: 0 1px 20px rgba(0, 0, 0, 0.08);
  --transition-speed: 0.2s;
  --transition-easing: cubic-bezier(0.4, 0, 0.2, 1);
  --z-index-raised: 1;
  --z-index-sticky: 50;
  --z-index-dropdown: 100;
  --z-index-sidebar: 150;
  --z-index-overlay: 200;
  --panel-max-height: 70vh;
  --panel-max-height-sm: 16rem;
  --panel-width-md: 18rem;
  --panel-width-lg: 22rem;
  --overlay-bg: rgb(0 0 0 / 50%);
  --meter-bad: #d55e00;
  --meter-caution: #e69f00;
  --meter-good: #009e73;
  --meter-neutral: #56b4e9;
  --capalloc-capex: #8000ff;
  --capalloc-dividends: #3b82f6;
  --capalloc-buybacks: #14b8a6;
  --capalloc-acquisitions: #f59e0b;
  --capalloc-debt-repaid: #ec4899;
  --qual-paired-1: #a6cee3;
  --qual-paired-2: #1f78b4;
  --qual-paired-3: #b2df8a;
  --qual-paired-4: #33a02c;
  --series-1: #0072B2;
  --series-2: #E69F00;
  --series-3: #009E73;
  --series-4: #56B4E9;
  --series-5: #CC79A7;
  --series-6: #D55E00;
}
:root .text-warning {
  color: var(--warning-text-emphasis) !important;
}

:root[data-theme=dark] {
  color-scheme: dark;
  --body-bg: #0f1113;
  --body-bg-rgb: 15, 17, 19;
  --body-color: #eff0f3;
  --body-color-rgb: 239, 240, 243;
  --secondary-bg: #21252b;
  --secondary-color: #919cad;
  --tertiary-bg: #333a44;
  --tertiary-color: rgb(44.3726310608%, 50.7757814423%, 59.9803101157%);
  --border-color: #333a44;
  --border-color-rgb: 51, 58, 68;
  --border-color-input: #46505f;
  --input-border-color: #64748b;
  --link-color: rgb(70.1176470588%, 40%, 100%);
  --link-hover-color: rgb(75.0980392157%, 50%, 100%);
  --focus-ring-color: var(--link-color);
  --focus-ring-rgb: 178.8, 102, 255;
  --component-active-bg: rgb(59.1607843137%, 18%, 100%);
  --component-active-color: #fff;
  --gradient: #16091c, #0c1016;
  --gradient-bg: rgba(22, 9, 28, 0.9), rgba(0, 0, 0, 0.25), rgba(12, 16, 22, 0.9);
  --table-scroll-shadow: rgb(0 0 0 / 45%);
  --card-border-color: var(--border-color);
  --emphasis: #fff;
  --muted: #919cad;
  --muted-bg-subtle: color-mix(in srgb, var(--muted) 20%, var(--body-bg) 80%);
  --muted-border-subtle: color-mix(in srgb, var(--muted) 45%, var(--body-bg) 55%);
  --muted-text-emphasis: color-mix(in srgb, var(--muted) 70%, white 30%);
  --meter-bad: #f07830;
  --meter-caution: #f5b930;
  --meter-good: #1ac99a;
  --meter-neutral: #78c4ef;
  --capalloc-capex: #8000ff;
  --capalloc-dividends: #3b82f6;
  --capalloc-buybacks: #0d9488;
  --capalloc-acquisitions: #d97706;
  --capalloc-debt-repaid: #ec4899;
  --qual-paired-1: #a6cee3;
  --qual-paired-2: #1f78b4;
  --qual-paired-3: #b2df8a;
  --qual-paired-4: #33a02c;
  --series-1: #0072B2;
  --series-2: #E69F00;
  --series-3: #009E73;
  --series-4: #56B4E9;
  --series-5: #CC79A7;
  --series-6: #D55E00;
  --body: var(--body-color);
  --background: var(--body-bg);
  --secondary: var(--secondary-color);
  --tertiary: var(--tertiary-color);
  --border: var(--border-color);
  --link: var(--link-color);
  --link-hover: var(--link-hover-color);
  --primary-bg-subtle: color-mix(in srgb, var(--primary) 20%, var(--body-bg) 80%);
  --primary-border-subtle: color-mix(in srgb, var(--primary) 45%, var(--body-bg) 55%);
  --primary-text-emphasis: color-mix(in srgb, var(--primary) 65%, white 35%);
  --info-bg-subtle: color-mix(in srgb, var(--info) 20%, var(--body-bg) 80%);
  --info-border-subtle: color-mix(in srgb, var(--info) 45%, var(--body-bg) 55%);
  --info-text-emphasis: color-mix(in srgb, var(--info) 65%, white 35%);
  --success-bg-subtle: color-mix(in srgb, var(--success) 20%, var(--body-bg) 80%);
  --success-border-subtle: color-mix(in srgb, var(--success) 45%, var(--body-bg) 55%);
  --success-text-emphasis: color-mix(in srgb, var(--success) 65%, white 35%);
  --warning-bg-subtle: color-mix(in srgb, var(--warning) 20%, var(--body-bg) 80%);
  --warning-border-subtle: color-mix(in srgb, var(--warning) 45%, var(--body-bg) 55%);
  --warning-text-emphasis: color-mix(in srgb, var(--warning) 65%, white 35%);
  --danger-bg-subtle: color-mix(in srgb, var(--danger) 20%, var(--body-bg) 80%);
  --danger-border-subtle: color-mix(in srgb, var(--danger) 45%, var(--body-bg) 55%);
  --danger-text-emphasis: color-mix(in srgb, var(--danger) 65%, white 35%);
  --accent-bg-subtle: color-mix(in srgb, var(--accent) 20%, var(--body-bg) 80%);
  --accent-border-subtle: color-mix(in srgb, var(--accent) 45%, var(--body-bg) 55%);
  --accent-text-emphasis: color-mix(in srgb, var(--accent) 65%, white 35%);
}
:root[data-theme=dark] .text-primary {
  color: var(--primary-text-emphasis) !important;
}
:root[data-theme=dark] .text-info {
  color: var(--info-text-emphasis) !important;
}
:root[data-theme=dark] .text-success {
  color: var(--success-text-emphasis) !important;
}
:root[data-theme=dark] .text-warning {
  color: var(--warning-text-emphasis) !important;
}
:root[data-theme=dark] .text-danger {
  color: var(--danger-text-emphasis) !important;
}
:root[data-theme=dark] .text-accent {
  color: var(--accent-text-emphasis) !important;
}

* {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-delay: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
[hidden] {
  display: none !important;
}

html {
  text-size-adjust: 100%;
  overflow-x: clip;
  overscroll-behavior-y: contain;
  -webkit-tap-highlight-color: transparent;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

body {
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  margin: 0;
  padding: 0;
  background-color: var(--body-bg);
  color: var(--body-color);
}

img,
video,
canvas {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

p {
  margin-block-start: 0;
}

a {
  color: var(--link-color);
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
a:hover {
  color: var(--link-hover-color);
  text-decoration: none;
}

hr {
  border-bottom: 0;
  border-color: var(--border-color);
  border-style: solid;
  margin-block: 0.75rem 0.75rem;
}

label {
  display: inline-block;
}

details summary {
  cursor: pointer;
}

input:is([type=button], [type=submit], [type=reset]),
input[type=file]::file-selector-button,
button {
  cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  margin: 0 0 calc(var(--vr) * 1);
}

h1, .h1 {
  font-size: var(--font-size-2xl);
  line-height: var(--line-height-2xl);
}

h2, .h2 {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
}

h3, .h3 {
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
}

h4, .h4 {
  font-size: var(--font-size-md);
  line-height: var(--line-height-md);
}

h5, .h5 {
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
}

h6, .h6 {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}

p {
  margin-bottom: calc(var(--vr) * 1);
}

ol,
ul {
  margin: 0 0 calc(var(--vr) * 1);
  padding-left: calc(var(--hr) * 2);
}

dl {
  margin: 0 0 calc(var(--vr) * 1);
}

dt {
  font-weight: 600;
}

dd {
  margin: 0;
}

.title {
  color: var(--emphasis);
  font-weight: 100;
}
.title:has(> .company-logo) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.title > .subtitle {
  font-size: 87.5%;
}

.subtitle {
  color: var(--secondary-color);
  font-weight: 400;
}

.prose {
  max-inline-size: var(--measure, 36em);
}

.text-columns {
  columns: var(--column-number, 2) var(--column-width, 36em);
}

.text-help {
  font-size: 0.875rem;
  line-height: var(--line-height-sm);
  color: var(--secondary-color);
  max-inline-size: 36em;
}
.text-help .badge {
  --badge-padding-y: 0;
  --badge-padding-x: 0.125rem;
  font-size: inherit;
}

.text-disclaimer {
  font-size: 0.75rem;
  line-height: var(--line-height-xs);
  color: var(--secondary-color);
  max-inline-size: 36em;
}
.text-disclaimer .badge {
  --badge-padding-y: 0;
  --badge-padding-x: 0.125rem;
  font-size: inherit;
}

.text-help.text-center,
.text-disclaimer.text-center {
  margin-inline: auto;
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
}
@keyframes sheet-up {
  from {
    transform: translateY(100%);
  }
}
@keyframes pulse {
  0%, 100% {
    opacity: 0.35;
  }
  50% {
    opacity: 0.15;
  }
}
@keyframes shimmer {
  from {
    background-position: 200% 0;
  }
  to {
    background-position: -200% 0;
  }
}
@keyframes btn-progress-run {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(600%);
  }
}
@keyframes status-dot-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.4);
    opacity: 0.7;
  }
}
@keyframes row-highlight-fade {
  from {
    background-color: var(--warning-bg-subtle);
  }
  to {
    background-color: transparent;
  }
}
.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 0.75rem !important;
}

.m-4 {
  margin: 1rem !important;
}

.m-5 {
  margin: 1.25rem !important;
}

.m-6 {
  margin: 1.5rem !important;
}

.m-8 {
  margin: 2rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 0.375rem !important;
}

.mt-2 {
  margin-top: 0.75rem !important;
}

.mt-3 {
  margin-top: 1.125rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mt-5 {
  margin-top: 1.875rem !important;
}

.mt-6 {
  margin-top: 2.25rem !important;
}

.mt-8 {
  margin-top: 3rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 0.375rem !important;
}

.mb-2 {
  margin-bottom: 0.75rem !important;
}

.mb-3 {
  margin-bottom: 1.125rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 1.875rem !important;
}

.mb-6 {
  margin-bottom: 2.25rem !important;
}

.mb-8 {
  margin-bottom: 3rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 0.25rem !important;
}

.ms-2 {
  margin-left: 0.5rem !important;
}

.ms-3 {
  margin-left: 0.75rem !important;
}

.ms-4 {
  margin-left: 1rem !important;
}

.ms-5 {
  margin-left: 1.25rem !important;
}

.ms-6 {
  margin-left: 1.5rem !important;
}

.ms-8 {
  margin-left: 2rem !important;
}

.ms-auto {
  margin-left: auto !important;
}

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 0.25rem !important;
}

.me-2 {
  margin-right: 0.5rem !important;
}

.me-3 {
  margin-right: 0.75rem !important;
}

.me-4 {
  margin-right: 1rem !important;
}

.me-5 {
  margin-right: 1.25rem !important;
}

.me-6 {
  margin-right: 1.5rem !important;
}

.me-8 {
  margin-right: 2rem !important;
}

.me-auto {
  margin-right: auto !important;
}

.mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mx-1 {
  margin-left: 0.25rem !important;
  margin-right: 0.25rem !important;
}

.mx-2 {
  margin-left: 0.5rem !important;
  margin-right: 0.5rem !important;
}

.mx-3 {
  margin-left: 0.75rem !important;
  margin-right: 0.75rem !important;
}

.mx-4 {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.mx-5 {
  margin-left: 1.25rem !important;
  margin-right: 1.25rem !important;
}

.mx-6 {
  margin-left: 1.5rem !important;
  margin-right: 1.5rem !important;
}

.mx-8 {
  margin-left: 2rem !important;
  margin-right: 2rem !important;
}

.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.375rem !important;
  margin-bottom: 0.375rem !important;
}

.my-2 {
  margin-top: 0.75rem !important;
  margin-bottom: 0.75rem !important;
}

.my-3 {
  margin-top: 1.125rem !important;
  margin-bottom: 1.125rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.my-5 {
  margin-top: 1.875rem !important;
  margin-bottom: 1.875rem !important;
}

.my-6 {
  margin-top: 2.25rem !important;
  margin-bottom: 2.25rem !important;
}

.my-8 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 0.75rem !important;
}

.p-4 {
  padding: 1rem !important;
}

.p-5 {
  padding: 1.25rem !important;
}

.p-6 {
  padding: 1.5rem !important;
}

.p-8 {
  padding: 2rem !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 0.375rem !important;
}

.pt-2 {
  padding-top: 0.75rem !important;
}

.pt-3 {
  padding-top: 1.125rem !important;
}

.pt-4 {
  padding-top: 1.5rem !important;
}

.pt-5 {
  padding-top: 1.875rem !important;
}

.pt-6 {
  padding-top: 2.25rem !important;
}

.pt-8 {
  padding-top: 3rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 0.375rem !important;
}

.pb-2 {
  padding-bottom: 0.75rem !important;
}

.pb-3 {
  padding-bottom: 1.125rem !important;
}

.pb-4 {
  padding-bottom: 1.5rem !important;
}

.pb-5 {
  padding-bottom: 1.875rem !important;
}

.pb-6 {
  padding-bottom: 2.25rem !important;
}

.pb-8 {
  padding-bottom: 3rem !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ps-1 {
  padding-left: 0.25rem !important;
}

.ps-2 {
  padding-left: 0.5rem !important;
}

.ps-3 {
  padding-left: 0.75rem !important;
}

.ps-4 {
  padding-left: 1rem !important;
}

.ps-5 {
  padding-left: 1.25rem !important;
}

.ps-6 {
  padding-left: 1.5rem !important;
}

.ps-8 {
  padding-left: 2rem !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.pe-1 {
  padding-right: 0.25rem !important;
}

.pe-2 {
  padding-right: 0.5rem !important;
}

.pe-3 {
  padding-right: 0.75rem !important;
}

.pe-4 {
  padding-right: 1rem !important;
}

.pe-5 {
  padding-right: 1.25rem !important;
}

.pe-6 {
  padding-right: 1.5rem !important;
}

.pe-8 {
  padding-right: 2rem !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.px-1 {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

.px-2 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.px-3 {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}

.px-4 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.px-5 {
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}

.px-6 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

.px-8 {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 0.375rem !important;
  padding-bottom: 0.375rem !important;
}

.py-2 {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

.py-3 {
  padding-top: 1.125rem !important;
  padding-bottom: 1.125rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.py-5 {
  padding-top: 1.875rem !important;
  padding-bottom: 1.875rem !important;
}

.py-6 {
  padding-top: 2.25rem !important;
  padding-bottom: 2.25rem !important;
}

.py-8 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: 0.25rem !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

.gap-3 {
  gap: 0.75rem !important;
}

.gap-4 {
  gap: 1rem !important;
}

.gap-5 {
  gap: 1.25rem !important;
}

.gap-6 {
  gap: 1.5rem !important;
}

.gap-8 {
  gap: 2rem !important;
}

.gap-x-0 {
  column-gap: 0 !important;
}

.gap-x-1 {
  column-gap: 0.25rem !important;
}

.gap-x-2 {
  column-gap: 0.5rem !important;
}

.gap-x-3 {
  column-gap: 0.75rem !important;
}

.gap-x-4 {
  column-gap: 1rem !important;
}

.gap-x-5 {
  column-gap: 1.25rem !important;
}

.gap-x-6 {
  column-gap: 1.5rem !important;
}

.gap-x-8 {
  column-gap: 2rem !important;
}

.gap-y-0 {
  row-gap: 0 !important;
}

.gap-y-1 {
  row-gap: 0.25rem !important;
}

.gap-y-2 {
  row-gap: 0.5rem !important;
}

.gap-y-3 {
  row-gap: 0.75rem !important;
}

.gap-y-4 {
  row-gap: 1rem !important;
}

.gap-y-5 {
  row-gap: 1.25rem !important;
}

.gap-y-6 {
  row-gap: 1.5rem !important;
}

.gap-y-8 {
  row-gap: 2rem !important;
}

.bg-primary {
  background-color: var(--primary) !important;
}

.bg-primary-text-emphasis {
  background-color: var(--primary-text-emphasis) !important;
}

.bg-primary-bg-subtle {
  background-color: var(--primary-bg-subtle) !important;
}

.bg-primary-border-subtle {
  background-color: var(--primary-border-subtle) !important;
}

.bg-success {
  background-color: var(--success) !important;
}

.bg-success-text-emphasis {
  background-color: var(--success-text-emphasis) !important;
}

.bg-success-bg-subtle {
  background-color: var(--success-bg-subtle) !important;
}

.bg-success-border-subtle {
  background-color: var(--success-border-subtle) !important;
}

.bg-danger {
  background-color: var(--danger) !important;
}

.bg-danger-text-emphasis {
  background-color: var(--danger-text-emphasis) !important;
}

.bg-danger-bg-subtle {
  background-color: var(--danger-bg-subtle) !important;
}

.bg-danger-border-subtle {
  background-color: var(--danger-border-subtle) !important;
}

.bg-warning {
  background-color: var(--warning) !important;
}

.bg-warning-text-emphasis {
  background-color: var(--warning-text-emphasis) !important;
}

.bg-warning-bg-subtle {
  background-color: var(--warning-bg-subtle) !important;
}

.bg-warning-border-subtle {
  background-color: var(--warning-border-subtle) !important;
}

.bg-info {
  background-color: var(--info) !important;
}

.bg-info-text-emphasis {
  background-color: var(--info-text-emphasis) !important;
}

.bg-info-bg-subtle {
  background-color: var(--info-bg-subtle) !important;
}

.bg-info-border-subtle {
  background-color: var(--info-border-subtle) !important;
}

.bg-accent {
  background-color: var(--accent) !important;
}

.bg-accent-text-emphasis {
  background-color: var(--accent-text-emphasis) !important;
}

.bg-accent-bg-subtle {
  background-color: var(--accent-bg-subtle) !important;
}

.bg-accent-border-subtle {
  background-color: var(--accent-border-subtle) !important;
}

.bg-overlay {
  background-color: rgba(0, 0, 0, 0.4) !important;
}

.text-primary {
  color: var(--primary) !important;
}

.text-primary-text-emphasis {
  color: var(--primary-text-emphasis) !important;
}

.text-primary-bg-subtle {
  color: var(--primary-bg-subtle) !important;
}

.text-primary-border-subtle {
  color: var(--primary-border-subtle) !important;
}

.text-success {
  color: var(--success) !important;
}

.text-success-text-emphasis {
  color: var(--success-text-emphasis) !important;
}

.text-success-bg-subtle {
  color: var(--success-bg-subtle) !important;
}

.text-success-border-subtle {
  color: var(--success-border-subtle) !important;
}

.text-danger {
  color: var(--danger) !important;
}

.text-danger-text-emphasis {
  color: var(--danger-text-emphasis) !important;
}

.text-danger-bg-subtle {
  color: var(--danger-bg-subtle) !important;
}

.text-danger-border-subtle {
  color: var(--danger-border-subtle) !important;
}

.text-warning {
  color: var(--warning) !important;
}

.text-warning-text-emphasis {
  color: var(--warning-text-emphasis) !important;
}

.text-warning-bg-subtle {
  color: var(--warning-bg-subtle) !important;
}

.text-warning-border-subtle {
  color: var(--warning-border-subtle) !important;
}

.text-info {
  color: var(--info) !important;
}

.text-info-text-emphasis {
  color: var(--info-text-emphasis) !important;
}

.text-info-bg-subtle {
  color: var(--info-bg-subtle) !important;
}

.text-info-border-subtle {
  color: var(--info-border-subtle) !important;
}

.text-accent {
  color: var(--accent) !important;
}

.text-accent-text-emphasis {
  color: var(--accent-text-emphasis) !important;
}

.text-accent-bg-subtle {
  color: var(--accent-bg-subtle) !important;
}

.text-accent-border-subtle {
  color: var(--accent-border-subtle) !important;
}

.text-emphasis {
  color: var(--emphasis) !important;
}

.text-body {
  color: var(--body) !important;
}

.text-background {
  color: var(--background) !important;
}

.text-muted {
  color: var(--muted) !important;
}

.text-secondary {
  color: var(--secondary) !important;
}

.text-tertiary {
  color: var(--tertiary) !important;
}

.text-border {
  color: var(--border) !important;
}

.text-link {
  color: var(--link) !important;
}

.text-link-hover {
  color: var(--link-hover) !important;
}

.border {
  border: 1px solid var(--border-color) !important;
}

.border-top {
  border-top: 1px solid var(--border-color) !important;
}

.border-bottom {
  border-bottom: 1px solid var(--border-color) !important;
}

.border-start {
  border-left: 1px solid var(--border-color) !important;
}

.border-end {
  border-right: 1px solid var(--border-color) !important;
}

.rounded-sm {
  border-radius: 6px !important;
}

.rounded-md {
  border-radius: 8px !important;
}

.d-block {
  display: block !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-grid {
  display: grid !important;
}

.d-none {
  display: none !important;
}

@media (min-width: 576px) {
  .d-sm-block {
    display: block !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .d-md-block {
    display: block !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-none {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .d-lg-block {
    display: block !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-block {
    display: block !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-none {
    display: none !important;
  }
}
@media (min-width: 1280px) {
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-none {
    display: none !important;
  }
}
.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-1 {
  flex: 1 1 0% !important;
}

.flex-auto {
  flex: 1 1 auto !important;
}

.align-items-normal {
  align-items: normal !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.justify-content-start {
  justify-content: start !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.w-full {
  width: 100% !important;
}

.h-full {
  height: 100% !important;
}

.max-w-90vw {
  max-width: 90vw !important;
}

.max-h-85vh {
  max-height: 85vh !important;
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.overflow-y-auto {
  overflow-y: auto !important;
}

.position-relative {
  position: relative !important;
}

.position-fixed {
  position: fixed !important;
}

.inset-0 {
  inset: 0 !important;
}

.z-raised {
  z-index: var(--z-index-raised) !important;
}

.z-sticky {
  z-index: var(--z-index-sticky) !important;
}

.z-dropdown {
  z-index: var(--z-index-dropdown) !important;
}

.z-overlay {
  z-index: var(--z-index-overlay) !important;
}

.fw-light {
  font-weight: 100 !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.fw-bold {
  font-weight: 800 !important;
}

.uppercase {
  text-transform: uppercase !important;
}

.text-start {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-end {
  text-align: right !important;
}

.tabular-nums {
  font-variant-numeric: tabular-nums !important;
}

.whitespace-normal {
  white-space: normal !important;
}

.whitespace-nowrap {
  white-space: nowrap !important;
}

.truncate {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.text-xs {
  font-size: var(--font-size-xs) !important;
  line-height: var(--line-height-xs) !important;
}

.text-sm {
  font-size: var(--font-size-sm) !important;
  line-height: var(--line-height-sm) !important;
}

.text-base {
  font-size: var(--font-size-base) !important;
  line-height: var(--line-height-base) !important;
}

.text-md {
  font-size: var(--font-size-md) !important;
  line-height: var(--line-height-md) !important;
}

.text-lg {
  font-size: var(--font-size-lg) !important;
  line-height: var(--line-height-lg) !important;
}

.text-xl {
  font-size: var(--font-size-xl) !important;
  line-height: var(--line-height-xl) !important;
}

.text-2xl {
  font-size: var(--font-size-2xl) !important;
  line-height: var(--line-height-2xl) !important;
}

.fs-7 {
  font-size: var(--font-size-xs) !important;
  line-height: var(--line-height-xs) !important;
}

.fs-6 {
  font-size: var(--font-size-sm) !important;
  line-height: var(--line-height-sm) !important;
}

.fs-5 {
  font-size: var(--font-size-base) !important;
  line-height: var(--line-height-base) !important;
}

.fs-4 {
  font-size: var(--font-size-md) !important;
  line-height: var(--line-height-md) !important;
}

.fs-3 {
  font-size: var(--font-size-lg) !important;
  line-height: var(--line-height-lg) !important;
}

.fs-2 {
  font-size: var(--font-size-xl) !important;
  line-height: var(--line-height-xl) !important;
}

.fs-1 {
  font-size: var(--font-size-2xl) !important;
  line-height: var(--line-height-2xl) !important;
}

.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
}

.vstack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
}

.gap-rhythm {
  gap: var(--vr) var(--hr);
}

.sticky-top {
  position: sticky;
  top: 0;
}

.img-fluid {
  width: 100%;
  height: auto;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.text-truncate {
  max-width: var(--max-width, 12em);
  white-space: nowrap; /* Keeps text on a single line */
  overflow: hidden; /* Hides text that overflows the cell box */
  text-overflow: ellipsis; /* Adds the '...' visual indicator */
}

.constrain {
  width: 1200px;
  max-width: 100% !important;
  margin-inline: auto !important;
}

.page-preamble {
  width: 1200px;
  max-width: 100%;
  margin-inline: auto;
  margin-bottom: 1rem;
}

.chart-h-120 {
  height: 120px;
}

.chart-h-260 {
  height: 260px;
}

.chart-h-300 {
  height: 300px;
}

.chart-h-320 {
  height: 320px;
}

.chart-h-360 {
  height: 360px;
}

.chart-h-380 {
  height: 380px;
}

.chart-h-420 {
  height: 420px;
}

.w-auto {
  width: auto;
}

.w-5r {
  width: 5rem;
}

.w-6r {
  width: 6rem;
}

.w-7r {
  width: 7rem;
}

.w-8r {
  width: 8rem;
}

.w-10r {
  width: 10rem;
}

.w-12r {
  width: 12rem;
}

.w-16r {
  width: 16rem;
}

.w-24r {
  width: 24rem;
}

.mw-24r {
  max-width: 24rem;
}

.min-vh-80 {
  min-height: 80vh;
}

.alert-field-6r {
  flex: 0 0 6rem;
}

.alert-field-7r {
  flex: 0 0 7rem;
}

.alert-field-8r {
  flex: 0 0 8rem;
}

.alert-field-12r {
  flex: 1 0 12rem;
}

html body {
  background-image: linear-gradient(45deg, var(--gradient-bg));
}

.form-field {
  margin-bottom: 1.5rem;
}
@media (max-width: 575px) {
  .form-field {
    margin-bottom: 0.75rem;
  }
}
.form-field:last-child {
  margin-bottom: 0;
}
.form-field > .text-help {
  margin-top: 0.75rem;
  margin-bottom: 0;
}
.form-field--inline {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0;
}
.form-field--inline .form-label {
  white-space: nowrap;
}

.form-error {
  margin-top: 0.25rem;
  font-size: 0.875rem;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--vr) var(--hr);
}
.form-row > .form-field {
  margin-bottom: 0;
}

.form-label {
  margin-bottom: 0;
}

.form-select, .form-control {
  --ctrl-padding-y: 0.75rem;
  --ctrl-padding-x: 1rem;
  display: block;
  width: 100%;
  padding: var(--ctrl-padding-y) var(--ctrl-padding-x);
  font-size: 1rem;
  line-height: 1.375;
  font-family: inherit;
  color: var(--body-color);
  background-color: var(--body-bg);
  border: 1px solid var(--input-border-color);
  border-radius: 6px;
  transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (max-width: 575px) {
  .form-select, .form-control {
    --ctrl-padding-y: 0.375rem;
    --ctrl-padding-x: 0.5rem;
  }
}
.-small.form-select, .-small.form-control, .-sm.form-select, .-sm.form-control {
  --ctrl-padding-y: 0.375rem;
  --ctrl-padding-x: 0.5rem;
}
.form-select:focus, .form-control:focus {
  border-color: var(--focus-ring-color);
  box-shadow: 0 0 0 3px var(--primary-bg-subtle);
  outline: none;
}
.form-select:disabled, .form-control:disabled {
  background-color: var(--body-bg);
  color: var(--muted);
}
.form-select:user-invalid, .form-control:user-invalid, .is-invalid.form-select, .is-invalid.form-control {
  border-color: var(--danger);
  box-shadow: 0 0 0 3px var(--danger-bg-subtle);
}

.form-select {
  padding-right: 2rem;
  appearance: none;
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem 1rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}
.form-select[multiple] {
  padding-right: var(--form-padding-x);
  background-image: none;
}

.fieldset {
  min-width: 0;
  max-width: 100%;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  padding: 0.75rem 1rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 575px) {
  .fieldset {
    padding: 0.75rem;
    margin-bottom: 1.125rem;
  }
}
.fieldset legend {
  padding: 0 0.5rem;
  background: var(--body-bg);
  border-radius: 6px;
  box-shadow: inset 0 0 0 1px var(--border-color);
}

.form-check {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}
.form-check:last-child {
  margin-bottom: 0;
}
.form-check-label {
  display: inline;
  cursor: pointer;
}
.form-check-input {
  flex-shrink: 0;
  width: 1.5em;
  height: 1.5em;
  margin: 0;
  background-color: var(--body-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 1px solid var(--input-border-color);
  appearance: none;
  print-color-adjust: exact;
  transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.form-check-input[type=checkbox] {
  border-radius: 4px;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:checked {
  background-color: var(--primary);
  border-color: var(--primary);
}
.form-check-input:checked[type=checkbox] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-input:focus {
  border-color: var(--focus-ring-color);
  outline: none;
  box-shadow: 0 0 0 3px rgb(var(--focus-ring-rgb), 35%);
}
.form-check-input:disabled {
  opacity: 0.5;
}
.form-check-input:disabled ~ .form-check-label {
  cursor: default;
  opacity: 0.5;
}
.form-check-inline {
  display: inline-flex;
  margin-right: 1rem;
}

.form-search {
  --ctrl-padding-y: 0.375rem;
  --ctrl-padding-x: 0.5rem;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0;
  width: auto;
  line-height: 1.375;
}
.form-search-label {
  margin: 0;
  display: flex;
  align-items: center;
  padding: var(--ctrl-padding-y) var(--ctrl-padding-x);
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
  border-left: 1px solid var(--border-color);
  border-radius: 6px 0 0 6px;
  background-color: var(--tertiary-bg);
  font-size: 0.875rem;
  line-height: 1.375;
}
.form-search-field {
  --ctrl-padding-y: 0.375rem;
  --ctrl-padding-x: 0.5rem;
  margin: 0;
  width: 5rem;
  border-radius: 0;
  font-size: 0.875rem;
  line-height: 1.375;
}
@media (max-width: 575px) {
  .form-search-field {
    font-size: 1rem;
  }
}
.form-search-btn.btn {
  --ctrl-padding-y: 0.375rem;
  --ctrl-padding-x: 0.5rem;
  --ctrl-font-size: 0.875rem;
  border-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.form-search-btn .icon {
  width: 1.375em;
  height: 1.375em;
}

input[type=range] {
  min-height: 24px;
}

.switch {
  --switch-hit-area: 44px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: var(--switch-hit-area);
  cursor: pointer;
  touch-action: manipulation;
}
.switch__input {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: inherit;
}
.switch__track {
  position: relative;
  flex-shrink: 0;
  width: 44px;
  height: 24px;
  border-radius: 999px;
  background-color: var(--border-color);
  border: 1px solid var(--input-border-color);
  transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.switch__track::after {
  content: "";
  position: absolute;
  top: 1px;
  left: 1px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.switch__input:checked + .switch__track {
  background-color: var(--primary);
  border-color: var(--primary);
}
.switch__input:checked + .switch__track::after {
  transform: translateX(20px);
}
.switch__input:focus-visible + .switch__track {
  box-shadow: 0 0 0 3px rgb(var(--focus-ring-rgb), 35%);
}
.switch__input:disabled {
  cursor: default;
}
.switch__input:disabled + .switch__track {
  opacity: 0.5;
}

.switch--compact {
  --switch-hit-area: 32px;
}

.input-group {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}
.input-group__icon {
  display: inline-block;
  vertical-align: middle;
  margin-inline: 0.5rem;
}
.input-group--attached {
  align-items: stretch;
}
.input-group--attached > .form-control {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}
.input-group--attached > .btn {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
  margin-inline-start: -1px;
  --ctrl-padding-x: 1rem;
}

.list-inline {
  display: flex;
  flex-flow: row wrap;
  gap: 0.1875rem 2rem;
}

.list-unstyled {
  list-style: none;
  padding-inline-start: 0;
}

.dl-inline > div {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: minmax(min-content, max-content);
  gap: 0.75rem 1rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  flex: 1 0 auto;
  max-width: 100%;
}
@media (min-width: 576px) {
  .dl-inline > div {
    grid-template-columns: minmax(min-content, max-content) 1fr;
  }
}

.dl-inline {
  display: flex;
  gap: 1.5rem 1rem;
  margin: 0;
  flex-flow: row wrap;
  align-items: flex-start;
}

.dl-stack dt::after, .dl-inline dt::after {
  content: ":";
}

.dl-inline > div dt {
  flex: 1 0 auto;
}
.dl-inline > div dd {
  flex: 0 1 auto;
}
.dl-inline.-small > div {
  gap: 0.375rem 0.5rem;
  padding: 0.375rem 0.5rem;
  font-size: 87.5%;
}
.dl-inline dd {
  padding: 0 0.5em;
  border: 1px solid rgb(var(--border-color-rgb), 75%);
  border-radius: 4px;
}
.dl-inline dt {
  margin: 0;
  flex: 0 1 auto;
}
.dl-inline dd {
  margin: 0;
  flex: 1 1 auto;
}
.dl-inline dd > .meter {
  margin-top: calc((1.5rem - 8px) * 0.5);
  margin-bottom: calc((1.5rem - 8px) * 0.5);
}
.dl-inline > div.dl-inline__item--active {
  border-color: var(--primary-border-subtle);
}
.dl-inline > div.dl-inline__item--active dd {
  border-color: var(--primary-border-subtle);
}
.dl-inline > div.dl-inline__item--active .meter {
  background: var(--primary-border-subtle);
}

.dl-stack {
  display: flex;
  gap: 1.5rem 1rem;
  margin: 0;
  flex-direction: column;
  align-items: flex-start;
}
.dl-stack dt,
.dl-stack dd {
  margin: 0;
  flex: 1 0 auto;
}
.dl-stack dd {
  max-width: 36em;
}

.dl-inline__label,
.dl-stack__label {
  padding: 0;
  border: none;
  background: none;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  cursor: pointer;
}
.dl-inline__label:hover,
.dl-stack__label:hover {
  color: var(--primary-text-emphasis);
  text-decoration: underline;
}
.dl-inline__item--active,
.dl-stack__item--active {
  transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  background-color: var(--primary-bg-subtle);
}

#companyOverview > .dl-inline > div:first-child {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 46em;
}

a img,
a svg {
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
a:hover img,
a:hover svg {
  transform: scale(1.05);
}

.arrow-link {
  --link-color: var(--primary-text-emphasis);
  --link-hover-color: var(--primary-text-emphasis);
  --icon-color: var(--primary);
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  font-weight: 800;
  text-decoration: none;
}
.arrow-link::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: var(--icon-color);
  mask-image: url("/icons.svg#icon-arrow-left");
  mask-repeat: no-repeat;
  mask-size: contain;
  transform: scaleX(-1);
  transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.arrow-link > span {
  display: inline;
  background-image: linear-gradient(var(--icon-color), var(--icon-color));
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0% 3px;
  transition: background-size 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.arrow-link:hover {
  color: var(--link-hover-color);
  text-decoration: none;
}
.arrow-link:hover::before {
  transform: scaleX(-1) translate(-0.15em);
}
.arrow-link:hover > span {
  background-size: 100% 3px;
}
.arrow-link.-back::before {
  transform: none;
}
.arrow-link.-back > span {
  background-position: right bottom;
}
.arrow-link.-back:hover::before {
  transform: translate(-0.15em);
}

.term-link {
  color: inherit;
  text-decoration: underline dotted var(--secondary-color);
  text-underline-offset: 0.2em;
  transition: text-decoration-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.term-link:hover, .term-link:focus-visible {
  color: var(--primary-text-emphasis);
  text-decoration-style: solid;
  text-decoration-color: currentcolor;
}

.back-to-top {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  text-decoration: none;
  padding: 0.25rem 0;
}
.back-to-top .icon {
  transform: rotate(180deg);
}

input:is([type=button], [type=submit], [type=reset]):not(.btn),
input[type=file]:not(.btn)::file-selector-button,
button:not(.btn) {
  padding-inline: 0.5rem;
  padding-block: 0.25rem;
  border: 2px solid transparent;
  border-radius: 4px;
  transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
input:is([type=button], [type=submit], [type=reset]):not(.btn):hover,
input[type=file]:not(.btn)::file-selector-button:hover,
button:not(.btn):hover {
  background-color: var(--secondary-bg);
}
input:is([type=button], [type=submit], [type=reset]):not(.btn):active,
input[type=file]:not(.btn)::file-selector-button:active,
button:not(.btn):active {
  color: var(--body-color);
  background-color: var(--border-color-input);
}

.btn {
  --btn-bg: var(--body-bg);
  --btn-border-color: var(--muted-border-subtle);
  --btn-color: ;
  --ctrl-padding-y: 0.75rem;
  --ctrl-padding-x: 1rem;
  --ctrl-font-size: 1rem;
  border: 1px solid var(--btn-border-color);
  background: var(--btn-bg);
  color: var(--btn-color, inherit);
  padding: var(--ctrl-padding-y) var(--ctrl-padding-x);
  border-radius: 6px;
  cursor: pointer;
  font-size: var(--ctrl-font-size);
  line-height: 1.375;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (max-width: 767px) {
  .btn {
    --ctrl-padding-y: 0.1875rem;
    --ctrl-padding-x: 0.5rem;
  }
}
.btn:hover {
  --btn-bg: var(--muted-bg-subtle);
}
.btn:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: 2px;
}
.btn[disabled], .btn[aria-disabled=true] {
  opacity: 0.5;
  pointer-events: none;
}

.ctrl--sm,
.btn--sm {
  --ctrl-padding-y: 0.375rem;
  --ctrl-padding-x: 0.5rem;
  --ctrl-font-size: 0.875rem;
}
@media (max-width: 767px) {
  .ctrl--sm,
  .btn--sm {
    --ctrl-padding-y: .0625rem;
    --ctrl-padding-x: .125rem;
  }
}

.ctrl--ui,
.btn--ui {
  --ctrl-padding-y: 0.375rem;
  --ctrl-padding-x: 0.5rem;
  --ctrl-font-size: 0.875rem;
}

.ctrl--xs,
.btn--xs {
  --ctrl-padding-y: 0.375rem;
  --ctrl-padding-x: 0.5rem;
  --ctrl-font-size: 0.75rem;
}

.btn.btn--xs,
.btn.ctrl--xs {
  min-height: 1.90625rem;
  min-width: 2rem;
}

.btn.btn--ui,
.btn.ctrl--ui {
  min-height: 2.078125rem;
  min-width: 2rem;
}

@media (pointer: coarse) {
  .btn,
  .btn.btn--ui,
  .btn.ctrl--ui {
    min-height: 44px;
  }
}
.btn--progress {
  position: relative;
  overflow: hidden;
}
.btn--progress::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: var(--progress-pct, 0%);
  background: currentcolor;
  transition: width var(--transition-speed) var(--transition-easing);
}

.btn--progress--indeterminate::after {
  width: 20%;
  transition: none;
  animation: btn-progress-run 1.4s ease-in-out infinite;
}

.btn-progress-wrap {
  position: relative;
  display: inline-block;
}

.btn-progress-status {
  position: absolute;
  top: 100%;
  left: 0%;
  margin-top: 0.25rem;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1.5rem;
  color: var(--secondary-color);
  background: rgb(var(--body-bg-rgb), 0.8);
  backdrop-filter: blur(4px);
}

a.btn:hover {
  --link-hover-color: var(--btn-color);
}

a.btn,
button.btn {
  text-decoration: none;
}

.btn--primary {
  --btn-bg: var(--primary);
  --btn-border-color: var(--primary);
  --btn-color: var(--white);
  --secondary: color-mix(in srgb, var(--white) 70%, transparent);
}
.btn--primary:hover {
  --btn-bg: var(--primary-dark);
}

.btn--secondary {
  --btn-bg: var(--tertiary-bg);
  --btn-border-color: var(--secondary-bg);
  --btn-color: var(--body-color);
}
.btn--secondary:hover {
  --btn-bg: var(--secondary-bg);
}

.btn--link {
  --btn-bg: transparent;
  --btn-border-color: transparent;
  --btn-color: var(--link-color);
  min-height: 0;
  padding: 0;
  border: 0;
  font: inherit;
}
.btn--link:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: 2px;
}
.btn--link:hover {
  --btn-bg: transparent;
  --btn-color: var(--link-hover-color);
  text-decoration: underline;
}

.btn--link.data-quality-log-refresh {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  min-height: 1.5rem;
}

.btn--info {
  --btn-bg: var(--info-bg-subtle);
  --btn-border-color: var(--info-border-subtle);
  --btn-color: var(--info-text-emphasis);
}
.btn--info:hover {
  --btn-bg: var(--info-border-subtle);
}

.btn--success {
  --btn-bg: var(--success-bg-subtle);
  --btn-border-color: var(--success-border-subtle);
  --btn-color: var(--success-text-emphasis);
}
.btn--success:hover {
  --btn-bg: var(--success-border-subtle);
}

.btn--warning {
  --btn-bg: var(--warning-bg-subtle);
  --btn-border-color: var(--warning-border-subtle);
  --btn-color: var(--warning-text-emphasis);
}
.btn--warning:hover {
  --btn-bg: var(--warning-border-subtle);
}

.btn--danger {
  --btn-bg: var(--danger-bg-subtle);
  --btn-border-color: var(--danger-border-subtle);
  --btn-color: var(--danger-text-emphasis);
}
.btn--danger:hover {
  --btn-bg: var(--danger-border-subtle);
}

.btn--accent {
  --btn-bg: var(--accent-bg-subtle);
  --btn-border-color: var(--accent-border-subtle);
  --btn-color: var(--accent-text-emphasis);
}
.btn--accent:hover {
  --btn-bg: var(--accent-border-subtle);
}

.btn.is-active {
  --btn-bg: var(--primary-bg-subtle, color-mix(in srgb, var(--primary) 10%, transparent));
  --btn-border-color: var(--primary-border-subtle);
  --btn-color: var(--primary-text-emphasis);
  font-weight: 600;
}
.btn.is-active:hover {
  --btn-bg: var(--primary-border-subtle);
}

.btn-split {
  display: inline-flex;
}
.btn-split__main {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: none;
}
.btn-split__main:focus-visible {
  box-shadow: inset -1px 0 0 0 currentcolor;
}
.btn-split__toggle {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  padding-inline: 0.5rem;
}
.btn-split__main.d-none + .btn-split__toggle {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.btn--disclosure > .icon:last-child {
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn--disclosure[aria-expanded=true] > .icon:last-child {
  transform: rotate(180deg);
}

.btn-group {
  display: inline-flex;
}
.btn-group > .btn, .btn-group__item > .btn {
  position: relative;
  border-radius: 0;
  margin-left: -1px;
}
.btn-group > .btn:hover, .btn-group > .btn:focus-visible, .btn-group__item > .btn:hover, .btn-group__item > .btn:focus-visible {
  z-index: var(--z-index-raised);
}
.btn-group > .btn:first-child, .btn-group__item:first-child > .btn {
  margin-left: 0;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
.btn-group > .btn:last-child, .btn-group__item:last-child > .btn {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

@media (max-width: 575px) {
  .dropdown > .dropdown__menu {
    position: fixed;
    right: 0.5rem;
    left: 0.5rem;
    width: auto;
    min-width: 0;
    max-width: none;
  }
}
.dropdown {
  position: relative;
  display: inline-flex;
}
.dropdown__menu {
  position: absolute;
  top: calc(100% + 0.25rem);
  right: 0;
  z-index: var(--z-index-dropdown);
  min-width: 10rem;
  padding: 0.25rem 0;
  font-size: 1rem;
  font-weight: 400;
  white-space: normal;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--body-bg);
  box-shadow: 0 1px 20px rgba(0, 0, 0, 0.08);
  overflow-y: auto;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-0.5rem);
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.dropdown.is-open > .dropdown__menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
.dropdown__item {
  display: block;
  width: 100%;
  border: 0;
  background: none;
  padding: 0.5rem 1rem;
  color: var(--body-color);
  text-decoration: none;
  text-align: left;
  font-family: inherit;
  font-size: 0.875rem;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.dropdown__item:hover, .dropdown__item:focus-visible {
  background-color: var(--tertiary-bg);
  color: var(--body-color);
}
.dropdown__item:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: -2px;
}
.dropdown__divider {
  height: 1px;
  margin: 0.25rem 0;
  overflow: hidden;
  background-color: var(--border-color);
}
.dropdown.dropdown--up .dropdown__menu {
  top: auto;
  bottom: calc(100% + 0.25rem);
  transform: translateY(0.5rem);
}
.dropdown.dropdown--up.is-open .dropdown__menu {
  transform: translateY(0);
}
.dropdown.dropdown--left-align .dropdown__menu {
  right: auto;
  left: 0;
}
.dropdown__toggle .icon:last-child {
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.dropdown.is-open .dropdown__toggle .icon:last-child {
  transform: rotate(180deg);
}

.count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5em;
  height: 1.5em;
  padding: 0 0.5em;
  border-radius: 1.5em;
  background: var(--danger);
  color: #fff;
  font-size: var(--font-size-xs);
  font-weight: 800;
  line-height: 1;
}
@media (max-width: 767px) {
  .count-badge {
    padding: 0.5em;
  }
}

.details-trigger {
  position: relative;
  display: inline-block;
  justify-self: start;
  width: fit-content;
  margin-inline: 0.5rem;
}
.details-trigger > .btn {
  position: relative;
  z-index: 1;
}

.details-count {
  position: absolute;
  z-index: 2;
  padding: 0;
  pointer-events: none;
}
.details-count--positive {
  background: var(--success);
}
.details-count--caution {
  background: var(--warning);
  color: #0f1113;
}
.details-count--concern {
  background: var(--danger);
}
.details-count--tl {
  inset-block-start: -0.35rem;
  inset-inline-start: -0.35rem;
}
.details-count--tr {
  inset-block-start: -0.35rem;
  inset-inline-end: -0.35rem;
}
.details-count--br {
  inset-block-end: -0.35rem;
  inset-inline-end: -0.35rem;
}
@media (prefers-reduced-motion: no-preference) {
  .details-count {
    transition: translate 0.2s ease, transform 0.32s ease 0.16s, opacity 0.3s ease 0.12s, z-index 0s;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .details-trigger:hover .details-count,
  .details-trigger:focus-within .details-count {
    opacity: 0;
    z-index: 0;
    transition-delay: 0s, 0.16s, 0.12s, 0.2s;
  }
  .details-trigger:hover .details-count--tl,
  .details-trigger:focus-within .details-count--tl {
    translate: -0.5rem -0.5rem;
    transform: translate(1.4rem, 1.4rem);
  }
  .details-trigger:hover .details-count--tr,
  .details-trigger:focus-within .details-count--tr {
    translate: 0.5rem -0.5rem;
    transform: translate(-1.4rem, 1.4rem);
  }
  .details-trigger:hover .details-count--br,
  .details-trigger:focus-within .details-count--br {
    translate: 0.5rem 0.5rem;
    transform: translate(-1.4rem, -1.4rem);
  }
}
.count-tile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
  gap: 0.5rem;
}

.count-tile {
  display: flex;
  flex-direction: column;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--border-color);
  border-top: 3px solid var(--muted);
  border-radius: 8px;
  background-color: var(--card-bg);
  color: inherit;
  text-decoration: none;
  transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.count-tile:hover {
  background-color: var(--muted-bg-subtle);
  text-decoration: none;
}
.count-tile:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgb(var(--focus-ring-rgb), 35%);
}
.count-tile--danger {
  border-top-color: var(--danger);
}
.count-tile--warning {
  border-top-color: var(--warning);
}
.count-tile__value {
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.count-tile__label {
  font-size: 0.875rem;
  line-height: 1.5rem;
}

.facet-rails {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  gap: 0.75rem;
}

.facet-rail {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}
.facet-rail legend {
  float: left;
  width: 8.5rem;
  flex-shrink: 0;
  padding: 0.25rem 0 0;
  font-size: 0.75rem;
  line-height: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--secondary-color);
}
@media (max-width: 575px) {
  .facet-rail {
    flex-direction: column;
    gap: 0.25rem;
  }
  .facet-rail legend {
    width: auto;
    padding-top: 0;
  }
}

.facet-rail__controls {
  flex: 1;
  min-width: 0;
}
.facet-rail__controls > .form-field {
  margin-bottom: 0;
}
.facet-rail__controls input[type=number].form-control {
  width: 5rem;
}
.facet-rail__controls input[type=text].form-control {
  width: 12rem;
}
.facet-rail__controls select.form-select {
  width: 12rem;
}

.filters-panel .btn--ui {
  --btn-border-color: var(--input-border-color);
}

.facet-filter__menu {
  min-width: 11rem;
  max-height: var(--panel-max-height-sm);
  overflow-y: auto;
  padding: 0.5rem;
}

.facet-filter__option {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  font-size: 0.875rem;
  cursor: pointer;
}
@media (pointer: coarse) {
  .facet-filter__option {
    min-height: 44px;
  }
}
.facet-filter__option:hover {
  background-color: var(--secondary-bg);
}

.screener-filter-row {
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
  background-color: var(--secondary-bg);
}
.screener-filter-row legend {
  width: auto;
  padding: 0.25rem 0.5rem;
  background-color: var(--body-bg);
  border: 1px solid var(--border-color);
  border-radius: inherit;
  margin-top: 0.5rem;
}
@media (max-width: 575px) {
  .screener-filter-row legend {
    align-self: flex-start;
    margin-top: 0;
  }
}
.screener-filter-row .facet-rail__controls select.form-select {
  width: auto;
  min-width: 12rem;
  max-width: 100%;
}
.screener-filter-row .facet-rail__controls .screener-filter-remove {
  order: 1;
  margin-top: 0;
}
.screener-filter-row .facet-rail__controls .text-help {
  order: 2;
  min-width: 100%;
  flex-basis: 100%;
  margin: 0.25rem 0 0;
}

.screener-filter-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  margin-top: 0.25rem;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--secondary-color);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}
.screener-filter-remove:hover, .screener-filter-remove:focus-visible {
  background-color: var(--danger-bg-subtle);
  color: var(--danger);
}
@media (pointer: coarse) {
  .screener-filter-remove {
    min-width: 44px;
    min-height: 44px;
  }
}

.feature-flag-desc {
  white-space: normal;
  overflow-wrap: anywhere;
}

.flag-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.flag-card-grid:last-child {
  margin-bottom: 0;
}

#featureFlagsBody .admin-maintenance-group__label {
  margin-bottom: 0.5rem;
}

.flag-card {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.75rem;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background-color: var(--card-bg);
}
.flag-card__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.flag-card__footer {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: auto;
}

.quick-settings__menu {
  min-width: 16rem;
  padding: 1rem;
}

@media (max-width: 991px) {
  .quick-settings__desktop-only {
    display: none !important;
  }
}

.profile-menu {
  min-width: 12rem;
  padding: 1rem;
}

.notification-bell__toggle {
  position: relative;
}

.notification-bell__count {
  position: absolute;
  top: -0.375rem;
  left: 62.5%;
}
@media (max-width: 767px) {
  .notification-bell__count {
    left: 75%;
  }
}

.notification-bell__panel {
  width: var(--panel-width-lg);
  max-width: calc(100vw - 2rem);
  max-height: var(--panel-max-height);
  overflow-y: auto;
  padding: 0.75rem;
}

.notification-bell__panel .notif-card + .notif-card {
  margin-top: 0.5rem;
}

.notification-bell__section + .notification-bell__section {
  margin-top: 0.75rem;
}

.notif-card {
  position: relative;
  display: flex;
  align-items: stretch;
  border-radius: 8px;
  background: var(--tertiary-bg);
  overflow: hidden;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), max-height 0.2s cubic-bezier(0.4, 0, 0.2, 1), padding 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.notif-card--dismissing {
  opacity: 0;
  transform: translateX(0.5rem);
  padding-block: 0;
}
.notif-card__hit {
  display: flex;
  flex: 1;
  align-items: flex-start;
  gap: 0.5rem;
  min-width: 0;
  padding: 0.5rem 0.75rem;
  color: var(--body-color);
  font-size: 0.875rem;
  line-height: 1.5rem;
  text-decoration: none;
}
.notif-card__hit:hover:not(.notif-card__hit--static) {
  background: var(--muted-bg-subtle);
  color: var(--body-color);
}
.notif-card__glyph {
  flex: none;
  display: inline-flex;
  margin-top: 0.0625rem;
}
.notif-card__glyph .icon {
  width: 1rem;
  height: 1rem;
}
.notif-card__glyph--success {
  color: var(--success);
}
.notif-card__glyph--danger {
  color: var(--danger);
}
.notif-card__glyph--warning {
  color: var(--warning-text-emphasis);
}
.notif-card__glyph--info {
  color: var(--secondary-color);
}
.notif-card__message {
  flex: 1;
  min-width: 0;
}
.notif-card__dismiss {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  padding: 0;
  border: none;
  background: none;
  color: var(--secondary-color);
  cursor: pointer;
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1), background 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.notif-card__dismiss:hover {
  background: var(--muted-bg-subtle);
  color: var(--body-color);
}
.notif-card__dismiss:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: -2px;
}
@media (pointer: coarse) {
  .notif-card__dismiss {
    width: 2.75rem;
  }
}

.notification-bell__stack-summary.notification-bell__section-title {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0 0.5rem;
  cursor: pointer;
  list-style: none;
}
.notification-bell__stack-summary.notification-bell__section-title::-webkit-details-marker {
  display: none;
}
.notification-bell__stack-summary.notification-bell__section-title:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: 2px;
}
.notification-bell__stack-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-width: 0;
}
.notification-bell__stack-preview {
  grid-column: 1;
  overflow: hidden;
  color: var(--secondary-color);
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: normal;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}
.notification-bell__stack-more {
  font-weight: 600;
}
.notification-bell__stack-chevron {
  grid-column: 2;
  grid-row: 1/span 2;
  align-self: center;
  flex: none;
  color: var(--secondary-color);
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.notification-bell__stack[open] .notification-bell__stack-chevron {
  transform: rotate(180deg);
}
.notification-bell__stack[open] .notification-bell__stack-preview {
  display: none;
}

.notification-bell__stack > .notification-bell__section-dismiss {
  display: flex;
  margin-left: auto;
  margin-bottom: 0.5rem;
}

.notification-sheet {
  display: none;
  max-height: 94dvh;
  transition: height 0.32s cubic-bezier(0.32, 0.72, 0, 1);
}
.notification-sheet[open] {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.notification-sheet__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.notification-sheet__head > :first-child {
  margin-inline-end: auto;
}
.notification-sheet__clear {
  font-size: 0.875rem;
}
.notification-sheet__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

.notification-bell__panel.is-in-sheet .banner-footer__dismiss-all {
  display: none;
}

.notification-bell__panel.is-in-sheet {
  display: block;
  visibility: visible;
  opacity: 1;
  transform: none;
  position: static;
  width: auto;
  max-width: none;
  max-height: none;
  padding: 0;
  border: none;
  box-shadow: none;
  background: none;
  overflow: visible;
}

.notification-bell__section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--secondary-color);
}

.notification-bell__section-dismiss {
  display: inline-flex;
  align-items: center;
  min-height: 1.5rem;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  color: var(--secondary-color);
  font-size: 0.75rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.notification-bell__section-dismiss:hover {
  color: var(--body-color);
}

.notification-bell__empty {
  margin: 0;
  padding: 0.5rem 0;
  color: var(--secondary-color);
  font-size: 0.875rem;
}

.notification-bell__panel > .banner-footer {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border-color);
}

.banner-footer {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1 0 100%;
  margin-top: 0.25rem;
  font-size: 0.75rem;
}
.banner-footer__dismiss-all {
  display: inline-flex;
  align-items: center;
  min-height: 1.5rem;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  color: var(--secondary-color);
  font-size: inherit;
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.banner-footer__dismiss-all:hover {
  color: var(--body-color);
}

.banner-config__toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  min-height: 1.5rem;
  cursor: pointer;
  color: var(--secondary-color);
  user-select: none;
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.banner-config__toggle:hover {
  color: var(--body-color);
}
.banner-config__panel {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0.75rem 0 0.25rem;
}
.banner-config__section {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.banner-config__section-label {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--secondary-color);
}
.banner-config__item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  cursor: pointer;
}
.banner-config__item--indent {
  padding-left: 0.75rem;
}
.banner-config__sub {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-left: 0.25rem;
  color: var(--secondary-color);
}
.banner-config__note {
  font-size: 0.75rem;
  font-style: italic;
}
.banner-config__number {
  width: 4rem;
  padding: 0 0.25rem;
  font-size: 0.75rem;
  height: auto;
}
@media (max-width: 575px) {
  .banner-config__number {
    font-size: 1rem;
  }
}

.badge {
  --badge-padding-y: 0.375rem;
  --badge-padding-x: 0.5rem;
  --badge-bg: var(--muted-bg-subtle);
  --badge-border: var(--muted-border-subtle);
  --badge-color: var(--muted-text-emphasis);
}
@media (max-width: 767px) {
  .badge {
    --badge-padding-y: 0.1875rem;
    --badge-padding-x: 0.25rem;
  }
}
.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--badge-padding-y) var(--badge-padding-x);
  border-radius: 6px;
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-weight: 600;
  background: var(--badge-bg);
  border: 1px solid var(--badge-border);
  color: var(--badge-color);
}
.badge-sm {
  --badge-padding-y: 0;
  --badge-padding-x: 0.125rem;
  line-height: 1.5714285714;
}

.gain--badge {
  --badge-padding-y: 0;
  --badge-padding-x: 0.125rem;
  line-height: 1.375rem;
}

.badge + .badge {
  margin-left: 0.5rem;
}

.text-sm .badge {
  --badge-padding-y: 0;
  --badge-padding-x: 0.125rem;
  max-height: 1.5rem;
}

.badge-list {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.badge-list .badge + .badge {
  margin-left: 0;
}

.popover-card > .badge-list {
  display: flex;
}

.badge--primary {
  --badge-bg: var(--primary-bg-subtle);
  --badge-border: var(--primary-border-subtle);
  --badge-color: var(--primary-text-emphasis);
}

.badge--info {
  --badge-bg: var(--info-bg-subtle);
  --badge-border: var(--info-border-subtle);
  --badge-color: var(--info-text-emphasis);
}

.badge--success {
  --badge-bg: var(--success-bg-subtle);
  --badge-border: var(--success-border-subtle);
  --badge-color: var(--success-text-emphasis);
}

.badge--warning {
  --badge-bg: var(--warning-bg-subtle);
  --badge-border: var(--warning-border-subtle);
  --badge-color: var(--warning-text-emphasis);
}

.badge--danger {
  --badge-bg: var(--danger-bg-subtle);
  --badge-border: var(--danger-border-subtle);
  --badge-color: var(--danger-text-emphasis);
}

.badge--accent {
  --badge-bg: var(--accent-bg-subtle);
  --badge-border: var(--accent-border-subtle);
  --badge-color: var(--accent-text-emphasis);
}

.badge--muted {
  --badge-bg: var(--muted-bg-subtle);
  --badge-border: var(--muted-border-subtle);
  --badge-color: var(--muted-text-emphasis);
}

.badge--outline {
  --badge-bg: transparent;
  --badge-border: var(--muted-border-subtle);
  --badge-color: var(--body-color);
}

.eh-badge {
  display: inline-flex;
  align-items: stretch;
  font-size: 0.75rem;
}
.eh-badge__session {
  display: inline-flex;
  align-items: center;
  padding-inline: 0.5rem;
  background: var(--muted-bg-subtle);
  color: var(--secondary-color);
  border: 1px solid var(--muted-border-subtle);
  border-inline-end: none;
  border-start-start-radius: 6px;
  border-end-start-radius: 6px;
}
.eh-badge__session .icon {
  inline-size: 14px;
  block-size: 14px;
}
.eh-badge > .badge {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}

.banner {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
  border-left: 3px solid transparent;
  font-size: 0.875rem;
  line-height: 1.5rem;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), max-height 0.2s cubic-bezier(0.4, 0, 0.2, 1), padding 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.banner--dismissing {
  opacity: 0;
  transform: translateX(0.5rem);
  overflow: hidden;
  padding-block: 0;
}
.banner__message {
  flex: 1;
}
.banner__dismiss {
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  color: inherit;
  opacity: 0.5;
  line-height: 1;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.banner__dismiss:hover, .banner__dismiss:focus-visible {
  opacity: 1;
}
.banner__link {
  color: inherit;
  font-weight: 600;
}
.banner__link:hover {
  color: inherit;
}
.banner--info {
  background-color: var(--info-bg-subtle);
  color: var(--info-text-emphasis);
  border-left-color: var(--info);
}
.banner--success {
  background-color: var(--success-bg-subtle);
  color: var(--success-text-emphasis);
  border-left-color: var(--success);
}
.banner--warning {
  background-color: var(--warning-bg-subtle);
  color: var(--warning-text-emphasis);
  border-left-color: var(--warning);
}
.banner--danger {
  background-color: var(--danger-bg-subtle);
  color: var(--danger-text-emphasis);
  border-left-color: var(--danger);
}
.banner--accent {
  background-color: var(--accent-bg-subtle);
  color: var(--accent-text-emphasis);
  border-left-color: var(--accent);
}

.card {
  --card-padding-y: 0.75rem;
  --card-padding-x: 1rem;
  --card-bg: var(--body-bg);
  --card-border-radius: 8px;
  --card-shadow: 0 1px 20px rgba(0, 0, 0, 0.08);
  --card-border: 1px solid var(--card-border-color, transparent);
}
@media (max-width: 767px) {
  .card {
    --card-padding-y: 0.375rem;
    --card-padding-x: 0.5rem;
  }
}
@media (max-width: 575px) {
  .card {
    --card-padding-x: 1rem;
  }
}
.card {
  position: relative;
  background: var(--card-bg);
  border: var(--card-border);
  border-radius: var(--card-border-radius);
  box-shadow: var(--card-shadow);
  padding: var(--card-padding-y) var(--card-padding-x);
  margin: 0;
  max-width: 100%;
}
.card[open] > summary.subtitle {
  margin-bottom: var(--vr);
}

a.card--link {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  height: 100%;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
a.card--link:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: 2px;
}
a.card--link:hover {
  --card-border-color: var(--primary);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
}

.card--summary {
  --card-padding-y: 1.5rem;
  --card-padding-x: 2rem;
}
@media (max-width: 767px) {
  .card--summary {
    --card-padding-y: 0.75rem;
    --card-padding-x: 1rem;
  }
}
.card--summary {
  min-width: 10rem;
}

.card--section {
  --card-padding-y: 1.5rem;
  --card-padding-x: 2rem;
}
@media (max-width: 767px) {
  .card--section {
    --card-padding-y: 0.75rem;
    --card-padding-x: 1rem;
  }
}
@media (max-width: 575px) {
  .card--section {
    --card-padding-x: 1rem;
  }
}
.card--section {
  max-width: 100%;
}
.card--section.-constrain {
  width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
.card--section.-constrain.-wide {
  transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
:root.wide-tables .card--section.-constrain.-wide {
  width: 100%;
}
.card--section[open] > summary.subtitle {
  margin-bottom: var(--vr);
}

.collapsible-with-action {
  position: relative;
}
.collapsible-with-action > .collapsible-header-action {
  position: absolute;
  top: var(--card-padding-y);
  right: var(--card-padding-x);
}
.collapsible-with-action > details[open] > summary.subtitle {
  margin-bottom: var(--vr);
}

summary.summary-toggle {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  list-style: none;
  cursor: pointer;
}
summary.summary-toggle::-webkit-details-marker {
  display: none;
}

.summary-toggle__title {
  flex: 1 1 auto;
  min-width: 0;
}

.summary-toggle__chevron {
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
  transform: rotate(-90deg);
}

details[open] > summary.summary-toggle .summary-toggle__chevron {
  transform: rotate(0deg);
}

.row-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.row-toggle:hover, .row-toggle:focus-visible {
  color: var(--link-color);
}

.row-toggle__chevron {
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
  transform: rotate(-90deg);
}

.row-toggle[aria-expanded=true] .row-toggle__chevron {
  transform: rotate(0deg);
}

.summary-toggle__icon-wrap {
  position: relative;
  flex-shrink: 0;
  width: 1em;
  height: 1em;
}

.summary-toggle__plus,
.summary-toggle__minus {
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.summary-toggle__minus {
  opacity: 0;
  transform: rotate(45deg) scale(0.6);
}

.summary-toggle__plus {
  opacity: 1;
  transform: rotate(0deg) scale(1);
}

details[open] > summary.summary-toggle .summary-toggle__plus {
  opacity: 0;
  transform: rotate(-45deg) scale(0.6);
}

details[open] > summary.summary-toggle .summary-toggle__minus {
  opacity: 1;
  transform: rotate(0deg) scale(1);
}

.card--section-grid {
  display: grid;
  gap: var(--vr) var(--hr);
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .card--section-grid[data-columns="2"] {
    grid-template-columns: repeat(2, 1fr);
  }
  .card--section-grid[data-columns="3"] {
    grid-template-columns: repeat(3, 1fr);
  }
  .card--section-grid[data-columns="4"] {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  }
  .card--section-grid[data-columns="5"] {
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  }
  .card--section-grid > .grid-span-2 {
    grid-column: span 2;
  }
  .card--section-grid > .grid-span-all {
    grid-column: 1/-1;
  }
}
.card--section-grid > * {
  min-width: 0;
}
.card--section-grid p:last-of-type,
.card--section-grid .fieldset {
  margin-bottom: 0;
}
.card--section-grid > .form-field {
  margin-bottom: 0;
}

.table {
  --table-cell-padding-y: 0.75rem;
  --table-cell-padding-x: 0.5rem;
  --table-color: var(--body-color);
  --table-bg: transparent;
  --table-border-color: var(--border-color);
  --table-accent-bg: transparent;
  --table-striped-bg: color-mix(in srgb, var(--secondary-bg) 25%, transparent);
  --table-hover-bg: color-mix(in srgb, var(--secondary-bg) 50%, transparent);
  width: 100%;
  color: var(--table-color);
  background-color: var(--table-bg);
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 575px) {
  .table {
    --table-cell-padding-y: 0.375rem;
    --table-cell-padding-x: 0.25rem;
  }
}
.table th,
.table td {
  text-align: left;
  padding: var(--table-cell-padding-y) var(--table-cell-padding-x);
  background-color: var(--table-accent-bg);
  border-bottom: 1px solid var(--table-border-color);
  white-space: nowrap;
}
.table th {
  font-weight: 800;
}
.table th:has(.th-sort) {
  padding: 0;
}
.table th[scope=col] {
  font-size: 0.875rem;
}

.table-sm {
  --table-cell-padding-y: 0.375rem;
  --table-cell-padding-x: 0.25rem;
}
@media (max-width: 575px) {
  .table-sm {
    --table-cell-padding-y: 0.1875rem;
    --table-cell-padding-x: 0.125rem;
  }
}
.table-sm .badge {
  --badge-padding-y: 0;
  --badge-padding-x: .5em;
  font-size: 0.75rem;
  line-height: calc(1.5rem - 2px);
}
.table-sm td .form-control {
  font-size: inherit;
  padding: var(--table-cell-padding-y) var(--table-cell-padding-x);
}

.table-striped tbody tr:nth-of-type(odd) {
  --table-accent-bg: var(--table-striped-bg);
}

.row-highlight {
  animation: row-highlight-fade 2s ease-out forwards;
}

.table-bordered th,
.table-bordered td {
  border: 1px solid var(--table-border-color);
}

.table-borderless th,
.table-borderless td {
  border-bottom: 0;
}

.table--sticky-header thead tr th {
  overflow: hidden;
}
.table--sticky-header thead tr th:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.table--sticky-header thead tr th:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.table--sticky-header thead th {
  position: sticky;
  top: 0;
  z-index: var(--z-index-sticky);
  background-color: var(--body-bg);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.125);
}

@media (min-width: 768px) {
  .table-hover tbody tr:hover {
    --table-accent-bg: var(--table-hover-bg);
  }
}
.th-sort {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  width: 100%;
  padding: var(--table-cell-padding-y) var(--table-cell-padding-x);
  border: none;
  background: none;
  color: inherit;
  font: inherit;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}
.th-sort:hover {
  background: var(--table-hover-bg);
}
.th-sort::after {
  content: "";
  border: 0.375em solid transparent;
}
.th-sort.th-sort--asc::after {
  border-bottom-color: var(--tertiary-color);
}
.th-sort.th-sort--desc::after {
  border-top-color: var(--tertiary-color);
}

th.text-end .th-sort {
  justify-content: flex-end;
  text-align: right;
}
th.text-end .th-sort::after {
  order: -1;
}

.table--tx {
  margin-top: var(--vr);
  font-size: 0.875rem;
}

.table--wrap-label th:first-child,
.table--wrap-label td:first-child {
  white-space: normal;
  overflow-wrap: break-word;
}

.hide-equity-cols .col--equity {
  display: none;
}

.col--fund {
  display: none;
}

.show-fund-cols .col--fund {
  display: table-cell;
}

.col--row-num {
  width: 2rem;
  min-width: 2rem;
  text-align: right;
  color: var(--secondary-color);
  user-select: none;
}

.table-stack-sort {
  display: none;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.table-stack-sort label {
  flex-shrink: 0;
  font-size: 0.875rem;
  font-weight: 600;
  white-space: nowrap;
}
.table-stack-sort select {
  flex: 1 1 auto;
  min-width: 0;
}
@media (max-width: 767px) and (orientation: portrait), (max-width: 575px) {
  .table-stack-sort {
    display: flex;
  }
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 575px) {
  .table-stack {
    display: block;
  }
  .table-stack thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
  .table-stack tbody,
  .table-stack tfoot,
  .table-stack tr,
  .table-stack td {
    display: block;
    width: 100%;
  }
  .table-stack tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0 1rem;
    margin-bottom: 0.75rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--table-border-color);
    border-radius: 8px;
    background: var(--table-bg);
    --stack-divider: color-mix(in srgb, var(--table-border-color) 55%, transparent);
  }
  .table-stack tr:last-child {
    margin-bottom: 0;
  }
  .table-stack td {
    padding: 0.375rem 0;
    border: none;
    white-space: normal;
    font-size: var(--font-size-sm);
    overflow-wrap: break-word;
  }
  .table-stack td[data-title]:not([data-title=""])::before {
    content: attr(data-title);
    display: block;
    font-size: var(--font-size-xs);
    font-weight: 400;
    color: var(--secondary-color);
  }
  .table-stack td:has(> .badge-list) {
    grid-column: 1/-1;
  }
  .table-stack td:has(> .badge-list) > .badge-list {
    display: flex;
  }
  .table-stack td:not([data-title]), .table-stack td[data-title=""] {
    grid-column: 1/-1;
    font-size: var(--font-size-sm);
    font-weight: 600;
  }
  .table-stack td:first-child:not([data-title]), .table-stack td:first-child[data-title=""] {
    padding-bottom: 0.375rem;
    margin-bottom: 0.375rem;
    font-size: var(--font-size-base);
    font-weight: 600;
  }
  .table-stack td.col--row-num {
    display: flex;
  }
  .table-stack td .badge {
    white-space: wrap;
  }
  .table-stack[data-columns="2"] tr {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .table-stack[data-columns="2"] tr td:nth-child(n+4) {
    border-top: 1px solid var(--stack-divider);
    padding-top: 0.375rem;
  }
  .table-stack[data-columns="2"] tr:has(> td:nth-child(2)[data-title=""], > td:nth-child(2):not([data-title])) td:nth-child(4) {
    border-top: none;
  }
  .table-stack[data-columns="3"] tr {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .table-stack[data-columns="3"] tr td:nth-child(n+5) {
    border-top: 1px solid var(--stack-divider);
    padding-top: 0.375rem;
  }
  .table-stack[data-columns="3"] tr:has(> td:nth-child(2)[data-title=""], > td:nth-child(2):not([data-title])) td:nth-child(5) {
    border-top: none;
  }
  .table-stack[data-columns="4"] tr {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .table-stack[data-columns="4"] tr td:nth-child(n+6) {
    border-top: 1px solid var(--stack-divider);
    padding-top: 0.375rem;
  }
  .table-stack[data-columns="4"] tr:has(> td:nth-child(2)[data-title=""], > td:nth-child(2):not([data-title])) td:nth-child(6) {
    border-top: none;
  }
  .table-stack[data-columns="5"] tr {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .table-stack[data-columns="5"] tr td:nth-child(n+7) {
    border-top: 1px solid var(--stack-divider);
    padding-top: 0.375rem;
  }
  .table-stack[data-columns="5"] tr:has(> td:nth-child(2)[data-title=""], > td:nth-child(2):not([data-title])) td:nth-child(7) {
    border-top: none;
  }
  .table-stack[data-columns="6"] tr {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .table-stack[data-columns="6"] tr td:nth-child(n+8) {
    border-top: 1px solid var(--stack-divider);
    padding-top: 0.375rem;
  }
  .table-stack[data-columns="6"] tr:has(> td:nth-child(2)[data-title=""], > td:nth-child(2):not([data-title])) td:nth-child(8) {
    border-top: none;
  }
  .table-stack:not([data-columns]) tr td[data-title]:not([data-title=""]) {
    display: grid;
    grid-template-columns: minmax(6rem, 38%) minmax(0, 1fr);
    gap: 0 1rem;
    align-items: baseline;
    border-top: 1px solid var(--table-border-color);
  }
  .table-stack:not([data-columns]) tr td[data-title]:not([data-title=""]) + td[data-title]:not([data-title=""]) {
    border-top-color: var(--stack-divider);
  }
  .table-stack:not([data-columns]) tr td[data-title]:not([data-title=""])::before {
    text-align: start;
  }
  .table-stack:not([data-columns]) tr td[data-title]:not([data-title=""]) > * {
    grid-column: 2;
  }
  .table-stack tfoot tr {
    margin-top: 1.5rem;
  }
}

.table-stack-card__toggle {
  display: none;
}

.table-stack-card__toggle-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  width: 100%;
  min-height: 2.75rem;
  padding: 0.25rem 0;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--muted-bg-subtle);
  color: var(--link-color);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
}
.table-stack-card__toggle-btn:hover {
  border-color: var(--border-color-input);
}
.table-stack-card__toggle-btn:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: 2px;
}
.table-stack-card__toggle-btn .icon {
  width: 1rem;
  height: 1rem;
  flex: none;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.table-stack-card__toggle-btn[aria-expanded=true] .icon {
  transform: rotate(180deg);
}
.table-stack-card__toggle-btn[aria-expanded=true] .table-stack-card__toggle-count {
  display: none;
}

.table-stack-card__toggle-count {
  color: var(--secondary-color);
  font-weight: 400;
}

.row-actions__menu {
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 575px) {
  .table-stack.table-stack--cards tr {
    position: relative;
  }
  .table-stack.table-stack--cards tr td.col--row-num[data-title] {
    display: none;
  }
  .table-stack.table-stack--cards td[data-stack-role=title] {
    order: -1;
    grid-column: 1/-1;
    padding-bottom: 0.375rem;
    font-size: var(--font-size-base);
    font-weight: 600;
  }
  .table-stack.table-stack--cards tr td[data-stack-role=actions] {
    padding: 0;
    border-top: 0;
  }
  .table-stack.table-stack--cards tr td[data-stack-role=actions]::before {
    display: none;
  }
  .table-stack.table-stack--cards .row-actions__menu {
    display: block;
    position: absolute;
    top: 0.75rem;
    right: 1rem;
  }
  .table-stack.table-stack--cards .table-stack-card__toggle {
    order: -1;
    grid-column: 1/-1;
    display: block;
    padding-top: 0;
    padding-bottom: 0.375rem;
    border-top: 0;
  }
  .table-stack.table-stack--cards td.table-stack-card__more {
    order: 2;
    overflow: hidden;
    max-height: 5rem;
  }
}
@media (max-width: 767px) and (orientation: portrait) and (prefers-reduced-motion: no-preference), (max-width: 575px) and (prefers-reduced-motion: no-preference) {
  .table-stack.table-stack--cards td.table-stack-card__more {
    transition: max-height 0.3s ease, opacity 0.3s ease, padding-block 0.3s ease, border-top-width 0.3s ease, visibility 0s;
  }
}
@media (max-width: 767px) and (orientation: portrait), (max-width: 575px) {
  .table-stack.table-stack--cards tr.is-collapsed td.table-stack-card__more {
    max-height: 0;
    padding-block: 0;
    border-top-width: 0;
    opacity: 0;
    visibility: hidden;
  }
}
@media (max-width: 767px) and (orientation: portrait) and (prefers-reduced-motion: no-preference), (max-width: 575px) and (prefers-reduced-motion: no-preference) {
  .table-stack.table-stack--cards tr.is-collapsed td.table-stack-card__more {
    transition-delay: 0s, 0s, 0s, 0s, 0.3s;
  }
}

.table-fixed {
  table-layout: fixed;
}

.table-group-divider {
  border-top: 2px solid currentcolor;
}

.table-agenda-day > td {
  padding-top: 1.125rem;
  border-top: 1px solid var(--table-border-color);
  font-weight: 800;
}

tbody > .table-agenda-day:first-child > td {
  padding-top: 0;
  border-top: 0;
}

@media (max-width: 767px) {
  .table-stack .table-agenda-day {
    margin: 0.75rem 0 0;
    padding: 0 0 0.375rem;
    border: 0;
    background: none;
  }
}
.table--sticky-col th.col--row-num,
.table--sticky-col td.col--row-num,
.table--sticky-col th.col--ticker,
.table--sticky-col td.col--ticker {
  position: sticky;
  left: 0;
  background-color: var(--body-bg);
  background-image: linear-gradient(var(--table-accent-bg), var(--table-accent-bg));
  z-index: calc(var(--z-index-raised) + 2);
  background-clip: padding-box;
}
.table--sticky-col .col--row-num + .col--ticker {
  left: var(--sticky-col-offset, 2rem);
}
.table--sticky-col thead th.col--row-num,
.table--sticky-col thead th.col--ticker {
  z-index: calc(var(--z-index-sticky) + 1);
}
.table--sticky-col .col--ticker::after {
  content: "";
  position: absolute;
  inset-block: calc(var(--table-cell-padding-y) * -1);
  inset-inline-start: 100%;
  width: 0.75rem;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.125), transparent);
  pointer-events: none;
}
.table--sticky-col th.col--ticker,
.table--sticky-col td.col--ticker {
  padding-inline-end: 0.75rem;
}
.table--sticky-col thead th.col--ticker {
  overflow: visible;
}
@media (max-width: 767px) and (orientation: portrait), (max-width: 575px) {
  .table--sticky-col th.col--row-num,
  .table--sticky-col td.col--row-num,
  .table--sticky-col th.col--row-num,
  .table--sticky-col td.col--row-num,
  .table--sticky-col th.col--ticker,
  .table--sticky-col td.col--ticker {
    position: static;
    background-clip: border-box;
  }
  .table--sticky-col th.col--row-num::after,
  .table--sticky-col td.col--row-num::after,
  .table--sticky-col th.col--row-num::after,
  .table--sticky-col td.col--row-num::after,
  .table--sticky-col th.col--ticker::after,
  .table--sticky-col td.col--ticker::after {
    content: none;
  }
}

.table-responsive {
  --table-wrap-bg: var(--tertiary-bg);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid rgb(var(--border-color-rgb), 0.5);
  border-radius: 6px;
  padding: 0.5rem;
  background: linear-gradient(to right, var(--table-wrap-bg) 30%, transparent) 0 0/2.25rem 100% no-repeat local, linear-gradient(to left, var(--table-wrap-bg) 30%, transparent) 100% 0/2.25rem 100% no-repeat local, radial-gradient(farthest-side at 0 50%, var(--table-scroll-shadow), transparent) 0 0/0.85rem 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, var(--table-scroll-shadow), transparent) 100% 0/0.85rem 100% no-repeat scroll, var(--table-wrap-bg);
}
.table-responsive table {
  --table-bg: transparent;
  border-radius: 4px;
}
.table-responsive table tr {
  background-color: var(--body-bg);
}

.table-responsive:has(.table--sticky-col) {
  padding-inline: 0;
}

.table-responsive:has(.table--sticky-header) {
  max-height: 75vh;
  max-height: 75dvh;
  overflow-y: auto;
}

@media (max-width: 991px) {
  .table-responsive:has(.table--sticky-header) {
    max-height: calc(75vh - 4rem);
    max-height: calc(75dvh - 4rem - env(safe-area-inset-bottom, 0px));
  }
}
@media (max-width: 767px) and (orientation: portrait), (max-width: 575px) {
  .table-responsive:has(.table-stack) {
    max-height: none;
    overflow: visible;
  }
}
.screener-progress {
  display: block;
  width: 16rem;
  max-width: 100%;
  height: 0.5rem;
  border: none;
  border-radius: 6px;
  background-color: var(--tertiary-bg);
  overflow: hidden;
  appearance: none;
}
.screener-progress::-webkit-progress-bar {
  background-color: var(--tertiary-bg);
  border-radius: 6px;
}
.screener-progress::-webkit-progress-value {
  background-color: var(--link-color);
  border-radius: 6px;
}
.screener-progress::-moz-progress-bar {
  background-color: var(--link-color);
  border-radius: 6px;
}

.table-enter tr {
  animation: fade-in 0.2s cubic-bezier(0.4, 0, 0.2, 1) both;
}

.table-enter tr:nth-child(1) {
  animation-delay: 0ms;
}

.table-enter tr:nth-child(2) {
  animation-delay: 30ms;
}

.table-enter tr:nth-child(3) {
  animation-delay: 60ms;
}

.table-enter tr:nth-child(4) {
  animation-delay: 90ms;
}

.table-enter tr:nth-child(5) {
  animation-delay: 120ms;
}

.table-enter tr:nth-child(6) {
  animation-delay: 150ms;
}

.table-enter tr:nth-child(7) {
  animation-delay: 180ms;
}

.table-enter tr:nth-child(8) {
  animation-delay: 210ms;
}

.table-enter tr:nth-child(9) {
  animation-delay: 240ms;
}

.table-enter tr:nth-child(10) {
  animation-delay: 270ms;
}

.table-enter tr:nth-child(11) {
  animation-delay: 300ms;
}

.table-enter tr:nth-child(12) {
  animation-delay: 330ms;
}

.table-enter tr:nth-child(n+13) {
  animation-delay: 360ms;
}

.confidence-row > td:first-child {
  border-left: 0.25rem solid transparent;
}
.confidence-row--high > td:first-child {
  border-left-color: var(--success);
}
.confidence-row--medium > td:first-child {
  border-left-color: var(--warning);
}
.confidence-row--low > td:first-child {
  border-left-color: var(--danger);
}

@media (max-width: 767px) {
  .table-stack .confidence-row {
    border-left-width: 0.25rem;
  }
  .table-stack .confidence-row > td:first-child {
    border-left: 0;
  }
  .table-stack .confidence-row--high {
    border-left-color: var(--success);
  }
  .table-stack .confidence-row--medium {
    border-left-color: var(--warning);
  }
  .table-stack .confidence-row--low {
    border-left-color: var(--danger);
  }
}

.table-row-highlight {
  background: var(--primary-bg-subtle);
}
.table-row-highlight > td:first-child {
  border-left: 0.5rem solid var(--primary);
}
.table-row-highlight--success {
  background: var(--success-bg-subtle);
}
.table-row-highlight--success > td:first-child {
  border-left-color: var(--success);
}

@media (max-width: 767px) {
  .table-stack .table-row-highlight {
    border-left-width: 0.5rem;
    border-left-color: var(--primary);
  }
  .table-stack .table-row-highlight > td:first-child {
    border-left: 0;
  }
  .table-stack .table-row-highlight--success {
    border-left-color: var(--success);
  }
}

.meta-summary {
  display: grid;
  grid-template-areas: "type ." "sector sector" "accounts accounts" "lists lists";
  grid-template-columns: auto 1fr;
  gap: var(--gap-y-sm) var(--gap-x-sm);
  margin-bottom: var(--vr);
}
@media (min-width: 576px) {
  .meta-summary {
    grid-template-areas: "type sector" "accounts accounts" "lists lists";
    gap: var(--gap-y) var(--gap-x);
  }
}
.meta-summary > .meta-type {
  grid-area: type;
}
.meta-summary > .meta-sector {
  grid-area: sector;
}
.meta-summary > .meta-accounts {
  grid-area: accounts;
}
.meta-summary > .meta-lists {
  grid-area: lists;
}
.meta-summary > a {
  justify-self: start;
}
.meta-type {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.meta-type .badge {
  --badge-padding-y: 0;
  --badge-padding-x: 0.125rem;
  line-height: 1.5714285714;
}
.meta-sector {
  color: var(--secondary-color);
}

.exchange-logo {
  height: 18px;
  width: auto;
  vertical-align: middle;
  margin-left: 0.5rem;
}

.index-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.index-badge .index-badge-logo {
  height: 14px;
  width: auto;
}

:root[data-theme=dark] .exchange-logo,
:root[data-theme=dark] .index-badge-logo {
  background-color: #fff;
  border-radius: 2px;
}
:root[data-theme=dark] .exchange-logo {
  padding: 1px 3px;
}
:root[data-theme=dark] .index-badge-logo {
  padding: 1px 2px;
}

.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 1.5rem;
}

dialog {
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--body-bg);
  box-shadow: 0 1px 20px rgba(0, 0, 0, 0.08);
  color: var(--body-color);
  padding: calc(var(--vr) * 1) 2rem;
  width: 90vw;
  max-width: 860px;
}
@media (max-width: 575px) {
  dialog {
    width: 100vw;
    max-width: none;
    max-height: 85dvh;
    margin: auto 0 0;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    padding-bottom: calc(calc(var(--vr) * 1) + env(safe-area-inset-bottom, 0px));
    animation: sheet-up 0.35s cubic-bezier(0.32, 0.72, 0, 1);
  }
}
dialog::backdrop {
  background: var(--overlay-bg);
}

.sheet-grabber {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  height: calc(var(--vr) * 1);
  cursor: grab;
  touch-action: none;
}
.sheet-grabber:active {
  cursor: grabbing;
}
.sheet-grabber::before {
  content: "";
  width: 2.25rem;
  height: 0.3125rem;
  border-radius: 999px;
  background: var(--border-color);
}

.meter {
  --value-pct: 0%;
  --norm-pct: 50%;
  position: relative;
  height: 8px;
  margin-top: 8px;
  margin-bottom: 8px;
  border-radius: 4px;
  overflow: hidden;
  background-color: var(--tertiary-bg);
  min-width: 3rem;
  max-width: 4rem;
}

.meter--fill::before {
  content: "";
  position: absolute;
  inset: 0;
  width: var(--value-pct);
  background-color: var(--fill-color, #64748b);
}

.meter--norm::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--norm-pct);
  width: 2px;
  background-color: var(--body-color);
}

.capalloc-bar {
  display: flex;
  column-gap: 2px;
  height: 0.75rem;
  margin: 0.5rem 0;
  border-radius: 4px;
  overflow: hidden;
}

.capalloc-bar__seg {
  flex: 0 0 var(--seg-pct);
  min-width: 3px;
  background-color: var(--seg-color);
}

.capalloc-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.capalloc-legend__item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

.capalloc-legend__chip {
  flex: none;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 2px;
  background-color: var(--seg-color);
}

.revenue-mix {
  --seg-1: #8000ff;
  --seg-2: #14b8a6;
  --seg-3: #f59e0b;
  --seg-4: #3b82f6;
  --seg-5: #ec4899;
  --seg-6: #009E73;
  --seg-other: #919cad;
}

[data-theme=dark] .revenue-mix {
  --seg-2: #0d9488;
  --seg-3: #d97706;
  --seg-other: #64748b;
}

.revenue-mix__axis-label {
  font-size: 0.75rem;
  line-height: 1.5rem;
  color: var(--tertiary-color);
  margin-bottom: 0.25rem;
}

.revenue-mix__axis + .revenue-mix__axis {
  margin-top: 1.125rem;
}

.revenue-mix__legend {
  display: block;
}
.revenue-mix__legend .capalloc-legend__item {
  padding: 0.25rem 0;
  border-bottom: 1px solid var(--border-color);
}
.revenue-mix__legend .capalloc-legend__item:last-child {
  border-bottom: 0;
}

.revenue-mix__delta {
  margin-left: auto;
  padding-left: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5rem;
  white-space: nowrap;
}

.revenue-mix__contra .capalloc-legend__chip {
  background-color: transparent;
  border: 1px dashed var(--tertiary-color);
}

.threshold-cell {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  font-variant-numeric: tabular-nums;
}
.threshold-cell__value {
  font-weight: 600;
}
.threshold-cell__delta {
  font-size: 0.75rem;
  line-height: 1.5rem;
  color: var(--secondary-color);
}
.threshold-cell__delta--favorable {
  color: var(--success-text-emphasis);
}
.threshold-cell__delta--unfavorable {
  color: var(--danger-text-emphasis);
}

.report-card-pillar legend {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.report-card-pillar .threshold-cell {
  align-items: flex-start;
}
.report-card-pillar .dl-stack {
  gap: 0;
}
.report-card-pillar .dl-stack dt {
  margin-bottom: 0.25rem;
}
.report-card-pillar .dl-stack dd + dt {
  margin-top: 1rem;
}

.report-card-grade {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  line-height: 1.5rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.report-card-grade__ring {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 1.5em;
  height: 1.5em;
  border: 2px solid;
  border-radius: 50%;
  font-weight: 800;
}
.report-card-grade--favorable {
  color: var(--success);
}
.report-card-grade--inline {
  color: var(--secondary-color);
}
.report-card-grade--unfavorable {
  color: var(--danger);
}

:root[data-theme=dark] .report-card-grade--favorable {
  color: var(--success-text-emphasis);
}
:root[data-theme=dark] .report-card-grade--unfavorable {
  color: var(--danger-text-emphasis);
}

.ret-inputs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: var(--vr) var(--hr);
  align-items: start;
}
.ret-inputs .form-control {
  width: 100%;
}

.ret-eyebrow {
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--secondary-color);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ret-hint {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.5rem;
  color: var(--secondary-color);
}

.toc-mobile {
  position: sticky;
  top: 0;
  z-index: var(--z-index-sticky);
  padding-inline: 1rem;
  background: rgb(var(--body-bg-rgb), 0.75);
  backdrop-filter: blur(4px);
  border-bottom: 1px solid var(--border-color);
}
@media (min-width: 992px) {
  .toc-mobile {
    display: none;
  }
}

.toc-mobile__summary {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--secondary-color);
  cursor: pointer;
  padding: 0.5rem 0;
  list-style: none;
}
.toc-mobile__summary::marker, .toc-mobile__summary::-webkit-details-marker {
  display: none;
}
.toc-mobile__summary::before {
  content: "▶";
  display: inline-block;
  margin-right: 0.25rem;
  font-size: 0.75rem;
  transition: transform var(--transition-speed) var(--transition-easing);
}
details[open] > .toc-mobile__summary::before {
  transform: rotate(90deg);
}

.toc-mobile__current {
  font-weight: 400;
}

.toc-mobile__list {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  max-height: 70dvh;
  overflow-y: auto;
  padding: 0.5rem;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--body-bg);
  box-shadow: 0 1px 20px rgba(0, 0, 0, 0.08);
}
.toc-mobile__list a {
  display: block;
  padding: 0.25rem 0.5rem;
}

.annual-returns-chart {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-top: 0.5rem;
}
.annual-returns-chart__row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.annual-returns-chart__year {
  font-size: 0.875rem;
  color: var(--secondary-color);
  width: 2.5rem;
  flex-shrink: 0;
  text-align: right;
}
.annual-returns-chart__bar-wrap {
  flex: 1;
  min-width: 0;
  height: 0.75rem;
  background-color: var(--tertiary-bg);
  border-radius: 4px;
  overflow: hidden;
}
.annual-returns-chart__bar {
  display: block;
  height: 100%;
  border-radius: 4px;
  transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.annual-returns-chart__bar--gain {
  background-color: var(--success-bg-subtle);
}
.annual-returns-chart__bar--loss {
  background-color: var(--danger-bg-subtle);
}
.annual-returns-chart__value {
  font-size: 0.875rem;
  width: 4rem;
  flex-shrink: 0;
  text-align: right;
}

.popover-card {
  max-width: 512px;
  max-height: calc(100dvh - var(--page-nav-height, 4.5rem) - 2rem);
  margin-top: calc(var(--page-nav-height, 4.5rem) + 1rem);
  margin-bottom: auto;
  overflow-y: auto;
  padding: 1rem;
  border: none;
  border-radius: 8px;
  background: var(--body-bg);
  box-shadow: 0 1px 20px rgba(0, 0, 0, 0.08);
  color: var(--body-color);
}

.popover-card__title {
  margin-top: 0;
  margin-bottom: 0.5rem;
  padding-right: 1.5rem;
  font-size: 1rem;
}

.popover-card__close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: none;
  color: var(--secondary-color);
  cursor: pointer;
}
.popover-card__close:hover {
  background: var(--muted-bg-subtle);
  color: var(--body-color);
}
.popover-card__close:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: -2px;
}
@media (pointer: coarse) {
  .popover-card__close {
    width: 2.75rem;
    height: 2.75rem;
  }
}

.popover-card__chart {
  position: relative;
  height: 4rem;
  margin-bottom: 0.75rem;
  border-radius: 6px;
  box-shadow: inset 0 0 0 1px var(--border-color);
}

.popover-card__chart-empty {
  margin: 0;
  font-size: 0.75rem;
  color: var(--secondary-color);
}

.popover-card__chart-stats {
  display: flex;
  align-items: baseline;
  gap: 1.125rem 0.75rem;
  margin-top: 0.5rem;
  margin-bottom: 0.75rem;
  font-size: 0.75rem;
  color: var(--body-color);
}

.popover-card__chart-stat {
  display: inline-flex;
  align-items: baseline;
  gap: 0.25rem;
}
.popover-card__chart-stat:last-child {
  margin-left: auto;
}

.popover-card__chart-label {
  color: var(--secondary-color);
  font-weight: 600;
}

.popover-card__chart-change--up {
  color: var(--success);
}

.popover-card__chart-change--down {
  color: var(--danger);
}

.popover-menu {
  min-width: 14rem;
  margin: auto;
  padding: 0.25rem;
  border: none;
  border-radius: 8px;
  background: var(--body-bg);
  box-shadow: 0 1px 20px rgba(0, 0, 0, 0.08);
  color: var(--body-color);
}
.popover-menu:popover-open {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.popover-menu__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: none;
  border-radius: 6px;
  background: none;
  color: inherit;
  font-size: 1rem;
  text-align: left;
  cursor: pointer;
}
.popover-menu__item:hover {
  background: var(--muted-bg-subtle);
}
.popover-menu__item[disabled], .popover-menu__item[aria-disabled=true] {
  opacity: 0.5;
  pointer-events: none;
}
.popover-menu__item:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: -2px;
}
.popover-menu__item .icon {
  flex: none;
  color: var(--secondary-color);
}
.popover-menu__item--danger {
  color: var(--danger);
}
.popover-menu__item--danger .icon {
  color: var(--danger);
}
.popover-menu__item--danger:hover {
  background: color-mix(in srgb, var(--danger) 12%, transparent);
}

.icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  flex-shrink: 0;
}

.icon-rotate-180 {
  transform: rotate(180deg);
}

.upcoming-event-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  border-radius: 50%;
  background-color: var(--warning-bg-subtle);
}
.upcoming-event-icon .icon {
  width: 0.875rem;
  height: 0.875rem;
  vertical-align: 0;
}

.toast {
  --toast-bg: var(--body-bg);
  --toast-color: var(--body-color);
  --toast-border-color: var(--border-color);
  position: fixed;
  right: 2rem;
  bottom: calc(1.5rem + env(safe-area-inset-bottom, 0));
  z-index: var(--z-index-dropdown);
  display: flex;
  align-items: center;
  gap: 0.75rem;
  max-width: 24rem;
  max-height: 50vh;
  overflow-y: auto;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  background: var(--toast-bg);
  box-shadow: 0 1px 20px rgba(0, 0, 0, 0.08);
  color: var(--toast-color);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  opacity: 0;
  visibility: hidden;
  transform: translateY(0.5rem);
  pointer-events: none;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.toast::before {
  content: "";
  position: absolute;
  left: 0.375rem;
  background: var(--toast-border-color);
  width: 0.25rem;
  height: 1.5em;
  border-radius: 6px;
}

.toast--visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.toast--primary {
  --toast-bg: var(--primary-bg-subtle);
  --toast-color: var(--primary-text-emphasis);
  --toast-border-color: var(--primary-border-subtle);
}

.toast--info {
  --toast-bg: var(--info-bg-subtle);
  --toast-color: var(--info-text-emphasis);
  --toast-border-color: var(--info-border-subtle);
}

.toast--success {
  --toast-bg: var(--success-bg-subtle);
  --toast-color: var(--success-text-emphasis);
  --toast-border-color: var(--success-border-subtle);
}

.toast--warning {
  --toast-bg: var(--warning-bg-subtle);
  --toast-color: var(--warning-text-emphasis);
  --toast-border-color: var(--warning-border-subtle);
}

.toast--danger {
  --toast-bg: var(--danger-bg-subtle);
  --toast-color: var(--danger-text-emphasis);
  --toast-border-color: var(--danger-border-subtle);
}

.toast--accent {
  --toast-bg: var(--accent-bg-subtle);
  --toast-color: var(--accent-text-emphasis);
  --toast-border-color: var(--accent-border-subtle);
}

.toast--error {
  --toast-bg: var(--danger-bg-subtle);
  --toast-color: var(--danger-text-emphasis);
  --toast-border-color: var(--danger-border-subtle);
}

.toast__message {
  flex: 1;
}

.toast__close {
  display: inline-flex;
  flex-shrink: 0;
  padding: 0.5rem;
  margin: -0.5rem;
  border: none;
  background: none;
  color: var(--tertiary-color, currentColor);
  cursor: pointer;
}
.toast__close:hover {
  color: var(--body-color, currentColor);
}

.company-logo {
  width: 1.5em;
  height: 1.5em;
  min-height: 3rem;
  margin-right: calc(var(--hr) * 0.5);
  padding: 0.25rem;
  vertical-align: text-bottom;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background-color: var(--body-bg);
  object-fit: contain;
  box-sizing: border-box;
}

.company-logo--dark {
  background-color: #21252b;
}

.company-logo--light {
  background-color: #fff;
}

a .account-logo {
  --border-color: var(--link-color);
  box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.125);
}

a:hover .account-logo {
  --border-color: var(--link-hover-color);
}

.account-logo {
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: 0.5rem;
  padding: 2px;
  vertical-align: middle;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background-color: var(--body-bg);
  object-fit: contain;
  box-sizing: border-box;
}

.inline-logo {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 6px;
  object-fit: contain;
  vertical-align: middle;
}

:root[data-theme=dark] .account-logo {
  background-color: #fff;
}

.lookthrough-map-wrap {
  position: relative;
  height: 24rem;
  max-width: 56rem;
}
@media (max-width: 575px) {
  .lookthrough-map-wrap {
    height: 14rem;
  }
}

.lookthrough-map-legend {
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--hr) * 0.5) calc(var(--hr) * 1);
  margin-top: 0.5rem;
}
.lookthrough-map-legend__item {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.lookthrough-map-legend__swatch {
  display: inline-block;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 6px;
  border: 1px solid var(--border-color);
}

.summary-group {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1rem;
}
.summary-group .card {
  flex: 1 1 auto;
  min-width: 0;
}
@media (max-width: 767px) {
  .summary-group {
    gap: 0.5rem;
    align-items: stretch;
  }
}

.summary-value {
  font-size: var(--font-size-xl);
  font-weight: 600;
  overflow-wrap: break-word;
}

.summary-label {
  font-size: var(--font-size-xs);
  color: var(--secondary-color);
}

.card--event__dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.375rem 0.75rem;
  margin: 0.5rem 0 0;
  padding-top: 0.5rem;
  border-top: 1px solid var(--border-color);
  font-size: var(--font-size-xs);
}
.card--event__dl dt {
  color: var(--secondary-color);
  white-space: nowrap;
}
.card--event__dl dd {
  margin: 0;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.card--event__seclabel {
  display: none;
  margin: 0 0 0.25rem;
  font-size: var(--font-size-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--secondary-color);
}

.card--event--wide {
  flex: 1 1 26rem;
}
.card--event--wide .card--event__seclabel {
  display: block;
}
.card--event--wide .card--event__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1.25rem;
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--border-color);
}
@media (max-width: 575px) {
  .card--event--wide .card--event__body {
    grid-template-columns: 1fr;
    gap: 0.75rem 0;
  }
}
.card--event--wide .card--event__dl {
  border-top: none;
  padding-top: 0;
  margin-top: 0.375rem;
}

.ticker-strip__stats {
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.5rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border-color);
}
.ticker-strip__stat {
  flex: 0 0 auto;
}
.ticker-strip__stat:not(:last-child) {
  padding-right: 1rem;
  margin-right: 1rem;
  border-right: 1px solid var(--border-color);
}
.ticker-strip__value {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.5rem;
}
.ticker-strip__portfolio {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border-color);
  font-size: 0.875rem;
}

details.chart-data-details {
  margin-top: 1rem;
}
details.chart-data-details > summary.chart-data-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 24px;
  font-size: 0.875rem;
  color: var(--secondary-color);
  cursor: pointer;
  list-style: none;
  user-select: none;
}
details.chart-data-details > summary.chart-data-toggle::-webkit-details-marker {
  display: none;
}
details.chart-data-details > summary.chart-data-toggle::before {
  content: "▸";
  font-size: 0.75rem;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
details.chart-data-details[open] > summary.chart-data-toggle::before {
  transform: rotate(90deg);
}

.day-range-track {
  position: relative;
  height: 3px;
  background: var(--tertiary-bg);
  border-radius: 6px;
}
.day-range-track__zero {
  position: absolute;
  top: -3px;
  bottom: -3px;
  width: 1px;
  background: var(--secondary-color);
  transform: translateX(-50%);
  opacity: 0.5;
}
.day-range-track__marker {
  position: absolute;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.day-range-track__marker--success {
  background: var(--success);
}
.day-range-track__marker--danger {
  background: var(--danger);
}
.day-range-track__marker--primary {
  background: var(--primary);
}
.day-range-track__marker--warning {
  background: var(--warning);
}
.day-range-track__marker--muted {
  background: var(--muted);
}
.day-range-track__marker--ghost {
  background: var(--body-bg);
  border: 2px solid var(--secondary-color);
}
.day-range-track__dot {
  position: absolute;
  top: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: var(--secondary-color);
  opacity: 0.55;
}
.day-range-track__dot::before {
  content: "";
  position: absolute;
  inset: -9px;
}
.day-range-track__labels {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.25rem;
}

.week52-range,
.analyst-range {
  margin-bottom: 1rem;
}
.week52-range__labels,
.analyst-range__labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.875rem;
  color: var(--secondary-color);
  margin-bottom: 0.5rem;
}

.value-fetched {
  color: var(--link);
  font-weight: 600;
}

.tooltip {
  position: fixed;
  max-width: 16rem;
  padding: 0.25rem 0.5rem;
  margin: 0;
  overflow: visible;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--body-bg);
  box-shadow: 0 1px 20px rgba(0, 0, 0, 0.08);
  color: var(--body-color);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.tooltip:popover-open {
  opacity: 1;
}
.tooltip::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  transform: translateX(-50%);
}
.tooltip[data-placement=top]::after {
  top: 100%;
  border-top-color: var(--border-color);
}
.tooltip[data-placement=bottom]::after {
  bottom: 100%;
  border-bottom-color: var(--border-color);
}

.search-suggestions {
  position: fixed;
  z-index: var(--z-index-overlay);
  max-height: var(--panel-max-height-sm);
  overflow-y: auto;
  margin: 0;
  padding: 0.25rem 0;
  color: var(--body-color);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--body-bg);
  box-shadow: 0 1px 20px rgba(0, 0, 0, 0.08);
}
.search-suggestions:not(:popover-open) {
  display: none;
}
.search-suggestions__option {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  cursor: pointer;
  font-size: 0.875rem;
  transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.search-suggestions__option:hover, .search-suggestions__option--active {
  background-color: var(--secondary-bg);
}
.search-suggestions__ticker {
  font-weight: 600;
}
.search-suggestions__name {
  overflow: hidden;
  color: var(--secondary-color);
  white-space: nowrap;
  text-overflow: ellipsis;
}
.search-suggestions__empty {
  padding: 0.5rem 0.75rem;
  color: var(--secondary-color);
  font-size: 0.875rem;
}

.code-block {
  margin: 0 0 1.5rem;
  padding: 0.75rem 1rem;
  overflow-x: auto;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--tertiary-bg);
  font-size: 0.875rem;
  white-space: pre-wrap;
}

.code-example {
  margin-bottom: 1.5rem;
}
.code-example__preview {
  padding: 0.75rem 1rem;
  border: 1px dashed var(--border-color);
  border-radius: 6px;
}

.column-customizer__panel {
  width: var(--panel-width-md);
  max-width: calc(100vw - 2rem);
  max-height: var(--panel-max-height);
  overflow-y: auto;
  padding: 0.75rem;
}

.column-customizer__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.25rem 0;
}
.column-customizer__row:not(:last-child) {
  border-bottom: 1px solid var(--border-color);
}
.column-customizer__row .form-check {
  min-width: 0;
}
.column-customizer__row .form-check-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.col-glossary-link {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--secondary-color);
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.col-glossary-link:hover, .col-glossary-link:focus-visible {
  color: var(--primary-text-emphasis);
}

.column-customizer__move {
  display: flex;
  gap: 0.25rem;
  flex-shrink: 0;
}

.saved-views__panel {
  width: var(--panel-width-md);
  max-width: calc(100vw - 2rem);
  max-height: var(--panel-max-height);
  overflow-y: auto;
  padding: 0.75rem;
}

.saved-views__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.25rem 0;
}
.saved-views__row:not(:last-child) {
  border-bottom: 1px solid var(--border-color);
}

.saved-views__name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
}

.saved-views__name.is-active {
  font-weight: 600;
  border-color: var(--primary);
}
.saved-views__name.is-active .icon {
  width: 1em;
  height: 1em;
  margin-right: 0.25rem;
  color: var(--primary);
}

.news-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 768px) {
  .news-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 1rem;
  }
}

.news-list__item {
  padding: 0.5rem 0;
}

.section-sub + .section-sub {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-color);
}

.section-sub__title {
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  font-weight: 600;
  color: var(--secondary-color);
  margin: 0 0 0.75rem;
}

.section-sub--collapsible > summary.section-sub__title {
  margin-bottom: 0;
}
.section-sub--collapsible[open] > summary.section-sub__title {
  margin-bottom: 0.75rem;
}

.risk-flags {
  list-style: none;
  margin: 0;
  padding: 0;
}

.risk-flags__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-color);
}
.risk-flags__item:last-child {
  border-bottom: 0;
}

.risk-headings {
  margin: 0;
  padding-left: 1rem;
}
.risk-headings li {
  padding: 0.25rem 0;
}

.dd-links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.dd-links li {
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-color);
}
.dd-links li:last-child {
  border-bottom: 0;
}
.dd-links .text-disclaimer {
  display: block;
}

.dd-group {
  margin-bottom: 0.75rem;
}
.dd-group:last-child {
  margin-bottom: 0;
}

.dd-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
}

.dd-checklist__item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-color);
}
.dd-checklist__item:last-child {
  border-bottom: 0;
}
.dd-checklist__item label {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  cursor: pointer;
}
.dd-checklist__item input[type=checkbox] {
  margin-top: 0.1em;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .dd-checklist__item {
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
  }
  .dd-checklist__item label {
    flex: 1;
  }
}

.dd-checklist__meta {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  padding-left: calc(1em * 1.5 + 0.5rem);
}
@media (min-width: 768px) {
  .dd-checklist__meta {
    padding-left: 0;
    flex-shrink: 0;
  }
}

.event-detail {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.25rem 0.5rem;
  align-items: baseline;
}

.event-detail__row,
.event-detail__async {
  display: contents;
}

.event-detail__label {
  color: var(--secondary-color);
  font-size: 0.75rem;
  white-space: nowrap;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 575px) {
  .event-detail {
    display: block;
  }
  .event-detail__row {
    display: block;
  }
  .event-detail__label {
    margin-right: 0.25rem;
  }
}
.cal-month__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.cal-month__label {
  min-width: 10rem;
  font-weight: 800;
  text-align: center;
}

.cal-month__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background-color: var(--border-color);
  overflow: hidden;
}
@media (min-width: 576px) {
  .cal-month__grid {
    grid-template-columns: repeat(7, minmax(4.5rem, 1fr));
  }
}

.cal-month__dow {
  padding: 0.25rem 0;
  font-size: 0.75rem;
}
@media (min-width: 576px) {
  .cal-month__dow {
    padding: 0.25rem 0.5rem;
  }
}
.cal-month__dow {
  line-height: 1.5rem;
  font-weight: 600;
  color: var(--secondary-color);
  text-align: center;
  background-color: var(--tertiary-bg);
}

.cal-month__cell {
  min-height: 3.5rem;
  padding: 2px;
  background-color: var(--body-bg);
}
@media (min-width: 576px) {
  .cal-month__cell {
    min-height: 4.5rem;
    padding: 0.25rem;
  }
}

.cal-month__cell--empty {
  background-color: var(--tertiary-bg);
}

.cal-month__cell--today {
  background-color: var(--primary-bg-subtle);
}

.cal-month__daynum {
  font-size: 0.75rem;
  line-height: 1.5rem;
  color: var(--secondary-color);
}

.cal-month__events {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 2px;
}

.cal-chip {
  display: block;
  max-width: 100%;
  padding: 0 0.25rem;
  border-radius: 4px;
  overflow: hidden;
  font-size: 0.75rem;
  font-weight: 600;
  min-height: 1.5rem;
  line-height: 1.5rem;
  text-overflow: ellipsis;
  text-decoration: none;
  white-space: nowrap;
}
.cal-chip--earnings {
  background-color: var(--warning-bg-subtle);
  color: var(--warning-text-emphasis);
}
.cal-chip--ex_dividend {
  background-color: var(--info-bg-subtle);
  color: var(--info-text-emphasis);
}
.cal-chip--dividend {
  background-color: var(--success-bg-subtle);
  color: var(--success-text-emphasis);
}
.cal-chip:hover {
  text-decoration: underline;
}

.anchor-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  min-height: 1.5rem;
  margin-left: 0.25rem;
  color: var(--secondary-color);
  opacity: 0;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.anchor-link:hover, .anchor-link:focus-visible {
  color: var(--primary-text-emphasis);
}

@media not (hover: hover) {
  .anchor-link {
    opacity: 0.45;
  }
}
:where(h2.subtitle, legend):hover .anchor-link, :where(h2.subtitle, legend):focus-within .anchor-link {
  opacity: 1;
}

:where(.dl-stack dt):hover .anchor-link, :where(.dl-stack dt):focus-within .anchor-link {
  opacity: 1;
}

.portfolio-sparkline {
  display: block;
  width: 100%;
  height: 8rem;
  margin-top: 1rem;
  padding: 0;
  background: transparent;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.portfolio-sparkline:hover {
  border-color: var(--primary);
}
.portfolio-sparkline canvas {
  display: block;
  width: 100%;
  height: 100%;
}
.portfolio-sparkline__hint {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  right: 0.5rem;
  font-size: 0.75rem;
  color: var(--secondary-color);
  pointer-events: none;
  opacity: 1;
}
.portfolio-sparkline--loading {
  animation: pulse 1.8s ease-in-out infinite;
  background: var(--border-color);
  opacity: 0.35;
  pointer-events: none;
}

.card--summary:has(.portfolio-sparkline) {
  padding: 0;
  overflow: hidden;
  min-width: 12rem;
}

.card--summary .portfolio-sparkline {
  border: none;
  border-radius: 0;
  height: 16rem;
  margin: 0;
}
.card--summary .portfolio-sparkline:hover {
  border: none;
}

.dashboard-overview__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 1px solid var(--border-color);
}

.dashboard-overview__health {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}

.perf-grid {
  display: grid;
  grid-template-columns: 1fr clamp(12rem, 28%, 22rem);
  grid-template-areas: "metrics chart";
  gap: 1rem;
}
.perf-grid__metrics {
  grid-area: metrics;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.perf-grid__chart {
  grid-area: chart;
  display: flex;
  flex-direction: column;
}
.perf-grid__chart .card--summary:has(.portfolio-sparkline) {
  flex: 1;
}
.perf-grid__chart .portfolio-sparkline {
  height: 100%;
}
@media (max-width: 575px) {
  .perf-grid {
    grid-template-columns: 1fr;
    grid-template-areas: "metrics" "chart";
  }
  .perf-grid__chart .portfolio-sparkline {
    height: 8rem;
  }
}

.income-chart {
  position: relative;
}

@media (min-width: 992px) {
  .income-chart--scroll {
    max-height: 60vh;
    overflow-y: auto;
  }
  .income-chart--scroll:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
  }
}
.status-overview {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.status-item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

.status-dot {
  display: inline-block;
  flex-shrink: 0;
  width: 0.625em;
  height: 0.625em;
  margin-top: 0.3125em;
  border-radius: 50%;
}
.status-dot--success {
  background: var(--success);
}
.status-dot--warning {
  background: var(--warning);
}
.status-dot--danger {
  background: var(--danger);
  animation: status-dot-pulse 1.8s ease-in-out infinite;
}
.status-dot--muted {
  background: var(--muted);
}

.status-item__title {
  font-weight: 600;
}

.status-item__label {
  margin-left: 0.5rem;
  font-weight: 400;
}
.status-item__label--success {
  color: var(--success-text-emphasis);
}
.status-item__label--warning {
  color: var(--warning-text-emphasis);
}
.status-item__label--danger {
  color: var(--danger-text-emphasis);
}
.status-item__label--muted {
  color: var(--secondary-color);
}

@media (prefers-reduced-motion: reduce) {
  .status-dot--danger {
    animation: none;
  }
}
.status-dot-strip {
  display: none;
  align-items: center;
  gap: 0.25rem;
}
.status-dot-strip .status-dot {
  margin-top: 0;
}

details:not([open]) > summary .status-dot-strip {
  display: flex;
}

.status-dot-strip--always {
  display: flex;
}

.health-score {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--border-color);
  border-radius: 8px;
}

body[data-page=health] .card--section p:not(.health-score__verdict) {
  max-inline-size: var(--measure, 36em);
}

.health-score__grade {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border: 0.1875rem solid;
  border-radius: 50%;
  font-size: 2rem;
  font-weight: 800;
}

.health-score--success .health-score__grade {
  color: var(--success);
}

.health-score--warning .health-score__grade {
  color: var(--warning);
}

.health-score--danger .health-score__grade {
  color: var(--danger);
}

.health-score__body {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.health-score__number {
  font-size: 1.75rem;
  font-weight: 800;
}

.health-score__max {
  font-size: 1rem;
  font-weight: 400;
  color: var(--secondary-color);
}

.health-score__verdict {
  font-size: 0.875rem;
  color: var(--secondary-color);
}

.comps-filter {
  max-width: 24rem;
}
.comps-filter .form-search-field {
  width: 100%;
}

.comps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  gap: 0.75rem;
}

.comps-card {
  display: block;
  text-decoration: none;
  color: var(--body-color);
  transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.comps-card__name {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.5rem;
}
.comps-card:hover {
  --card-border-color: var(--primary);
}
.comps-card:focus-visible {
  --card-border-color: var(--focus-ring-color);
  outline: none;
}
.comps-card--stale .comps-card__stale-label {
  color: var(--warning-text-emphasis);
}

.comps-industry-group__label {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.comps-industry-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1rem;
}
.comps-industry-list__link {
  display: inline-block;
  padding: 0.25rem 0;
  font-size: 0.875rem;
  color: var(--body-color);
  text-decoration: none;
}
.comps-industry-list__link:hover, .comps-industry-list__link:focus-visible {
  color: var(--primary);
}
.comps-industry-list__meta {
  margin-left: 0.25rem;
}

.refresh-progress-bar {
  position: fixed;
  top: env(safe-area-inset-top, 0);
  left: 0;
  height: 3px;
  width: var(--refresh-pct, 0%);
  background-color: var(--link-color);
  z-index: calc(var(--z-index-overlay) + 50);
  opacity: 0;
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}
.refresh-progress-bar.is-active {
  opacity: 1;
}

.pull-to-refresh-indicator {
  position: fixed;
  top: calc(env(safe-area-inset-top, 0) + calc(var(--vr) * 0.5));
  left: 50%;
  margin-left: calc(-1 * 2.5rem / 2);
  z-index: var(--z-index-overlay);
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border-color);
  border-radius: 50%;
  background: var(--body-bg);
  box-shadow: 0 1px 20px rgba(0, 0, 0, 0.08);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-speed) var(--transition-easing);
}
.pull-to-refresh-indicator .icon {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--secondary-color);
  transition: color var(--transition-speed) var(--transition-easing);
}
.pull-to-refresh-indicator.is-visible {
  opacity: 1;
}
.pull-to-refresh-indicator.is-armed .icon {
  color: var(--primary);
}
.pull-to-refresh-indicator.is-spinning .icon {
  animation: pull-to-refresh-spin 0.6s linear infinite;
}

@keyframes pull-to-refresh-spin {
  to {
    transform: rotate(360deg);
  }
}
.app-lock-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--z-index-overlay);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--body-bg);
  padding: calc(var(--vr) * 1) 2rem;
  padding-top: calc(calc(var(--vr) * 1) + env(safe-area-inset-top, 0));
  padding-bottom: calc(calc(var(--vr) * 1) + env(safe-area-inset-bottom, 0));
}

.app-lock-overlay__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(var(--vr) * 0.5);
  max-width: 20rem;
  text-align: center;
}

.app-lock-overlay__icon {
  width: 2.5rem;
  height: 2.5rem;
  color: var(--secondary-color);
  margin-bottom: calc(var(--vr) * 0.5);
}

.app-lock-overlay__message {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 calc(var(--vr) * 0.5);
}

.app-lock-overlay__error {
  font-size: 0.875rem;
  margin: 0;
}

.market-gains-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.75rem 1rem;
}
@media (max-width: 575px) {
  .market-gains-strip {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem 1rem;
    align-items: stretch;
  }
}

.market-gains-item {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  flex: 1 0 auto;
  justify-content: center;
  gap: 0.5rem;
  padding-inline: 1em;
  padding-block: 0.1875rem;
  border: 1px solid var(--border-color);
  border-radius: 1.5em;
}
.market-gains-item > :not(:first-child)::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 0.8em;
  margin-inline-end: 0.5rem;
  background: var(--border-color);
  translate: 0 0.1em;
}
@media (max-width: 575px) {
  .market-gains-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
    border-radius: 0.75em;
    min-width: 0;
  }
  .market-gains-item > :not(:first-child)::before {
    content: none;
  }
}

.market-gains-label {
  font-size: 0.875rem;
  color: var(--secondary-color);
  white-space: nowrap;
}
@media (max-width: 575px) {
  .market-gains-label {
    white-space: normal;
  }
}

.market-gains-price {
  font-size: 0.875rem;
  font-weight: 600;
  white-space: nowrap;
}

@media (min-width: 768px) {
  .index-list__table .col--name {
    max-width: 14rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .index-list__table .col--industry {
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.index-list__table .col--industry {
  color: var(--secondary-color);
  font-size: 0.875rem;
}

.index-list__controls {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.index-list__filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}
.index-list__filter-row .input-group--search {
  flex: 1 1 16rem;
  max-width: 22rem;
}
.index-list__filter-row .form-select {
  flex: 0 1 12rem;
}

.index-list__filter-row--secondary .form-control--sm {
  width: 7rem;
}
.index-list__filter-row--secondary .index-list__held-check {
  white-space: nowrap;
}
.index-list__filter-row--secondary .index-list__col-customizer {
  margin-left: auto;
}

.holdings-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.holdings-toolbar__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: var(--ctrl-padding-y, 0.75rem) var(--ctrl-padding-x, 1rem);
  font-size: var(--ctrl-font-size, 1rem);
  line-height: 1.375;
  min-height: 1.5rem;
  min-width: 1.5rem;
  font-weight: 400;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-link:hover, .nav-link:focus-visible {
  color: var(--body-color);
  text-decoration: none;
}
.nav-link:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: 2px;
}
.nav-link.disabled, .nav-link[disabled=true] {
  color: #919cad;
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  border-bottom: 1px solid var(--muted-border-subtle);
}
.nav-tabs .nav-link {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--muted);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus-visible {
  color: var(--body-color);
}
.nav-tabs .nav-link.disabled, .nav-tabs .nav-link[disabled=true] {
  color: #919cad;
  opacity: 0.8;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--primary-text-emphasis);
  border-bottom-color: var(--primary);
  font-weight: 600;
}

.nav-pills .nav-link {
  background: none;
  border: 0;
  border-radius: 6px;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--primary-text-emphasis);
  background: var(--primary-bg-subtle, color-mix(in srgb, var(--primary) 10%, transparent));
  font-weight: 600;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%;
}

.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 0.5rem;
  border-bottom: 1px solid var(--muted-border-subtle);
}

.tab {
  border: none;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background: none;
  padding: var(--ctrl-padding-y, 0.75rem) var(--ctrl-padding-x, 1rem);
  font-size: var(--ctrl-font-size, 1rem);
  cursor: pointer;
  color: var(--muted);
  border-bottom: 2px solid transparent;
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.tab:hover, .tab:focus-visible {
  color: var(--body-color);
}
.tab:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: 2px;
}
.tab[disabled], .tab[aria-disabled=true] {
  color: #919cad;
  pointer-events: none;
  cursor: default;
}

.tab--active {
  color: var(--primary-text-emphasis);
  border-bottom-color: var(--primary);
  font-weight: 600;
}

.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}

.price-ladder {
  position: relative;
  padding-top: 1.5rem;
}
.price-ladder__now {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  font-size: 0.75rem;
  line-height: 1.5rem;
  color: var(--secondary-color);
  white-space: nowrap;
}
.price-ladder__now--edge-start {
  transform: none;
}
.price-ladder__now--edge-end {
  transform: translateX(-100%);
}
.price-ladder__track {
  position: relative;
  height: 3px;
  background: var(--tertiary-bg);
  border-radius: 6px;
}
.price-ladder__tick {
  position: absolute;
  top: -4px;
  bottom: -4px;
  width: 2px;
  background: var(--secondary-color);
  transform: translateX(-50%);
}
.price-ladder__tick--reached {
  background: var(--success);
}
.price-ladder__tick--ref {
  top: -2px;
  bottom: -2px;
  width: 1px;
  background: var(--tertiary-color);
}
.price-ladder__marker {
  position: absolute;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: var(--primary);
}
.price-ladder__labels {
  position: relative;
}
.price-ladder__label {
  position: absolute;
  transform: translateX(-50%);
  font-size: 0.75rem;
  line-height: 1.5rem;
  color: var(--secondary-color);
  white-space: nowrap;
}
.price-ladder__label--ref {
  color: var(--tertiary-color);
}
.price-ladder__label--edge-start {
  transform: none;
}
.price-ladder__label--edge-end {
  transform: translateX(-100%);
}
@media (max-width: 575px) {
  .price-ladder__label-price {
    display: none;
  }
}

.quant-heatmap-wrap {
  overflow-x: auto;
}

.quant-heatmap {
  display: grid;
  gap: 2px;
  min-width: max-content;
}

.quant-heatmap__cell {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  line-height: 1.5rem;
  border-radius: 6px;
  white-space: nowrap;
}

.quant-heatmap__head {
  font-weight: 600;
  color: var(--secondary-color);
}

.quant-heatmap__rowhead {
  justify-content: flex-end;
  padding-right: 0.5rem;
}

.quant-heatmap__val,
.quant-corr-list__value {
  font-variant-numeric: tabular-nums;
}

.quant-corr--sp {
  background-color: color-mix(in srgb, var(--rdbu-200) 42%, transparent);
}

.quant-corr--p {
  background-color: color-mix(in srgb, var(--rdbu-200) 20%, transparent);
}

.quant-corr--z {
  background-color: color-mix(in srgb, var(--secondary-bg) 45%, transparent);
}

.quant-corr--n {
  background-color: color-mix(in srgb, var(--rdbu-800) 20%, transparent);
}

.quant-corr--sn {
  background-color: color-mix(in srgb, var(--rdbu-800) 42%, transparent);
}

.quant-corr--na {
  color: var(--secondary-color);
}

.quant-corr-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.quant-corr-list__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
  font-size: 0.875rem;
}

.quant-corr-list__ticker {
  font-weight: 600;
}

.quant-corr-list__value {
  color: var(--secondary-color);
}

.portfolio-heatmap {
  position: relative;
  width: 100%;
  aspect-ratio: 16/10;
  overflow: hidden;
}
@media (max-width: 575px) and (orientation: portrait) {
  .portfolio-heatmap {
    aspect-ratio: 4/5;
  }
}
.portfolio-heatmap {
  background-color: var(--body-bg);
  --border-color: rgb(var(--body-color-rgb), 65%);
}

.portfolio-heatmap__tile {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 1px;
  border: 1px solid var(--border-color);
  color: var(--body-color);
  text-decoration: none;
  text-align: center;
  line-height: 1.1;
  container-type: size;
}
.portfolio-heatmap__tile:hover, .portfolio-heatmap__tile:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: -2px;
  z-index: 2;
}
.portfolio-heatmap__tile--static:hover {
  outline: none;
}

.portfolio-heatmap__ticker {
  font-size: clamp(0.5rem, 26cqmin, 0.875rem);
  font-weight: 600;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portfolio-heatmap__change {
  font-size: clamp(0.5rem, 18cqmin, 0.75rem);
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
}

.portfolio-heatmap__sector {
  position: absolute;
  z-index: 1;
  padding: 0 3px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--body-color);
  background-color: color-mix(in srgb, var(--body-bg) 72%, transparent);
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  pointer-events: none;
}

.portfolio-heatmap__legend {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: var(--secondary-color);
}

.portfolio-heatmap__legend-bar {
  flex: 0 0 auto;
  width: 7rem;
  height: 0.6rem;
  border-radius: 6px;
  border: 1px solid var(--border-color);
  background: linear-gradient(to right, color-mix(in srgb, var(--danger) 40%, var(--body-bg)), var(--body-bg), color-mix(in srgb, var(--success) 40%, var(--body-bg)));
}

.story-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.story-list__item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.25rem 0;
  max-width: 36em;
}

.story-list__icon {
  flex: 0 0 auto;
  margin-top: 0.15em;
}

.story-list__icon--good {
  color: var(--success);
}

.story-list__icon--danger {
  color: var(--danger);
}

.story-list__icon--warning {
  color: var(--warning);
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-top: 1rem;
  font-size: 0.875rem;
}

.pagination__status {
  white-space: nowrap;
}

.pagination__jump {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.pagination__jump .pagination__jump-input {
  width: 4.5rem;
}

.pagination__jump-label {
  margin-bottom: 0;
  white-space: nowrap;
  color: var(--secondary-color);
}

.skip-link {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  z-index: calc(var(--z-index-overlay) + 10);
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
  background: var(--primary);
  color: var(--white);
  font-size: 0.875rem;
  text-decoration: none;
  transform: translateY(-250%);
  transition: transform 0.15s ease;
}
.skip-link:focus {
  transform: translateY(0);
  outline: 2px solid var(--white);
  outline-offset: 2px;
}

.fund-geo {
  display: grid;
  gap: 1rem;
  align-items: start;
}
@media (min-width: 992px) {
  .fund-geo {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  }
}

.fund-industries {
  display: grid;
  gap: 0 1rem;
  align-items: start;
}
@media (min-width: 992px) {
  .fund-industries {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}

.world-map {
  display: block;
  width: 100%;
  height: auto;
}
.world-map path {
  fill: var(--secondary-bg);
  stroke: var(--body-bg);
  stroke-width: 0.5;
}
.world-map .world-map__country--clickable {
  cursor: pointer;
}
.world-map .world-map__country--clickable:hover {
  opacity: 0.8;
}

.world-map__marker {
  stroke: var(--body-bg);
  stroke-width: 1.25;
  paint-order: stroke;
}

.world-map__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.75rem;
  margin-top: 0.5rem;
  font-size: 0.75rem;
  line-height: 1.5rem;
  color: var(--secondary-color);
}

.world-map__legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.world-map__swatch {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 6px;
}
.world-map__swatch--nodata {
  background: var(--secondary-bg);
  box-shadow: inset 0 0 0 1px var(--border-color);
}

.country-flag {
  flex: none;
  width: 1.15em;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 2px;
  vertical-align: -0.15em;
  box-shadow: 0 0 0 1px var(--border-color);
}

.page-nav__flag .country-flag {
  width: 1.4rem;
}

:root {
  --move-up: #4d9221;
  --move-down: #c51b7d;
  --move-up-text: #15803d;
  --move-down-text: #c51b7d;
  --move-map-nodata: #cfd3db;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) {
    --move-up: #7fbc41;
    --move-down: #de77ae;
    --move-up-text: #7fbc41;
    --move-down-text: #f1b6da;
    --move-map-nodata: #333a44;
  }
}
:root[data-theme=dark] {
  --move-up: #7fbc41;
  --move-down: #de77ae;
  --move-up-text: #7fbc41;
  --move-down-text: #f1b6da;
  --move-map-nodata: #333a44;
}

:root[data-theme=light] {
  --move-up: #4d9221;
  --move-down: #c51b7d;
  --move-up-text: #15803d;
  --move-down-text: #c51b7d;
  --move-map-nodata: #cfd3db;
}

.move-up {
  color: var(--move-up-text);
}

.move-down {
  color: var(--move-down-text);
}

.global-world {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1.9fr) minmax(15rem, 1fr);
  align-items: start;
}
@media (max-width: 991px) {
  .global-world {
    grid-template-columns: minmax(0, 1fr);
  }
}

.global-map .world-map {
  width: 100%;
  height: auto;
  display: block;
}
.global-map .world-map path,
.global-map .world-map g {
  fill: var(--move-map-nodata);
}

.global-map__legend {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
  font-size: 0.75rem;
  color: var(--secondary-color);
}

.global-map__ramp {
  flex: 1;
  max-width: 16rem;
  height: 0.55rem;
  border-radius: 4px;
  border: 1px solid var(--border-color);
  background: linear-gradient(to right, var(--move-down), color-mix(in srgb, var(--move-down) 30%, var(--body-bg)), var(--body-bg), color-mix(in srgb, var(--move-up) 30%, var(--body-bg)), var(--move-up));
}

.global-map__end {
  flex: none;
  font-variant-numeric: tabular-nums;
}

.global-map__nodata {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.global-map__sw {
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 2px;
  background: var(--move-map-nodata);
  border: 1px solid var(--border-color);
}

.global-hours {
  border: 1px solid var(--border-color);
  border-radius: 8px;
  overflow: hidden;
}
@media (min-width: 992px) {
  .global-hours {
    max-height: 34rem;
    overflow-y: auto;
  }
}

.global-hours__row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas: "status ex clock" "status idx next";
  align-items: center;
  gap: 2px 0.75rem;
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid var(--border-color);
  color: inherit;
  text-decoration: none;
  transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.global-hours__row:hover {
  background: var(--muted-bg-subtle);
}
.global-hours__row:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: -2px;
}
.global-hours__row:last-child {
  border-bottom: 0;
}

.global-hours__status {
  grid-area: status;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  border: 2px solid var(--secondary-color);
}
.global-hours__status.is-open {
  background: var(--move-up);
  border-color: var(--move-up);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--move-up) 22%, transparent);
}
.global-hours__status.is-closed {
  background: transparent;
  opacity: 0.55;
}

.global-hours__ex {
  grid-area: ex;
  font-weight: 600;
  font-size: 0.875rem;
}

.global-hours__pill {
  margin-left: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.05rem 0.4rem;
  border-radius: 999px;
}
.global-hours__pill.is-open {
  color: var(--move-up-text);
  border: 1px solid color-mix(in srgb, var(--move-up) 45%, transparent);
}
.global-hours__pill.is-closed {
  color: var(--secondary-color);
  padding-left: 0;
}

.global-hours__clock {
  grid-area: clock;
  text-align: right;
  font-size: 0.875rem;
  font-weight: 600;
}

.global-hours__idx {
  grid-area: idx;
  font-size: 0.75rem;
  color: var(--secondary-color);
}

.global-hours__next {
  grid-area: next;
  text-align: right;
  font-size: 0.75rem;
  color: var(--secondary-color);
}

.global-indices {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
  gap: 0.75rem;
}

.global-idx {
  display: block;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  padding: 0.5rem 0.75rem;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.global-idx:hover {
  border-color: var(--primary);
  background: var(--muted-bg-subtle);
}
.global-idx:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: 2px;
}

.global-idx__name {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--secondary-color);
}

.global-idx__held {
  padding: 0 0.35rem;
  border-radius: 999px;
  background: var(--primary-bg-subtle);
  color: var(--link-color);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

#globalIndicesTable .global-idx__held {
  margin-left: 0.5rem;
}
#globalIndicesTable tr.is-held td:first-child {
  box-shadow: inset 3px 0 0 var(--primary);
}

.global-idx__lvl {
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  margin-top: 0.05rem;
}

.global-idx__chg {
  font-size: 0.875rem;
  font-weight: 600;
}

.global-idx__usd {
  font-size: 0.75rem;
  font-weight: 600;
  margin-top: 0.05rem;
}

.global-idx__usd-tag {
  font-weight: 400;
  color: var(--secondary-color);
}

.global-idx__spark {
  height: 30px;
  margin-top: 0.25rem;
}

.global-spark {
  width: 100%;
  height: 30px;
  display: block;
  overflow: visible;
}

.global-idx__range {
  margin-top: 0.25rem;
}

.global-idx__range-track {
  position: relative;
  display: block;
  height: 4px;
  border-radius: 999px;
  background: var(--secondary-bg);
}

.global-idx__range-dot {
  position: absolute;
  top: 50%;
  width: 7px;
  height: 7px;
  margin-left: -3.5px;
  border-radius: 50%;
  background: var(--body-color);
  transform: translateY(-50%);
}

.global-idx__range-lab {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.75rem;
  color: var(--secondary-color);
}

.global-markets-error {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  color: var(--secondary-color);
}

.global-strip {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  gap: 0 1.5rem;
}

.global-strip__item {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-color);
}

.global-strip__k {
  font-size: 0.875rem;
  color: var(--secondary-color);
  flex: none;
  min-width: 6rem;
}

.global-strip__v {
  font-weight: 800;
}

.global-strip__c {
  margin-left: auto;
  font-size: 0.875rem;
  font-weight: 600;
}

.global-bars {
  display: grid;
  gap: 0.25rem;
}

.global-bar__row {
  display: grid;
  grid-template-columns: 10rem minmax(0, 1fr) 3.5rem;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.875rem;
}

.global-bar__lab {
  text-align: right;
  color: var(--secondary-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.global-bar__track {
  position: relative;
  height: 1.3rem;
  overflow: hidden;
}

.global-bar__zero {
  position: absolute;
  left: 50%;
  top: -0.15rem;
  bottom: -0.15rem;
  border-left: 1px dashed var(--border-color);
}

.global-bar {
  position: absolute;
  top: 0.2rem;
  bottom: 0.2rem;
  border-radius: 3px;
}
.global-bar.is-pos {
  left: 50%;
  background: var(--move-up);
}
.global-bar.is-neg {
  right: 50%;
  background: var(--move-down);
}

.global-bar__val {
  text-align: right;
  font-weight: 600;
}

@media (max-width: 767px) {
  .global-bar__row {
    grid-template-columns: 7.5rem minmax(0, 1fr) 3rem;
    gap: 0.5rem;
  }
  .global-bar__lab {
    font-size: 0.75rem;
  }
}
.market-overview__session {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
  font-size: 0.875rem;
  font-weight: 600;
}

.market-overview__returns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
  gap: 0.75rem;
}

.market-overview__stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.market-overview__value {
  font-size: 1.25rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}

.market-overview__exposure {
  margin-bottom: 1.5rem;
  font-size: 0.875rem;
}

.market-overview__constituents {
  margin-top: 1.5rem;
  margin-bottom: 0;
  font-size: 0.875rem;
}

.skeleton {
  display: block;
  height: 1rem;
  border-radius: 6px;
  background: linear-gradient(100deg, var(--secondary-bg) 40%, var(--border-color) 50%, var(--secondary-bg) 60%);
  background-size: 200% 100%;
  animation: shimmer 1.6s linear infinite;
}
.skeleton--text {
  width: 60%;
}
.skeleton--title {
  height: 1.5rem;
  width: 40%;
}
.skeleton--block {
  height: 6rem;
}
.skeleton--cell {
  height: 0.875rem;
}

.skeleton-stack {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.market-insights {
  columns: 26rem 2;
  column-gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.market-insights > li {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  break-inside: avoid;
}
.market-insights > li:last-child {
  margin-bottom: 0;
}
.market-insights > li::before {
  content: "";
  flex: none;
  width: 0.5em;
  height: 0.5em;
  margin-top: 0.4em;
  border-radius: 50%;
  background: var(--secondary);
}
.market-insights > li.is-positive::before {
  background: var(--success);
}
.market-insights > li.is-negative::before {
  background: var(--danger);
}
.market-insights > li.is-caution::before {
  background: var(--warning);
}
.market-insights > li.is-neutral::before {
  background: var(--secondary);
}

.page-controls-trigger {
  display: flex;
  margin-bottom: 0.75rem;
}

.page-controls-pill {
  border-radius: 999px;
  font-weight: 600;
}
.page-controls-pill:not(.btn--primary) {
  --btn-color: var(--link-color);
}
.page-controls-pill .icon {
  width: 1rem;
  height: 1rem;
}
.page-controls-pill__count {
  font-weight: 500;
}
.page-controls-pill__count[hidden] {
  display: none;
}

@media (min-width: 576px) {
  .page-controls-trigger {
    display: none;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .page-controls-pill:active {
    transform: scale(0.96);
    transition: transform 0.12s ease;
  }
}
.page-controls-sheet {
  max-height: 94dvh;
  transition: height 0.32s cubic-bezier(0.32, 0.72, 0, 1);
}
.page-controls-sheet[open] {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.page-controls-sheet__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}
.page-controls-sheet__head {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.page-controls-sheet__group + .page-controls-sheet__group {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--border-color);
}
.page-controls-sheet__group-label {
  margin-bottom: 0.75rem;
  color: var(--secondary-color);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.page-controls-sheet .is-in-sheet {
  margin: 0 !important;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.page-controls-sheet .is-in-sheet > summary {
  display: none;
}
.page-controls-sheet .quick-settings__menu {
  position: static;
  top: auto;
  min-width: 0;
  padding: 0;
  overflow: visible;
  visibility: visible;
  opacity: 1;
  transform: none;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.tab-bar {
  display: none;
}

@media (max-width: 991px) {
  .tab-bar {
    position: fixed;
    inset: auto 0 0;
    z-index: var(--z-index-sticky);
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    background: color-mix(in srgb, var(--body-bg) 86%, transparent);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-top: 1px solid var(--border-color);
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
  .app-main {
    padding-bottom: calc(4rem + env(safe-area-inset-bottom, 0));
  }
}
.tab-bar .tab-bar__tab {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 0.5rem 0.25rem;
  min-height: 3.25rem;
  border: 0;
  background: none;
  cursor: pointer;
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.tab-bar .tab-bar__tab.is-active {
  color: var(--link-color);
  font-weight: 700;
}
.tab-bar .tab-bar__tab.is-active::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 1.75rem;
  height: 3px;
  transform: translateX(-50%);
  border-radius: 0 0 3px 3px;
  background: currentcolor;
}
.tab-bar .tab-bar__tab.is-active .tab-bar__icon {
  border-radius: 50%;
  background: color-mix(in srgb, currentcolor 14%, transparent);
  box-shadow: 0 0 0 0.3rem color-mix(in srgb, currentcolor 14%, transparent);
}
.tab-bar .tab-bar__tab:active {
  background: none;
  color: var(--link-color);
}

.tab-bar__icon {
  width: 1.5rem;
  height: 1.5rem;
}

.tab-bar__badge {
  position: absolute;
  top: 0.3rem;
  left: calc(50% + 0.4rem);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--danger);
  border: 1.5px solid var(--body-bg);
}
.tab-bar__badge[hidden] {
  display: none;
}

@media (prefers-reduced-motion: no-preference) {
  .tab-bar .tab-bar__tab:active {
    transform: scale(0.92);
    transition: transform 0.12s ease;
  }
}
.compare-cards {
  display: none;
}

@media (max-width: 767px) {
  .compare-table-wrap {
    display: none;
  }
  .compare-cards {
    display: block;
  }
}
.compare-cards__tickers {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.compare-cards__ticker {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--border-color);
  border-radius: 999px;
  font-weight: 600;
}
.compare-cards__ticker .inline-logo {
  width: 1.25rem;
  height: 1.25rem;
}
.compare-cards__ticker a {
  text-decoration: none;
}

.compare-cards__metric {
  margin-bottom: 0.75rem;
  padding: 0.75rem;
  border: 1px solid var(--table-border-color);
  border-radius: 6px;
  background: var(--table-bg);
}

.compare-cards__metric-label {
  margin: 0 0 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--secondary-color);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.compare-cards__values {
  display: grid;
  gap: 0.25rem 1rem;
  margin: 0;
}

.compare-cards__value {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}
.compare-cards__value dt {
  font-weight: 600;
}
.compare-cards__value dd {
  margin: 0;
  text-align: right;
}

.compare-cards__group {
  margin: 1rem 0 0.5rem;
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--body-color);
}

.compare-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 1rem;
}

.compare-controls__field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.compare-controls__label {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--secondary-color);
}

.compare-table th.cmp-metric,
.compare-table td.cmp-metric {
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--body-bg);
  text-align: left;
  font-weight: 600;
  border-right: 1px solid var(--table-border-color);
}
.compare-table thead th.cmp-metric {
  z-index: calc(var(--z-index-sticky) + 1);
}

.compare-table td.cmp-best {
  background-color: var(--success-bg-subtle);
  color: var(--success);
  font-weight: 800;
}

.cmp-mark {
  margin-left: 0.25rem;
  font-size: 0.75rem;
  color: var(--success);
}

.compare-table td.cmp-worst {
  color: var(--secondary-color);
}

.compare-table td.cmp-heat,
.compare-cards__value.cmp-heat {
  position: relative;
}
.compare-table td.cmp-heat::after,
.compare-cards__value.cmp-heat::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  border-radius: 4px;
  background: var(--muted-bg-subtle);
}

.cmp-heat__val {
  position: relative;
  z-index: 2;
}

.cmp-heat__bar {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  height: 4px;
  border-radius: 4px;
  background: var(--primary);
}

.compare-table td.cmp-base,
.compare-cards__value.cmp-base {
  background-color: var(--primary-bg-subtle);
}

.cmp-delta-pos {
  color: var(--success);
}

.cmp-delta-neg {
  color: var(--danger);
}

.cmp-delta-zero {
  color: var(--secondary-color);
}

.cmp-basemark {
  display: inline-block;
  margin-left: 0.25rem;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--primary);
}

.cmp-tickcol--base {
  color: var(--primary);
}

.compare-table thead th.cmp-tickcol[data-baseticker] {
  cursor: pointer;
}

.compare-table tr.cmp-group > th {
  background: var(--tertiary-bg);
  border-top: 1px solid var(--table-border-color);
}

.cmp-group__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.25rem 0;
  border: 0;
  background: none;
  color: var(--body-color);
  font: inherit;
  font-weight: 800;
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  text-align: left;
  cursor: pointer;
}

.cmp-group__chev {
  display: inline-block;
  color: var(--secondary-color);
  transition: transform 0.15s ease;
}

.cmp-group--collapsed .cmp-group__chev {
  transform: rotate(-90deg);
}

.cmp-collapsed-row {
  display: none;
}

.compare-cards__value.cmp-best {
  background-color: var(--success-bg-subtle);
  color: var(--success);
  font-weight: 800;
}

.compare-cards__value.cmp-worst dd {
  color: var(--secondary-color);
}

@media (prefers-reduced-motion: reduce) {
  .cmp-group__chev {
    transition: none;
  }
}
.fund-overlap-filter {
  display: flex;
  align-items: center;
  gap: 0.5rem 0.75rem;
  flex-wrap: wrap;
}

.fund-overlap-filter__input {
  max-width: 22rem;
}

.fo-hide {
  display: none;
}

.sg-matrix thead th:first-child,
.sg-matrix tbody th[scope=row] {
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--card-bg);
}
.sg-matrix thead th:first-child {
  z-index: 2;
}
.sg-matrix tbody tr:hover th[scope=row] {
  background: linear-gradient(var(--table-hover-bg), var(--table-hover-bg)), var(--card-bg);
}

@media (pointer: coarse) {
  .swipe-list tr,
  .swipe-list .swipe-row {
    position: relative;
  }
  .swipe-list .swipe-row {
    touch-action: pan-y;
  }
}
@media (max-width: 767px) and (orientation: portrait), (max-width: 575px) {
  .swipe-list tr {
    touch-action: pan-y;
  }
}
@media (pointer: coarse) and (prefers-reduced-motion: no-preference) {
  .swipe-list tr,
  .swipe-list .swipe-row {
    transition: transform 0.2s ease;
  }
}
@media (pointer: coarse) {
  .swipe-list tr,
  .swipe-list .swipe-row.is-swiping {
    z-index: 2;
  }
  .swipe-list tr,
  .swipe-list .swipe-row.is-swipe-armed {
    background: var(--danger-bg-subtle);
  }
}
.donut-legend {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0.5rem 0 0;
  padding: 0;
  list-style: none;
  text-align: left;
  font-size: 0.75rem;
}

.donut-legend__item {
  min-width: 0;
}

.donut-legend__btn {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
  width: 100%;
  padding: 0.25rem 0.25rem;
  border: 0;
  border-radius: 6px;
  background: none;
  color: var(--body-color);
  font: inherit;
  text-align: left;
  min-height: 1.5rem;
}

button.donut-legend__btn {
  cursor: pointer;
}
button.donut-legend__btn:hover, button.donut-legend__btn:focus-visible {
  background: color-mix(in srgb, var(--secondary-bg) 50%, transparent);
}

.donut-legend__btn--static {
  color: var(--secondary-color);
}

.donut-legend__swatch {
  flex: 0 0 auto;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 6px;
  border: 1px solid var(--border-color);
  background: var(--swatch-bg, transparent);
  align-self: center;
}

.stale-data-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  font-size: 0.75rem;
  line-height: var(--line-height-xs);
  font-weight: 600;
  color: var(--warning-text-emphasis);
  background: var(--warning-bg-subtle);
  border: 1px solid var(--warning-border-subtle);
  border-radius: 999px;
  padding: 0.15em 0.6em 0.15em 0.5em;
}
.stale-data-chip::before {
  content: "";
  inline-size: 6px;
  block-size: 6px;
  border-radius: 50%;
  background: currentcolor;
  flex: none;
}

.stale-data-banner__sub {
  display: block;
  opacity: 0.85;
  font-weight: normal;
}

#staleDataBanner .banner__message {
  max-inline-size: 36em;
}

.guidance-snippets {
  margin: 0;
  padding-left: 1rem;
}
.guidance-snippets li {
  padding: 0.5rem 0;
  max-inline-size: 36em;
}
.guidance-snippets li:not(:last-child) {
  border-bottom: 1px solid var(--border-color);
}

.sidebar-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: calc(var(--z-index-sidebar) - 1);
  background: var(--overlay-bg);
}
@media (max-width: 991px) {
  .sidebar-backdrop.is-visible {
    display: block;
  }
}

.sidebar {
  position: fixed;
  inset-block: 0;
  left: 0;
  width: 15rem;
  z-index: var(--z-index-sidebar);
  background: var(--body-bg);
  border-right: 1px solid var(--border-color);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  padding-top: env(safe-area-inset-top, 0);
  padding-bottom: env(safe-area-inset-bottom, 0);
  transition: transform var(--transition-speed) var(--transition-easing);
}
@media (max-width: 991px) {
  .sidebar {
    inset: auto 0 0;
    width: auto;
    max-height: 94dvh;
    border-right: 0;
    border-top: 1px solid var(--border-color);
    border-radius: 8px 8px 0 0;
    padding-top: calc(var(--vr) * 0.5);
    transform: translateY(100%);
    background: color-mix(in srgb, var(--body-bg) 92%, transparent);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1), height 0.32s cubic-bezier(0.32, 0.72, 0, 1);
    overscroll-behavior: contain;
  }
  .sidebar.is-open {
    transform: translateY(0);
  }
}
@media (min-width: 992px) {
  .sidebar {
    position: sticky;
    top: 0;
    height: 100dvh;
    align-self: flex-start;
    flex: 0 0 15rem;
    transition: margin-left var(--transition-speed) var(--transition-easing);
  }
  :root.sidebar-collapsed .sidebar {
    margin-left: -15rem;
  }
}

@media (min-width: 992px) {
  .sidebar__grabber {
    display: none;
  }
}
@media (max-width: 991px) {
  .sidebar__grabber {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--body-bg);
  }
}

.sidebar__install {
  padding: calc(var(--vr) * 0.5) calc(var(--hr) * 1);
}
.sidebar__install[hidden] {
  display: none;
}
.sidebar__install .btn {
  width: 100%;
}

.sidebar__brand {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: calc(var(--vr) * 1) 1rem;
  border-bottom: 1px solid var(--border-color);
  text-decoration: none;
  color: var(--body-color);
  min-height: 4.5rem;
}
.sidebar__brand:hover {
  color: var(--primary);
}

.sidebar__brand-mark {
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
}

.sidebar__brand-name {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5rem;
  color: var(--body-color);
}

.sidebar__account {
  padding: 0.5rem 1rem 0.75rem;
  border-bottom: 1px solid var(--border-color);
}
.sidebar__account .form-select {
  font-size: 0.875rem;
  padding-block: 0.25rem;
}
@media (max-width: 575px) {
  .sidebar__account .form-select {
    font-size: 1rem;
  }
}

.sidebar__account-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--secondary-color);
  margin-bottom: 0.25rem;
}

.sidebar__nav {
  flex: 1;
  padding: 1rem 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.sidebar__section-label,
.sidebar__subsection-label {
  font-size: 0.75rem;
  margin-bottom: 0;
  text-transform: uppercase;
}

.sidebar__section-label {
  padding: 0 1rem 0.25rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--secondary-color);
}

.sidebar__subsection-label {
  padding: 0.75rem 1rem 0.25rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--tertiary-color);
}

.sidebar__nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.sidebar__nav-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  line-height: 1.5rem;
  color: var(--secondary-color);
  text-decoration: none;
  border-radius: 0;
  transition: background-color var(--transition-speed) var(--transition-easing), color var(--transition-speed) var(--transition-easing);
  position: relative;
}
.sidebar__nav-link .icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  opacity: 0.7;
}
.sidebar__nav-link:hover, .sidebar__nav-link:focus-visible {
  color: var(--body-color);
  background: var(--muted-bg-subtle);
}
.sidebar__nav-link:hover .icon, .sidebar__nav-link:focus-visible .icon {
  opacity: 1;
}
.sidebar__nav-link:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: -2px;
}
.sidebar__nav-link.is-active {
  color: var(--primary-text-emphasis);
  background: var(--primary-bg-subtle, color-mix(in srgb, var(--primary) 10%, transparent));
  font-weight: 600;
}
.sidebar__nav-link.is-active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--primary);
  border-radius: 0 2px 2px 0;
}
.sidebar__nav-link.is-active .icon {
  opacity: 1;
}

.sidebar__footer {
  border-top: 1px solid var(--border-color);
  padding: 0.75rem 0;
}

.sidebar__mobile-actions {
  border-top: 1px solid var(--border-color);
  padding: 0.75rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.sidebar__mobile-actions--top {
  border-top: none;
  border-bottom: 1px solid var(--border-color);
}
@media (min-width: 992px) {
  .sidebar__mobile-actions {
    display: none;
  }
}
.sidebar__mobile-actions .site-header__explore {
  display: block;
}

.app-shell {
  display: flex;
  min-height: 100vh;
}

.app-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.app-main--full {
  margin-left: 0 !important;
}

#main {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.site-header {
  display: grid;
  align-items: center;
  gap: 0.5rem calc(var(--hr) * 1);
  position: relative;
  background-color: var(--body-bg);
  padding: calc(var(--vr) * 0.75) 2rem;
  padding-top: calc(calc(var(--vr) * 0.75) + env(safe-area-inset-top, 0));
  margin-bottom: calc(var(--vr) * 1.5);
  grid-template-columns: auto 1fr minmax(0, auto) auto;
  grid-template-areas: "mobile-logo . back tools" "title       title title title" "timestamps  timestamps timestamps timestamps" "actions     actions actions actions";
}
@media (max-width: 575px) {
  .site-header {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media (min-width: 992px) {
  .site-header {
    gap: 0.5rem calc(var(--hr) * 1);
    grid-template-columns: 1fr fit-content(12rem) auto;
    grid-template-areas: "title back tools" "row2  row2 row2";
  }
}
.site-header::after {
  content: "";
  position: absolute;
  bottom: calc(var(--vr) * -0.25);
  left: 0;
  width: 100%;
  height: calc(var(--vr) * 0.25);
  background: linear-gradient(to right, var(--logo-accent, var(--primary-border-subtle)), var(--border-color));
}

html.has-refresh-progress .site-header::after {
  background: linear-gradient(to right, var(--logo-accent, var(--primary-border-subtle)) 0%, var(--logo-accent, var(--primary-border-subtle)) var(--refresh-progress-pct, 100%), var(--border-color) var(--refresh-progress-pct, 100%), var(--border-color) 100%);
}

@media (max-width: 991px) {
  .site-header--autohide {
    position: sticky;
    top: 0;
    z-index: var(--z-index-sticky);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .site-header--autohide.site-header--hidden {
    transform: translateY(-100%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header--autohide {
    transition: none;
  }
}
@media (min-width: 992px) {
  .site-header--with-explore {
    grid-template-columns: minmax(0, 4fr) fit-content(12rem) minmax(10rem, 1fr) auto;
    grid-template-areas: "title back explore tools" "row2  row2 row2    row2";
  }
}
@media (min-width: 992px) {
  .site-header--with-explore .site-header__title {
    overflow: hidden;
  }
  .site-header--with-explore .site-header__title .title {
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}
@media (min-width: 992px) {
  .site-header--with-explore .site-header__explore .form-search {
    width: 100%;
  }
  .site-header--with-explore .site-header__explore .form-search-field {
    flex: 1;
    min-width: 0;
    width: auto;
  }
}

.site-header__mobile-logo {
  grid-area: mobile-logo;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  text-decoration: none;
  flex-shrink: 0;
}
.site-header__mobile-logo img {
  width: 2rem;
  height: 2rem;
}
@media (min-width: 992px) {
  .site-header__mobile-logo {
    display: none;
  }
}

.site-header__title {
  grid-area: title;
  min-width: 0;
}
.site-header__title .title {
  margin-bottom: 0;
  margin-top: 0.25rem;
  overflow-wrap: break-word;
}
@media (max-width: 575px) {
  .site-header__title .title {
    font-size: var(--font-size-xl);
    line-height: var(--line-height-xl);
  }
}

.site-header__back {
  grid-area: back;
  min-width: 0;
}
@media (min-width: 992px) {
  .site-header__back {
    max-width: 12rem;
  }
  .site-header__back [id=backBtnGroup] {
    max-width: 12rem;
  }
  .site-header__back .btn-split {
    display: flex;
    min-width: 0;
  }
  .site-header__back .btn-split__main {
    flex: 1 1 auto;
    min-width: 0;
  }
  .site-header__back [id=backBtnLabel] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }
}
@media (max-width: 991px) {
  .site-header__back [id=backBtnLabel] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
  .site-header__back [id=backBtn] > .icon:last-child {
    display: none;
  }
}

.site-header__timestamps {
  grid-area: timestamps;
  min-width: 0;
}
.site-header__timestamps [id=pricesUpdatedAt] {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.site-header__timestamps [id=pricesUpdatedAt]::before {
  content: "";
  flex: none;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background: currentcolor;
  opacity: var(--staleness-opacity, 1);
  transition: opacity 2s cubic-bezier(0.4, 0, 0.2, 1);
}

.site-header__tools {
  grid-area: tools;
  display: flex;
  align-items: center;
  gap: calc(var(--hr) * 1);
}

.site-header__row2 {
  display: contents;
}
@media (min-width: 992px) {
  .site-header__row2 {
    grid-area: row2;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem calc(var(--hr) * 1);
  }
}

.header-actions {
  grid-area: actions;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem calc(var(--hr) * 1);
}
@media (min-width: 992px) {
  .header-actions {
    margin-left: auto;
  }
  .header-actions .btn {
    white-space: nowrap;
  }
}

.header-actions__inline {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: calc(var(--vr) * 1) calc(var(--hr) * 1);
  flex: 1 1 auto;
  min-width: 0;
}
@media (min-width: 992px) {
  .header-actions__inline {
    justify-content: flex-end;
  }
}

.header-auto-refresh,
.market-status {
  display: block;
}
.header-auto-refresh:empty,
.market-status:empty {
  display: none;
}

.site-header__explore {
  grid-area: explore;
}
@media (max-width: 991px) {
  .site-header__explore {
    display: none;
  }
}

.site-header__sidebar-toggle {
  display: none;
}

.site-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: var(--body-color);
}
.site-logo:hover {
  color: var(--primary);
}

.site-logo-name {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
}

.site-footer {
  display: block;
  position: relative;
  background-color: var(--body-bg);
  margin: 0.375rem 0 0;
  margin-top: auto;
}
.site-footer::after {
  content: "";
  position: absolute;
  top: -0.375rem;
  left: 0;
  width: 100%;
  height: 0.375rem;
  background: linear-gradient(to left, var(--logo-accent, var(--primary-border-subtle)), var(--border-color));
}
.site-footer-inner {
  padding: 1.5rem 2rem;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
.site-footer-logo img {
  width: auto;
  height: 3rem;
  max-width: 100%;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.site-footer-logo:hover img {
  transform: scale(1.025);
}
.site-footer > hr {
  color: var(--border-color);
  border-color: var(--border-color);
}

html.has-refresh-progress .site-footer::after {
  background: linear-gradient(to left, var(--logo-accent, var(--primary-border-subtle)) 0%, var(--logo-accent, var(--primary-border-subtle)) var(--refresh-progress-pct, 100%), var(--border-color) var(--refresh-progress-pct, 100%), var(--border-color) 100%);
}

.page-nav {
  position: sticky;
  top: 0;
  z-index: calc(var(--z-index-sticky) + 1);
  display: flex;
  flex-direction: column;
  background: rgb(var(--body-bg-rgb), 0.75);
  backdrop-filter: blur(4px);
  border-bottom: 1px solid var(--border-color);
  margin-bottom: 1rem;
}
.page-nav__context {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 2rem;
}
@media (max-width: 575px) {
  .page-nav__context {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.page-nav__context {
  border-bottom: 1px solid var(--logo-accent, rgb(var(--border-color-rgb), 75%));
  font-size: 0.875rem;
  font-weight: 600;
  white-space: nowrap;
}
.page-nav__context .page-nav__page {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}
.page-nav__context .page-nav__page > span {
  overflow: hidden;
  text-overflow: ellipsis;
}
.page-nav__context .page-nav__page .icon {
  flex: none;
  color: var(--secondary-color);
}
.page-nav__context #pageNavAccount::before {
  content: "|";
  margin-right: 0.5em;
  color: var(--border-color);
}
.page-nav__context .page-nav__mobile-controls {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.page-nav__context .page-nav__mobile-controls > * {
  animation: fade-in 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.page-nav__context .page-nav__mobile-controls > .site-header__explore {
  margin: 0 0.5rem 0 0;
}
.page-nav__context .page-nav__mobile-controls > .site-header__explore .form-search-label,
.page-nav__context .page-nav__mobile-controls > .site-header__explore .form-search-field,
.page-nav__context .page-nav__mobile-controls > .site-header__explore .form-search-btn.btn {
  display: inline-flex;
  align-items: center;
  height: 2rem;
  min-height: unset;
  padding-top: 0;
  padding-bottom: 0;
}
.page-nav__context .page-nav__mobile-controls > .btn.btn--ui,
.page-nav__context .page-nav__mobile-controls > .dropdown > .btn.btn--ui {
  width: 2rem;
  height: 2rem;
  min-height: unset;
  min-width: unset;
  padding: 0;
  --btn-bg: transparent;
  --btn-border-color: transparent;
  --btn-color: var(--tertiary-color);
}
.page-nav__context .page-nav__mobile-controls > .btn.btn--ui:hover,
.page-nav__context .page-nav__mobile-controls > .dropdown > .btn.btn--ui:hover {
  --btn-bg: var(--tertiary-bg);
  --btn-color: var(--body-color);
}
.page-nav__context .back-to-top {
  color: var(--tertiary-color);
  font-weight: 400;
}
.page-nav__context .back-to-top:hover, .page-nav__context .back-to-top:focus-visible {
  color: var(--body-color);
}
.page-nav__row {
  display: flex;
  align-items: center;
}
.page-nav__logo {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 6px;
  object-fit: contain;
}
.page-nav__context .account-logo {
  margin-left: 0;
}
.page-nav__list {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  list-style: none;
  margin: 0;
  padding: 0 2rem;
  white-space: nowrap;
}
@media (max-width: 575px) {
  .page-nav__list {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.page-nav__list {
  overflow-x: auto;
  scrollbar-width: none;
}
.page-nav__list::-webkit-scrollbar {
  display: none;
}
.page-nav__link {
  display: block;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5rem;
  color: var(--tertiary-color);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  cursor: pointer;
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-bottom-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.page-nav__link:hover, .page-nav__link:focus-visible {
  color: var(--body-color);
}
.page-nav__link:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: -2px;
}
.page-nav__link.is-active {
  color: var(--primary-text-emphasis);
  border-bottom-color: var(--primary);
  font-weight: 600;
}
.page-nav__more {
  flex-shrink: 0;
  padding-right: 2rem;
}
@media (max-width: 575px) {
  .page-nav__more {
    padding-right: 1rem;
  }
}
.page-nav__more-toggle {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
}

button.page-nav__link {
  border-radius: 0;
}

[id] {
  scroll-margin-top: var(--page-nav-height, 4.5rem);
}

html {
  scroll-padding-top: var(--page-nav-height, 4.5rem);
}

.admin-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
  padding-inline: 2rem;
}
@media (max-width: 575px) {
  .admin-layout {
    padding-inline: 1rem;
  }
}
@media (min-width: 992px) {
  .admin-layout {
    grid-template-columns: minmax(0, 1fr) 16rem;
  }
}

.admin-layout__main {
  min-width: 0;
}

.admin-layout__sidebar {
  display: none;
}
@media (min-width: 992px) {
  .admin-layout__sidebar {
    display: block;
    position: sticky;
    top: 1rem;
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
    padding-left: 2rem;
  }
}

.admin-toc__title {
  font-size: 0.75rem;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--secondary-color);
  margin-bottom: 0.5rem;
}

.admin-toc__list {
  list-style: none;
  padding: 0;
  margin: 0;
  border-left: 1px solid transparent;
}
.admin-toc__list li + li {
  margin-top: 0.25rem;
}
.admin-toc__list a {
  display: block;
  font-size: 0.875rem;
  color: var(--secondary-color);
  text-decoration: none;
  padding: 0.25rem 0.75rem;
  border-left: 2px solid transparent;
  transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-left-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.admin-toc__list a:hover, .admin-toc__list a:focus-visible {
  color: var(--body-color);
}
.admin-toc__list a:focus-visible {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: -2px;
}
.admin-toc__list a.is-active {
  color: var(--primary-text-emphasis);
  border-left-color: var(--primary);
  font-weight: 600;
}
.admin-toc__list > li > a {
  margin-left: -1px;
}

.admin-control-row {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.admin-control-row .form-label {
  flex: 0 1 14rem;
  min-width: 0;
}
.admin-control-row .form-label .form-select,
.admin-control-row .form-label .form-control {
  max-width: 14rem;
}
.admin-control-row .btn {
  flex: 0 0 auto;
  align-self: flex-end;
}

.card--section-grid .fieldset > * + * {
  margin-top: 0.25rem;
}
.card--section-grid .fieldset > hr {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.card--section-grid .fieldset > .admin-control-row {
  margin-bottom: 0;
}

.admin-maintenance-group__label {
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--secondary-color);
  margin-bottom: 0;
}

.admin-toc__sublist {
  display: none;
  list-style: none;
  padding: 0;
  margin: 0.25rem 0 0.25rem 0.75rem;
  border-left: 1px solid var(--border-color);
}
.admin-toc__sublist li + li {
  margin-top: 0;
}
.admin-toc__sublist a {
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  margin-left: -1px;
}

.admin-toc__list > li:has(a.is-active) .admin-toc__sublist {
  display: block;
}

.db-explorer {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-start;
}

.db-explorer__sidebar {
  flex: 1 1 12rem;
  min-width: 12rem;
  max-width: 16rem;
  max-height: 80vh;
  overflow: auto;
}

.db-explorer__content {
  flex: 999 1 22rem;
  min-width: 0;
}

.db-table-btn {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  text-align: left;
}
.db-table-btn code {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.d-grid {
  display: grid;
  gap: var(--vr) var(--hr);
  grid-template-columns: 1fr;
}
.d-grid > * {
  min-width: 0;
}

.grid-span-all {
  grid-column: 1/-1;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (min-width: 576px) {
  .grid-cols-sm-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-sm-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-sm-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-sm-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-sm-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-sm-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  .grid-cols-md-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-md-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-md-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-md-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-md-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-md-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .grid-cols-lg-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-lg-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-lg-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-lg-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-lg-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-lg-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (min-width: 1200px) {
  .grid-cols-xl-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-xl-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-xl-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-xl-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-xl-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-xl-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (min-width: 1280px) {
  .grid-cols-xxl-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-xxl-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-xxl-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-xxl-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-xxl-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-xxl-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
