/* packages/ionix-core-foundation/css/foundation.css */
/* Generated from src/tokens and src/brands. */
:root {
  --ionix-font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ionix-font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --ionix-font-size-xs: 9px;
  --ionix-font-size-sm: 11px;
  --ionix-font-size-md: 13px;
  --ionix-font-size-lg: 16px;
  --ionix-font-size-xl: 20px;
  --ionix-font-size-2xl: 23px;
  --ionix-font-size-3xl: 31px;
  --ionix-font-size-4xl: 42px;
  --ionix-font-weight-regular: 400;
  --ionix-font-weight-medium: 500;
  --ionix-font-weight-semibold: 600;
  --ionix-font-weight-bold: 700;
  --ionix-font-weight-extra-bold: 800;
  --ionix-line-height-tight: 1.08;
  --ionix-line-height-compact: 1.2;
  --ionix-line-height-normal: 1.45;
  --ionix-line-height-readable: 1.5;
  --ionix-line-height-relaxed: 1.6;
  --ionix-letter-spacing-tight: -.04em;
  --ionix-letter-spacing-normal: 0;
  --ionix-letter-spacing-label: .08em;
  --ionix-letter-spacing-eyebrow: .14em;
  --ionix-space-xs: 4px;
  --ionix-space-sm: 8px;
  --ionix-space-md: 12px;
  --ionix-space-lg: 16px;
  --ionix-space-xl: 24px;
  --ionix-space-2xl: 32px;
  --ionix-space-3xl: 40px;
  --ionix-space-4xl: 48px;
  --ionix-radius-sm: 6px;
  --ionix-radius-md: 10px;
  --ionix-radius-lg: 14px;
  --ionix-radius-xl: 18px;
  --ionix-radius-pill: 999px;
  --ionix-border-width-hairline: 1px;
  --ionix-border-width-strong: 2px;
  --ionix-border-width-focus: 3px;
  --ionix-shadow-subtle: 0 1px 2px rgba(24, 24, 31, .03);
  --ionix-shadow-elevated: 0 14px 30px color-mix(in srgb, var(--ionix-brand-primary) 18%, transparent);
  --ionix-shadow-overlay: 0 20px 70px rgba(0, 0, 0, .42);
  --ionix-motion-duration-fast: 160ms;
  --ionix-motion-duration-normal: 300ms;
  --ionix-motion-duration-slow: 500ms;
  --ionix-motion-easing-standard: cubic-bezier(.2, .8, .2, 1);
  --ionix-motion-easing-expressive: cubic-bezier(.22, 1, .36, 1);
  --ionix-motion-easing-linear: linear;
  --ionix-breakpoint-sm: 520px;
  --ionix-breakpoint-md: 760px;
  --ionix-breakpoint-lg: 980px;
  --ionix-breakpoint-xl: 1200px;
  --ionix-breakpoint-2xl: 1600px;
  --ionix-icon-size-xs: 14px;
  --ionix-icon-size-sm: 18px;
  --ionix-icon-size-md: 24px;
  --ionix-icon-size-lg: 32px;
  --ionix-z-ambient: 0;
  --ionix-z-page-surface: 1;
  --ionix-z-sticky-content: 80;
  --ionix-z-navigation: 1000;
  --ionix-z-dropdown: 1240;
  --ionix-z-popover: 1260;
  --ionix-z-modal: 1200;
  --ionix-z-toast: 1400;
  --ionix-z-developer-overlay: 20000;
  --ionix-bg: #F5F5F5;
  --ionix-page-bg: #f7f7f4;
  --ionix-page-bg-start: #F7F7F7;
  --ionix-page-bg-end: #F3F3F3;
  --ionix-surface: #fff;
  --ionix-surface-elevated: #fafaf8;
  --ionix-surface-subtle: #f4f3ee;
  --ionix-border: #e6e5de;
  --ionix-border-strong: #cdd5df;
  --ionix-text-primary: #1a1a2e;
  --ionix-text-secondary: #5a5a72;
  --ionix-text-muted: #8e8ea0;
  --ionix-text-disabled: color-mix(in srgb, #8e8ea0 60%, transparent);
  --ionix-overlay: rgba(0, 0, 0, .42);
  --ionix-divider: #e6e5de;
  --ionix-success: #0f766e;
  --ionix-warning: #d97706;
  --ionix-danger: #dc2626;
  --ionix-info: #2563eb;
}
[data-theme="dark"] {
  --ionix-font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ionix-font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --ionix-font-size-xs: 9px;
  --ionix-font-size-sm: 11px;
  --ionix-font-size-md: 13px;
  --ionix-font-size-lg: 16px;
  --ionix-font-size-xl: 20px;
  --ionix-font-size-2xl: 23px;
  --ionix-font-size-3xl: 31px;
  --ionix-font-size-4xl: 42px;
  --ionix-font-weight-regular: 400;
  --ionix-font-weight-medium: 500;
  --ionix-font-weight-semibold: 600;
  --ionix-font-weight-bold: 700;
  --ionix-font-weight-extra-bold: 800;
  --ionix-line-height-tight: 1.08;
  --ionix-line-height-compact: 1.2;
  --ionix-line-height-normal: 1.45;
  --ionix-line-height-readable: 1.5;
  --ionix-line-height-relaxed: 1.6;
  --ionix-letter-spacing-tight: -.04em;
  --ionix-letter-spacing-normal: 0;
  --ionix-letter-spacing-label: .08em;
  --ionix-letter-spacing-eyebrow: .14em;
  --ionix-space-xs: 4px;
  --ionix-space-sm: 8px;
  --ionix-space-md: 12px;
  --ionix-space-lg: 16px;
  --ionix-space-xl: 24px;
  --ionix-space-2xl: 32px;
  --ionix-space-3xl: 40px;
  --ionix-space-4xl: 48px;
  --ionix-radius-sm: 6px;
  --ionix-radius-md: 10px;
  --ionix-radius-lg: 14px;
  --ionix-radius-xl: 18px;
  --ionix-radius-pill: 999px;
  --ionix-border-width-hairline: 1px;
  --ionix-border-width-strong: 2px;
  --ionix-border-width-focus: 3px;
  --ionix-shadow-subtle: 0 1px 2px rgba(24, 24, 31, .03);
  --ionix-shadow-elevated: 0 14px 30px color-mix(in srgb, var(--ionix-brand-primary) 18%, transparent);
  --ionix-shadow-overlay: 0 20px 70px rgba(0, 0, 0, .42);
  --ionix-motion-duration-fast: 160ms;
  --ionix-motion-duration-normal: 300ms;
  --ionix-motion-duration-slow: 500ms;
  --ionix-motion-easing-standard: cubic-bezier(.2, .8, .2, 1);
  --ionix-motion-easing-expressive: cubic-bezier(.22, 1, .36, 1);
  --ionix-motion-easing-linear: linear;
  --ionix-breakpoint-sm: 520px;
  --ionix-breakpoint-md: 760px;
  --ionix-breakpoint-lg: 980px;
  --ionix-breakpoint-xl: 1200px;
  --ionix-breakpoint-2xl: 1600px;
  --ionix-icon-size-xs: 14px;
  --ionix-icon-size-sm: 18px;
  --ionix-icon-size-md: 24px;
  --ionix-icon-size-lg: 32px;
  --ionix-z-ambient: 0;
  --ionix-z-page-surface: 1;
  --ionix-z-sticky-content: 80;
  --ionix-z-navigation: 1000;
  --ionix-z-dropdown: 1240;
  --ionix-z-popover: 1260;
  --ionix-z-modal: 1200;
  --ionix-z-toast: 1400;
  --ionix-z-developer-overlay: 20000;
  --ionix-bg: #0f1117;
  --ionix-page-bg: #0f1117;
  --ionix-page-bg-start: #111520;
  --ionix-page-bg-end: #0f1117;
  --ionix-surface: #181a24;
  --ionix-surface-elevated: #1f2231;
  --ionix-surface-subtle: #282b3a;
  --ionix-border: #2e3145;
  --ionix-border-strong: #2D475C;
  --ionix-text-primary: #e2e4ed;
  --ionix-text-secondary: #a0a3b5;
  --ionix-text-muted: #6b6f82;
  --ionix-text-disabled: color-mix(in srgb, #6b6f82 60%, transparent);
  --ionix-overlay: rgba(0, 0, 0, .5);
  --ionix-divider: #2e3145;
  --ionix-success: #3ee88f;
  --ionix-warning: #fbbf24;
  --ionix-danger: #ff6b6b;
  --ionix-info: #60a5fa;
}

:root[data-ionix-product="ledger"] {
  --ionix-product-id: ledger;
  --ionix-brand-primary: #16a34a;
  --ionix-brand-primary-hover: #16a34a;
  --ionix-brand-primary-active: color-mix(in srgb, var(--ionix-brand-primary) 22%, var(--ionix-surface) 78%);
  --ionix-brand-primary-soft: color-mix(in srgb, var(--ionix-brand-primary) 8%, var(--ionix-surface) 92%);
  --ionix-brand-primary-border: color-mix(in srgb, var(--ionix-brand-primary) 28%, var(--ionix-border) 72%);
  --ionix-brand-primary-text: #16a34a;
  --ionix-brand-primary-glow: color-mix(in srgb, var(--ionix-brand-primary) 18%, transparent);
  --ionix-focus-ring: color-mix(in srgb, var(--ionix-brand-primary) 14%, transparent);
  --ionix-selection-accent: color-mix(in srgb, var(--ionix-brand-primary) 16%, transparent);
}
[data-theme="light"][data-ionix-product="ledger"] {
  --ionix-product-id: ledger;
  --ionix-brand-primary: #16a34a;
  --ionix-brand-primary-hover: #16a34a;
  --ionix-brand-primary-active: color-mix(in srgb, var(--ionix-brand-primary) 22%, var(--ionix-surface) 78%);
  --ionix-brand-primary-soft: color-mix(in srgb, var(--ionix-brand-primary) 8%, var(--ionix-surface) 92%);
  --ionix-brand-primary-border: color-mix(in srgb, var(--ionix-brand-primary) 28%, var(--ionix-border) 72%);
  --ionix-brand-primary-text: #16a34a;
  --ionix-brand-primary-glow: color-mix(in srgb, var(--ionix-brand-primary) 18%, transparent);
  --ionix-focus-ring: color-mix(in srgb, var(--ionix-brand-primary) 14%, transparent);
  --ionix-selection-accent: color-mix(in srgb, var(--ionix-brand-primary) 16%, transparent);
}

:root[data-ionix-product="insights"] {
  --ionix-product-id: insights;
  --ionix-brand-primary: #4da3ff;
  --ionix-brand-primary-hover: color-mix(in srgb, var(--ionix-brand-primary) 88%, #fff 12%);
  --ionix-brand-primary-active: var(--ionix-brand-primary-soft);
  --ionix-brand-primary-soft: rgba(77, 163, 255, .10);
  --ionix-brand-primary-border: color-mix(in srgb, var(--ionix-brand-primary) 38%, var(--ionix-border) 62%);
  --ionix-brand-primary-text: #4da3ff;
  --ionix-brand-primary-glow: rgba(77, 163, 255, .10);
  --ionix-focus-ring: rgba(77, 163, 255, .10);
  --ionix-selection-accent: var(--ionix-brand-primary-soft);
}
[data-theme="light"][data-ionix-product="insights"] {
  --ionix-product-id: insights;
  --ionix-brand-primary: #65a2ff;
  --ionix-brand-primary-hover: color-mix(in srgb, var(--ionix-brand-primary) 88%, #fff 12%);
  --ionix-brand-primary-active: var(--ionix-brand-primary-soft);
  --ionix-brand-primary-soft: color-mix(in srgb, var(--ionix-brand-primary) 8%, var(--ionix-surface) 92%);
  --ionix-brand-primary-border: color-mix(in srgb, var(--ionix-brand-primary) 38%, var(--ionix-border) 62%);
  --ionix-brand-primary-text: #65a2ff;
  --ionix-brand-primary-glow: color-mix(in srgb, var(--ionix-brand-primary) 8%, transparent);
  --ionix-focus-ring: rgba(77, 163, 255, .10);
  --ionix-selection-accent: var(--ionix-brand-primary-soft);
}

:root[data-ionix-product="assessment"] {
  --ionix-product-id: assessment;
  --ionix-brand-primary: initial;
  --ionix-brand-primary-hover: initial;
  --ionix-brand-primary-active: initial;
  --ionix-brand-primary-soft: initial;
  --ionix-brand-primary-border: initial;
  --ionix-brand-primary-text: initial;
  --ionix-brand-primary-glow: initial;
  --ionix-focus-ring: initial;
  --ionix-selection-accent: initial;
}
[data-theme="light"][data-ionix-product="assessment"] {
  --ionix-product-id: assessment;
  --ionix-brand-primary: initial;
  --ionix-brand-primary-hover: initial;
  --ionix-brand-primary-active: initial;
  --ionix-brand-primary-soft: initial;
  --ionix-brand-primary-border: initial;
  --ionix-brand-primary-text: initial;
  --ionix-brand-primary-glow: initial;
  --ionix-focus-ring: initial;
  --ionix-selection-accent: initial;
}

/* packages/ionix-core-components/src/components.css */
.ionix-button { display: inline-flex; align-items: center; justify-content: center; gap: var(--ionix-space-sm); min-height: 36px; padding: 0 var(--ionix-space-md); border: var(--ionix-border-width-hairline) solid var(--ionix-border); border-radius: var(--ionix-radius-md); background: var(--ionix-surface); color: var(--ionix-text-primary); font: 500 var(--ionix-font-size-md)/1 var(--ionix-font-family); cursor: pointer; transition: border-color var(--ionix-motion-duration-fast) var(--ionix-motion-easing-standard), background var(--ionix-motion-duration-fast) var(--ionix-motion-easing-standard); }
.ionix-button:hover:not(:disabled) { border-color: var(--ionix-brand-primary-border); background: var(--ionix-brand-primary-soft); }
.ionix-button--primary { border-color: var(--ionix-brand-primary); background: var(--ionix-brand-primary); color: #fff; }
.ionix-button:focus-visible { outline: var(--ionix-border-width-focus) solid var(--ionix-focus-ring); outline-offset: 2px; }
.ionix-button:disabled { cursor: not-allowed; opacity: .58; }
.ionix-icon { display: inline-flex; align-items: center; justify-content: center; min-width: var(--ionix-icon-size-sm); }
.ionix-badge { display: inline-flex; align-items: center; min-height: 22px; padding: 0 var(--ionix-space-sm); border-radius: var(--ionix-radius-pill); background: var(--ionix-surface-subtle); color: var(--ionix-text-secondary); font: 600 var(--ionix-font-size-xs)/1 var(--ionix-font-family); letter-spacing: var(--ionix-letter-spacing-label); text-transform: uppercase; }
.ionix-badge--success { background: color-mix(in srgb, var(--ionix-success) 15%, var(--ionix-surface) 85%); color: var(--ionix-success); }
.ionix-badge--warning { background: color-mix(in srgb, var(--ionix-warning) 15%, var(--ionix-surface) 85%); color: var(--ionix-warning); }
.ionix-badge--info { background: color-mix(in srgb, var(--ionix-info) 15%, var(--ionix-surface) 85%); color: var(--ionix-info); }
.ionix-badge--danger { background: color-mix(in srgb, var(--ionix-danger) 15%, var(--ionix-surface) 85%); color: var(--ionix-danger); }
.ionix-badge--neutral { background: var(--ionix-surface-subtle); color: var(--ionix-text-secondary); }
.ionix-state { display: grid; place-items: center; min-height: 120px; padding: var(--ionix-space-xl); color: var(--ionix-text-muted); font: var(--ionix-font-size-md)/var(--ionix-line-height-normal) var(--ionix-font-family); }

/* Canonical KpiCard + KpiStrip. Product configuration supplies meaning; these
 * classes only consume Foundation and product-brand aliases. */
.ionix-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.ionix-kpi-strip { --ionix-kpi-strip-gap: var(--ionix-space-md); width: 100%; color: var(--ionix-text-primary); font-family: var(--ionix-font-family); }
.ionix-kpi-strip__row { display: grid; grid-template-columns: repeat(var(--ionix-kpi-strip-columns, 5), minmax(0, 1fr)); gap: var(--ionix-kpi-strip-gap); width: 100%; }
.ionix-kpi-strip--scroll { overflow-x: auto; padding-bottom: var(--ionix-space-xs); }
.ionix-kpi-strip--scroll .ionix-kpi-strip__row { min-width: max(100%, calc(var(--ionix-kpi-strip-columns, 5) * 180px + (var(--ionix-kpi-strip-columns, 5) - 1) * var(--ionix-kpi-strip-gap))); }
.ionix-kpi-card { --ionix-kpi-tone-color: var(--ionix-text-muted); position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 164px; padding: var(--ionix-space-lg); border: var(--ionix-border-width-hairline) solid var(--ionix-border); border-radius: var(--ionix-radius-md); background: var(--ionix-surface); box-shadow: var(--ionix-shadow-subtle); color: var(--ionix-text-primary); transition: border-color var(--ionix-motion-duration-fast) var(--ionix-motion-easing-standard), box-shadow var(--ionix-motion-duration-fast) var(--ionix-motion-easing-standard), transform var(--ionix-motion-duration-fast) var(--ionix-motion-easing-standard); }
.ionix-kpi-card:hover { border-color: var(--ionix-brand-primary-border); box-shadow: var(--ionix-shadow-elevated); transform: translateY(-1px); }
.ionix-kpi-card__icon { display: inline-grid; place-items: center; align-self: flex-start; width: var(--ionix-icon-size-md); height: var(--ionix-icon-size-md); margin-bottom: var(--ionix-space-sm); border-radius: var(--ionix-radius-sm); background: var(--ionix-brand-primary-soft); color: var(--ionix-brand-primary-text); font-size: var(--ionix-font-size-xs); font-weight: var(--ionix-font-weight-bold); }
.ionix-kpi-card__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--ionix-space-sm); min-width: 0; }
.ionix-kpi-card__heading h3 { min-width: 0; margin: 0; color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-sm); font-weight: var(--ionix-font-weight-semibold); line-height: var(--ionix-line-height-normal); }
.ionix-kpi-card__badge { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 22px; padding: 0 var(--ionix-space-sm); border: var(--ionix-border-width-hairline) solid var(--ionix-border); border-radius: var(--ionix-radius-pill); background: var(--ionix-surface-subtle); color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-xs); font-weight: var(--ionix-font-weight-semibold); letter-spacing: var(--ionix-letter-spacing-label); line-height: 1; text-transform: uppercase; }
.ionix-kpi-card__badge--success { border-color: color-mix(in srgb, var(--ionix-success) 28%, var(--ionix-border) 72%); background: color-mix(in srgb, var(--ionix-success) 12%, var(--ionix-surface) 88%); color: var(--ionix-success); }
.ionix-kpi-card__badge--warning { border-color: color-mix(in srgb, var(--ionix-warning) 28%, var(--ionix-border) 72%); background: color-mix(in srgb, var(--ionix-warning) 12%, var(--ionix-surface) 88%); color: var(--ionix-warning); }
.ionix-kpi-card__badge--danger { border-color: color-mix(in srgb, var(--ionix-danger) 28%, var(--ionix-border) 72%); background: color-mix(in srgb, var(--ionix-danger) 12%, var(--ionix-surface) 88%); color: var(--ionix-danger); }
.ionix-kpi-card__badge--info { border-color: color-mix(in srgb, var(--ionix-info) 28%, var(--ionix-border) 72%); background: color-mix(in srgb, var(--ionix-info) 12%, var(--ionix-surface) 88%); color: var(--ionix-info); }
.ionix-kpi-card__badge--brand { border-color: var(--ionix-brand-primary-border); background: var(--ionix-brand-primary-soft); color: var(--ionix-brand-primary-text); }
.ionix-kpi-card__value { margin-top: var(--ionix-space-md); color: var(--ionix-text-primary); font-size: clamp(var(--ionix-font-size-xl), 2.1vw, var(--ionix-font-size-2xl)); font-weight: var(--ionix-font-weight-bold); letter-spacing: var(--ionix-letter-spacing-tight); line-height: var(--ionix-line-height-tight); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ionix-kpi-card__value[data-value-type="currency"], .ionix-kpi-card__value[data-value-type="percentage"], .ionix-kpi-card__value[data-value-type="integer"], .ionix-kpi-card__value[data-value-type="decimal"], .ionix-kpi-card__value[data-value-type="score"] { white-space: normal; }
.ionix-kpi-card__secondary, .ionix-kpi-card__comparison { margin-top: var(--ionix-space-xs); color: var(--ionix-text-muted); font-size: var(--ionix-font-size-sm); line-height: var(--ionix-line-height-normal); }
.ionix-kpi-card__supporting { margin: var(--ionix-space-sm) 0 0; color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-sm); line-height: var(--ionix-line-height-normal); }
.ionix-kpi-card__trend { display: inline-flex; align-items: center; align-self: flex-start; gap: var(--ionix-space-xs); margin-top: var(--ionix-space-sm); padding: 3px var(--ionix-space-sm); border-radius: var(--ionix-radius-sm); background: color-mix(in srgb, var(--ionix-kpi-tone-color) 12%, var(--ionix-surface) 88%); color: var(--ionix-kpi-tone-color); font-size: var(--ionix-font-size-sm); font-weight: var(--ionix-font-weight-semibold); line-height: var(--ionix-line-height-compact); }
.ionix-kpi-card__trend--positive { --ionix-kpi-tone-color: var(--ionix-success); }
.ionix-kpi-card__trend--negative { --ionix-kpi-tone-color: var(--ionix-danger); }
.ionix-kpi-card__trend--warning { --ionix-kpi-tone-color: var(--ionix-warning); }
.ionix-kpi-card__trend--info { --ionix-kpi-tone-color: var(--ionix-info); }
.ionix-kpi-card__trend-direction { font-size: var(--ionix-font-size-md); line-height: 1; }
.ionix-kpi-card__status { display: flex; align-items: center; gap: var(--ionix-space-xs); margin-top: var(--ionix-space-sm); color: var(--ionix-kpi-tone-color); font-size: var(--ionix-font-size-xs); font-weight: var(--ionix-font-weight-semibold); line-height: var(--ionix-line-height-normal); }
.ionix-kpi-card__status--success { --ionix-kpi-tone-color: var(--ionix-success); }
.ionix-kpi-card__status--warning { --ionix-kpi-tone-color: var(--ionix-warning); }
.ionix-kpi-card__status--danger { --ionix-kpi-tone-color: var(--ionix-danger); }
.ionix-kpi-card__status--info { --ionix-kpi-tone-color: var(--ionix-info); }
.ionix-kpi-card__status--brand { --ionix-kpi-tone-color: var(--ionix-brand-primary-text); }
.ionix-kpi-card__status-marker { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--ionix-kpi-tone-color); }
.ionix-kpi-card__progress { display: grid; gap: var(--ionix-space-xs); margin-top: auto; padding-top: var(--ionix-space-md); color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-xs); }
.ionix-kpi-card__progress-head { display: flex; justify-content: space-between; gap: var(--ionix-space-sm); }
.ionix-kpi-card__progress-track { height: 6px; overflow: hidden; border-radius: var(--ionix-radius-pill); background: var(--ionix-surface-subtle); }
.ionix-kpi-card__progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--ionix-brand-primary); transition: width var(--ionix-motion-duration-normal) var(--ionix-motion-easing-standard); }
.ionix-kpi-card__progress[data-semantic-status="success"] .ionix-kpi-card__progress-track span { background: var(--ionix-success); }
.ionix-kpi-card__progress[data-semantic-status="warning"] .ionix-kpi-card__progress-track span { background: var(--ionix-warning); }
.ionix-kpi-card__progress[data-semantic-status="danger"] .ionix-kpi-card__progress-track span { background: var(--ionix-danger); }
.ionix-kpi-card__progress[data-semantic-status="info"] .ionix-kpi-card__progress-track span { background: var(--ionix-info); }
.ionix-kpi-card__state-label { margin-top: var(--ionix-space-sm); color: var(--ionix-text-muted); font-size: var(--ionix-font-size-sm); }
.ionix-kpi-card__actions { display: flex; flex-wrap: wrap; margin-top: auto; padding-top: var(--ionix-space-md); }
.ionix-kpi-card__action { display: inline-flex; align-items: center; min-height: 30px; padding: 0 var(--ionix-space-sm); border: var(--ionix-border-width-hairline) solid var(--ionix-border); border-radius: var(--ionix-radius-sm); background: var(--ionix-surface-elevated); color: var(--ionix-brand-primary-text); font: var(--ionix-font-weight-semibold) var(--ionix-font-size-sm)/1 var(--ionix-font-family); text-decoration: none; cursor: pointer; }
.ionix-kpi-card__action:hover { border-color: var(--ionix-brand-primary-border); background: var(--ionix-brand-primary-soft); }
.ionix-kpi-card__action:focus-visible { outline: var(--ionix-border-width-focus) solid var(--ionix-focus-ring); outline-offset: 2px; }
.ionix-kpi-card__action:disabled, .ionix-kpi-card__action--disabled { cursor: not-allowed; opacity: .58; }
.ionix-kpi-card--loading { cursor: progress; }
.ionix-kpi-card--empty, .ionix-kpi-card--disabled { border-style: dashed; }
.ionix-kpi-card--disabled { opacity: .62; }
.ionix-kpi-card__skeleton { display: block; width: min(88%, 180px); height: 1.05em; border-radius: var(--ionix-radius-sm); background: linear-gradient(90deg, var(--ionix-surface-subtle), var(--ionix-surface-elevated), var(--ionix-surface-subtle)); background-size: 220% 100%; animation: ionix-kpi-skeleton 1.2s var(--ionix-motion-easing-linear) infinite; }
.ionix-kpi-card__skeleton--label { width: 72%; height: 12px; }
.ionix-kpi-card__skeleton--supporting { width: 96%; height: 11px; }
.ionix-kpi-strip__state { grid-column: 1 / -1; display: grid; min-height: 164px; place-items: center; padding: var(--ionix-space-xl); border: var(--ionix-border-width-hairline) dashed var(--ionix-border); border-radius: var(--ionix-radius-md); color: var(--ionix-text-muted); font-size: var(--ionix-font-size-md); text-align: center; }
@keyframes ionix-kpi-skeleton { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@media (max-width: 1199px) { .ionix-kpi-strip__row { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 979px) { .ionix-kpi-strip__row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 519px) { .ionix-kpi-strip__row { grid-template-columns: minmax(0, 1fr); } .ionix-kpi-card { min-height: 148px; padding: var(--ionix-space-md); } }
@media (prefers-reduced-motion: reduce) { .ionix-kpi-card, .ionix-kpi-card__progress-track span { transition: none; } .ionix-kpi-card__skeleton { animation: none; } }

/* Source-derived compact KPI profiles. Presentation describes coherent
 * information patterns; visible product values remain descriptor-owned. */
.ionix-kpi-strip--layout-auto-fit {
  --ionix-kpi-strip-min-card-width: 168px;
  --ionix-kpi-strip-gap: 12px;
}
.ionix-kpi-strip--layout-auto-fit .ionix-kpi-strip__row { grid-template-columns: repeat(auto-fit, minmax(var(--ionix-kpi-strip-min-card-width), 1fr)); }

.ionix-kpi-card--density-compact {
  --ionix-kpi-compact-accent: var(--ionix-kpi-compact-accent-token, #11954a);
  --ionix-kpi-compact-negative: var(--ionix-kpi-compact-negative-token, #ff8a5c);
  --ionix-kpi-compact-warning: var(--ionix-kpi-compact-warning-token, #e0b341);
  --ionix-kpi-compact-status: var(--ionix-kpi-compact-status-token, #a78bfa);
  --ionix-kpi-compact-surface: var(--ionix-kpi-compact-surface-token, #101211);
  --ionix-kpi-compact-line: var(--ionix-kpi-compact-line-token, rgba(255, 255, 255, .10));
  --ionix-kpi-compact-divider: var(--ionix-kpi-compact-divider-token, rgba(120, 196, 157, .09));
  --ionix-kpi-compact-title: var(--ionix-kpi-compact-title-token, #f0f7f2);
  --ionix-kpi-compact-subtle: var(--ionix-kpi-compact-subtle-token, rgba(230, 241, 234, .42));
  --ionix-kpi-compact-faint: var(--ionix-kpi-compact-faint-token, #6f8579);
  display: flex;
  min-width: 0;
  min-height: 104px;
  flex-direction: column;
  gap: 9px;
  overflow: hidden;
  padding: 13px 14px 14px;
  border: 1px solid var(--ionix-kpi-compact-line);
  border-radius: 12px;
  background: var(--ionix-kpi-compact-surface);
  box-shadow: none;
  color: var(--ionix-kpi-compact-title);
  font-family: Inter, var(--ionix-font-family), sans-serif;
  animation: ionix-kpi-compact-entry .55s cubic-bezier(.22, .75, .2, 1) var(--ionix-kpi-entry-delay, 0s) both;
}
[data-theme="light"] .ionix-kpi-card--density-compact,
[data-ionix-kpi-preview-theme="light"] .ionix-kpi-card--density-compact {
  --ionix-kpi-compact-accent: var(--ionix-kpi-compact-accent-token-light, #11954a);
  --ionix-kpi-compact-negative: var(--ionix-kpi-compact-negative-token-light, #c2410c);
  --ionix-kpi-compact-warning: var(--ionix-kpi-compact-warning-token-light, #c98a10);
  --ionix-kpi-compact-status: var(--ionix-kpi-compact-status-token-light, #7c5cd6);
  --ionix-kpi-compact-surface: var(--ionix-kpi-compact-surface-token-light, #fff);
  --ionix-kpi-compact-line: var(--ionix-kpi-compact-line-token-light, rgba(20, 22, 26, .10));
  --ionix-kpi-compact-divider: var(--ionix-kpi-compact-divider-token-light, rgba(23, 32, 51, .075));
  --ionix-kpi-compact-title: var(--ionix-kpi-compact-title-token-light, #131b2a);
  --ionix-kpi-compact-subtle: var(--ionix-kpi-compact-subtle-token-light, rgba(23, 32, 51, .5));
  --ionix-kpi-compact-faint: var(--ionix-kpi-compact-faint-token-light, #8b97a8);
}
.ionix-kpi-card--density-compact:hover { border-color: var(--ionix-kpi-compact-line); box-shadow: none; transform: none; }
.ionix-kpi-card--density-compact.ionix-kpi-card--interactive:hover { border-color: var(--ionix-kpi-compact-accent); }
.ionix-kpi-card--density-compact .ionix-kpi-card__heading { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; }
.ionix-kpi-card--density-compact .ionix-kpi-card__heading h3 { min-width: 0; margin: 0; color: var(--ionix-kpi-compact-faint); font: 600 9.5px/1 Inter, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.ionix-kpi-card--density-compact .ionix-kpi-card__icon { display: inline; width: auto; height: auto; align-self: auto; margin: 0; border-radius: 0; background: transparent; color: var(--ionix-kpi-compact-faint); font: 300 15px/normal "Material Symbols Outlined"; }
.ionix-kpi-card--density-compact .ionix-kpi-card__badge { min-height: 19px; padding: 0 6px; border-radius: 5px; font-size: 9.5px; }
.ionix-kpi-card--density-compact .ionix-kpi-card__value-row { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; row-gap: 3px; }
.ionix-kpi-card--density-compact .ionix-kpi-card__value { margin: 0; color: var(--ionix-kpi-compact-title); font: 600 20px/1 Inter, sans-serif; letter-spacing: -.028em; white-space: nowrap; animation: ionix-kpi-compact-value .6s cubic-bezier(.22, .75, .2, 1) calc(var(--ionix-kpi-entry-delay, 0s) + .12s) both; }
.ionix-kpi-card--density-compact .ionix-kpi-card__secondary { min-width: 0; max-width: 100%; margin: 0; overflow: hidden; color: var(--ionix-kpi-compact-faint); font: 500 10.5px/1 Inter, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.ionix-kpi-card--density-compact .ionix-kpi-card__support-row { display: flex; min-width: 0; align-items: center; gap: 6px; color: var(--ionix-kpi-compact-subtle); font: 500 11px/1 Inter, sans-serif; }
.ionix-kpi-card--density-compact .ionix-kpi-card__trend { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 0; border-radius: 0; background: transparent; color: var(--ionix-kpi-compact-subtle); font: 600 11px/1 Inter, sans-serif; }
.ionix-kpi-card--density-compact .ionix-kpi-card__trend--positive { color: var(--ionix-kpi-compact-accent); }
.ionix-kpi-card--density-compact .ionix-kpi-card__trend--negative { color: var(--ionix-kpi-compact-negative); }
.ionix-kpi-card--density-compact .ionix-kpi-card__trend--warning { color: var(--ionix-kpi-compact-warning); }
.ionix-kpi-card--density-compact .ionix-kpi-card__trend--info { color: var(--ionix-kpi-compact-status); }
.ionix-kpi-card--density-compact .ionix-kpi-card__trend-value { color: var(--ionix-kpi-compact-subtle); font-weight: 600; }
.ionix-kpi-card--density-compact .ionix-kpi-card__support-row[data-semantic="positive"] .ionix-kpi-card__trend-direction,
.ionix-kpi-card--density-compact .ionix-kpi-card__support-row[data-semantic="positive"] .ionix-kpi-card__trend-value { color: var(--ionix-kpi-compact-accent); }
.ionix-kpi-card--density-compact .ionix-kpi-card__support-row[data-semantic="negative"] .ionix-kpi-card__trend-direction,
.ionix-kpi-card--density-compact .ionix-kpi-card__support-row[data-semantic="negative"] .ionix-kpi-card__trend-value { color: var(--ionix-kpi-compact-negative); }
.ionix-kpi-card--density-compact .ionix-kpi-card__support-row[data-semantic="warning"] .ionix-kpi-card__trend-direction,
.ionix-kpi-card--density-compact .ionix-kpi-card__support-row[data-semantic="warning"] .ionix-kpi-card__trend-value { color: var(--ionix-kpi-compact-warning); }
.ionix-kpi-card--density-compact .ionix-kpi-card__support-row[data-semantic="info"] .ionix-kpi-card__trend-direction,
.ionix-kpi-card--density-compact .ionix-kpi-card__support-row[data-semantic="info"] .ionix-kpi-card__trend-value { color: var(--ionix-kpi-compact-status); }
.ionix-kpi-card--density-compact .ionix-kpi-card__trend-direction { font: 300 14px/1 "Material Symbols Outlined"; }
.ionix-kpi-card--density-compact .ionix-kpi-card__trend[data-direction="up"] .ionix-kpi-card__trend-direction { font-size: 0; }
.ionix-kpi-card--density-compact .ionix-kpi-card__trend[data-direction="up"] .ionix-kpi-card__trend-direction::after { font-size: 14px; content: "trending_up"; }
.ionix-kpi-card--density-compact .ionix-kpi-card__trend[data-direction="down"] .ionix-kpi-card__trend-direction { font-size: 0; }
.ionix-kpi-card--density-compact .ionix-kpi-card__trend[data-direction="down"] .ionix-kpi-card__trend-direction::after { font-size: 14px; content: "trending_down"; }
.ionix-kpi-card--density-compact .ionix-kpi-card__trend-direction[data-icon] { font-size: 0; }
.ionix-kpi-card--density-compact .ionix-kpi-card__trend-direction[data-icon]::after { font-size: 14px; content: attr(data-icon); }
.ionix-kpi-card--density-compact .ionix-kpi-card__comparison { margin: 0; color: var(--ionix-kpi-compact-subtle); font: 500 11px/1 Inter, sans-serif; }
.ionix-kpi-card--density-compact .ionix-kpi-card__supporting { margin: 0; color: var(--ionix-kpi-compact-subtle); font: 500 11px/1 Inter, sans-serif; }
.ionix-kpi-card--density-compact.ionix-kpi-card--presentation-progress .ionix-kpi-card__supporting[data-tone="danger"] { color: var(--ionix-kpi-compact-negative); }
.ionix-kpi-card--density-compact .ionix-kpi-card__progress { display: block; margin: 0; padding: 0; }
.ionix-kpi-card--density-compact .ionix-kpi-card__progress-head { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.ionix-kpi-card--density-compact .ionix-kpi-card__progress-track { height: 4px; border-radius: 3px; background: var(--ionix-kpi-compact-divider); }
.ionix-kpi-card--density-compact .ionix-kpi-card__progress-track span { border-radius: 3px; background: var(--ionix-kpi-compact-accent); transform-origin: left center; animation: ionix-kpi-compact-progress 1s cubic-bezier(.22, .78, .2, 1) calc(var(--ionix-kpi-entry-delay, 0s) + .35s) both; }
.ionix-kpi-card--density-compact .ionix-kpi-card__progress[data-semantic-status="success"] .ionix-kpi-card__progress-track span { background: var(--ionix-kpi-compact-accent); }
.ionix-kpi-card--density-compact .ionix-kpi-card__progress[data-semantic-status="warning"] .ionix-kpi-card__progress-track span { background: var(--ionix-kpi-compact-warning); }
.ionix-kpi-card--density-compact .ionix-kpi-card__progress[data-semantic-status="danger"] .ionix-kpi-card__progress-track span { background: var(--ionix-kpi-compact-negative); }
.ionix-kpi-card--density-compact .ionix-kpi-card__status { display: flex; min-width: 0; align-items: center; gap: 6px; margin: 0; overflow: hidden; color: var(--ionix-kpi-compact-subtle); font: 500 11px/1 Inter, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.ionix-kpi-card--density-compact .ionix-kpi-card__status-marker { width: 6px; height: 6px; background: var(--ionix-kpi-compact-status); }
.ionix-kpi-card--density-compact .ionix-kpi-card__status--success .ionix-kpi-card__status-marker { background: var(--ionix-kpi-compact-accent); }
.ionix-kpi-card--density-compact .ionix-kpi-card__status--warning .ionix-kpi-card__status-marker { background: var(--ionix-kpi-compact-warning); }
.ionix-kpi-card--density-compact .ionix-kpi-card__status--danger .ionix-kpi-card__status-marker { background: var(--ionix-kpi-compact-negative); }
.ionix-kpi-card--density-compact .ionix-kpi-card__status--info .ionix-kpi-card__status-marker,
.ionix-kpi-card--density-compact .ionix-kpi-card__status--brand .ionix-kpi-card__status-marker { background: var(--ionix-kpi-compact-status); }

@keyframes ionix-kpi-compact-entry { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
@keyframes ionix-kpi-compact-value { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@keyframes ionix-kpi-compact-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
  .ionix-kpi-card--density-compact,
  .ionix-kpi-card--density-compact .ionix-kpi-card__value,
  .ionix-kpi-card--density-compact .ionix-kpi-card__progress-track span { animation: none; transition: none; }
}

/* Canonical CardShell. Content and meaning remain product-owned; these rules
 * own only the shared container geometry, structure, states, and interaction. */
.ionix-card-shell {
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  max-width: 100%;
  flex-direction: column;
  overflow: hidden;
  border: var(--ionix-border-width-hairline) solid var(--ionix-border);
  border-radius: var(--ionix-radius-md);
  background: var(--ionix-surface);
  box-shadow: var(--ionix-shadow-subtle);
  color: var(--ionix-text-primary);
  font-family: var(--ionix-font-family);
  text-decoration: none;
  transition: border-color var(--ionix-motion-duration-fast) var(--ionix-motion-easing-standard), box-shadow var(--ionix-motion-duration-fast) var(--ionix-motion-easing-standard), transform var(--ionix-motion-duration-fast) var(--ionix-motion-easing-standard);
}
.ionix-card-shell, .ionix-card-shell * { box-sizing: border-box; }
.ionix-card-shell__header { display: flex; min-width: 0; align-items: flex-start; gap: var(--ionix-space-md); padding: var(--ionix-space-lg); }
.ionix-card-shell__icon { display: grid; flex: 0 0 auto; place-items: center; min-width: var(--ionix-icon-size-md); min-height: var(--ionix-icon-size-md); border-radius: var(--ionix-radius-sm); background: var(--ionix-brand-primary-soft); color: var(--ionix-brand-primary-text); }
.ionix-card-shell__heading { min-width: 0; flex: 1 1 auto; }
.ionix-card-shell__eyebrow { margin-bottom: var(--ionix-space-xs); }
.ionix-card-shell__title { margin: 0; color: var(--ionix-text-primary); font-size: var(--ionix-font-size-lg); font-weight: var(--ionix-font-weight-semibold); line-height: var(--ionix-line-height-compact); overflow-wrap: anywhere; }
.ionix-card-shell__subtitle { margin: var(--ionix-space-xs) 0 0; color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-sm); line-height: var(--ionix-line-height-normal); overflow-wrap: anywhere; }
.ionix-card-shell__badge { flex: 0 0 auto; max-width: 42%; }
.ionix-card-shell__badge .ionix-badge { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ionix-card-shell__body { min-width: 0; flex: 1 1 auto; padding: 0 var(--ionix-space-lg) var(--ionix-space-lg); overflow-wrap: anywhere; }
.ionix-card-shell__footer { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: var(--ionix-space-md); padding: var(--ionix-space-md) var(--ionix-space-lg); border-top: var(--ionix-border-width-hairline) solid var(--ionix-divider); color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-sm); }
.ionix-card-shell__state { margin: calc(var(--ionix-space-sm) * -1) 0 0; }
.ionix-card-shell__state .ionix-state { min-height: 96px; padding: var(--ionix-space-lg); }
.ionix-card-shell--loading { cursor: progress; }
.ionix-card-shell--empty, .ionix-card-shell--error { border-style: dashed; }
.ionix-card-shell--disabled { opacity: .62; }
.ionix-card-shell.is-selected { border-color: var(--ionix-brand-primary-border); box-shadow: 0 0 0 var(--ionix-border-width-strong) var(--ionix-selection-accent); }
.ionix-card-shell.is-highlighted { border-color: var(--ionix-brand-primary-border); background: var(--ionix-brand-primary-soft); }
.ionix-card-shell.is-interactive { cursor: pointer; }
.ionix-card-shell.is-interactive:hover { border-color: var(--ionix-brand-primary-border); box-shadow: var(--ionix-shadow-elevated); transform: translateY(-1px); }
.ionix-card-shell.is-interactive:focus-visible { outline: var(--ionix-border-width-focus) solid var(--ionix-focus-ring); outline-offset: 2px; }
.ionix-card-shell.is-interactive[aria-disabled="true"] { cursor: not-allowed; pointer-events: none; }
.ionix-action-group { display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--ionix-space-xs); }
.ionix-action { display: inline-flex; min-width: 0; align-items: center; justify-content: center; gap: var(--ionix-space-xs); min-height: 30px; padding: 0 var(--ionix-space-sm); border: var(--ionix-border-width-hairline) solid var(--ionix-border); border-radius: var(--ionix-radius-sm); background: var(--ionix-surface-elevated); color: var(--ionix-text-secondary); font: var(--ionix-font-weight-semibold) var(--ionix-font-size-sm)/1 var(--ionix-font-family); text-decoration: none; cursor: pointer; }
.ionix-action:hover:not(:disabled):not([aria-disabled="true"]) { border-color: var(--ionix-brand-primary-border); background: var(--ionix-brand-primary-soft); color: var(--ionix-brand-primary-text); }
.ionix-action--primary { border-color: var(--ionix-brand-primary); background: var(--ionix-brand-primary); color: var(--ionix-surface); }
.ionix-action--ghost { border-color: transparent; background: transparent; }
.ionix-action--text { min-height: 0; padding: 0; border-color: transparent; background: transparent; color: var(--ionix-brand-primary-text); }
.ionix-action--text:hover:not(:disabled):not([aria-disabled="true"]) { border-color: transparent; background: transparent; color: var(--ionix-brand-primary-text); opacity: .8; }
.ionix-action--icon, .ionix-action--overflow { width: 30px; padding-inline: 0; }
.ionix-action:focus-visible { outline: var(--ionix-border-width-focus) solid var(--ionix-focus-ring); outline-offset: 2px; }
.ionix-action:disabled, .ionix-action[aria-disabled="true"] { cursor: not-allowed; opacity: .58; }
@media (max-width: 519px) {
  .ionix-card-shell__header { flex-wrap: wrap; padding: var(--ionix-space-md); }
  .ionix-card-shell__heading { flex-basis: calc(100% - var(--ionix-icon-size-md) - var(--ionix-space-md)); }
  .ionix-card-shell__badge { margin-left: calc(var(--ionix-icon-size-md) + var(--ionix-space-md)); max-width: 100%; }
  .ionix-card-shell__body { padding: 0 var(--ionix-space-md) var(--ionix-space-md); }
  .ionix-card-shell__footer { align-items: flex-start; flex-direction: column; padding-inline: var(--ionix-space-md); }
}
@media (prefers-reduced-motion: reduce) {
  .ionix-card-shell { transition: none; }
  .ionix-card-shell.is-interactive:hover { transform: none; }
}

.ionix-summary-group { display: flex; min-width: 0; flex: 0 0 auto; align-items: center; gap: var(--ionix-space-md); margin: 0; }
.ionix-summary-group__item { display: flex; min-width: 0; flex-direction: column; align-items: flex-end; gap: var(--ionix-space-xs); margin: 0; }
.ionix-summary-group__item dt { color: var(--ionix-text-muted); font: var(--ionix-font-weight-semibold) var(--ionix-font-size-xs)/1 var(--ionix-font-family); letter-spacing: var(--ionix-letter-spacing-label); text-transform: uppercase; }
.ionix-summary-group__item dd { margin: 0; color: var(--ionix-text-primary); font: var(--ionix-font-weight-semibold) var(--ionix-font-size-md)/1 var(--ionix-font-family); }
.ionix-summary-group__item[data-ionix-summary-tone="success"] dd { color: var(--ionix-success); }
.ionix-summary-group__item[data-ionix-summary-tone="warning"] dd { color: var(--ionix-warning); }
.ionix-summary-group__item[data-ionix-summary-tone="danger"] dd { color: var(--ionix-danger); }
.ionix-summary-group__item[data-ionix-summary-tone="info"] dd { color: var(--ionix-info); }
.ionix-summary-group__item[data-ionix-summary-tone="brand"] dd { color: var(--ionix-brand-primary-text); }

/* Source-derived analytical card presentation. The profile owns only the
 * reusable shell/header geometry and aliases; fixture content remains owned by
 * the consuming product. */
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact {
  --ionix-card-analytical-accent: var(--ionix-card-analytical-accent-token, #11954a);
  --ionix-card-analytical-negative: var(--ionix-card-analytical-negative-token, #ff8a5c);
  --ionix-card-analytical-surface: var(--ionix-card-analytical-surface-token, #101211);
  --ionix-card-analytical-line: var(--ionix-card-analytical-line-token, rgba(255, 255, 255, .10));
  --ionix-card-analytical-divider: var(--ionix-card-analytical-divider-token, rgba(120, 196, 157, .09));
  --ionix-card-analytical-title: var(--ionix-card-analytical-title-token, #f0f7f2);
  --ionix-card-analytical-ink: var(--ionix-card-analytical-ink-token, #e6f1ea);
  --ionix-card-analytical-subtle: var(--ionix-card-analytical-subtle-token, rgba(230, 241, 234, .42));
  --ionix-card-analytical-muted: var(--ionix-card-analytical-muted-token, #95ab9f);
  --ionix-card-analytical-faint: var(--ionix-card-analytical-faint-token, #6f8579);
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 14px;
  overflow: visible;
  padding: 16px 18px 18px;
  border: 1px solid var(--ionix-card-analytical-line);
  border-radius: 12px;
  background: var(--ionix-card-analytical-surface);
  box-shadow: none;
  color: var(--ionix-card-analytical-ink);
  font-family: var(--ionix-font-family);
  animation: ionix-card-analytical-entry .55s cubic-bezier(.22, .75, .2, 1) var(--ionix-card-entry-delay, 0s) both;
}
[data-theme="light"] .ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact,
[data-ionix-r2-preview-theme="light"] .ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact {
  --ionix-card-analytical-accent: var(--ionix-card-analytical-accent-token-light, #11954a);
  --ionix-card-analytical-negative: var(--ionix-card-analytical-negative-token-light, #c2410c);
  --ionix-card-analytical-surface: var(--ionix-card-analytical-surface-token-light, #fff);
  --ionix-card-analytical-line: var(--ionix-card-analytical-line-token-light, rgba(20, 22, 26, .10));
  --ionix-card-analytical-divider: var(--ionix-card-analytical-divider-token-light, rgba(23, 32, 51, .075));
  --ionix-card-analytical-title: var(--ionix-card-analytical-title-token-light, #131b2a);
  --ionix-card-analytical-ink: var(--ionix-card-analytical-ink-token-light, #172033);
  --ionix-card-analytical-subtle: var(--ionix-card-analytical-subtle-token-light, rgba(23, 32, 51, .50));
  --ionix-card-analytical-muted: var(--ionix-card-analytical-muted-token-light, #69768a);
  --ionix-card-analytical-faint: var(--ionix-card-analytical-faint-token-light, #8b97a8);
}
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-card-shell__header {
  min-width: 0;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 0;
}
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-card-shell__heading { display: flex; min-width: 0; flex: 1 1 auto; flex-basis: auto; flex-direction: column; gap: 3px; }
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-card-shell__header--split .ionix-card-shell__heading { min-width: auto; flex: 0 1 auto; }
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-card-shell__eyebrow { margin: 0; }
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-card-shell__title { margin: 0; overflow-wrap: normal; color: var(--ionix-card-analytical-title); font: 600 13.5px/1.2 Inter, sans-serif; letter-spacing: -.01em; }
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-card-shell__subtitle { margin: 0; overflow-wrap: normal; color: var(--ionix-card-analytical-subtle); font: 400 11.5px/1.4 Inter, sans-serif; }
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-card-shell__badge { display: flex; height: 21px; margin: 0; max-width: none; }
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-card-shell__badge .ionix-badge { height: 21px; min-height: 21px; padding: 0 9px; border: 1px solid var(--ionix-card-analytical-divider); background: transparent; color: var(--ionix-card-analytical-muted); font: 600 9.5px/1 Inter, sans-serif; letter-spacing: .09em; }
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-summary-group { gap: 14px; }
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-summary-group__item { gap: 2px; }
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-summary-group__item dt { color: var(--ionix-card-analytical-faint); font: 600 9.5px/1 Inter, sans-serif; letter-spacing: .13em; }
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-summary-group__item dd { color: var(--ionix-card-analytical-title); font: 600 13px/1 Inter, sans-serif; }
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-summary-group__item[data-ionix-summary-tone="danger"] dd { color: var(--ionix-card-analytical-negative); }
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-action-group { flex-wrap: nowrap; gap: 0; }
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-action--text { padding: 0; border: 0; color: var(--ionix-card-analytical-accent); font: 600 11.5px/1 Inter, sans-serif; }
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-action--text:focus-visible { outline: auto 1px -webkit-focus-ring-color; outline-offset: 0; }
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-card-shell__body { min-width: 0; flex: 1 1 auto; padding: 0; overflow-wrap: normal; }
.ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-card-shell__footer { min-width: 0; flex-direction: row; align-items: center; gap: 10px; padding: 12px 0 0; border-top: 1px solid var(--ionix-card-analytical-divider); color: var(--ionix-card-analytical-subtle); font: 500 11px/1.4 Inter, sans-serif; }
@keyframes ionix-card-analytical-entry { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
@media (max-width: 519px) {
  .ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-card-shell__header { flex-wrap: nowrap; padding: 0; }
  .ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-card-shell__heading { flex-basis: auto; }
  .ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-card-shell__badge { margin-left: 0; max-width: none; }
  .ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-card-shell__body { padding: 0; }
  .ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact .ionix-card-shell__footer { align-items: center; flex-direction: row; padding-inline: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ionix-card-shell--presentation-analytical.ionix-card-shell--density-compact { animation: none; transition: none; }
}

/* Canonical AlertBanner. Status color is semantic; brand tokens are reserved
 * for product identity and generic action emphasis. */
.ionix-alert-banner {
  --ionix-alert-tone: var(--ionix-text-secondary);
  --ionix-alert-soft: var(--ionix-surface-subtle);
  --ionix-alert-border: var(--ionix-border);
  box-sizing: border-box;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: var(--ionix-space-md);
  width: 100%;
  min-width: 0;
  min-height: 78px;
  padding: var(--ionix-space-md) var(--ionix-space-lg);
  border: var(--ionix-border-width-hairline) solid var(--ionix-alert-border);
  border-radius: var(--ionix-radius-md);
  background: var(--ionix-surface);
  color: var(--ionix-text-primary);
  font-family: var(--ionix-font-family);
  box-shadow: var(--ionix-shadow-subtle);
}
.ionix-alert-banner, .ionix-alert-banner * { box-sizing: border-box; }
.ionix-alert-banner--info { --ionix-alert-tone: var(--ionix-info); --ionix-alert-soft: color-mix(in srgb, var(--ionix-info) 10%, var(--ionix-surface) 90%); --ionix-alert-border: color-mix(in srgb, var(--ionix-info) 30%, var(--ionix-border) 70%); }
.ionix-alert-banner--success { --ionix-alert-tone: var(--ionix-success); --ionix-alert-soft: color-mix(in srgb, var(--ionix-success) 10%, var(--ionix-surface) 90%); --ionix-alert-border: color-mix(in srgb, var(--ionix-success) 30%, var(--ionix-border) 70%); }
.ionix-alert-banner--warning { --ionix-alert-tone: var(--ionix-warning); --ionix-alert-soft: color-mix(in srgb, var(--ionix-warning) 11%, var(--ionix-surface) 89%); --ionix-alert-border: color-mix(in srgb, var(--ionix-warning) 32%, var(--ionix-border) 68%); }
.ionix-alert-banner--danger { --ionix-alert-tone: var(--ionix-danger); --ionix-alert-soft: color-mix(in srgb, var(--ionix-danger) 10%, var(--ionix-surface) 90%); --ionix-alert-border: color-mix(in srgb, var(--ionix-danger) 32%, var(--ionix-border) 68%); }
.ionix-alert-banner__icon { display: grid; flex: 0 0 auto; place-items: center; width: var(--ionix-icon-size-md); height: var(--ionix-icon-size-md); border: var(--ionix-border-width-hairline) solid var(--ionix-alert-border); border-radius: var(--ionix-radius-sm); background: var(--ionix-alert-soft); color: var(--ionix-alert-tone); font-size: var(--ionix-font-size-md); font-weight: var(--ionix-font-weight-bold); }
.ionix-alert-banner__marker { width: 8px; height: 8px; border-radius: 50%; background: var(--ionix-alert-tone); }
.ionix-alert-banner__copy { min-width: 0; }
.ionix-alert-banner__heading { display: flex; min-width: 0; align-items: center; gap: var(--ionix-space-sm); }
.ionix-alert-banner__title { min-width: 0; margin: 0; overflow-wrap: anywhere; color: var(--ionix-text-primary); font-size: var(--ionix-font-size-md); font-weight: var(--ionix-font-weight-semibold); line-height: var(--ionix-line-height-compact); }
.ionix-alert-banner__badge { flex: 0 0 auto; max-width: 42%; }
.ionix-alert-banner__badge .ionix-badge { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ionix-alert-banner__description { margin: var(--ionix-space-xs) 0 0; overflow-wrap: anywhere; color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-sm); line-height: var(--ionix-line-height-normal); }
.ionix-alert-banner__metrics { display: flex; min-width: 0; flex-wrap: wrap; justify-content: flex-end; gap: var(--ionix-space-md); margin: 0; }
.ionix-alert-banner__metric { min-width: 68px; margin: 0; }
.ionix-alert-banner__metric dt { overflow-wrap: anywhere; color: var(--ionix-text-muted); font-size: var(--ionix-font-size-xs); font-weight: var(--ionix-font-weight-semibold); letter-spacing: var(--ionix-letter-spacing-label); line-height: var(--ionix-line-height-compact); text-transform: uppercase; }
.ionix-alert-banner__metric dd { margin: var(--ionix-space-xs) 0 0; overflow-wrap: anywhere; color: var(--ionix-text-primary); font-size: var(--ionix-font-size-sm); font-weight: var(--ionix-font-weight-bold); line-height: var(--ionix-line-height-compact); font-variant-numeric: tabular-nums; }
.ionix-alert-banner__actions { min-width: 0; }
.ionix-alert-banner__actions .ionix-action-group { justify-content: flex-end; }
.ionix-alert-banner__dismiss { display: inline-grid; place-items: center; width: 30px; height: 30px; padding: 0; border: var(--ionix-border-width-hairline) solid transparent; border-radius: var(--ionix-radius-sm); background: transparent; color: var(--ionix-text-muted); font: 600 var(--ionix-font-size-xl)/1 var(--ionix-font-family); cursor: pointer; }
.ionix-alert-banner__dismiss:hover { border-color: var(--ionix-alert-border); background: var(--ionix-alert-soft); color: var(--ionix-alert-tone); }
.ionix-alert-banner__dismiss:focus-visible { outline: var(--ionix-border-width-focus) solid var(--ionix-focus-ring); outline-offset: 2px; }
.ionix-alert-banner__state { color: var(--ionix-text-muted); font-size: var(--ionix-font-size-sm); }
.ionix-alert-banner__loading { display: flex; gap: var(--ionix-space-sm); margin-top: var(--ionix-space-xs); }
.ionix-alert-banner__loading span { display: block; width: min(30%, 150px); height: 10px; border-radius: var(--ionix-radius-pill); background: linear-gradient(90deg, var(--ionix-surface-subtle), var(--ionix-surface-elevated), var(--ionix-surface-subtle)); background-size: 220% 100%; animation: ionix-alert-skeleton 1.2s var(--ionix-motion-easing-linear) infinite; }
.ionix-alert-banner__loading span:nth-child(2) { width: min(18%, 90px); }
.ionix-alert-banner__loading span:nth-child(3) { width: min(12%, 60px); }
.ionix-alert-banner--disabled { opacity: .62; }
@keyframes ionix-alert-skeleton { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@media (max-width: 980px) { .ionix-alert-banner { grid-template-columns: auto minmax(0, 1fr) auto; } .ionix-alert-banner__metrics { grid-column: 2 / -1; justify-content: flex-start; } }
@media (max-width: 760px) { .ionix-alert-banner { align-items: flex-start; min-height: 72px; padding: var(--ionix-space-md); } .ionix-alert-banner__actions { grid-column: 2 / -1; justify-self: start; } .ionix-alert-banner__actions .ionix-action-group { justify-content: flex-start; } .ionix-alert-banner__metrics { grid-column: 2 / -1; } }
@media (max-width: 519px) { .ionix-alert-banner { grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--ionix-space-sm); } .ionix-alert-banner__metrics { gap: var(--ionix-space-sm) var(--ionix-space-md); } .ionix-alert-banner__metric { min-width: 0; flex: 1 1 84px; } .ionix-alert-banner__actions { width: 100%; } .ionix-alert-banner__actions .ionix-action-group { width: 100%; } .ionix-alert-banner__actions .ionix-action { flex: 1 1 auto; } }
@media (prefers-reduced-motion: reduce) { .ionix-alert-banner__loading span { animation: none; } }

/* Canonical ChartShell. Chart data and renderer internals stay outside this
 * shell; these rules own header, slot, legend, state, and footer geometry. */
.ionix-chart-shell { box-sizing: border-box; display: flex; min-width: 0; max-width: 100%; flex-direction: column; color: var(--ionix-text-primary); font-family: var(--ionix-font-family); }
.ionix-chart-shell, .ionix-chart-shell * { box-sizing: border-box; }
.ionix-chart-shell__header { display: flex; min-width: 0; align-items: flex-start; gap: var(--ionix-space-md); }
.ionix-chart-shell__heading { min-width: 0; flex: 1 1 240px; }
.ionix-chart-shell__eyebrow { margin-bottom: var(--ionix-space-xs); }
.ionix-chart-shell__title { margin: 0; overflow-wrap: anywhere; color: var(--ionix-text-primary); font-size: var(--ionix-font-size-lg); font-weight: var(--ionix-font-weight-semibold); line-height: var(--ionix-line-height-compact); }
.ionix-chart-shell__subtitle { margin: var(--ionix-space-xs) 0 0; overflow-wrap: anywhere; color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-sm); line-height: var(--ionix-line-height-normal); }
.ionix-chart-shell__metrics { display: flex; min-width: 0; flex: 0 1 auto; gap: var(--ionix-space-lg); }
.ionix-chart-shell__metric { display: grid; min-width: 88px; gap: var(--ionix-space-xs); }
.ionix-chart-shell__metric--primary { min-width: 112px; }
.ionix-chart-shell__metric-label, .ionix-chart-shell__metric-supporting { color: var(--ionix-text-muted); font-size: var(--ionix-font-size-xs); line-height: var(--ionix-line-height-compact); }
.ionix-chart-shell__metric-value { color: var(--ionix-text-primary); font-size: var(--ionix-font-size-xl); font-weight: var(--ionix-font-weight-bold); line-height: var(--ionix-line-height-tight); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ionix-chart-shell__metric-value[data-tone="success"] { color: var(--ionix-success); }
.ionix-chart-shell__metric-value[data-tone="warning"] { color: var(--ionix-warning); }
.ionix-chart-shell__metric-value[data-tone="danger"] { color: var(--ionix-danger); }
.ionix-chart-shell__metric-value[data-tone="info"] { color: var(--ionix-info); }
.ionix-chart-shell__controls, .ionix-chart-shell__header > .ionix-action-group { display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--ionix-space-xs); }
.ionix-chart-shell__select select { min-height: 30px; max-width: 180px; padding: 0 var(--ionix-space-sm); border: var(--ionix-border-width-hairline) solid var(--ionix-border); border-radius: var(--ionix-radius-sm); background: var(--ionix-surface-elevated); color: var(--ionix-text-primary); font: 600 var(--ionix-font-size-sm)/1 var(--ionix-font-family); }
.ionix-chart-shell__select select:focus-visible { outline: var(--ionix-border-width-focus) solid var(--ionix-focus-ring); outline-offset: 2px; }
.ionix-chart-shell__body { display: grid; min-width: 0; gap: var(--ionix-space-md); padding-top: var(--ionix-space-lg); }
.ionix-chart-shell__renderer { width: 100%; min-width: 0; min-height: 220px; overflow: hidden; }
.ionix-chart-shell__renderer > * { max-width: 100%; }
.ionix-chart-shell__annotation { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--ionix-space-sm); color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-sm); line-height: var(--ionix-line-height-normal); }
.ionix-chart-shell__legend { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--ionix-space-sm) var(--ionix-space-lg); margin: 0; padding: 0; list-style: none; }
.ionix-chart-shell__legend-item { display: inline-flex; min-width: 0; align-items: center; gap: var(--ionix-space-xs); color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-sm); line-height: var(--ionix-line-height-normal); }
.ionix-chart-shell__legend-item strong { color: var(--ionix-text-primary); font-weight: var(--ionix-font-weight-semibold); }
.ionix-chart-shell__legend-item.is-hidden, .ionix-chart-shell__legend-item.is-inactive { opacity: .55; }
.ionix-chart-shell__legend-marker { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: var(--ionix-chart-legend-color, var(--ionix-text-muted)); }
.ionix-chart-shell__state { display: grid; min-height: 220px; place-items: center; align-content: center; gap: var(--ionix-space-xs); padding: var(--ionix-space-xl); border: var(--ionix-border-width-hairline) dashed var(--ionix-border); border-radius: var(--ionix-radius-sm); color: var(--ionix-text-muted); text-align: center; }
.ionix-chart-shell__state strong { color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-md); }
.ionix-chart-shell__state--error { border-color: color-mix(in srgb, var(--ionix-danger) 35%, var(--ionix-border) 65%); color: var(--ionix-danger); }
.ionix-chart-shell__state .ionix-action { margin-top: var(--ionix-space-sm); }
.ionix-chart-shell__loading { display: grid; min-height: 220px; align-content: center; gap: var(--ionix-space-md); padding: var(--ionix-space-xl); border-radius: var(--ionix-radius-sm); background: linear-gradient(90deg, var(--ionix-surface-subtle), var(--ionix-surface-elevated), var(--ionix-surface-subtle)); background-size: 220% 100%; animation: ionix-chart-skeleton 1.3s var(--ionix-motion-easing-linear) infinite; }
.ionix-chart-shell__loading span { display: block; width: 72%; height: 10px; border-radius: var(--ionix-radius-pill); background: color-mix(in srgb, var(--ionix-text-muted) 20%, transparent); }
.ionix-chart-shell__loading span:nth-child(2) { width: 88%; }
.ionix-chart-shell__loading span:nth-child(3) { width: 54%; }
.ionix-chart-shell__footer { margin-top: var(--ionix-space-lg); padding-top: var(--ionix-space-md); border-top: var(--ionix-border-width-hairline) solid var(--ionix-divider); color: var(--ionix-text-muted); font-size: var(--ionix-font-size-sm); line-height: var(--ionix-line-height-readable); overflow-wrap: anywhere; }
.ionix-chart-shell--disabled { opacity: .62; }
@keyframes ionix-chart-skeleton { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@media (max-width: 980px) { .ionix-chart-shell__header { flex-wrap: wrap; } .ionix-chart-shell__metrics { order: 2; flex: 1 1 100%; } .ionix-chart-shell__controls, .ionix-chart-shell__header > .ionix-action-group { order: 3; justify-content: flex-start; } }
@media (max-width: 519px) { .ionix-chart-shell__body { padding-top: var(--ionix-space-md); } .ionix-chart-shell__metrics { gap: var(--ionix-space-md); } .ionix-chart-shell__metric { min-width: 0; flex: 1 1 96px; } .ionix-chart-shell__metric-value { font-size: var(--ionix-font-size-lg); } .ionix-chart-shell__renderer, .ionix-chart-shell__state, .ionix-chart-shell__loading { min-height: 180px; } .ionix-chart-shell__legend { gap: var(--ionix-space-xs) var(--ionix-space-md); } }
@media (prefers-reduced-motion: reduce) { .ionix-chart-shell__loading { animation: none; } }

/* Canonical DataTable. Business data, meanings, filtering, and data fetching
 * stay with the consuming product; these rules own semantic table geometry. */
.ionix-data-table { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; color: var(--ionix-text-primary); font-family: var(--ionix-font-family); }
.ionix-data-table, .ionix-data-table * { box-sizing: border-box; }
.ionix-data-table__toolbar { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--ionix-space-sm); margin-bottom: var(--ionix-space-md); color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-sm); }
.ionix-data-table__filter-slot { display: flex; min-width: 0; flex: 1 1 auto; flex-wrap: wrap; align-items: center; gap: var(--ionix-space-sm); }
.ionix-data-table__filter-count { flex: 0 0 auto; color: var(--ionix-text-muted); font-size: var(--ionix-font-size-xs); font-weight: var(--ionix-font-weight-semibold); }
.ionix-data-table__filter-clear { min-height: 28px; padding: 0 var(--ionix-space-sm); border: var(--ionix-border-width-hairline) solid var(--ionix-border); border-radius: var(--ionix-radius-sm); background: var(--ionix-surface); color: var(--ionix-text-secondary); font: 600 var(--ionix-font-size-xs)/1 var(--ionix-font-family); cursor: pointer; }
.ionix-data-table__filter-clear:hover { border-color: var(--ionix-brand-primary-border); background: var(--ionix-brand-primary-soft); color: var(--ionix-brand-primary-text); }
.ionix-data-table__filter-clear:focus-visible, .ionix-data-table__selection-control:focus-visible, .ionix-data-table__page-button:focus-visible, .ionix-data-table__page-number:focus-visible, .ionix-data-table__sort:focus-visible { outline: var(--ionix-border-width-focus) solid var(--ionix-focus-ring); outline-offset: 2px; }
.ionix-data-table__viewport { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; border: var(--ionix-border-width-hairline) solid var(--ionix-border); border-radius: var(--ionix-radius-md); background: var(--ionix-surface); }
.ionix-data-table__viewport--local-scroll { overflow-x: auto; overscroll-behavior-inline: contain; }
.ionix-data-table__table { width: 100%; max-width: 100%; table-layout: fixed; border-collapse: collapse; border-spacing: 0; color: inherit; font-size: var(--ionix-font-size-md); }
.ionix-data-table__viewport--local-scroll .ionix-data-table__table { min-width: 680px; max-width: none; }
.ionix-data-table__table th, .ionix-data-table__table td { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.ionix-data-table__table thead th { padding: var(--ionix-space-md) var(--ionix-space-lg); border-bottom: var(--ionix-border-width-hairline) solid var(--ionix-border-strong); background: var(--ionix-surface-subtle); color: var(--ionix-text-muted); font-size: var(--ionix-font-size-xs); font-weight: var(--ionix-font-weight-bold); letter-spacing: var(--ionix-letter-spacing-label); line-height: var(--ionix-line-height-compact); text-align: left; text-transform: uppercase; vertical-align: middle; }
.ionix-data-table__table tbody td, .ionix-data-table__table tbody th { padding: var(--ionix-space-md) var(--ionix-space-lg); border-bottom: var(--ionix-border-width-hairline) solid var(--ionix-divider); color: var(--ionix-text-secondary); font-weight: var(--ionix-font-weight-regular); line-height: var(--ionix-line-height-normal); text-align: left; vertical-align: middle; }
.ionix-data-table__table tbody th { color: var(--ionix-text-primary); font-weight: var(--ionix-font-weight-semibold); }
.ionix-data-table__table tbody tr:last-child td, .ionix-data-table__table tbody tr:last-child th { border-bottom: 0; }
.ionix-data-table__table tbody tr:hover td, .ionix-data-table__table tbody tr:hover th { background: var(--ionix-surface-subtle); }
.ionix-data-table--no-row-hover .ionix-data-table__table tbody tr:hover td, .ionix-data-table--no-row-hover .ionix-data-table__table tbody tr:hover th { background: transparent; }
.ionix-data-table__table tbody tr[aria-selected="true"] td, .ionix-data-table__table tbody tr[aria-selected="true"] th { background: var(--ionix-selection-accent); }
.ionix-data-table__header--center, .ionix-data-table__cell--center { text-align: center !important; }
.ionix-data-table__header--right, .ionix-data-table__cell--right { text-align: right !important; font-variant-numeric: tabular-nums; }
.ionix-data-table__selection-column, .ionix-data-table__selection-cell { width: 44px; padding-right: var(--ionix-space-sm) !important; padding-left: var(--ionix-space-sm) !important; text-align: center !important; }
.ionix-data-table__actions-cell { width: 1%; min-width: 116px; text-align: right !important; white-space: normal; }
.ionix-data-table__sort { display: inline-flex; max-width: 100%; align-items: center; gap: var(--ionix-space-xs); padding: 0; border: 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; text-align: inherit; text-transform: inherit; cursor: pointer; }
.ionix-data-table__sort:hover { color: var(--ionix-brand-primary-text); }
.ionix-data-table__sort-indicator { display: inline-block; min-width: 12px; color: var(--ionix-brand-primary-text); font-size: var(--ionix-font-size-sm); line-height: 1; }
.ionix-data-table__selection-control { width: 16px; height: 16px; margin: 0; accent-color: var(--ionix-brand-primary); vertical-align: middle; }
.ionix-data-table__row-actions { display: flex; min-width: 0; flex-wrap: wrap; justify-content: flex-end; gap: var(--ionix-space-xs); }
.ionix-data-table__row-actions .ionix-action { min-height: 28px; padding: 0 var(--ionix-space-sm); }
.ionix-data-table__row-actions .ionix-action--icon, .ionix-data-table__row-actions .ionix-action--overflow { width: 30px; padding: 0; }
.ionix-data-table__display-value, .ionix-data-table time { font-variant-numeric: tabular-nums; }
.ionix-data-table__icon-text { display: inline-flex; min-width: 0; align-items: center; gap: var(--ionix-space-sm); }
.ionix-data-table__icon-text > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.ionix-data-table__link { color: var(--ionix-brand-primary-text); text-decoration: underline; text-decoration-color: var(--ionix-brand-primary-border); text-underline-offset: 2px; }
.ionix-data-table__link:hover { color: var(--ionix-brand-primary-hover); }
.ionix-data-table__progress { display: inline-flex; min-width: 96px; max-width: 100%; align-items: center; gap: var(--ionix-space-sm); }
.ionix-data-table__progress progress { width: min(100px, 42%); height: 6px; accent-color: var(--ionix-brand-primary); }
.ionix-data-table__progress > span { white-space: nowrap; }
.ionix-data-table__state-row td { padding: 0 !important; }
.ionix-data-table__state { display: grid; min-height: 132px; place-items: center; align-content: center; gap: var(--ionix-space-xs); padding: var(--ionix-space-xl); color: var(--ionix-text-muted); text-align: center; }
.ionix-data-table__state strong { color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-md); font-weight: var(--ionix-font-weight-semibold); }
.ionix-data-table__state span { max-width: 58ch; overflow-wrap: anywhere; }
.ionix-data-table__state-row--error .ionix-data-table__state strong, .ionix-data-table__state-row--error .ionix-data-table__state > span { color: var(--ionix-danger); }
.ionix-data-table__state-action { margin-top: var(--ionix-space-sm); }
.ionix-data-table__skeleton-row td { height: 48px; }
.ionix-data-table__skeleton-row td span { display: block; width: min(78%, 220px); height: 10px; border-radius: var(--ionix-radius-pill); background: linear-gradient(90deg, var(--ionix-surface-subtle), var(--ionix-surface-elevated), var(--ionix-surface-subtle)); background-size: 220% 100%; animation: ionix-data-table-skeleton 1.3s var(--ionix-motion-easing-linear) infinite; }
.ionix-data-table__skeleton-row td:nth-child(2n) span { width: min(56%, 150px); }
.ionix-data-table__skeleton-row td:nth-child(3n) span { width: min(42%, 110px); }
.ionix-data-table__pagination { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ionix-space-md); padding: var(--ionix-space-md) 0 0; color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-sm); }
.ionix-data-table__pagination-summary { color: var(--ionix-text-muted); font-variant-numeric: tabular-nums; }
.ionix-data-table__page-size { display: inline-flex; align-items: center; gap: var(--ionix-space-xs); }
.ionix-data-table__page-size select { min-height: 30px; padding: 0 var(--ionix-space-sm); border: var(--ionix-border-width-hairline) solid var(--ionix-border); border-radius: var(--ionix-radius-sm); background: var(--ionix-surface); color: var(--ionix-text-primary); font: 600 var(--ionix-font-size-sm)/1 var(--ionix-font-family); }
.ionix-data-table__page-controls { display: flex; flex-wrap: wrap; gap: var(--ionix-space-xs); }
.ionix-data-table__page-button, .ionix-data-table__page-number { min-height: 30px; padding: 0 var(--ionix-space-sm); border: var(--ionix-border-width-hairline) solid var(--ionix-border); border-radius: var(--ionix-radius-sm); background: var(--ionix-surface); color: var(--ionix-text-secondary); font: 600 var(--ionix-font-size-xs)/1 var(--ionix-font-family); cursor: pointer; }
.ionix-data-table__page-number { min-width: 30px; padding-inline: var(--ionix-space-xs); }
.ionix-data-table__page-button:hover:not(:disabled), .ionix-data-table__page-number:hover { border-color: var(--ionix-brand-primary-border); background: var(--ionix-brand-primary-soft); color: var(--ionix-brand-primary-text); }
.ionix-data-table__page-number[aria-current="page"] { border-color: var(--ionix-brand-primary-border); background: var(--ionix-brand-primary-soft); color: var(--ionix-brand-primary-text); }
.ionix-data-table__page-button:disabled { cursor: not-allowed; opacity: .52; }
@keyframes ionix-data-table-skeleton { from { background-position: 100% 0; } to { background-position: -100% 0; } }

/* Current table evidence uses priority collapse for ordinary
 * tables and local scroll only for genuinely wide data sets. The viewport,
 * never the page, owns that overflow. */
@media (max-width: 1199px) {
  .ionix-data-table[data-ionix-data-table-responsive="priority"] [data-ionix-table-priority="3"] { display: none; }
}
@media (max-width: 979px) {
  .ionix-data-table[data-ionix-data-table-responsive="priority"] [data-ionix-table-priority="2"],
  .ionix-data-table[data-ionix-data-table-responsive="priority"] [data-ionix-table-priority="3"] { display: none; }
}
@media (max-width: 519px) {
  .ionix-data-table__table thead th, .ionix-data-table__table tbody td, .ionix-data-table__table tbody th { padding-inline: var(--ionix-space-md); }
  .ionix-data-table__pagination { align-items: flex-start; flex-direction: column; }
  .ionix-data-table__page-controls { width: 100%; }
  .ionix-data-table__page-button { flex: 1 1 0; }
}
@media (prefers-reduced-motion: reduce) { .ionix-data-table__skeleton-row td span { animation: none; } }
/* Source-faithful R4 variants. These are opt-in generic presentations: they
 * preserve the approved source contract without changing existing defaults. */
.ionix-button--variant-source-command {
  height: 34px;
  min-height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ionix-source-row, var(--ionix-text-secondary));
  font: 500 12.5px/1 Inter, var(--ionix-font-family), sans-serif;
  letter-spacing: -.005em;
  white-space: nowrap;
  transition: background .15s ease, color .15s ease;
}
.ionix-button--variant-source-command:hover:not(:disabled) { background: var(--ionix-source-accent-soft, var(--ionix-brand-primary-soft)); color: var(--ionix-source-accent, var(--ionix-brand-primary-text)); }
.ionix-button--variant-source-compact,
.ionix-button--variant-source-menu {
  height: 34px;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid var(--ionix-source-line-2, var(--ionix-border));
  border-radius: 10px;
  background: transparent;
  color: var(--ionix-source-row, var(--ionix-text-secondary));
  font: 600 11.5px/1 Inter, var(--ionix-font-family), sans-serif;
  letter-spacing: -.005em;
  white-space: nowrap;
  transition: background .15s cubic-bezier(.2,.8,.2,1), border-color .15s cubic-bezier(.2,.8,.2,1), color .15s ease;
}
.ionix-button--variant-source-menu { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 8px; padding-inline: 12px; font-weight: 500; }
.ionix-button--variant-source-compact:hover:not(:disabled),
.ionix-button--variant-source-menu:hover:not(:disabled) { border-color: var(--ionix-source-accent-line, var(--ionix-brand-primary-border)); background: var(--ionix-source-hover, var(--ionix-brand-primary-soft)); color: var(--ionix-source-title, var(--ionix-text-primary)); }
.ionix-button--variant-source-command:focus-visible,
.ionix-button--variant-source-compact:focus-visible,
.ionix-button--variant-source-menu:focus-visible { outline: var(--ionix-border-width-focus) solid var(--ionix-focus-ring); outline-offset: 2px; }

.ionix-badge--variant-source-status {
  min-height: 19px;
  height: 19px;
  padding: 0 8px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: transparent;
  font: 600 9.5px/1 Inter, var(--ionix-font-family), sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .92;
}
.ionix-badge--variant-source-status > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ionix-badge--danger { background: color-mix(in srgb, var(--ionix-danger) 15%, var(--ionix-surface) 85%); color: var(--ionix-danger); }
.ionix-badge--info { background: color-mix(in srgb, var(--ionix-info) 15%, var(--ionix-surface) 85%); color: var(--ionix-info); }
.ionix-badge--brand { background: var(--ionix-brand-primary-soft); color: var(--ionix-brand-primary-text); }
.ionix-badge--variant-source-status.ionix-badge--danger,
.ionix-badge--variant-source-status.ionix-badge--info,
.ionix-badge--variant-source-status.ionix-badge--brand,
.ionix-badge--variant-source-status.ionix-badge--success,
.ionix-badge--variant-source-status.ionix-badge--warning { background: transparent; }
.ionix-badge__icon { display: inline-flex; align-items: center; }

/* R4 source-derived presentation tokens. Product configurations may bind
 * their own aliases; the exact approved reference values are the defaults for
 * this opt-in family. */
.ionix-source-fidelity {
  --ionix-source-accent: #35d07f;
  --ionix-source-accent-soft: rgba(53,208,127,.11);
  --ionix-source-accent-line: rgba(53,208,127,.22);
  --ionix-source-accent-flat: rgba(53,208,127,.07);
  --ionix-source-line: rgba(120,196,157,.14);
  --ionix-source-line-2: rgba(120,196,157,.09);
  --ionix-source-line-hi: rgba(120,196,157,.26);
  --ionix-source-title: #f0f7f2;
  --ionix-source-row: #dbe8e0;
  --ionix-source-sub: rgba(230,241,234,.42);
  --ionix-source-muted: #95ab9f;
  --ionix-source-faint: #6f8579;
  --ionix-source-sunk: rgba(255,255,255,.035);
  --ionix-source-hover: rgba(255,255,255,.045);
  --ionix-source-warning: #e0b341;
  --ionix-source-danger: #ff8a5c;
  --ionix-source-info: #a78bfa;
  --ionix-source-blue: #58a6ff;
  box-sizing: border-box;
  color: var(--ionix-source-row);
  font-family: Inter, var(--ionix-font-family), sans-serif;
  font-synthesis: none;
}
.ionix-source-fidelity *, .ionix-source-fidelity *::before, .ionix-source-fidelity *::after { box-sizing: border-box; }
[data-theme="light"] .ionix-source-fidelity,
.ionix-source-fidelity[data-ionix-theme="light"] {
  --ionix-source-accent: #11954a;
  --ionix-source-accent-soft: rgba(17,149,74,.08);
  --ionix-source-accent-line: rgba(17,149,74,.20);
  --ionix-source-accent-flat: rgba(17,149,74,.055);
  --ionix-source-line: rgba(23,32,51,.11);
  --ionix-source-line-2: rgba(23,32,51,.075);
  --ionix-source-line-hi: rgba(23,32,51,.2);
  --ionix-source-title: #131b2a;
  --ionix-source-row: #2b3448;
  --ionix-source-sub: rgba(23,32,51,.5);
  --ionix-source-muted: #69768a;
  --ionix-source-faint: #8b97a8;
  --ionix-source-sunk: rgba(23,32,51,.028);
  --ionix-source-hover: rgba(16,24,40,.04);
  --ionix-source-warning: #c98a10;
  --ionix-source-danger: #c2410c;
  --ionix-source-info: #7c5cd6;
  --ionix-source-blue: #3b82c4;
}
.ionix-source-fidelity__muted { color: var(--ionix-source-faint); }
.ionix-source-fidelity__row { transition: opacity .18s ease, background .18s ease, border-color .18s ease; }
[data-ionix-hover-group~="rows"]:hover .ionix-source-fidelity__row,
[data-ionix-hover-group~="rows"]:hover .ionix-data-table__row { opacity: .42; }
[data-ionix-hover-group~="rows"] .ionix-source-fidelity__row:hover,
[data-ionix-hover-group~="rows"] .ionix-data-table__row:hover { opacity: 1; background: var(--ionix-source-sunk); }

.ionix-data-table { width: 100%; color: var(--ionix-source-row); }
.ionix-data-table table { width: 100%; border-collapse: collapse; }
.ionix-data-table__header { padding: 0 0 8px; color: var(--ionix-source-faint); font: 600 9.5px/1 Inter, var(--ionix-font-family), sans-serif; letter-spacing: .13em; text-transform: uppercase; text-align: right; white-space: nowrap; }
.ionix-data-table__header--left { text-align: left; }
.ionix-data-table__header--center, .ionix-data-table__cell--center { text-align: center; }
.ionix-data-table__cell { padding: 9px 0; border-top: 1px solid var(--ionix-source-line-2); color: var(--ionix-source-row); font: 500 12px/1.3 Inter, var(--ionix-font-family), sans-serif; text-align: right; white-space: nowrap; }
.ionix-data-table__cell--left { text-align: left; }
.ionix-data-table__cell--success { color: var(--ionix-source-accent); font-weight: 600; }
.ionix-data-table__cell--warning { color: var(--ionix-source-warning); font-weight: 600; }
.ionix-data-table__cell--danger { color: var(--ionix-source-danger); font-weight: 600; }
.ionix-data-table__cell-stack { display: flex; min-width: 0; flex-direction: column; gap: 2px; text-align: left; }
.ionix-data-table__cell-primary { color: var(--ionix-source-row); }
.ionix-data-table__cell-primary.is-emphasis { color: var(--ionix-source-title); font-weight: 600; }
.ionix-data-table__cell-secondary { color: var(--ionix-source-faint); font: 400 10.5px/1 Inter, var(--ionix-font-family), sans-serif; }
.ionix-data-table__display-value.is-emphasis { color: var(--ionix-source-title); font-weight: 600; }
.ionix-data-table__display-value--success { color: var(--ionix-source-accent); font-weight: 600; }
.ionix-data-table__display-value--warning { color: var(--ionix-source-warning); font-weight: 600; }
.ionix-data-table__display-value--danger { color: var(--ionix-source-danger); font-weight: 600; }
.ionix-data-table__display-value--info { color: var(--ionix-source-info); font-weight: 600; }
.ionix-data-table__badge { margin-left: 8px; vertical-align: middle; }
.ionix-data-table__row--total .ionix-data-table__cell { border-top-color: var(--ionix-source-line); color: var(--ionix-source-title); font-weight: 600; }
.ionix-data-table--source-table .ionix-data-table__viewport { overflow: visible; border: 0; border-radius: 0; background: transparent; }
.ionix-data-table--source-table .ionix-data-table__table { max-width: none; table-layout: auto; color: var(--ionix-source-row); font: 16px Inter, var(--ionix-font-family), sans-serif; }
.ionix-data-table--source-table .ionix-data-table__table thead th { padding: 0 0 8px; border: 0; background: transparent; color: var(--ionix-source-faint); font: 600 9.5px/1 Inter, var(--ionix-font-family), sans-serif; letter-spacing: .13em; text-transform: uppercase; vertical-align: middle; }
.ionix-data-table--source-table .ionix-data-table__table thead tr { height: 18px; }
.ionix-data-table--source-table .ionix-data-table__table tbody td,
.ionix-data-table--source-table .ionix-data-table__table tbody th,
.ionix-data-table--source-table .ionix-data-table__table tfoot td { padding: 9px 0; border-width: 1px 0 0; border-style: solid; border-color: var(--ionix-source-line-2); background: transparent; color: var(--ionix-source-row); font: 500 12px/1.3 Inter, var(--ionix-font-family), sans-serif; vertical-align: middle; white-space: nowrap; }
.ionix-data-table--source-table .ionix-data-table__table tbody tr:hover td,
.ionix-data-table--source-table .ionix-data-table__table tbody tr:hover th { background: var(--ionix-source-sunk); }
.ionix-data-table--source-table .ionix-data-table__table tbody tr:first-child td,
.ionix-data-table--source-table .ionix-data-table__table tbody tr:first-child th { padding-top: 9.5px; border-top: 0; box-shadow: inset 0 1px var(--ionix-source-line-2); }
.ionix-data-table--source-table .ionix-data-table__table [data-ionix-table-total="true"] td { border-top-color: var(--ionix-source-line); color: var(--ionix-source-title); font-weight: 600; }
.ionix-data-table--source-table .ionix-data-table__table .ionix-data-table__cell--left,
.ionix-data-table--source-table .ionix-data-table__table .ionix-data-table__footer-cell--left { text-align: left; }
.ionix-data-table--source-table .ionix-data-table__table .ionix-data-table__cell--right,
.ionix-data-table--source-table .ionix-data-table__table .ionix-data-table__footer-cell--right { text-align: right; }
.ionix-data-table--source-table .ionix-data-table__display-value { font-variant-numeric: normal; }
.ionix-data-table--source-table .ionix-badge--success { color: var(--ionix-source-accent); }
.ionix-data-table--source-table .ionix-badge--warning { color: var(--ionix-source-warning); }
.ionix-data-table--source-table .ionix-badge--info { color: var(--ionix-source-info); }

.ionix-ranked-list { display: flex; flex-direction: column; gap: 11px; }
.ionix-ranked-list__item { display: flex; min-width: 0; flex-direction: column; gap: 5px; padding: 2px 4px; border-radius: 7px; }
.ionix-ranked-list__rank, .ionix-ranked-list__icon { flex: 0 0 auto; }
.ionix-ranked-list__copy { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.ionix-ranked-list__heading, .ionix-metric-performance__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.ionix-ranked-list__label, .ionix-metric-performance__label { color: var(--ionix-source-row); font: 500 11.5px/1 Inter, var(--ionix-font-family), sans-serif; }
.ionix-ranked-list__values, .ionix-metric-performance__values { display: flex; align-items: baseline; gap: 8px; }
.ionix-ranked-list__value { color: var(--ionix-source-faint); font: 400 10.5px/1 Inter, var(--ionix-font-family), sans-serif; }
.ionix-ranked-list__share, .ionix-metric-performance__value { color: var(--ionix-source-title); font: 600 11.5px/1 Inter, var(--ionix-font-family), sans-serif; }
.ionix-ranked-list__track, .ionix-metric-performance__track { height: 5px; overflow: hidden; border-radius: 3px; background: var(--ionix-source-line-2); }
.ionix-ranked-list__track > span { display: block; width: var(--ionix-ranked-width); height: 100%; border-radius: 3px; background: var(--ionix-source-blue); opacity: var(--ionix-ranked-opacity); transform-origin: left center; animation: ionix-source-fill 1s cubic-bezier(.22,.78,.2,1) both; }
.ionix-ranked-list__secondary { display: block; font: 400 10px/1 Inter, var(--ionix-font-family), sans-serif; }

.ionix-status-distribution { display: flex; flex-direction: column; gap: 14px; }
.ionix-status-distribution__track { display: flex; height: 26px; overflow: hidden; gap: 2px; border-radius: 6px; }
.ionix-status-distribution__segment { display: block; width: var(--ionix-status-width); height: 100%; transform-origin: left center; animation: ionix-source-fill 1s cubic-bezier(.22,.78,.2,1) both; transition: transform .18s cubic-bezier(.2,.8,.2,1), opacity .18s ease; }
.ionix-status-distribution__segment--success, .ionix-status-distribution__marker--success { background: var(--ionix-source-accent); }
.ionix-status-distribution__segment--warning, .ionix-status-distribution__marker--warning { background: var(--ionix-source-warning); }
.ionix-status-distribution__segment--neutral, .ionix-status-distribution__marker--neutral { background: var(--ionix-source-line-hi); }
.ionix-status-distribution__segment--info, .ionix-status-distribution__marker--info { background: var(--ionix-source-info); }
.ionix-status-distribution__rows { display: flex; flex-direction: column; gap: 2px; margin: 0 -6px; }
.ionix-status-distribution__item { display: flex; align-items: center; gap: 9px; padding: 6px; border-radius: 7px; }
.ionix-status-distribution__marker { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 2px; }
.ionix-status-distribution__label { flex: 1 1 auto; color: var(--ionix-source-row); font: 500 11.5px/1 Inter, var(--ionix-font-family), sans-serif; }
.ionix-status-distribution__value { color: var(--ionix-source-title); font: 600 11.5px/1 Inter, var(--ionix-font-family), sans-serif; }
.ionix-status-distribution__share { width: 44px; color: var(--ionix-source-faint); font: 500 11px/1 Inter, var(--ionix-font-family), sans-serif; text-align: right; }
.ionix-status-distribution__footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 12px; border-top: 1px solid var(--ionix-source-line-2); color: var(--ionix-source-muted); font: 500 11px/1.4 Inter, var(--ionix-font-family), sans-serif; }
.ionix-status-distribution__footer a { color: var(--ionix-source-accent); font: 600 11.5px/1 Inter, var(--ionix-font-family), sans-serif; text-decoration: none; }
.ionix-status-distribution__footer a:hover { opacity: .8; }
[data-ionix-hover-group~="segments"]:hover .ionix-status-distribution__segment { opacity: .42; }
[data-ionix-hover-group~="segments"] .ionix-status-distribution__segment:hover { opacity: 1; transform: scaleY(1.18); animation: none; }

.ionix-metric-performance { display: flex; flex-direction: column; gap: 12px; }
.ionix-metric-performance--source-evidence .ionix-metric-performance__supporting { margin-top: 2px; }
.ionix-metric-performance__item { display: flex; flex-direction: column; gap: 5px; padding: 2px 4px; border-radius: 7px; }
.ionix-metric-performance__value { font-size: 13px; }
.ionix-metric-performance__change { font: 500 10px/1 Inter, var(--ionix-font-family), sans-serif; }
.ionix-metric-performance__change--success { color: var(--ionix-source-accent); }
.ionix-metric-performance__change--warning { color: var(--ionix-source-warning); }
.ionix-metric-performance__change--neutral { color: var(--ionix-source-muted); }
.ionix-metric-performance__fill { display: block; width: var(--ionix-metric-width); height: 100%; border-radius: 3px; opacity: var(--ionix-metric-opacity); transform-origin: left center; animation: ionix-source-fill 1s cubic-bezier(.22,.78,.2,1) both; }
.ionix-metric-performance__fill--success { background: var(--ionix-source-accent); }
.ionix-metric-performance__fill--warning { background: var(--ionix-source-warning); }
.ionix-metric-performance__fill--neutral { background: var(--ionix-source-line-hi); }
.ionix-metric-performance__supporting { display: flex; align-items: center; gap: 9px; padding: 10px 11px; border: 1px solid var(--ionix-source-line-2); border-radius: 10px; background: var(--ionix-source-sunk); color: var(--ionix-source-sub); font: 500 10.5px/1.4 Inter, var(--ionix-font-family), sans-serif; }
.ionix-metric-performance__supporting-icon { color: var(--ionix-source-muted); font: 300 17px/1 "Material Symbols Outlined"; }

.ionix-attention-list { display: flex; flex-direction: column; gap: 6px; margin: 0 -6px; }
.ionix-attention-list__item { display: flex; min-width: 0; align-items: center; gap: 11px; padding: 9px 10px; border: 1px solid var(--ionix-source-line-2); border-radius: 10px; }
.ionix-attention-list__icon { display: grid; width: 28px; height: 28px; flex: 0 0 auto; place-items: center; border: 1px solid var(--ionix-source-line-2); border-radius: 8px; color: var(--ionix-source-muted); font: 300 16px/1 "Material Symbols Outlined"; }
.ionix-attention-list__icon--warning { color: var(--ionix-source-warning); }
.ionix-attention-list__icon--danger { color: var(--ionix-source-danger); }
.ionix-attention-list__icon--info { color: var(--ionix-source-info); }
.ionix-attention-list__copy { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; gap: 3px; }
.ionix-attention-list__label { overflow: hidden; color: var(--ionix-source-title); font: 600 12px/1.2 Inter, var(--ionix-font-family), sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.ionix-attention-list__description { overflow: hidden; color: var(--ionix-source-faint); font: 400 10.5px/1.3 Inter, var(--ionix-font-family), sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.ionix-attention-list__value { display: flex; flex: 0 0 auto; flex-direction: column; align-items: flex-end; gap: 3px; font: 400 10px/1 Inter, var(--ionix-font-family), sans-serif; white-space: nowrap; }
.ionix-attention-list__value > span:first-child { color: var(--ionix-source-muted); font: 600 12.5px/1 Inter, var(--ionix-font-family), sans-serif; }
.ionix-attention-list__value > span:last-child { color: var(--ionix-source-faint); }
.ionix-attention-list__value--warning > span:first-child { color: var(--ionix-source-warning); }
.ionix-attention-list__value--danger > span:first-child { color: var(--ionix-source-danger); }
.ionix-attention-list__value--info > span:first-child { color: var(--ionix-source-info); }

@keyframes ionix-source-fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
  .ionix-source-fidelity *, .ionix-source-fidelity__row,
  .ionix-button--variant-source-command, .ionix-button--variant-source-compact,
  .ionix-button--variant-source-menu { animation: none !important; transition: none !important; }
}

/* packages/ionix-core-components/src/analyticalObjects.css */
/* Product-neutral source-derived analytical object profiles. Products own
 * labels, values, coordinates, palette overrides, and presentation selection. */
.ionix-chart-shell--presentation-embedded-analytical,
.ionix-insight-list--analytical,
.ionix-radial-composition--analytical,
.ionix-metric-performance--analytical {
  --ionix-analytical-accent: var(--ionix-analytical-accent-token, #35d07f);
  --ionix-analytical-negative: var(--ionix-analytical-negative-token, #ff8a5c);
  --ionix-analytical-warning: var(--ionix-analytical-warning-token, #e0b341);
  --ionix-analytical-risk: var(--ionix-analytical-risk-token, #a78bfa);
  --ionix-analytical-info: var(--ionix-analytical-info-token, #58a6ff);
  --ionix-analytical-title: var(--ionix-analytical-title-token, #f0f7f2);
  --ionix-analytical-row: var(--ionix-analytical-row-token, #dbe8e0);
  --ionix-analytical-subtle: var(--ionix-analytical-subtle-token, rgba(230, 241, 234, .42));
  --ionix-analytical-muted: var(--ionix-analytical-muted-token, #95ab9f);
  --ionix-analytical-faint: var(--ionix-analytical-faint-token, #6f8579);
  --ionix-analytical-divider: var(--ionix-analytical-divider-token, rgba(120, 196, 157, .09));
  --ionix-analytical-line: var(--ionix-analytical-line-token, rgba(120, 196, 157, .14));
  --ionix-analytical-line-strong: var(--ionix-analytical-line-strong-token, rgba(120, 196, 157, .26));
  --ionix-analytical-sunk: var(--ionix-analytical-sunk-token, rgba(255, 255, 255, .035));
  --ionix-analytical-surface: var(--ionix-analytical-surface-token, #101211);
  --ionix-analytical-accent-flat: var(--ionix-analytical-accent-flat-token, rgba(53, 208, 127, .07));
  min-width: 0;
  color: var(--ionix-analytical-row);
  font-family: Inter, sans-serif;
}

[data-theme="light"] .ionix-chart-shell--presentation-embedded-analytical,
[data-theme="light"] .ionix-insight-list--analytical,
[data-theme="light"] .ionix-radial-composition--analytical,
[data-theme="light"] .ionix-metric-performance--analytical {
  --ionix-analytical-accent: var(--ionix-analytical-accent-token-light, #11954a);
  --ionix-analytical-negative: var(--ionix-analytical-negative-token-light, #c2410c);
  --ionix-analytical-warning: var(--ionix-analytical-warning-token-light, #c98a10);
  --ionix-analytical-risk: var(--ionix-analytical-risk-token-light, #7c5cd6);
  --ionix-analytical-info: var(--ionix-analytical-info-token-light, #3b82c4);
  --ionix-analytical-title: var(--ionix-analytical-title-token-light, #131b2a);
  --ionix-analytical-row: var(--ionix-analytical-row-token-light, #2b3448);
  --ionix-analytical-subtle: var(--ionix-analytical-subtle-token-light, rgba(23, 32, 51, .5));
  --ionix-analytical-muted: var(--ionix-analytical-muted-token-light, #69768a);
  --ionix-analytical-faint: var(--ionix-analytical-faint-token-light, #8b97a8);
  --ionix-analytical-divider: var(--ionix-analytical-divider-token-light, rgba(23, 32, 51, .075));
  --ionix-analytical-line: var(--ionix-analytical-line-token-light, rgba(23, 32, 51, .11));
  --ionix-analytical-line-strong: var(--ionix-analytical-line-strong-token-light, rgba(23, 32, 51, .2));
  --ionix-analytical-sunk: var(--ionix-analytical-sunk-token-light, rgba(23, 32, 51, .028));
  --ionix-analytical-surface: var(--ionix-analytical-surface-token-light, #fff);
  --ionix-analytical-accent-flat: var(--ionix-analytical-accent-flat-token-light, rgba(17, 149, 74, .055));
}

.ionix-analytical-color--positive,
.ionix-analytical-color--brand { color: var(--ionix-analytical-accent) !important; }
.ionix-analytical-color--negative { color: var(--ionix-analytical-negative) !important; }
.ionix-analytical-color--warning { color: var(--ionix-analytical-warning) !important; }
.ionix-analytical-color--risk { color: var(--ionix-analytical-risk) !important; }
.ionix-analytical-color--info { color: var(--ionix-analytical-info) !important; }
.ionix-analytical-color--neutral { color: var(--ionix-analytical-title) !important; }

.ionix-analytical-bg--positive,
.ionix-analytical-bg--brand { background: var(--ionix-analytical-accent) !important; }
.ionix-analytical-bg--negative { background: var(--ionix-analytical-negative) !important; }
.ionix-analytical-bg--warning { background: var(--ionix-analytical-warning) !important; }
.ionix-analytical-bg--risk { background: var(--ionix-analytical-risk) !important; }
.ionix-analytical-bg--info { background: var(--ionix-analytical-info) !important; }
.ionix-analytical-bg--divider { background: var(--ionix-analytical-line-strong) !important; }

.ionix-analytical-tone--accent,
.ionix-analytical-stroke--accent { stroke: var(--ionix-analytical-accent); }
.ionix-analytical-tone--negative,
.ionix-analytical-stroke--negative { stroke: var(--ionix-analytical-negative); }
.ionix-analytical-tone--warning,
.ionix-analytical-stroke--warning { stroke: var(--ionix-analytical-warning); }
.ionix-analytical-tone--risk,
.ionix-analytical-stroke--risk { stroke: var(--ionix-analytical-risk); }
.ionix-analytical-tone--info,
.ionix-analytical-stroke--info { stroke: var(--ionix-analytical-info); }
.ionix-analytical-tone--faint,
.ionix-analytical-stroke--faint { stroke: var(--ionix-analytical-faint); }
.ionix-analytical-tone--divider,
.ionix-analytical-stroke--divider { stroke: var(--ionix-analytical-divider); }
.ionix-analytical-fill--accent { fill: var(--ionix-analytical-accent); }
.ionix-analytical-fill--surface { fill: var(--ionix-analytical-surface); }

/* Embedded analytical ChartShell and coordinate-driven Cartesian renderer. */
.ionix-chart-shell--presentation-embedded-analytical { display: flex; flex-direction: column; }
.ionix-chart-shell--presentation-embedded-analytical .ionix-chart-shell__body { display: block; min-width: 0; padding: 0; }
.ionix-chart-shell--presentation-embedded-analytical .ionix-chart-shell__renderer { width: 100%; min-width: 0; min-height: 0; overflow: visible; }
.ionix-chart-shell--presentation-embedded-analytical .ionix-chart-shell__meta { display: flex; align-items: center; gap: 18px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--ionix-analytical-divider); }
.ionix-chart-shell--presentation-embedded-analytical .ionix-chart-shell__legend { display: flex; min-width: 0; flex: 0 0 auto; flex-wrap: nowrap; gap: 18px; margin: 0; padding: 0; list-style: none; }
.ionix-chart-shell--presentation-embedded-analytical .ionix-chart-shell__legend-item { display: inline-flex; min-width: auto; flex: 0 1 auto; align-items: center; gap: 7px; color: var(--ionix-analytical-subtle); font: 500 11px/1 Inter, sans-serif; }
.ionix-chart-shell--presentation-embedded-analytical .ionix-chart-shell__legend-marker { width: 14px; height: 2.5px; flex: 0 1 auto; border-radius: 2px; background: var(--ionix-chart-legend-color, var(--ionix-analytical-accent)); }
.ionix-chart-shell--presentation-embedded-analytical .ionix-chart-shell__legend-marker--dashed-line { height: 0; border-top: 2px dashed var(--ionix-chart-legend-color, var(--ionix-analytical-faint)); border-radius: 0; background: transparent; }
.ionix-chart-shell--presentation-embedded-analytical .ionix-chart-shell__footer { min-width: auto; margin: 0 0 0 auto; padding: 0; border: 0; color: var(--ionix-analytical-muted); font: 500 11px/1.4 Inter, sans-serif; overflow-wrap: normal; }
.ionix-cartesian-line-chart { position: relative; min-width: 0; }
.ionix-cartesian-line-chart svg { display: block; width: 100%; height: var(--ionix-chart-height, 210px); }
.ionix-cartesian-line-chart__area.is-animated { animation: ionix-analytical-area 1.1s ease var(--ionix-object-delay, .5s) both; }
.ionix-cartesian-line-chart__series.is-source-draw { stroke-dasharray: var(--ionix-chart-draw-length); }
.ionix-cartesian-line-chart__series.is-animated { animation: ionix-analytical-draw 1.5s cubic-bezier(.32, .72, .24, 1) both; }
.ionix-cartesian-line-chart__point { animation: ionix-analytical-value .4s cubic-bezier(.22, .75, .2, 1) var(--ionix-object-delay, 0s) both; }
.ionix-cartesian-line-chart__x-labels { display: flex; justify-content: space-between; margin-top: 2px; padding: 0 6px; }
.ionix-cartesian-line-chart__x-labels span { color: var(--ionix-analytical-faint); font: 500 10px/1 Inter, sans-serif; }
.ionix-cartesian-line-chart__y-label { position: absolute; top: var(--ionix-axis-top); left: 0; color: var(--ionix-analytical-faint); font: 500 9.5px/1 Inter, sans-serif; }

/* Analytical InsightList. Rows stay noninteractive unless a consuming product
 * explicitly supplies an interaction in a future generic profile. */
.ionix-insight-list--analytical { display: flex; flex-direction: column; gap: 8px; margin: -4px -6px 0; }
.ionix-insight-list--analytical .ionix-insight-list__row { display: flex; min-width: 0; align-items: center; gap: 12px; padding: 9px 10px; border: 1px solid var(--ionix-analytical-divider); border-radius: 10px; background: transparent; cursor: default; transition: opacity .18s ease, background .18s ease, border-color .18s ease; }
.ionix-insight-list--analytical .ionix-insight-list__marker { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border: 1px solid var(--ionix-analytical-divider); border-radius: 9px; font-family: "Material Symbols Outlined"; font-size: 17px; }
.ionix-insight-list--analytical .ionix-insight-list__copy { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; gap: 3px; }
.ionix-insight-list--analytical .ionix-insight-list__eyebrow { color: var(--ionix-analytical-faint); font: 600 9.5px/1 Inter, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.ionix-insight-list--analytical .ionix-insight-list__title { overflow: hidden; color: var(--ionix-analytical-row); font: 500 11.5px/1.35 Inter, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.ionix-insight-list--analytical .ionix-insight-list__trailing { display: flex; flex: 0 0 auto; align-items: flex-end; flex-direction: column; gap: 3px; animation: ionix-analytical-value .6s cubic-bezier(.22, .75, .2, 1) var(--ionix-object-delay, 0s) both; }
.ionix-insight-list--analytical .ionix-insight-list__value { font: 600 13px/1 Inter, sans-serif; white-space: nowrap; }
.ionix-insight-list--analytical .ionix-insight-list__supporting { color: var(--ionix-analytical-faint); font: 400 10px/1 Inter, sans-serif; white-space: nowrap; }
[data-ionix-hover-group="true"]:hover > [data-ionix-insight-row] { opacity: .42; }
[data-ionix-hover-group="true"] > [data-ionix-insight-row]:hover { opacity: 1; }

/* Analytical radial composition and grouped breakdown. */
.ionix-radial-composition--analytical { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; align-items: center; }
.ionix-radial-composition--analytical .ionix-radial-composition__radial { position: relative; width: var(--ionix-radial-size); height: var(--ionix-radial-size); margin: 0 auto; }
.ionix-radial-composition--analytical .ionix-radial-composition__radial svg { width: var(--ionix-radial-size); height: var(--ionix-radial-size); }
.ionix-radial-composition--analytical .ionix-radial-composition__base { stroke: var(--ionix-analytical-divider); }
.ionix-radial-composition--analytical .ionix-radial-composition__segment { transform-box: fill-box; transform-origin: center; animation: ionix-analytical-ring .8s cubic-bezier(.22, .78, .2, 1) var(--ionix-object-delay, 0s) both; }
.ionix-radial-composition--analytical .ionix-radial-composition__center { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 2px; animation: ionix-analytical-value .6s cubic-bezier(.22, .75, .2, 1) .6s both; }
.ionix-radial-composition--analytical .ionix-radial-composition__center strong { color: var(--ionix-analytical-title); font: 600 15px/1 Inter, sans-serif; letter-spacing: -.02em; }
.ionix-radial-composition--analytical .ionix-radial-composition__center span { color: var(--ionix-analytical-faint); font: 500 9.5px/1 Inter, sans-serif; }
.ionix-radial-composition--analytical .ionix-radial-composition__details { display: flex; min-width: 0; flex-direction: column; gap: 2px; margin: 0 -6px; }
.ionix-radial-composition--analytical .ionix-radial-composition__columns { display: flex; gap: 10px; padding: 0 6px 4px; color: var(--ionix-analytical-faint); font: 600 9.5px/1 Inter, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.ionix-radial-composition--analytical .ionix-radial-composition__columns span:first-child { flex: 1 1 auto; }
.ionix-radial-composition--analytical .ionix-radial-composition__columns span:last-child { width: 52px; text-align: right; }
.ionix-radial-composition--analytical .ionix-radial-composition__row { display: flex; min-width: 0; align-items: center; gap: 10px; padding: 5px 6px; border-radius: 7px; transition: opacity .18s ease, background .18s ease, border-color .18s ease; }
.ionix-radial-composition--analytical .ionix-radial-composition__marker { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 2px; }
.ionix-radial-composition--analytical .ionix-radial-composition__label { min-width: 0; flex: 1 1 auto; overflow: hidden; color: var(--ionix-analytical-row); font: 500 11.5px/1.3 Inter, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.ionix-radial-composition--analytical .ionix-radial-composition__amount { color: var(--ionix-analytical-title); font: 600 11.5px/1 Inter, sans-serif; white-space: nowrap; }
.ionix-radial-composition--analytical .ionix-radial-composition__share { width: 52px; color: var(--ionix-analytical-faint); font: 500 11px/1 Inter, sans-serif; text-align: right; white-space: nowrap; }
.ionix-radial-composition--analytical .ionix-radial-composition__divider { height: 1px; margin: 6px; background: var(--ionix-analytical-divider); }
.ionix-radial-composition--analytical .ionix-radial-composition__group-label { padding: 0 6px 4px; color: var(--ionix-analytical-faint); font: 600 9.5px/1 Inter, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.ionix-radial-composition--analytical .ionix-radial-composition__total { display: flex; align-items: center; gap: 10px; margin-top: 8px; padding: 9px 6px 0; border-top: 1px solid var(--ionix-analytical-line); }
.ionix-radial-composition--analytical .ionix-radial-composition__total > span:first-child { flex: 1 1 auto; color: var(--ionix-analytical-title); font: 600 12px/1 Inter, sans-serif; letter-spacing: .02em; }
.ionix-radial-composition--analytical .ionix-radial-composition__total strong { color: var(--ionix-analytical-title); font: 600 14px/1 Inter, sans-serif; animation: ionix-analytical-value .6s cubic-bezier(.22, .75, .2, 1) .7s both; }
.ionix-radial-composition--analytical .ionix-radial-composition__total > span:last-child { width: 52px; color: var(--ionix-analytical-faint); font: 500 11px/1 Inter, sans-serif; text-align: right; }
.ionix-radial-composition--analytical:hover [data-ionix-composition-row] { opacity: .42; }
.ionix-radial-composition--analytical [data-ionix-composition-row]:hover { opacity: 1; background: var(--ionix-analytical-sunk); }

/* Analytical metric performance object. */
.ionix-metric-performance--analytical { display: flex; flex-direction: column; gap: 14px; }
.ionix-metric-performance--analytical .ionix-metric-performance__summaries { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ionix-metric-performance--analytical .ionix-metric-performance__summary { display: flex; flex-direction: column; gap: 6px; padding: 12px 13px; border: 1px solid var(--ionix-analytical-divider); border-radius: 10px; }
.ionix-metric-performance--analytical .ionix-metric-performance__summary.is-emphasized { background: var(--ionix-analytical-accent-flat); }
.ionix-metric-performance--analytical .ionix-metric-performance__summary-label { color: var(--ionix-analytical-faint); font: 600 9.5px/1 Inter, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.ionix-metric-performance--analytical .ionix-metric-performance__summary-value { font: 600 20px/1 Inter, sans-serif; letter-spacing: -.02em; animation: ionix-analytical-value .6s cubic-bezier(.22, .75, .2, 1) var(--ionix-object-delay, 0s) both; }
.ionix-metric-performance--analytical .ionix-metric-performance__summary-supporting { color: var(--ionix-analytical-subtle); font: 500 10.5px/1.3 Inter, sans-serif; }
.ionix-metric-performance--analytical .ionix-metric-performance__rows { display: flex; flex-direction: column; gap: 9px; }
.ionix-metric-performance--analytical .ionix-metric-performance__row { display: flex; flex-direction: column; gap: 5px; padding: 2px 4px; border-radius: 7px; transition: opacity .18s ease, background .18s ease, border-color .18s ease; }
.ionix-metric-performance--analytical .ionix-metric-performance__row-copy { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.ionix-metric-performance--analytical .ionix-metric-performance__row-copy span { color: var(--ionix-analytical-row); font: 500 11.5px/1 Inter, sans-serif; }
.ionix-metric-performance--analytical .ionix-metric-performance__row-copy strong { color: var(--ionix-analytical-title); font: 600 11.5px/1 Inter, sans-serif; }
.ionix-metric-performance--analytical .ionix-metric-performance__track { height: 5px; overflow: hidden; border-radius: 3px; background: var(--ionix-analytical-divider); }
.ionix-metric-performance--analytical .ionix-metric-performance__fill { display: block; width: var(--ionix-progress-width); height: 100%; border-radius: 3px; opacity: var(--ionix-progress-opacity); transform-origin: left center; animation: ionix-analytical-bar 1s cubic-bezier(.22, .78, .2, 1) var(--ionix-object-delay, 0s) both; }
.ionix-metric-performance--analytical [data-ionix-hover-group="true"]:hover [data-ionix-performance-row] { opacity: .42; }
.ionix-metric-performance--analytical [data-ionix-hover-group="true"] [data-ionix-performance-row]:hover { opacity: 1; background: var(--ionix-analytical-sunk); }
.ionix-metric-performance--analytical .ionix-metric-performance__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid var(--ionix-analytical-divider); }
.ionix-metric-performance--analytical .ionix-metric-performance__footer-metric { display: flex; flex-direction: column; gap: 3px; }
.ionix-metric-performance--analytical .ionix-metric-performance__footer-metric > span { color: var(--ionix-analytical-faint); font: 600 9.5px/1 Inter, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.ionix-metric-performance--analytical .ionix-metric-performance__footer-metric > strong { color: var(--ionix-analytical-title); font: 600 12.5px/1 Inter, sans-serif; }

@keyframes ionix-analytical-value { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@keyframes ionix-analytical-bar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes ionix-analytical-draw { from { stroke-dashoffset: 1400; } to { stroke-dashoffset: 0; } }
@keyframes ionix-analytical-area { from { opacity: 0; } to { opacity: .09; } }
@keyframes ionix-analytical-ring { from { opacity: 0; transform: rotate(-32deg) scale(.86); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  .ionix-chart-shell--presentation-embedded-analytical *,
  .ionix-insight-list--analytical *,
  .ionix-radial-composition--analytical *,
  .ionix-metric-performance--analytical * { animation: none !important; }
}

/* packages/ionix-core-layout/src/layout.css */
.ionix-content-frame {
  box-sizing: border-box;
  width: min(var(--ionix-content-max-width, 1200px), calc(100% - (var(--ionix-space-xl) * 2)));
  margin-inline: auto;
}

@media (max-width: 520px) {
  .ionix-content-frame { width: min(var(--ionix-content-max-width, 1200px), calc(100% - (var(--ionix-space-lg) * 2))); }
}

/* Canonical ResponsiveGrid. The item renderer belongs to the consuming page;
 * this package owns only the layout contract and responsive geometry. */
.ionix-responsive-grid {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: var(--ionix-grid-gap, var(--ionix-space-md));
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.ionix-responsive-grid, .ionix-responsive-grid * { box-sizing: border-box; }
.ionix-responsive-grid__item { min-width: 0; max-width: 100%; }
.ionix-responsive-grid[data-ionix-grid-item-sizing="stretch"] .ionix-responsive-grid__item { display: flex; min-height: 0; align-items: stretch; }
.ionix-responsive-grid[data-ionix-grid-item-sizing="stretch"] .ionix-responsive-grid__item > .ionix-card-shell,
.ionix-responsive-grid[data-ionix-grid-item-sizing="stretch"] .ionix-responsive-grid__item > .ionix-page-section,
.ionix-responsive-grid[data-ionix-grid-item-sizing="stretch"] .ionix-responsive-grid__item > .ionix-chart-shell,
.ionix-responsive-grid[data-ionix-grid-item-sizing="stretch"] .ionix-responsive-grid__item > .ionix-data-table { width: 100%; height: 100%; }
.ionix-responsive-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ionix-responsive-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ionix-responsive-grid--ratio { grid-template-columns: var(--ionix-grid-template-columns); }
.ionix-responsive-grid--auto { grid-template-columns: var(--ionix-grid-template-columns, repeat(auto-fit, minmax(var(--ionix-grid-min-item-width, 240px), 1fr))); }
.ionix-responsive-grid[data-ionix-grid-gap="var(--ionix-space-xs)"] { --ionix-grid-gap: var(--ionix-space-xs); }
.ionix-responsive-grid[data-ionix-grid-gap="var(--ionix-space-sm)"] { --ionix-grid-gap: var(--ionix-space-sm); }
.ionix-responsive-grid[data-ionix-grid-gap="var(--ionix-space-md)"] { --ionix-grid-gap: var(--ionix-space-md); }
.ionix-responsive-grid[data-ionix-grid-gap="var(--ionix-space-lg)"] { --ionix-grid-gap: var(--ionix-space-lg); }
.ionix-responsive-grid[data-ionix-grid-gap="var(--ionix-space-xl)"] { --ionix-grid-gap: var(--ionix-space-xl); }
.ionix-responsive-grid[data-ionix-grid-gap="var(--ionix-space-2xl)"] { --ionix-grid-gap: var(--ionix-space-2xl); }

@media (max-width: 979px) {
  .ionix-responsive-grid--3[data-ionix-grid-collapse="lg"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ionix-responsive-grid--2[data-ionix-grid-collapse="lg"] { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 759px) {
  .ionix-responsive-grid--2[data-ionix-grid-collapse="md"],
  .ionix-responsive-grid--3[data-ionix-grid-collapse="md"],
  .ionix-responsive-grid--3[data-ionix-grid-collapse="lg"] { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 519px) {
  .ionix-responsive-grid--2[data-ionix-grid-collapse="sm"],
  .ionix-responsive-grid--3[data-ionix-grid-collapse="sm"],
  .ionix-responsive-grid--auto { grid-template-columns: minmax(0, 1fr); }
}

/* packages/ionix-core-page/src/page.css */
.ionix-page { box-sizing: border-box; width: 100%; padding: var(--ionix-space-xl) 0 var(--ionix-space-4xl); color: var(--ionix-text-primary) !important; font-family: var(--ionix-font-family); }
.ionix-page, .ionix-page * { box-sizing: border-box; }
.ionix-analytics-page { --ionix-analytics-section-gap: var(--ionix-space-lg); min-width: 0; }
.ionix-analytics-page--gap-xs { --ionix-analytics-section-gap: var(--ionix-space-xs); }
.ionix-analytics-page--gap-sm { --ionix-analytics-section-gap: var(--ionix-space-sm); }
.ionix-analytics-page--gap-md { --ionix-analytics-section-gap: var(--ionix-space-md); }
.ionix-analytics-page--gap-lg { --ionix-analytics-section-gap: var(--ionix-space-lg); }
.ionix-analytics-page--gap-xl { --ionix-analytics-section-gap: var(--ionix-space-xl); }
.ionix-analytics-page--gap-2xl { --ionix-analytics-section-gap: var(--ionix-space-2xl); }
.ionix-analytics-page--gap-3xl { --ionix-analytics-section-gap: var(--ionix-space-3xl); }
.ionix-analytics-page--gap-4xl { --ionix-analytics-section-gap: var(--ionix-space-4xl); }
.ionix-analytics-page__alerts { display: grid; gap: var(--ionix-space-md); margin: var(--ionix-space-lg) 0; }
.ionix-analytics-page__sections { gap: var(--ionix-analytics-section-gap); }
.ionix-analytics-page[data-ionix-reduced-motion="true"] *,
.ionix-analytics-page[data-ionix-reduced-motion="true"] *::before,
.ionix-analytics-page[data-ionix-reduced-motion="true"] *::after { animation: none !important; transition: none !important; }
.ionix-analytics-page .ionix-page-section { box-shadow: var(--ionix-shadow-subtle); }
.ionix-analytics-page .ionix-responsive-grid__item { display: flex; min-width: 0; }
.ionix-analytics-page .ionix-responsive-grid__item > .ionix-card-shell,
.ionix-analytics-page .ionix-responsive-grid__item > .ionix-chart-shell,
.ionix-analytics-page .ionix-responsive-grid__item > .ionix-data-table { width: 100%; }
.ionix-analytics-metric-list,
.ionix-analytics-progress-list { display: grid; gap: var(--ionix-space-sm); margin: 0; padding: 0; list-style: none; }
.ionix-analytics-metric-list li,
.ionix-analytics-progress-heading { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: var(--ionix-space-md); }
.ionix-analytics-metric-list li { padding: var(--ionix-space-sm) 0; border-bottom: var(--ionix-border-width-hairline) solid var(--ionix-divider); }
.ionix-analytics-metric-list li:last-child { border-bottom: 0; }
.ionix-analytics-metric-list strong,
.ionix-analytics-progress-heading span { color: var(--ionix-text-primary); font-size: var(--ionix-font-size-sm); font-weight: var(--ionix-font-weight-semibold); }
.ionix-analytics-metric-list li div { min-width: 0; display: grid; gap: var(--ionix-space-xs); }
.ionix-analytics-metric-list span,
.ionix-analytics-progress-item small { color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-xs); line-height: var(--ionix-line-height-normal); }
.ionix-analytics-metric-list b,
.ionix-analytics-progress-heading strong { color: var(--ionix-text-primary); font-size: var(--ionix-font-size-sm); font-variant-numeric: tabular-nums; }
.ionix-analytics-metric-list [data-tone="success"],
.ionix-analytics-progress-heading [data-tone="success"] { color: var(--ionix-success); }
.ionix-analytics-metric-list [data-tone="warning"],
.ionix-analytics-progress-heading [data-tone="warning"] { color: var(--ionix-warning); }
.ionix-analytics-metric-list [data-tone="danger"],
.ionix-analytics-progress-heading [data-tone="danger"] { color: var(--ionix-danger); }
.ionix-analytics-metric-list [data-tone="info"],
.ionix-analytics-progress-heading [data-tone="info"] { color: var(--ionix-info); }
.ionix-analytics-progress-item { display: grid; gap: var(--ionix-space-xs); }
.ionix-analytics-progress-track { height: 6px; overflow: hidden; border-radius: var(--ionix-radius-pill); background: var(--ionix-surface-subtle); }
.ionix-analytics-progress-track span { display: block; width: var(--ionix-progress, 0%); height: 100%; border-radius: inherit; background: var(--ionix-info); }
.ionix-analytics-progress-track span[data-tone="success"] { background: var(--ionix-success); }
.ionix-analytics-progress-track span[data-tone="warning"] { background: var(--ionix-warning); }
.ionix-analytics-progress-track span[data-tone="danger"] { background: var(--ionix-danger); }
.ionix-analytics-risk-matrix { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ionix-space-md); }
.ionix-analytics-risk-card { min-width: 0; padding: var(--ionix-space-md); border: var(--ionix-border-width-hairline) solid var(--ionix-border); border-left: 3px solid var(--ionix-warning); border-radius: var(--ionix-radius-md); background: var(--ionix-surface-elevated); }
.ionix-analytics-risk-card[data-tone="success"] { border-left-color: var(--ionix-success); }
.ionix-analytics-risk-card[data-tone="danger"] { border-left-color: var(--ionix-danger); }
.ionix-analytics-risk-card span { display: block; margin-bottom: var(--ionix-space-xs); color: var(--ionix-text-muted); font-size: var(--ionix-font-size-xs); font-weight: var(--ionix-font-weight-semibold); letter-spacing: var(--ionix-letter-spacing-label); text-transform: uppercase; }
.ionix-analytics-risk-card strong { display: block; color: var(--ionix-text-primary); font-size: var(--ionix-font-size-sm); }
.ionix-analytics-risk-card p { margin: var(--ionix-space-sm) 0 0; color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-sm); line-height: var(--ionix-line-height-normal); }
.ionix-analytics-line-chart,
.ionix-analytics-ring-chart { width: 100%; min-width: 0; }
.ionix-analytics-line-chart svg { display: block; width: 100%; height: auto; min-height: 180px; overflow: visible; }
.ionix-analytics-line-chart__grid line { stroke: var(--ionix-divider); stroke-width: 1; }
.ionix-analytics-line-chart__series polyline { fill: none; stroke: var(--ionix-info); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.ionix-analytics-line-chart__series polyline[data-token="success"] { stroke: var(--ionix-success); }
.ionix-analytics-line-chart__series polyline[data-token="warning"] { stroke: var(--ionix-warning); }
.ionix-analytics-line-chart__series polyline[data-token="danger"] { stroke: var(--ionix-danger); }
.ionix-analytics-line-chart__series circle { fill: var(--ionix-info); }
.ionix-analytics-line-chart__series circle[data-token="success"] { fill: var(--ionix-success); }
.ionix-analytics-line-chart__series circle[data-token="warning"] { fill: var(--ionix-warning); }
.ionix-analytics-line-chart__series circle[data-token="danger"] { fill: var(--ionix-danger); }
.ionix-analytics-line-chart__labels text { fill: var(--ionix-text-muted); font: var(--ionix-font-size-xs) var(--ionix-font-family); }
.ionix-analytics-ring-chart__visual { position: relative; display: grid; place-items: center; width: min(220px, 100%); margin: 0 auto; }
.ionix-analytics-ring-chart svg { display: block; width: 100%; height: auto; transform: rotate(-90deg); }
.ionix-analytics-ring-chart circle { fill: none; stroke: var(--ionix-info); stroke-width: 16; stroke-linecap: butt; }
.ionix-analytics-ring-chart__track { stroke: var(--ionix-surface-subtle); }
.ionix-analytics-ring-chart circle[data-token="success"] { stroke: var(--ionix-success); }
.ionix-analytics-ring-chart circle[data-token="warning"] { stroke: var(--ionix-warning); }
.ionix-analytics-ring-chart circle[data-token="danger"] { stroke: var(--ionix-danger); }
.ionix-analytics-ring-chart__center { position: absolute; inset: 25%; display: grid; place-content: center; gap: var(--ionix-space-xs); text-align: center; }
.ionix-analytics-ring-chart__center strong { color: var(--ionix-text-primary); font-size: var(--ionix-font-size-xl); font-variant-numeric: tabular-nums; }
.ionix-analytics-ring-chart__center span { color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-xs); }
.ionix-eyebrow { color: var(--ionix-brand-primary-text); font: 700 var(--ionix-font-size-xs)/1 var(--ionix-font-family); letter-spacing: var(--ionix-letter-spacing-eyebrow); text-transform: uppercase; }
/* CommandChrome owns command-header geometry and interaction styles. */
.ionix-page-hero { display: flex; align-items: center; gap: var(--ionix-space-lg); margin: var(--ionix-space-2xl) 0 var(--ionix-space-xl); padding: var(--ionix-space-xl); border: var(--ionix-border-width-hairline) solid var(--ionix-border) !important; border-radius: var(--ionix-radius-lg); background: var(--ionix-surface) !important; color: var(--ionix-text-primary) !important; }
.ionix-page-hero h2 { margin: var(--ionix-space-xs) 0 0; font-size: var(--ionix-font-size-2xl); line-height: var(--ionix-line-height-tight); }
.ionix-page-hero p { margin: var(--ionix-space-sm) 0 0; color: var(--ionix-text-secondary); }
.ionix-page-hero-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: var(--ionix-radius-md); background: var(--ionix-brand-primary-soft); color: var(--ionix-brand-primary-text); }
.ionix-page-sections { display: grid; gap: var(--ionix-space-lg); min-width: 0; }
.ionix-page-section { min-width: 0; overflow: hidden; border: var(--ionix-border-width-hairline) solid var(--ionix-border); border-radius: var(--ionix-radius-lg); background: var(--ionix-surface); color: var(--ionix-text-primary); }
.ionix-page-section, .ionix-page-section * { box-sizing: border-box; }
.ionix-section-header { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: var(--ionix-space-lg); padding: var(--ionix-space-xl); }
.ionix-section-heading { min-width: 0; flex: 1 1 auto; }
.ionix-section-eyebrow { margin-bottom: var(--ionix-space-xs); }
.ionix-section-title { margin: 0; color: var(--ionix-text-primary); font-size: var(--ionix-font-size-xl); font-weight: var(--ionix-font-weight-semibold); line-height: var(--ionix-line-height-compact); overflow-wrap: anywhere; }
.ionix-section-description { margin: var(--ionix-space-sm) 0 0; color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-sm); line-height: var(--ionix-line-height-normal); overflow-wrap: anywhere; }
.ionix-section-tools { display: flex; min-width: 0; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: var(--ionix-space-sm); }
.ionix-section-badge { max-width: 220px; }
.ionix-section-badge .ionix-badge { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ionix-section-body { min-width: 0; padding: 0 var(--ionix-space-xl) var(--ionix-space-xl); overflow-wrap: anywhere; transition: opacity var(--ionix-motion-duration-normal) var(--ionix-motion-easing-standard); }
.ionix-page-section.is-collapsed .ionix-section-body { opacity: 0; }
.ionix-page-section--loading .ionix-section-body, .ionix-page-section--empty .ionix-section-body, .ionix-page-section--error .ionix-section-body { min-height: 96px; }
.ionix-section-toggle { display: inline-flex; flex: 0 0 auto; align-items: center; gap: var(--ionix-space-xs); min-height: 30px; padding: 0 var(--ionix-space-sm); border: var(--ionix-border-width-hairline) solid var(--ionix-border); border-radius: var(--ionix-radius-sm); background: var(--ionix-surface-elevated); color: var(--ionix-brand-primary-text); font: var(--ionix-font-weight-semibold) var(--ionix-font-size-sm)/1 var(--ionix-font-family); cursor: pointer; }
.ionix-section-toggle:hover { border-color: var(--ionix-brand-primary-border); background: var(--ionix-brand-primary-soft); }
.ionix-section-toggle:focus-visible { outline: var(--ionix-border-width-focus) solid var(--ionix-focus-ring); outline-offset: 2px; }
@media (max-width: 519px) {
  .ionix-section-header { flex-wrap: wrap; padding: var(--ionix-space-lg); }
  .ionix-section-tools { width: 100%; justify-content: flex-start; flex-wrap: wrap; }
  .ionix-section-body { padding: 0 var(--ionix-space-lg) var(--ionix-space-lg); }
}
@media (max-width: 759px) {
  .ionix-analytics-risk-matrix { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .ionix-section-body { transition: none; } }

/* Source-derived analytical section header and structural grid wrapper. The
 * variants remain product-neutral: labels, summaries, actions, and content are
 * supplied by descriptors. */
.ionix-page-section--analytical-card {
  --ionix-section-analytical-accent: var(--ionix-section-analytical-accent-token, #11954a);
  --ionix-section-analytical-negative: var(--ionix-section-analytical-negative-token, #ff8a5c);
  --ionix-section-analytical-surface: var(--ionix-section-analytical-surface-token, #101211);
  --ionix-section-analytical-line: var(--ionix-section-analytical-line-token, rgba(255, 255, 255, .10));
  --ionix-section-analytical-divider: var(--ionix-section-analytical-divider-token, rgba(120, 196, 157, .09));
  --ionix-section-analytical-title: var(--ionix-section-analytical-title-token, #f0f7f2);
  --ionix-section-analytical-ink: var(--ionix-section-analytical-ink-token, #e6f1ea);
  --ionix-section-analytical-subtle: var(--ionix-section-analytical-subtle-token, rgba(230, 241, 234, .42));
  --ionix-section-analytical-faint: var(--ionix-section-analytical-faint-token, #6f8579);
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 14px;
  overflow: visible;
  padding: 16px 18px 18px;
  border: 1px solid var(--ionix-section-analytical-line);
  border-radius: 12px;
  background: var(--ionix-section-analytical-surface);
  box-shadow: none;
  color: var(--ionix-section-analytical-ink);
  font-family: var(--ionix-font-family);
}
[data-theme="light"] .ionix-page-section--analytical-card,
[data-ionix-r2-preview-theme="light"] .ionix-page-section--analytical-card {
  --ionix-section-analytical-accent: var(--ionix-section-analytical-accent-token-light, #11954a);
  --ionix-section-analytical-negative: var(--ionix-section-analytical-negative-token-light, #c2410c);
  --ionix-section-analytical-surface: var(--ionix-section-analytical-surface-token-light, #fff);
  --ionix-section-analytical-line: var(--ionix-section-analytical-line-token-light, rgba(20, 22, 26, .10));
  --ionix-section-analytical-divider: var(--ionix-section-analytical-divider-token-light, rgba(23, 32, 51, .075));
  --ionix-section-analytical-title: var(--ionix-section-analytical-title-token-light, #131b2a);
  --ionix-section-analytical-ink: var(--ionix-section-analytical-ink-token-light, #172033);
  --ionix-section-analytical-subtle: var(--ionix-section-analytical-subtle-token-light, rgba(23, 32, 51, .50));
  --ionix-section-analytical-faint: var(--ionix-section-analytical-faint-token-light, #697386);
}
.ionix-page-section--analytical-card .ionix-section-header { min-width: 0; flex-wrap: nowrap; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 0; }
.ionix-page-section--analytical-card .ionix-section-heading { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; gap: 3px; }
.ionix-page-section--analytical-card .ionix-section-header--split .ionix-section-heading { min-width: auto; flex: 0 1 auto; }
.ionix-page-section--analytical-card .ionix-section-eyebrow { margin: 0; }
.ionix-page-section--analytical-card .ionix-section-title { margin: 0; overflow-wrap: normal; color: var(--ionix-section-analytical-title); font: 600 13.5px/1.2 Inter, sans-serif; letter-spacing: -.01em; }
.ionix-page-section--analytical-card .ionix-section-description { margin: 0; overflow-wrap: normal; color: var(--ionix-section-analytical-subtle); font: 400 11.5px/1.4 Inter, sans-serif; }
.ionix-page-section--analytical-card .ionix-section-tools { min-width: max-content; flex: 0 0 auto; align-items: flex-start; gap: 0; }
.ionix-page-section--analytical-card .ionix-section-badge { max-width: none; }
.ionix-page-section--analytical-card .ionix-section-badge .ionix-badge { height: 21px; min-height: 21px; padding: 0 9px; border: 1px solid var(--ionix-section-analytical-divider); background: transparent; color: var(--ionix-section-analytical-faint); font: 600 9.5px/1 Inter, sans-serif; letter-spacing: .09em; }
.ionix-page-section--analytical-card .ionix-summary-group { gap: 14px; }
.ionix-page-section--analytical-card .ionix-summary-group__item { gap: 2px; }
.ionix-page-section--analytical-card .ionix-summary-group__item dt { color: var(--ionix-section-analytical-faint); font: 600 9.5px/1 Inter, sans-serif; letter-spacing: .13em; }
.ionix-page-section--analytical-card .ionix-summary-group__item dd { color: var(--ionix-section-analytical-title); font: 600 13px/1 Inter, sans-serif; }
.ionix-page-section--analytical-card .ionix-summary-group__item[data-ionix-summary-tone="danger"] dd { color: var(--ionix-section-analytical-negative); }
.ionix-page-section--analytical-card .ionix-action-group { flex-wrap: nowrap; gap: 0; }
.ionix-page-section--analytical-card .ionix-action--text { padding: 0; border: 0; color: var(--ionix-section-analytical-accent); font: 600 11.5px/1 Inter, sans-serif; }
.ionix-page-section--analytical-card .ionix-action--text:focus-visible { outline: auto 1px -webkit-focus-ring-color; outline-offset: 0; }
.ionix-page-section--analytical-card .ionix-section-body { min-width: 0; flex: 1 1 auto; padding: 0; overflow-wrap: normal; }
.ionix-page-section--structural-grid { overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.ionix-page-section--structural-grid .ionix-section-header { padding: 0; }
.ionix-page-section--structural-grid .ionix-section-body { padding: 0; }
@media (max-width: 519px) {
  .ionix-page-section--analytical-card .ionix-section-header { flex-wrap: nowrap; padding: 0; }
  .ionix-page-section--analytical-card .ionix-section-body { padding: 0; }
}

/* packages/ionix-core-commanding/src/commandChrome.css */
.ionix-command-chrome {
  --ionix-command-chrome-gap: var(--ionix-space-lg, 16px);
  --ionix-command-chrome-row-gap: var(--ionix-space-md, 12px);
  position: relative;
  width: 100%;
  color: var(--ionix-text-primary);
  font-family: var(--ionix-font-family);
}

.ionix-command-chrome.is-sticky {
  position: sticky;
  top: var(--ionix-sticky-offset, var(--app-sticky-offset, 0px));
  z-index: var(--ionix-sticky-z-index, var(--ionix-z-sticky-content, 80));
}

.ionix-command-chrome__surface {
  overflow: visible;
  border: var(--ionix-border-width-hairline, 1px) solid var(--ionix-border);
  border-radius: var(--ionix-radius-lg, 14px);
  background: var(--ionix-surface);
  box-shadow: var(--ionix-shadow-subtle);
}

.ionix-command-chrome__sentinel {
  position: absolute;
  inset: 0 auto auto 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.ionix-command-chrome__top {
  display: grid;
  gap: var(--ionix-command-chrome-gap);
  max-height: 240px;
  overflow: hidden;
  padding: var(--ionix-space-2xl, 32px) var(--ionix-space-2xl, 32px) var(--ionix-space-lg, 16px);
  opacity: 1;
  transform: translateY(0);
  transition: max-height var(--ionix-collapse-duration, var(--ionix-motion-duration-normal, 300ms)) var(--ionix-collapse-easing, var(--ionix-motion-easing-standard)), opacity var(--ionix-collapse-duration, var(--ionix-motion-duration-normal, 300ms)) var(--ionix-collapse-easing, var(--ionix-motion-easing-standard)), transform var(--ionix-collapse-duration, var(--ionix-motion-duration-normal, 300ms)) var(--ionix-collapse-easing, var(--ionix-motion-easing-standard)), padding var(--ionix-collapse-duration, var(--ionix-motion-duration-normal, 300ms)) var(--ionix-collapse-easing, var(--ionix-motion-easing-standard));
}

.ionix-command-chrome[data-ionix-command-state="compact"] .ionix-command-chrome__top,
.ionix-command-chrome.is-compact .ionix-command-chrome__top,
.ionix-command-chrome[data-ionix-command-responsive-state="compact"] .ionix-command-chrome__top {
  max-height: 0;
  padding-block: 0;
  opacity: 0;
  transform: translateY(-8px);
}

.ionix-command-chrome__identity {
  display: flex;
  align-items: flex-start;
  gap: var(--ionix-space-md, 12px);
  min-width: 0;
}

.ionix-command-chrome__identity-copy { min-width: 0; }
.ionix-command-chrome__identity-icon { color: var(--ionix-brand-primary-text, var(--ionix-text-primary)); font-size: var(--ionix-font-size-xl, 20px); line-height: 1; }
.ionix-command-chrome__eyebrow,
.ionix-command-chrome__control-label,
.ionix-command-chrome__search label,
.ionix-command-chrome__summary dt,
.ionix-command-chrome__metric dt {
  color: var(--ionix-text-muted);
  font-size: var(--ionix-font-size-xs, 9px);
  font-weight: var(--ionix-font-weight-semibold, 600);
  letter-spacing: var(--ionix-letter-spacing-eyebrow, .14em);
  line-height: var(--ionix-line-height-compact, 1.2);
  text-transform: uppercase;
}

.ionix-command-chrome__identity h1 { margin: var(--ionix-space-xs, 4px) 0 0; color: var(--ionix-text-primary); font-size: clamp(var(--ionix-font-size-2xl, 23px), 2.2vw, var(--ionix-font-size-4xl, 42px)); font-weight: var(--ionix-font-weight-semibold, 600); letter-spacing: var(--ionix-letter-spacing-tight, -.04em); line-height: var(--ionix-line-height-tight, 1.08); }
.ionix-command-chrome__identity p { max-width: 68ch; margin: var(--ionix-space-sm, 8px) 0 0; color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-md, 13px); line-height: var(--ionix-line-height-readable, 1.5); }
.ionix-command-chrome__badge,
.ionix-command-chrome__action-badge { display: inline-flex; align-items: center; width: max-content; border: 1px solid var(--ionix-brand-primary-border, var(--ionix-border)); border-radius: var(--ionix-radius-pill, 999px); background: var(--ionix-brand-primary-soft, var(--ionix-surface-subtle)); color: var(--ionix-brand-primary-text, var(--ionix-text-primary)); font-size: var(--ionix-font-size-xs, 9px); font-weight: var(--ionix-font-weight-semibold, 600); line-height: 1; white-space: nowrap; }
.ionix-command-chrome__badge { margin-left: auto; padding: var(--ionix-space-sm, 8px) var(--ionix-space-md, 12px); }

.ionix-command-chrome__status { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ionix-space-sm, 8px); width: max-content; max-width: 100%; color: var(--ionix-text-secondary); font-size: var(--ionix-font-size-sm, 11px); }
.ionix-command-chrome__status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ionix-text-muted); }
.ionix-command-chrome__status--live .ionix-command-chrome__status-dot,
.ionix-command-chrome__status--ready .ionix-command-chrome__status-dot { background: var(--ionix-success, var(--ionix-brand-primary)); }
.ionix-command-chrome__status--warning .ionix-command-chrome__status-dot { background: var(--ionix-warning); }
.ionix-command-chrome__status--danger .ionix-command-chrome__status-dot { background: var(--ionix-danger); }
.ionix-command-chrome__status small { color: var(--ionix-text-muted); }

.ionix-command-chrome__summary { display: flex; align-items: end; justify-content: space-between; gap: var(--ionix-command-chrome-gap); border-top: 1px solid var(--ionix-divider); padding-top: var(--ionix-space-md, 12px); }
.ionix-command-chrome__summary dl { display: flex; flex-wrap: wrap; gap: var(--ionix-space-lg, 16px); margin: 0; }
.ionix-command-chrome__summary-field,
.ionix-command-chrome__metric { display: grid; gap: var(--ionix-space-xs, 4px); min-width: 96px; }
.ionix-command-chrome__summary dd,
.ionix-command-chrome__metric dd { margin: 0; color: var(--ionix-text-primary); font-size: var(--ionix-font-size-md, 13px); font-weight: var(--ionix-font-weight-semibold, 600); }
.ionix-command-chrome__summary small,
.ionix-command-chrome__metric small { color: var(--ionix-text-muted); font-size: var(--ionix-font-size-xs, 9px); }
.ionix-command-chrome__metrics { justify-content: flex-end; }

.ionix-command-chrome__row { display: flex; align-items: flex-end; gap: var(--ionix-command-chrome-row-gap); min-width: 0; padding: var(--ionix-space-lg, 16px) var(--ionix-space-2xl, 32px); border-top: 1px solid var(--ionix-divider); }
.ionix-command-chrome__controls { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: flex-end; gap: var(--ionix-command-chrome-row-gap); min-width: 0; }
.ionix-command-chrome__control { position: relative; display: grid; gap: var(--ionix-space-xs, 4px); min-width: 132px; }
.ionix-command-chrome__trigger,
.ionix-command-chrome__search input { box-sizing: border-box; width: 100%; min-height: 38px; border: 1px solid var(--ionix-border-strong, var(--ionix-border)); border-radius: var(--ionix-radius-sm, 6px); background: var(--ionix-surface-elevated, var(--ionix-surface)); color: var(--ionix-text-primary); font: inherit; }
.ionix-command-chrome__trigger { display: flex; align-items: center; gap: var(--ionix-space-sm, 8px); padding: 0 var(--ionix-space-md, 12px); cursor: pointer; text-align: left; }
.ionix-command-chrome__trigger:hover,
.ionix-command-chrome__trigger:focus-visible,
.ionix-command-chrome__action:focus-visible,
.ionix-command-chrome__segment:focus-visible { border-color: var(--ionix-brand-primary-border, var(--ionix-border-strong)); outline: 3px solid var(--ionix-focus-ring, transparent); outline-offset: 1px; }
.ionix-command-chrome__control-icon { color: var(--ionix-brand-primary-text, var(--ionix-text-secondary)); }
.ionix-command-chrome__value { min-width: 0; overflow: hidden; flex: 1; text-overflow: ellipsis; white-space: nowrap; }
.ionix-command-chrome__chevron { color: var(--ionix-text-muted); font-size: var(--ionix-font-size-lg, 16px); line-height: 1; }
.ionix-command-chrome__options { position: absolute; top: calc(100% + var(--ionix-space-xs, 4px)); left: 0; z-index: var(--ionix-z-popover, 1260); display: grid; width: max-content; min-width: 100%; max-width: min(320px, 80vw); max-height: 300px; overflow: auto; padding: var(--ionix-space-xs, 4px); border: 1px solid var(--ionix-border-strong, var(--ionix-border)); border-radius: var(--ionix-radius-md, 10px); background: var(--ionix-surface-elevated, var(--ionix-surface)); box-shadow: var(--ionix-shadow-elevated); }
.ionix-command-chrome__options[hidden] { display: none; }
.ionix-command-chrome__option { border: 0; border-radius: var(--ionix-radius-sm, 6px); background: transparent; color: var(--ionix-text-primary); padding: var(--ionix-space-sm, 8px) var(--ionix-space-md, 12px); cursor: pointer; text-align: left; white-space: nowrap; }
.ionix-command-chrome__option:hover,
.ionix-command-chrome__option[aria-selected="true"] { background: var(--ionix-brand-primary-soft, var(--ionix-surface-subtle)); color: var(--ionix-brand-primary-text, var(--ionix-text-primary)); }
.ionix-command-chrome__control--segmented { min-width: 0; border: 0; margin: 0; padding: 0; }
.ionix-command-chrome__control--segmented legend { padding: 0; }
.ionix-command-chrome__segmented { display: flex; min-height: 38px; overflow: hidden; border: 1px solid var(--ionix-border-strong, var(--ionix-border)); border-radius: var(--ionix-radius-sm, 6px); }
.ionix-command-chrome__segment { border: 0; border-right: 1px solid var(--ionix-border); background: var(--ionix-surface-elevated, var(--ionix-surface)); color: var(--ionix-text-secondary); padding: 0 var(--ionix-space-md, 12px); cursor: pointer; }
.ionix-command-chrome__segment:last-child { border-right: 0; }
.ionix-command-chrome__segment.is-selected { background: var(--ionix-brand-primary-soft, var(--ionix-surface-subtle)); color: var(--ionix-brand-primary-text, var(--ionix-text-primary)); font-weight: var(--ionix-font-weight-semibold, 600); }

.ionix-command-chrome__search { position: relative; display: grid; flex: 0 1 250px; gap: var(--ionix-space-xs, 4px); min-width: 160px; }
.ionix-command-chrome__search input { padding: 0 var(--ionix-space-2xl, 32px) 0 var(--ionix-space-2xl, 32px); }
.ionix-command-chrome__search-icon { position: absolute; top: 28px; left: var(--ionix-space-md, 12px); color: var(--ionix-text-muted); line-height: 1; pointer-events: none; }
.ionix-command-chrome__search kbd,
.ionix-command-chrome__action kbd { color: var(--ionix-text-muted); font-family: var(--ionix-font-family-mono); font-size: var(--ionix-font-size-xs, 9px); white-space: nowrap; }
.ionix-command-chrome__search kbd { position: absolute; right: var(--ionix-space-md, 12px); bottom: 12px; }

.ionix-command-chrome__actions { display: flex; align-items: flex-end; gap: var(--ionix-space-sm, 8px); margin-left: auto; }
.ionix-command-chrome__action { display: inline-flex; align-items: center; justify-content: center; gap: var(--ionix-space-sm, 8px); min-height: 38px; border: 1px solid var(--ionix-border-strong, var(--ionix-border)); border-radius: var(--ionix-radius-sm, 6px); padding: 0 var(--ionix-space-md, 12px); background: var(--ionix-surface-elevated, var(--ionix-surface)); color: var(--ionix-text-primary); cursor: pointer; font: inherit; white-space: nowrap; }
.ionix-command-chrome__action--primary { border-color: var(--ionix-brand-primary); background: var(--ionix-brand-primary); color: var(--ionix-surface); }
.ionix-command-chrome__action--ghost { border-color: transparent; background: transparent; }
.ionix-command-chrome__action--icon { width: 38px; padding-inline: 0; }
.ionix-command-chrome__action:hover { border-color: var(--ionix-brand-primary-border, var(--ionix-border-strong)); }
.ionix-command-chrome__action--primary:hover { background: var(--ionix-brand-primary-hover, var(--ionix-brand-primary)); }
.ionix-command-chrome__action-badge { padding: 3px 5px; }
.ionix-command-chrome__action-slot { display: inline-flex; }

.ionix-command-chrome [disabled] { cursor: not-allowed; opacity: .58; }
.ionix-command-chrome[data-ionix-reduced-motion="true"] * { transition-duration: 0ms !important; animation-duration: 0ms !important; scroll-behavior: auto !important; }

@media (prefers-reduced-motion: reduce) {
  .ionix-command-chrome * { transition-duration: 0ms !important; animation-duration: 0ms !important; scroll-behavior: auto !important; }
}

@media (max-width: 760px) {
  .ionix-command-chrome__top { padding: var(--ionix-space-xl, 24px) var(--ionix-space-lg, 16px) var(--ionix-space-md, 12px); }
  .ionix-command-chrome__row { align-items: stretch; flex-direction: column; padding: var(--ionix-space-md, 12px) var(--ionix-space-lg, 16px); }
  .ionix-command-chrome__controls { align-items: stretch; }
  .ionix-command-chrome__control,
  .ionix-command-chrome__search { flex: 1 1 160px; min-width: min(100%, 160px); }
  .ionix-command-chrome__actions { width: 100%; margin-left: 0; }
  .ionix-command-chrome__action { flex: 1 1 auto; }
  .ionix-command-chrome__summary { align-items: flex-start; flex-direction: column; }
}

/* Source-derived compact analytical profile. The profile is a reusable Core
 * capability; product fixtures supply content and may bind the public
 * component aliases without changing this renderer. */
.ionix-command-chrome--analytical {
  --ionix-command-analytical-accent: var(--ionix-command-analytical-accent-token, #11954a);
  --ionix-command-analytical-accent-soft: rgba(17, 149, 74, .11);
  --ionix-command-analytical-accent-line: rgba(17, 149, 74, .30);
  --ionix-command-analytical-accent-flat: rgba(53, 208, 127, .07);
  --ionix-command-analytical-surface: transparent;
  --ionix-command-analytical-panel: #14201a;
  --ionix-command-analytical-input: rgba(0, 0, 0, .2);
  --ionix-command-analytical-input-focus: rgba(0, 0, 0, .3);
  --ionix-command-analytical-line: rgba(120, 196, 157, .14);
  --ionix-command-analytical-divider: rgba(120, 196, 157, .09);
  --ionix-command-analytical-line-strong: rgba(120, 196, 157, .26);
  --ionix-command-analytical-title: #f0f7f2;
  --ionix-command-analytical-text: #dbe8e0;
  --ionix-command-analytical-muted: #95ab9f;
  --ionix-command-analytical-faint: #6f8579;
  --ionix-command-analytical-subtle: rgba(230, 241, 234, .42);
  --ionix-command-analytical-sunk: rgba(255, 255, 255, .035);
  --ionix-command-analytical-glass: linear-gradient(180deg, rgba(19, 31, 25, .88) 0%, rgba(11, 19, 15, .92) 100%);
  --ionix-command-analytical-glass-line: rgba(120, 196, 157, .17);
  --ionix-command-analytical-glass-shadow: 0 8px 20px rgba(0, 0, 0, .26);
  --ionix-command-analytical-sticky: rgba(13, 21, 17, .94);
  --ionix-command-analytical-radius: 16px;
  --ionix-command-analytical-pad-inline: 22px;
  --ionix-command-analytical-control-height: 34px;
  --ionix-command-analytical-control-radius: 10px;
  --ionix-command-analytical-min-inline-size: 690.515625px;
  --ionix-command-analytical-veil: #080d0a;
  width: auto;
  margin: -14px -26px -30px;
  padding: 14px 26px 30px;
  color: var(--ionix-command-analytical-text);
  font-family: Inter, var(--ionix-font-family), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.ionix-command-chrome--analytical::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: var(--ionix-command-analytical-veil);
  content: "";
  pointer-events: none;
  -webkit-mask-image: linear-gradient(180deg, #000 calc(100% - 8px), transparent);
  mask-image: linear-gradient(180deg, #000 calc(100% - 8px), transparent);
}

[data-theme="light"] .ionix-command-chrome--analytical,
[data-ionix-kpi-preview-theme="light"] .ionix-command-chrome--analytical {
  --ionix-command-analytical-accent: var(--ionix-command-analytical-accent-token-light, #11954a);
  --ionix-command-analytical-accent-soft: rgba(17, 149, 74, .08);
  --ionix-command-analytical-accent-line: rgba(17, 149, 74, .26);
  --ionix-command-analytical-accent-flat: rgba(17, 149, 74, .055);
  --ionix-command-analytical-panel: #fff;
  --ionix-command-analytical-input: rgba(23, 32, 51, .03);
  --ionix-command-analytical-input-focus: rgba(23, 32, 51, .05);
  --ionix-command-analytical-line: rgba(23, 32, 51, .11);
  --ionix-command-analytical-divider: rgba(23, 32, 51, .075);
  --ionix-command-analytical-line-strong: rgba(23, 32, 51, .2);
  --ionix-command-analytical-title: #131b2a;
  --ionix-command-analytical-text: #2b3448;
  --ionix-command-analytical-muted: #69768a;
  --ionix-command-analytical-faint: #8b97a8;
  --ionix-command-analytical-subtle: rgba(23, 32, 51, .5);
  --ionix-command-analytical-sunk: rgba(23, 32, 51, .028);
  --ionix-command-analytical-glass: linear-gradient(180deg, rgba(255, 255, 255, .9) 0%, rgba(251, 253, 252, .94) 100%);
  --ionix-command-analytical-glass-line: rgba(23, 32, 51, .12);
  --ionix-command-analytical-glass-shadow: 0 6px 16px rgba(23, 32, 51, .07);
  --ionix-command-analytical-sticky: rgba(255, 255, 255, .95);
  --ionix-command-analytical-veil: #f7f9fb;
}

.ionix-command-chrome--analytical.is-sticky { position: sticky; top: var(--ionix-sticky-offset, 0px); z-index: var(--ionix-sticky-z-index, 45); }
.ionix-command-chrome__sentinel--external { position: relative; display: block; inset: auto; width: 1px; height: 1px; margin-bottom: -1px; }
.ionix-command-chrome--analytical .ionix-command-chrome__surface {
  position: relative;
  z-index: 1;
  top: auto;
  overflow: visible;
  border: 1px solid var(--ionix-command-analytical-line);
  border-radius: var(--ionix-command-analytical-radius);
  background: var(--ionix-command-analytical-surface);
  box-shadow: none;
}
.ionix-command-chrome--analytical[data-ionix-command-stuck="true"] .ionix-command-chrome__surface { border-color: var(--ionix-command-analytical-line-strong); }
.ionix-command-chrome--analytical .ionix-command-chrome__hero-clip { display: grid; grid-template-rows: 1fr; }
.ionix-command-chrome--analytical .ionix-command-chrome__hero-inner { width: max(100%, var(--ionix-command-analytical-min-inline-size)); min-height: 0; overflow: hidden; }

.ionix-command-chrome--analytical .ionix-command-chrome__top {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  max-height: none;
  overflow: hidden;
  padding: 12px var(--ionix-command-analytical-pad-inline) 10px;
  opacity: 1;
  transform: none;
}
.ionix-command-chrome--analytical .ionix-command-chrome__top::before {
  position: absolute;
  top: 18%;
  left: 2%;
  width: 46%;
  height: 180%;
  border-radius: 50%;
  background: radial-gradient(closest-side, var(--ionix-command-analytical-accent-soft), transparent 72%);
  content: "";
  pointer-events: none;
  animation: ionix-command-analytical-aura-a 16s ease-in-out infinite;
}
.ionix-command-chrome--analytical .ionix-command-chrome__top::after {
  position: absolute;
  top: 8%;
  right: 6%;
  width: 38%;
  height: 170%;
  border-radius: 50%;
  background: radial-gradient(closest-side, var(--ionix-command-analytical-accent-soft), transparent 74%);
  content: "";
  pointer-events: none;
  animation: ionix-command-analytical-aura-b 21s ease-in-out infinite;
}
.ionix-command-chrome--analytical .ionix-command-chrome__sweep { position: absolute; right: 0; bottom: 0; left: 0; z-index: 1; height: 1px; overflow: hidden; pointer-events: none; }
.ionix-command-chrome--analytical .ionix-command-chrome__sweep i { display: block; width: 34%; height: 100%; background: linear-gradient(90deg, transparent, var(--ionix-command-analytical-accent), transparent); opacity: .5; animation: ionix-command-analytical-sweep 9s cubic-bezier(.45, 0, .55, 1) infinite; }
.ionix-command-chrome--analytical[data-ionix-command-state="compact"] .ionix-command-chrome__top,
.ionix-command-chrome--analytical.is-compact .ionix-command-chrome__top,
.ionix-command-chrome--analytical[data-ionix-command-responsive-state="compact"] .ionix-command-chrome__top { max-height: none; padding-block: 12px 10px; opacity: 1; transform: none; }

.ionix-command-chrome--analytical .ionix-command-chrome__identity { position: relative; z-index: 2; display: flex; min-width: 220px; flex: 1 1 auto; flex-direction: column; gap: 4px; }
.ionix-command-chrome--analytical .ionix-command-chrome__identity-copy {
  display: flex;
  width: 100%;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 4px;
}
.ionix-command-chrome--analytical .ionix-command-chrome__breadcrumbs { display: flex; align-items: center; gap: 6px; color: var(--ionix-command-analytical-faint); font-size: 10px; font-weight: 600; letter-spacing: .13em; line-height: normal; text-transform: uppercase; }
.ionix-command-chrome--analytical .ionix-command-chrome__breadcrumb-separator { font-weight: 600; }
.ionix-command-chrome--analytical .ionix-command-chrome__breadcrumbs [aria-current="page"] { color: var(--ionix-command-analytical-muted); }
.ionix-command-chrome--analytical .ionix-command-chrome__breadcrumb-separator { color: var(--ionix-command-analytical-faint); font-family: "Material Symbols Outlined"; font-size: 14px; font-weight: 300; letter-spacing: 0; line-height: 1; opacity: .7; }
.ionix-command-chrome--analytical .ionix-command-chrome__identity h1 { margin: 0; color: var(--ionix-command-analytical-title); font-size: 23px; font-weight: 650; letter-spacing: -.022em; line-height: 1.1; }
.ionix-command-chrome--analytical .ionix-command-chrome__identity p { max-width: 62ch; margin: 0; overflow: hidden; color: var(--ionix-command-analytical-muted); font-size: 12.5px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.ionix-command-chrome--analytical .ionix-command-chrome__badge { display: none; }
.ionix-command-chrome--analytical .ionix-command-chrome__status { position: relative; z-index: 2; display: flex; width: max-content; gap: 8px; margin-top: 1px; color: var(--ionix-command-analytical-faint); font-size: 11px; line-height: normal; }
.ionix-command-chrome--analytical .ionix-command-chrome__status > span:not(.ionix-command-chrome__status-dot) { display: inline-flex; align-items: center; height: 21px; margin-right: 0; padding: 0 9px 0 21px; border: 1px solid var(--ionix-command-analytical-accent-line); border-radius: 999px; background: var(--ionix-command-analytical-accent-soft); color: var(--ionix-command-analytical-accent); font-size: 10px; font-weight: 600; letter-spacing: .08em; line-height: normal; text-transform: uppercase; }
.ionix-command-chrome--analytical .ionix-command-chrome__status-dot { position: absolute; top: 8px; left: 8px; z-index: 1; width: 6px; height: 6px; border-radius: 50%; background: var(--ionix-command-analytical-accent); animation: ionix-command-analytical-live 2.4s ease-in-out infinite; }
.ionix-command-chrome--analytical .ionix-command-chrome__status-dot::after { position: absolute; inset: 0; border-radius: 50%; background: var(--ionix-command-analytical-accent); content: ""; animation: ionix-command-analytical-live-ring 2.4s ease-out infinite; }
.ionix-command-chrome--analytical .ionix-command-chrome__status small { color: var(--ionix-command-analytical-faint); font-size: 11px; font-weight: 400; }

.ionix-command-chrome--analytical .ionix-command-chrome__summary { position: relative; z-index: 2; display: block; min-width: 0; max-width: 100%; flex: 0 0 auto; align-self: center; padding: 0; border: 0; }
.ionix-command-chrome--analytical .ionix-command-chrome__summary > dl { display: none; }
.ionix-command-chrome--analytical .ionix-command-chrome__visual-summary { display: flex; align-items: center; flex-wrap: nowrap; justify-content: flex-end; }
.ionix-command-chrome--analytical .ionix-command-chrome__visual-summary-separator { width: 1px; height: 38px; flex: 0 0 auto; background: var(--ionix-command-analytical-divider); }
.ionix-command-chrome--analytical .ionix-command-chrome__visual-summary-item { display: flex; flex: 0 0 auto; align-items: center; gap: 11px; padding: 8px 14px 8px 10px; border: 1px solid transparent; border-radius: 12px; white-space: nowrap; transition: border-color .15s cubic-bezier(.2, .8, .2, 1), background .15s cubic-bezier(.2, .8, .2, 1), transform .15s cubic-bezier(.2, .8, .2, 1); }
.ionix-command-chrome--analytical .ionix-command-chrome__visual-summary-item:hover { border-color: var(--ionix-command-analytical-accent-line); background: var(--ionix-command-analytical-accent-soft); transform: translateY(-2px); }
.ionix-command-chrome--analytical .ionix-command-chrome__visual-summary-icon { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border: 1px solid var(--ionix-command-analytical-accent-line); border-radius: 10px; background: var(--ionix-command-analytical-accent-flat); color: var(--ionix-command-analytical-accent); font-family: "Material Symbols Outlined"; font-size: 18px; font-weight: 300; line-height: 1; }
.ionix-command-chrome--analytical .ionix-command-chrome__visual-summary-copy { display: flex; flex-direction: column; gap: 2px; }
.ionix-command-chrome--analytical .ionix-command-chrome__visual-summary-copy strong { color: var(--ionix-command-analytical-title); font-size: 15px; font-weight: 600; letter-spacing: -.015em; line-height: normal; }
.ionix-command-chrome--analytical .ionix-command-chrome__visual-summary-copy > span { color: var(--ionix-command-analytical-muted); font-size: 9.5px; font-weight: 600; letter-spacing: .11em; line-height: normal; text-transform: uppercase; }
.ionix-command-chrome--analytical .ionix-command-chrome__visual-summary-copy small { color: var(--ionix-command-analytical-faint); font-size: 9.5px; }
.ionix-command-chrome--analytical .ionix-command-chrome__visual-summary-marks { display: flex; gap: 3px; margin-top: 1px; }
.ionix-command-chrome--analytical .ionix-command-chrome__visual-summary-marks i { width: 9px; height: 3px; border-radius: 2px; background: var(--ionix-command-analytical-accent); }
.ionix-command-chrome--analytical .ionix-command-chrome__visual-summary-marks i[data-tone="muted"] { background: var(--ionix-command-analytical-line-strong); }

.ionix-command-chrome--analytical .ionix-command-chrome__row { display: flex; width: max(100%, var(--ionix-command-analytical-min-inline-size)); min-width: 0; flex-direction: row; align-items: center; gap: 8px; padding: 11px var(--ionix-command-analytical-pad-inline); border-top: 1px solid var(--ionix-command-analytical-divider); }
.ionix-command-chrome--analytical .ionix-command-chrome__controls { display: flex; flex: 0 0 auto; align-items: center; min-width: 0; }
.ionix-command-chrome--analytical .ionix-command-chrome__control-group { display: flex; align-items: stretch; border: 1px solid var(--ionix-command-analytical-line); border-radius: 11px; background: var(--ionix-command-analytical-panel); transition: border-color .15s cubic-bezier(.2, .8, .2, 1); }
.ionix-command-chrome--analytical .ionix-command-chrome__control-group:hover { border-color: var(--ionix-command-analytical-accent-line); }
.ionix-command-chrome--analytical .ionix-command-chrome__control { position: relative; display: flex; flex: 0 1 auto; gap: 0; min-width: 0; }
.ionix-command-chrome--analytical .ionix-command-chrome__control + .ionix-command-chrome__control::before { width: 1px; align-self: stretch; margin: 6px 0; background: var(--ionix-command-analytical-divider); content: ""; }
.ionix-command-chrome--analytical .ionix-command-chrome__control-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.ionix-command-chrome--analytical .ionix-command-chrome__trigger { width: auto; min-height: 28px; height: 28px; gap: 8px; margin: 2px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; color: var(--ionix-command-analytical-text); font: 500 12.5px/1 Inter, sans-serif; letter-spacing: -.005em; }
.ionix-command-chrome--analytical .ionix-command-chrome__trigger:hover,
.ionix-command-chrome--analytical .ionix-command-chrome__trigger[aria-expanded="true"] { background: var(--ionix-command-analytical-accent-soft); color: var(--ionix-command-analytical-accent); box-shadow: inset 0 0 0 1px var(--ionix-command-analytical-accent-line); outline: 0; }
.ionix-command-chrome--analytical .ionix-command-chrome__trigger:focus-visible { outline: -webkit-focus-ring-color auto 1px; outline-offset: 0; }
.ionix-command-chrome--analytical .ionix-command-chrome__control-icon,
.ionix-command-chrome--analytical .ionix-command-chrome__chevron { color: var(--ionix-command-analytical-muted); font-family: "Material Symbols Outlined"; font-size: 16px; font-weight: 300; line-height: 1; }

.ionix-command-chrome--analytical .ionix-command-chrome__search { position: relative; display: block; flex: 1 1 auto; min-width: 180px; }
.ionix-command-chrome--analytical .ionix-command-chrome__search label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.ionix-command-chrome--analytical .ionix-command-chrome__search input { width: 100%; min-height: var(--ionix-command-analytical-control-height); height: var(--ionix-command-analytical-control-height); padding: 0 58px 0 34px; border: 1px solid var(--ionix-command-analytical-line); border-radius: var(--ionix-command-analytical-control-radius); background: var(--ionix-command-analytical-input); color: var(--ionix-command-analytical-text); font: 400 12.5px/1 Inter, sans-serif; letter-spacing: -.005em; outline: 0; }
.ionix-command-chrome--analytical .ionix-command-chrome__search input:hover { border-color: var(--ionix-command-analytical-line-strong); }
.ionix-command-chrome--analytical .ionix-command-chrome__search input:focus { border-color: var(--ionix-command-analytical-accent-line); background: var(--ionix-command-analytical-input-focus); box-shadow: 0 0 0 3px var(--ionix-command-analytical-accent-soft); }
.ionix-command-chrome--analytical .ionix-command-chrome__search input::placeholder { color: var(--ionix-command-analytical-faint); opacity: 1; }
.ionix-command-chrome--analytical .ionix-command-chrome__search-icon { position: absolute; top: 50%; left: 11px; z-index: 1; color: var(--ionix-command-analytical-faint); font-family: "Material Symbols Outlined"; font-size: 0; line-height: 1; transform: translateY(-50%); }
.ionix-command-chrome--analytical .ionix-command-chrome__search-icon::after { font-size: 17px; content: "search"; }
.ionix-command-chrome--analytical .ionix-command-chrome__search kbd { position: absolute; right: 8px; bottom: 7px; display: inline-flex; align-items: center; height: 20px; padding: 0 6px; border: 1px solid var(--ionix-command-analytical-line); border-radius: 6px; background: var(--ionix-command-analytical-sunk); color: var(--ionix-command-analytical-muted); font: 600 10.5px/1 Inter, sans-serif; }

.ionix-command-chrome--analytical .ionix-command-chrome__actions { display: flex; width: auto; flex: 0 0 auto; align-items: center; gap: 6px; margin-left: 0; }
.ionix-command-chrome--analytical .ionix-command-chrome__action-wrap { position: relative; display: inline-flex; }
.ionix-command-chrome--analytical .ionix-command-chrome__action { display: grid; width: var(--ionix-command-analytical-control-height); min-height: var(--ionix-command-analytical-control-height); height: var(--ionix-command-analytical-control-height); padding: 0; place-items: center; border: 1px solid var(--ionix-command-analytical-line); border-radius: var(--ionix-command-analytical-control-radius); background: var(--ionix-command-analytical-sunk); color: var(--ionix-command-analytical-muted); }
.ionix-command-chrome--analytical .ionix-command-chrome__action:hover,
.ionix-command-chrome--analytical .ionix-command-chrome__action[aria-expanded="true"] { border-color: var(--ionix-command-analytical-accent-line); background: var(--ionix-command-analytical-accent-soft); color: var(--ionix-command-analytical-accent); transform: translateY(-2px); }
.ionix-command-chrome--analytical .ionix-command-chrome__action:focus-visible { outline: -webkit-focus-ring-color auto 1px; outline-offset: 0; }
.ionix-command-chrome--analytical .ionix-command-chrome__action-icon { font-family: "Material Symbols Outlined"; font-size: 18px; font-weight: 300; line-height: 1; }
.ionix-command-chrome--analytical .ionix-command-chrome__action-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }

.ionix-command-chrome--analytical .ionix-command-chrome__popover { position: absolute; top: calc(100% + 10px); left: 0; z-index: var(--ionix-z-popover, 1260); display: flex; flex-direction: column; gap: 16px; padding: 24px; border: 1px solid var(--ionix-command-analytical-glass-line); border-radius: 16px; background: var(--ionix-command-analytical-glass); box-shadow: var(--ionix-command-analytical-glass-shadow); color: var(--ionix-command-analytical-text); backdrop-filter: blur(22px) saturate(140%); animation: ionix-command-analytical-popover .15s cubic-bezier(.2, .8, .2, 1); }
.ionix-command-chrome--analytical .ionix-command-chrome__popover[hidden] { display: none; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover--wide { width: 376px; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover--medium { width: 344px; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover--compact { width: 326px; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover--end { right: 0; left: auto; }
.ionix-command-chrome--analytical .ionix-command-chrome__action-wrap .ionix-command-chrome__popover { top: calc(100% + 8px); width: 264px; gap: 0; padding: 10px; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-label { margin: 0 0 10px; color: var(--ionix-command-analytical-faint); font: 600 9.5px/1 Inter, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-section--options > .ionix-command-chrome__popover-label { margin-bottom: 8px; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-items { display: grid; grid-template-columns: repeat(var(--ionix-command-popover-columns, 1), minmax(0, 1fr)); gap: 2px; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-items.is-scrollable { max-height: 238px; overflow-y: auto; margin: 0 -6px; padding: 0 6px; scrollbar-color: var(--ionix-command-analytical-line-strong) transparent; scrollbar-width: thin; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-items--options.is-scrollable { display: flex; flex-direction: column; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-items--options.is-scrollable .ionix-command-chrome__popover-item { min-height: auto; gap: 12px; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-items--actions { gap: 6px; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-items--actions .ionix-command-chrome__popover-item { height: 34px; min-height: 34px; justify-content: center; padding: 0 10px; border: 1px solid var(--ionix-command-analytical-divider); color: var(--ionix-command-analytical-text); font-size: 11.5px; font-weight: 600; line-height: 1; white-space: nowrap; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-items--filters { gap: 8px; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-items--filters .ionix-command-chrome__popover-item { height: 36px; min-height: 36px; padding: 0 12px; border: 1px solid var(--ionix-command-analytical-divider); font-size: 12px; line-height: 1; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-item { display: flex; width: 100%; min-height: 34px; align-items: center; justify-content: space-between; gap: 9px; padding: 8px 12px; border: 0; border-radius: 10px; background: transparent; color: var(--ionix-command-analytical-text); font: 500 12.5px/1.3 Inter, sans-serif; text-align: left; cursor: pointer; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-item:hover { background: var(--ionix-command-analytical-sunk); color: var(--ionix-command-analytical-title); }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-item.is-selected { border: 1px solid var(--ionix-command-analytical-accent-line); background: var(--ionix-command-analytical-accent-flat); color: var(--ionix-command-analytical-title); font-weight: 600; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-item-copy { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-item-copy > span { display: inline-flex; align-items: center; gap: 9px; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-item-copy small { color: var(--ionix-command-analytical-faint); font-size: 10.5px; font-weight: 400; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-item-icon,
.ionix-command-chrome--analytical .ionix-command-chrome__popover-item-check { color: var(--ionix-command-analytical-muted); font-family: "Material Symbols Outlined"; font-size: 17px; font-weight: 300; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-item-trailing { color: var(--ionix-command-analytical-faint); font-size: 10.5px; font-weight: 500; white-space: nowrap; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-item.is-selected .ionix-command-chrome__popover-item-trailing { color: var(--ionix-command-analytical-accent); }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-item-indicator { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: var(--ionix-command-analytical-line-strong); }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-item.is-selected .ionix-command-chrome__popover-item-indicator { background: var(--ionix-command-analytical-accent); }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-group-heading { position: sticky; top: 0; z-index: 1; grid-column: 1 / -1; padding: 8px 12px 6px; background: var(--ionix-command-analytical-sticky); color: var(--ionix-command-analytical-faint); font-size: 9.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; backdrop-filter: blur(8px); }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-separator { grid-column: 1 / -1; height: 1px; margin: 5px 2px; background: var(--ionix-command-analytical-divider); }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-item--subtle { color: var(--ionix-command-analytical-muted); font-size: 11.5px; font-weight: 600; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-search { position: relative; display: block; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-search > span { position: absolute; top: 50%; left: 11px; color: var(--ionix-command-analytical-faint); font-family: "Material Symbols Outlined"; font-size: 16px; transform: translateY(-50%); }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-search input { width: 100%; height: 36px; padding: 0 12px 0 34px; border: 1px solid var(--ionix-command-analytical-divider); border-radius: 10px; background: transparent; color: var(--ionix-command-analytical-text); font: 400 12.5px/1 Inter, sans-serif; outline: 0; }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-search input:focus { border-color: var(--ionix-command-analytical-accent); box-shadow: 0 0 0 3px var(--ionix-command-analytical-accent-soft); }
.ionix-command-chrome--analytical .ionix-command-chrome__popover-text p { margin: 0; color: var(--ionix-command-analytical-faint); font-size: 11px; line-height: 1.5; }

@keyframes ionix-command-analytical-aura-a { 0%, 100% { opacity: .5; transform: translate3d(-6%, 0, 0) scale(1); } 50% { opacity: .85; transform: translate3d(8%, -4%, 0) scale(1.12); } }
@keyframes ionix-command-analytical-aura-b { 0%, 100% { opacity: .35; transform: translate3d(4%, 2%, 0) scale(1.05); } 50% { opacity: .7; transform: translate3d(-7%, -3%, 0) scale(1); } }
@keyframes ionix-command-analytical-sweep { 0% { opacity: 0; transform: translateX(-40%); } 12%, 88% { opacity: .9; } 100% { opacity: 0; transform: translateX(140%); } }
@keyframes ionix-command-analytical-live { 0%, 100% { opacity: .55; transform: scale(.9); } 50% { opacity: 1; transform: scale(1); } }
@keyframes ionix-command-analytical-live-ring { 0% { opacity: .45; transform: scale(.8); } 70%, 100% { opacity: 0; transform: scale(2.4); } }
@keyframes ionix-command-analytical-popover { from { opacity: 0; transform: translateY(6px) scale(.98); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  .ionix-command-chrome--analytical *,
  .ionix-command-chrome--analytical .ionix-command-chrome__top::before,
  .ionix-command-chrome--analytical .ionix-command-chrome__top::after,
  .ionix-command-chrome--analytical .ionix-command-chrome__status-dot::after { animation: none !important; transition: none !important; }
}

/* packages/ionix-core-ui-framework/src/dashboard.css */
* { box-sizing: border-box; }

/*
 * Full Application embeds this certified page inside the source shell's
 * theme context. Keep the page-only token defaults intact, while explicitly
 * handing that context to Core's analytical profiles and matching the
 * source hero's expanded atmosphere layer.
 */
:host([data-ionix-dashboard-full-application-host="true"]) .ionix-dashboard-page-canvas,
:host([data-ionix-dashboard-full-application-host="true"]) .ionix-command-chrome--analytical {
  --ionix-source-accent: var(--green, #11954a);
  --ionix-source-accent-soft: var(--green-soft, rgba(17, 149, 74, .08));
  --ionix-source-accent-line: color-mix(in srgb, var(--green, #11954a) 20%, transparent);
  --ionix-source-accent-flat: color-mix(in srgb, var(--green, #11954a) 5.5%, transparent);
  --ionix-card-analytical-accent-token: var(--green, #11954a);
  --ionix-card-analytical-accent-token-light: var(--green, #11954a);
  --ionix-command-analytical-accent: var(--green, #11954a);
  --ionix-command-analytical-accent-soft: color-mix(in srgb, var(--green, #11954a) 11%, transparent);
  --ionix-command-analytical-accent-line: color-mix(in srgb, var(--green, #11954a) 22%, transparent);
  --ionix-command-analytical-accent-token: var(--green, #11954a);
  --ionix-command-analytical-accent-soft-token: color-mix(in srgb, var(--green, #11954a) 11%, transparent);
  --ionix-command-analytical-accent-line-token: color-mix(in srgb, var(--green, #11954a) 22%, transparent);
  --ionix-kpi-compact-accent-token: var(--green, #11954a);
  --ionix-kpi-compact-accent-token-light: var(--green, #11954a);
  --ionix-analytical-accent-token: var(--green, #11954a);
  --ionix-analytical-accent-token-light: var(--green, #11954a);
  --ionix-section-analytical-accent-token: var(--green, #11954a);
  --ionix-section-analytical-accent-token-light: var(--green, #11954a);
}
:host([data-ionix-dashboard-full-application-host="true"]) [data-theme="light"] .ionix-command-chrome--analytical {
  --ionix-command-analytical-accent-soft: color-mix(in srgb, var(--green, #11954a) 8%, transparent);
  --ionix-command-analytical-accent-line: color-mix(in srgb, var(--green, #11954a) 26%, transparent);
  --ionix-command-analytical-accent-soft-token: color-mix(in srgb, var(--green, #11954a) 8%, transparent);
  --ionix-command-analytical-accent-line-token: color-mix(in srgb, var(--green, #11954a) 26%, transparent);
}
:host([data-ionix-dashboard-full-application-host="true"]) .ionix-command-chrome--analytical .ionix-command-chrome__top::before {
  top: -14.8%;
  left: -7.6%;
  width: 55.2%;
  height: 252%;
}
:host([data-ionix-dashboard-full-application-host="true"]) .ionix-command-chrome--analytical .ionix-command-chrome__top::after {
  top: -28.8%;
  right: auto;
  left: 57.2%;
  width: 45.6%;
  height: 238%;
}
:host([data-ionix-dashboard-full-application-host="true"]) .ionix-command-chrome--analytical .ionix-command-chrome__breadcrumb-separator {
  font-weight: 600;
  letter-spacing: 1.3px;
}
:host([data-ionix-dashboard-full-application-host="true"]) .ionix-command-chrome--analytical .ionix-command-chrome__status-dot { left: 9px; }
:host([data-ionix-dashboard-full-application-host="true"]) .ionix-alert-banner__badge .ionix-badge {
  padding: 0 7px;
  border-color: rgba(224, 179, 65, .22);
  background: rgba(224, 179, 65, .16);
  letter-spacing: .10em;
}

.ionix-dashboard-page-boundary { display: contents; }

.ionix-dashboard-page-canvas {
  min-width: 0;
  padding: 14px 26px 26px;
  color: #e6f1ea;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
[data-theme="light"] .ionix-dashboard-page-canvas { color: #172033; }
.ionix-dashboard-page-canvas .ionix-source-fidelity {
  --ionix-source-accent: #11954a;
  --ionix-source-accent-soft: rgba(17, 149, 74, .08);
  --ionix-source-accent-line: rgba(17, 149, 74, .20);
  --ionix-source-accent-flat: rgba(17, 149, 74, .055);
}

.ionix-dashboard-page-canvas > .ionix-page { padding: 0; }
.ionix-dashboard-page-canvas .ionix-kpi-strip { margin-top: 26px; }
.ionix-dashboard-page-canvas .ionix-kpi-card { color: #e6f1ea; }
[data-theme="light"] .ionix-dashboard-page-canvas .ionix-kpi-card { color: #172033; }
.ionix-dashboard-page-canvas .ionix-analytics-page__alerts { margin: 12px 0 0; }
.ionix-dashboard-page-canvas .ionix-analytics-page__sections { display: grid; gap: 12px; margin-top: 12px; }
.ionix-dashboard-page-canvas .ionix-analytics-page .ionix-page-section { box-shadow: none; }

.ionix-dashboard-page-canvas .ionix-alert-banner {
  --ionix-dashboard-alert-title: #f0f7f2;
  --ionix-dashboard-alert-ink: #e6f1ea;
  --ionix-dashboard-alert-sub: rgba(230, 241, 234, .42);
  --ionix-dashboard-alert-faint: #6f8579;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 14px;
  min-height: 0;
  padding: 14px 18px;
  border-color: rgba(224, 179, 65, .28);
  border-radius: 12px;
  background: rgba(224, 179, 65, .075);
  box-shadow: none;
  color: var(--ionix-dashboard-alert-ink);
  animation: ionix-dashboard-alert-glow 3.6s ease-in-out infinite;
}
[data-theme="light"] .ionix-dashboard-page-canvas .ionix-alert-banner {
  --ionix-dashboard-alert-title: #131b2a;
  --ionix-dashboard-alert-ink: #172033;
  --ionix-dashboard-alert-sub: rgba(23, 32, 51, .50);
  --ionix-dashboard-alert-faint: #8b97a8;
}
@keyframes ionix-dashboard-alert-glow {
  0%, 100% { border-color: rgba(224, 179, 65, .28); }
  50% { border-color: rgba(224, 179, 65, .45); }
}
.ionix-dashboard-page-canvas .ionix-alert-banner__icon {
  width: 32px;
  height: 32px;
  border: 1px solid rgba(224, 179, 65, .36);
  border-radius: 9px;
  background: rgba(224, 179, 65, .12);
  color: #e0b341;
}
.ionix-dashboard-page-canvas .ionix-alert-banner__icon .ionix-icon { width: 100%; height: 100%; }
.ionix-dashboard-page-canvas .ionix-icon {
  min-width: 0;
  font-family: "Material Symbols Outlined";
  font-size: 19px;
  font-weight: 300;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  white-space: nowrap;
  direction: ltr;
  font-feature-settings: "liga";
  -webkit-font-feature-settings: "liga";
}
.ionix-dashboard-page-canvas .ionix-alert-banner__copy { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.ionix-dashboard-page-canvas .ionix-alert-banner__heading { flex-wrap: wrap; gap: 10px; }
.ionix-dashboard-page-canvas .ionix-alert-banner__title { overflow-wrap: normal; color: var(--ionix-dashboard-alert-title); font: 600 13.5px/1.3 Inter, sans-serif; }
.ionix-dashboard-page-canvas .ionix-alert-banner__description { margin: 0; overflow-wrap: normal; color: var(--ionix-dashboard-alert-sub); font: 400 12px/1.4 Inter, sans-serif; white-space: nowrap; }
.ionix-dashboard-page-canvas .ionix-alert-banner__badge { display: flex; height: 19px; align-items: center; }
.ionix-dashboard-page-canvas .ionix-alert-banner__badge .ionix-badge { height: 19px; min-height: 19px; padding: 0 8px; border-color: rgba(224, 179, 65, .22); background: rgba(224, 179, 65, .10); color: #e0b341; font: 600 9.5px/1 Inter, sans-serif; letter-spacing: .08em; }
.ionix-dashboard-page-canvas .ionix-alert-banner__metrics { grid-column: auto; flex-wrap: nowrap; gap: 22px; margin-left: 10px; }
.ionix-dashboard-page-canvas .ionix-alert-banner__metric { min-width: 0; text-align: right; }
.ionix-dashboard-page-canvas .ionix-alert-banner__metric dt { color: var(--ionix-dashboard-alert-faint); font: 600 9.5px/1 Inter, sans-serif; letter-spacing: .13em; }
.ionix-dashboard-page-canvas .ionix-alert-banner__metric dd { margin-top: 3px; color: var(--ionix-dashboard-alert-title); font: 600 13px/1 Inter, sans-serif; }
.ionix-dashboard-page-canvas .ionix-alert-banner__indicators { display: flex; align-items: center; gap: 5px; margin-left: 8px; }
.ionix-dashboard-page-canvas .ionix-alert-banner__decision-side { display: flex; align-items: center; gap: 22px; margin-left: 10px; }
.ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-alert-banner__decision-side { width: 197.484375px; min-width: 0; overflow: hidden; }
.ionix-dashboard-page-canvas .ionix-alert-banner__decision-side .ionix-alert-banner__metrics,
.ionix-dashboard-page-canvas .ionix-alert-banner__decision-side .ionix-alert-banner__indicators { margin-left: 0; }
.ionix-dashboard-page-canvas .ionix-alert-banner__indicator { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 50%; background: rgba(120, 196, 157, .26); color: inherit; font: inherit; }
[data-theme="light"] .ionix-dashboard-page-canvas .ionix-alert-banner__indicator { background: rgba(23, 32, 51, .2); }
.ionix-dashboard-page-canvas .ionix-alert-banner__indicator.is-active { width: 16px; border-radius: 3px; background: #e0b341; }
.ionix-dashboard-page-canvas .ionix-alert-banner__indicator:focus-visible { outline: 2px solid var(--ionix-focus-ring); outline-offset: 2px; }

@media (max-width: 760px) {
  .ionix-dashboard-page-canvas .ionix-alert-banner { min-height: 0; align-items: center; padding: 14px 18px; }
  .ionix-dashboard-page-canvas .ionix-alert-banner__metrics { grid-column: auto; }
}
@media (max-width: 519px) {
  .ionix-dashboard-page-canvas .ionix-alert-banner__metric { flex: 0 0 auto; }
}

/*
 * The certified Dashboard keeps its structural geometry stable when Ledger
 * presentation data changes. Content objects own truncation/overflow; data
 * volume must not resize or reorder the four canonical structural rows.
 */
.ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-command-chrome__status small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-kpi-strip { block-size: 110px; }
.ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-kpi-strip > * { min-height: 0; }
.ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-alert-banner { block-size: 69.797px; overflow: hidden; }
.ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-alert-banner__description { overflow: hidden; text-overflow: ellipsis; }
.ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section { min-height: 0; overflow: hidden; }
.ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section > .ionix-section-body,
.ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section > .ionix-section-body > .ionix-responsive-grid { height: 100%; min-height: 0; overflow: hidden; }
.ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections .ionix-responsive-grid__item { height: 100%; min-height: 0; overflow: hidden; }
.ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections .ionix-responsive-grid__item > .ionix-card-shell { height: 100%; }
.ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(1) { block-size: 349.672px; }
.ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(2) { block-size: 409.28125px; }
.ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(3) { block-size: 383.28125px; }
.ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(4) { block-size: 364.438px; }
.ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-card-shell { min-height: 0; overflow: hidden; }

@media (max-width: 1360px) {
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-kpi-strip { block-size: 121.5px; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(1) { block-size: 365.063px; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(4) { block-size: 380.53125px; }
}

@media (max-width: 1150px) {
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-kpi-strip { block-size: 237.5px; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(1) { block-size: 381.15625px; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(2) { block-size: 425.375px; }
}

@media (max-width: 900px) {
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] { position: relative; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate]::before { position: absolute; top: 0; left: 0; width: 775px; height: 1px; content: ""; pointer-events: none; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-kpi-strip { block-size: 232px; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(1) { block-size: 412.641px; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(2) { block-size: 439.65625px; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(3) { block-size: 388.938px; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(4) { block-size: 429px; }
}

@media (max-width: 600px) {
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-kpi-strip { block-size: 365.5px; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-alert-banner { block-size: 185.078125px; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(1) { block-size: 690.797px; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(2) { block-size: 557.03125px; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(3) { block-size: 475.875px; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(4) { block-size: 587.688px; }
}

@media (max-width: 410px) {
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-kpi-strip { block-size: 702px; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(2) { block-size: 573.125px; }
  .ionix-dashboard-page-canvas[data-ionix-dashboard-real-data-candidate] .ionix-analytics-page__sections > .ionix-page-section:nth-child(3) { block-size: 508.15625px; }
}
