/*!
 * SUITE FONTS — self-hosted Inter (single face for the whole product suite)
 * ----------------------------------------------------------------------------
 * Source faces: packages/viking-ui/src/assets/fonts/inter/
 * Served at: /fonts/inter/ (FORJD public/, DEML synced assets, Storybook staticDirs)
 * Do not add Google Fonts CDN or competing @font-face families on product surfaces.
 *
 * Critical path: preload roman only —
 *   <link rel="preload" href="/fonts/inter/InterVariable.woff2" as="font"
 *         type="font/woff2" crossorigin />
 * Italic is a separate face; browsers fetch it only when italic text renders.
 */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src:
    url("/fonts/inter/InterVariable.woff2") format("woff2 supports variations"),
    url("/fonts/inter/InterVariable.woff2") format("woff2-variations");
}

@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 100 900;
  /* optional: italic is sparse in product chrome — skip blocking if late */
  font-display: optional;
  src:
    url("/fonts/inter/InterVariable-Italic.woff2")
      format("woff2 supports variations"),
    url("/fonts/inter/InterVariable-Italic.woff2") format("woff2-variations");
}

html,
body {
  font-family: var(
    --suite-font-sans,
    "Inter",
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif
  );
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

﻿/*! Viking-UI Application Bundle
 *  Canonical Angular application styles without marketing, docs, backend, or
 *  Swagger surface rules. Generated artifacts remain owned by Viking-UI. */
*,*::before,*::after{box-sizing:border-box}html{font-family:var(--viking-font-family);font-size:var(--viking-font-size, 16px);line-height:var(--viking-line-height-relaxed, 1.625);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body,.viking-ui-body{min-width:320px;min-height:100vh;margin:0;font-family:inherit;font-size:inherit;line-height:inherit;font-weight:var(--viking-font-weight-regular, 400);color:var(--viking-text);background-color:var(--viking-bg)}img,picture,svg,canvas,video{display:block;max-width:100%}button,input,select,textarea{color:inherit;font:inherit}button,[role=button]{touch-action:manipulation}a{color:var(--viking-text-link);text-decoration-thickness:var(--viking-border-width);text-underline-offset:var(--viking-space-1)}a:hover{color:var(--viking-text-link-hover)}::selection{color:var(--viking-accent-content);background:var(--viking-accent)}h1,h2,h3,h4,h5,h6{font-family:var(--viking-font-family);font-weight:var(--viking-font-weight-semibold, 600);line-height:var(--viking-line-height-tight, 1.25);letter-spacing:var(--viking-letter-spacing-tight, -0.02em);margin:0 0 var(--viking-space-3) 0}h1{font-size:var(--viking-font-size-2xl, 30px);font-weight:var(--viking-font-weight-bold, 700);letter-spacing:var(--viking-letter-spacing-tighter, -0.03em);margin-bottom:var(--viking-space-4)}h2{font-size:var(--viking-font-size-xl, 24px);margin-bottom:var(--viking-space-3)}h3{font-size:var(--viking-font-size-lg, 20px);margin-bottom:var(--viking-space-2)}h4{font-size:var(--viking-font-size-md, 18px);margin-bottom:var(--viking-space-2)}h5,h6{font-size:var(--viking-font-size, 16px);font-weight:var(--viking-font-weight-medium, 500);margin-bottom:var(--viking-space-2)}p{margin:0 0 var(--viking-space-2) 0;line-height:var(--viking-line-height-relaxed, 1.625)}p:last-child{margin-bottom:0}code,pre,kbd,samp,.viking-font-mono{font-family:var(--viking-font-family-mono)}ul,ol{margin:0 0 var(--viking-space-3) 0;padding-left:var(--viking-space-5)}li{margin-bottom:var(--viking-space-1);line-height:var(--viking-line-height-relaxed)}li:last-child{margin-bottom:0}ul ul,ol ol,ul ol,ol ul{margin:var(--viking-space-1) 0 0 var(--viking-space-4)}table{width:100%;border-collapse:collapse;margin:0 0 var(--viking-space-4) 0;font-size:var(--viking-font-size)}th,td{padding:var(--viking-table-cell-padding-y) var(--viking-table-cell-padding-x);text-align:left;border-bottom:1px solid var(--viking-border-subtle);vertical-align:top}th{font-weight:var(--viking-font-weight-semibold);color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);letter-spacing:var(--viking-letter-spacing-wide);background:var(--viking-component-bg-subtle)}tr:last-child td{border-bottom:none}table caption{margin-bottom:var(--viking-space-2);font-weight:var(--viking-font-weight-semibold);text-align:left}.viking-font-display{font-family:var(--viking-font-family);font-weight:var(--viking-font-weight-extrabold, 800);letter-spacing:var(--viking-letter-spacing-caps, 0.08em);text-transform:uppercase;line-height:var(--viking-line-height-none, 1)}.viking-tabular-nums{font-variant-numeric:tabular-nums lining-nums}:root{color-scheme:dark light;--viking-brand-navy: #070c20;--viking-brand-blue: #0078ff;--viking-navy-1000: #01030a;--viking-navy-950: #020610;--viking-navy-900: #080d1f;--viking-navy-850: #0c1229;--viking-navy-800: #101b33;--viking-navy-750: #14203c;--viking-navy-700: #18263f;--viking-navy-650: #1c2a48;--viking-navy-600: #1e3054;--viking-navy-500: #284068;--viking-navy-400: #39547f;--viking-navy-300: #58719e;--viking-navy-200: #8fa2c2;--viking-navy-100: #d7e0ef;--viking-electric-900: #04225f;--viking-electric-800: #073a99;--viking-electric-700: #0a4fd4;--viking-electric-600: #1565f0;--viking-electric-500: #2176ff;--viking-electric-400: #4d94ff;--viking-electric-300: #7ab0ff;--viking-electric-200: #b6d3ff;--viking-electric-100: #e7f1ff;--viking-charcoal-950: var(--viking-navy-950);--viking-charcoal-900: var(--viking-navy-900);--viking-charcoal-850: var(--viking-navy-850);--viking-charcoal-800: var(--viking-navy-800);--viking-charcoal-750: var(--viking-navy-750);--viking-charcoal-700: var(--viking-navy-700);--viking-charcoal-650: var(--viking-navy-650);--viking-charcoal-600: var(--viking-navy-600);--viking-charcoal-500: var(--viking-navy-500);--viking-charcoal-400: var(--viking-navy-400);--viking-charcoal-300: var(--viking-navy-300);--viking-charcoal-200: var(--viking-navy-200);--viking-charcoal-100: var(--viking-navy-100);--viking-metallic-600: #555555;--viking-metallic-500: #666666;--viking-metallic-400: #777777;--viking-metallic-300: #999999;--viking-metallic-200: #aaaaaa;--viking-metallic-100: #bbbbbb;--viking-metallic-050: #e6e8ec;--viking-teal-700: var(--viking-electric-700);--viking-teal-600: var(--viking-electric-600);--viking-teal-500: var(--viking-electric-500);--viking-teal-400: var(--viking-electric-400);--viking-teal-300: var(--viking-electric-300);--viking-crimson-700: #7a2231;--viking-crimson-600: #922b3e;--viking-crimson-500: #a83344;--viking-crimson-400: #c44355;--viking-crimson-300: #dc6b78;--viking-crimson-100: #fde8ec;--viking-cyan-600: #168aad;--viking-cyan-500: #1fa2c9;--viking-cyan-400: #47bee0;--viking-violet-600: #6f5bd7;--viking-violet-500: #8674f0;--viking-amber-600: #a77912;--viking-amber-500: #d69e2e;--viking-green-500: #2a9d8f;--viking-gold-500: #d4af37;--viking-blue-500: var(--viking-electric-400);--viking-red-500: var(--viking-crimson-500);--viking-ink-1000: #000000;--viking-ink-950: #050609;--viking-ink-900: #0c0f14;--viking-ink-800: #151a22;--viking-ink-700: #202735;--viking-slate-100: #f4f7fb;--viking-slate-050: #fbfcfe;--viking-white: #f5f5f5;--viking-white-pure: #ffffff;--viking-black: #000000;--viking-grid-unit: 4px;--viking-space-unit: 8px;--viking-space-0: 0;--viking-space-px: 1px;--viking-space-0-5: 4px;--viking-space-half: var(--viking-space-0-5);--viking-space-1: 8px;--viking-space-2: 16px;--viking-space-3: 24px;--viking-space-4: 32px;--viking-space-5: 40px;--viking-space-6: 48px;--viking-space-7: 56px;--viking-space-8: 64px;--viking-space-9: 80px;--viking-space-10: 96px;--viking-space-11: 112px;--viking-space-12: 128px;--viking-space-14: 160px;--viking-space-16: 192px;--viking-space-20: 256px;--viking-space-24: 320px;--viking-space-inline-gap: var(--viking-space-0-5);--viking-space-control-gap: var(--viking-space-1);--viking-space-compact-gap: 12px;--viking-space-content-gap: var(--viking-space-2);--viking-space-container-gap: var(--viking-space-3);--viking-space-section-gap: var(--viking-space-4);--viking-space-page-gap: var(--viking-space-6);--viking-space-1-5: var(--viking-space-2);--viking-space-2-5: var(--viking-space-2);--viking-space-8-5: 72px;--viking-surface-recipe: var(--viking-surface);--viking-surface-recipe-elevated: var(--viking-surface-raised);--viking-surface-recipe-inset: var(--viking-surface-inset);--viking-surface-recipe-muted: var(--viking-surface-alt);--viking-surface-muted: var(--viking-surface-alt);--viking-surface-control: var(--viking-surface-inset);--viking-font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--viking-font-family-mono: ui-monospace, "JetBrains Mono", "SF Mono", "Cascadia Code", Consolas, monospace;--viking-font-size-2xs: 11px;--viking-font-size-3xs: 10px;--viking-font-size-xs: 12px;--viking-font-size-sm: 14px;--viking-font-size-ui: 14px;--viking-font-size-base: 16px;--viking-font-size: var(--viking-font-size-base);--viking-font-size-md: 18px;--viking-font-size-lg: 20px;--viking-font-size-xl: 24px;--viking-font-size-2xl: 30px;--viking-font-size-3xl: 36px;--viking-font-size-4xl: 48px;--viking-font-size-5xl: 60px;--viking-font-size-6xl: 72px;--viking-font-size-display: clamp(2.5rem, 7vw, 3rem);--viking-font-size-display-lg: clamp(2.25rem, 5vw, 3.75rem);--viking-font-size-display-md: clamp(2rem, 4.5vw, 3rem);--viking-font-size-headline: clamp(1.35rem, 3.2vw, 2rem);--viking-font-size-headline-quiet: clamp(1.2rem, 2.6vw, 1.65rem);--viking-font-size-title: clamp(1.5rem, 3.5vw, 2rem);--viking-font-size-title-lg: clamp(1.75rem, 5vw, 2.5rem);--viking-font-size-title-sm: clamp(1.35rem, 3vw, 1.75rem);--viking-font-size-lead: 1.25rem;--viking-font-size-lead-fluid: clamp(1.05rem, 2vw, 1.25rem);--viking-font-weight-regular: 400;--viking-font-weight-medium: 500;--viking-font-weight-semibold: 600;--viking-font-weight-bold: 700;--viking-font-weight-extrabold: 800;--viking-line-height-none: 1;--viking-line-height-tight: 1.2;--viking-line-height-snug: 1.35;--viking-line-height-normal: 1.5;--viking-line-height-relaxed: 1.6;--viking-line-height-loose: 1.7;--viking-letter-spacing-tighter: -0.03em;--viking-letter-spacing-tight: -0.03em;--viking-letter-spacing-normal: 0;--viking-letter-spacing-wide: 0.08em;--viking-letter-spacing-wider: 0.1em;--viking-letter-spacing-caps: 0.1em;--viking-letter-spacing-display: 0.14em;--viking-type-caption: var(--viking-font-weight-medium) var(--viking-font-size-xs) / var(--viking-line-height-normal) var(--viking-font-family);--viking-type-body-sm: var(--viking-font-weight-regular) var(--viking-font-size-sm) / var(--viking-line-height-normal) var(--viking-font-family);--viking-type-body: var(--viking-font-weight-regular) var(--viking-font-size-base) / var(--viking-line-height-normal) var(--viking-font-family);--viking-type-body-lg: var(--viking-font-weight-regular) var(--viking-font-size-md) / var(--viking-line-height-relaxed) var(--viking-font-family);--viking-type-heading-sm: var(--viking-font-weight-semibold) var(--viking-font-size-lg) / var(--viking-line-height-tight) var(--viking-font-family);--viking-type-heading: var(--viking-font-weight-bold) var(--viking-font-size-2xl) / var(--viking-line-height-tight) var(--viking-font-family);--viking-type-display: var(--viking-font-weight-extrabold) var(--viking-font-size-4xl) / var(--viking-line-height-none) var(--viking-font-family);--viking-type-label: var(--viking-font-weight-semibold) var(--viking-font-size-sm) / var(--viking-line-height-snug) var(--viking-font-family);--viking-type-heading-lg: var(--viking-font-weight-bold) var(--viking-font-size-3xl) / var(--viking-line-height-tight) var(--viking-font-family);--viking-text-heading: var(--viking-text);--viking-text-body: var(--viking-text);--viking-surface-header: var(--viking-surface-raised);--viking-text-on-header: var(--viking-text);--viking-radius-xs: 4px;--viking-radius-sm: 6px;--viking-radius: 8px;--viking-radius-md: 10px;--viking-radius-lg: 12px;--viking-radius-xl: 16px;--viking-radius-2xl: 24px;--viking-radius-pill: 999px;--viking-radius-full: var(--viking-radius-pill);--viking-card-radius: var(--viking-radius-lg);--viking-button-radius: var(--viking-radius);--viking-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);--viking-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2), 0 4px 12px rgba(0, 0, 0, 0.12);--viking-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.18), 0 10px 24px rgba(0, 0, 0, 0.16);--viking-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.2), 0 20px 40px rgba(0, 0, 0, 0.2);--viking-shadow-xl: 0 24px 48px rgba(0, 0, 0, 0.36), 0 8px 18px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.07);--viking-shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.32), inset 0 -1px 0 rgba(255, 255, 255, 0.015);--viking-shadow-hover: 0 2px 4px rgba(0, 0, 0, 0.2), 0 12px 28px rgba(0, 0, 0, 0.2);--viking-shadow-focus: 0 0 0 var(--viking-ring-offset) var(--viking-bg), 0 0 0 calc(var(--viking-ring-offset) + var(--viking-ring-width)) var(--viking-ring);--viking-surface-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.055);--viking-border-width: 1px;--viking-border-style: solid;--viking-surface-inset: var(--viking-navy-850);--viking-chart-ratio: 2 / 1;--viking-chart-plot-height: clamp( var(--viking-space-20), 46cqi, var(--viking-space-24) );--viking-chart-min-height: clamp(12rem, 26vw, 20rem);--viking-chart-max-height: none;--viking-chart-fill-min-height: clamp(13rem, 28vw, 21rem);--viking-chart-fill-max-height: none;--viking-chart-fill-min-height-lg: clamp(15rem, 30vw, 23rem);--viking-chart-fill-max-height-lg: none;--viking-chart-empty-min-height: var(--viking-chart-fill-min-height);--viking-chart-empty-min-height-lg: var(--viking-chart-fill-min-height-lg);--viking-chart-panel-min-height-md: 20rem;--viking-chart-panel-min-height-lg: 22rem;--viking-chart-panel-body-min-height-md: 15rem;--viking-chart-panel-body-min-height-lg: 16.5rem;--viking-chart-sparkline-height: 2.75rem;--viking-chart-map-min-height: 24rem;--viking-chart-padding: var(--viking-space-2) var(--viking-space-2);--viking-bp-sm: 600px;--viking-bp-md: 768px;--viking-bp-sidebar: 901px;--viking-bp-lg: 1024px;--viking-bp-xl: 1440px;--viking-bp-2xl: 1920px;--viking-ease-default: cubic-bezier(0.4, 0, 0.2, 1);--viking-ease-in: cubic-bezier(0.4, 0, 1, 1);--viking-ease-out: cubic-bezier(0, 0, 0.2, 1);--viking-ease-emphasized: cubic-bezier(0.2, 0, 0, 1);--viking-duration-instant: 75ms;--viking-duration-fast: 150ms;--viking-duration: 250ms;--viking-duration-slow: 350ms;--viking-duration-slower: 500ms;--viking-transition-colors: color var(--viking-duration) var(--viking-ease-default), background-color var(--viking-duration) var(--viking-ease-default), border-color var(--viking-duration) var(--viking-ease-default), box-shadow var(--viking-duration) var(--viking-ease-default), fill var(--viking-duration) var(--viking-ease-default), stroke var(--viking-duration) var(--viking-ease-default);--viking-transition-interactive: color var(--viking-duration) var(--viking-ease-default), background-color var(--viking-duration) var(--viking-ease-default), border-color var(--viking-duration) var(--viking-ease-default), box-shadow var(--viking-duration) var(--viking-ease-default), fill var(--viking-duration) var(--viking-ease-default), stroke var(--viking-duration) var(--viking-ease-default), transform var(--viking-duration) var(--viking-ease-default), opacity var(--viking-duration) var(--viking-ease-default);--viking-transition: all var(--viking-duration) var(--viking-ease-default);--viking-transition-fast: all var(--viking-duration-fast) var(--viking-ease-default);--viking-transition-transform: transform var(--viking-duration) var(--viking-ease-emphasized);--viking-state-hover-lift: -1px;--viking-state-press-sink: 1px;--viking-state-nudge: 2px;--viking-state-reveal-distance: 0.5rem;--viking-state-active-scale: var(--suite-active-scale, 0.985);--viking-state-disabled-opacity: 0.48;--viking-touch-target-min: 44px;--viking-control-height: 40px;--viking-control-height-sm: 32px;--viking-control-height-xs: 24px;--viking-control-padding-x: var(--viking-space-2);--viking-btn-min-width: 120px;--viking-select-panel-bg: var(--viking-surface-raised);--viking-select-half-max-width: min(100%, 24rem);--viking-component-radius: var(--viking-radius);--viking-component-surface-radius: var(--viking-radius-lg);--viking-component-border: var(--viking-border);--viking-component-border-hover: var(--viking-border-strong);--viking-component-border-active: var(--viking-border-accent);--viking-component-bg: var(--viking-surface);--viking-component-bg-subtle: var(--viking-surface-alt);--viking-component-bg-inset: var(--viking-surface-inset);--viking-component-hover-bg: var(--viking-state-hover-bg);--viking-component-selected-bg: var(--viking-state-selected-bg);--viking-component-shadow: var(--viking-shadow-xs);--viking-component-shadow-raised: var(--viking-shadow-sm);--viking-focus-shadow: 0 0 0 3px var(--viking-accent-soft);--viking-badge-height: 24px;--viking-table-cell-padding-y: var(--viking-space-1-5);--viking-table-cell-padding-x: var(--viking-space-2);--viking-navigation-item-height: var(--viking-touch-target-min);--viking-container-max-width: 1260px;--viking-container-max-width-wide: 1440px;--viking-container-wide-max-width: var(--viking-container-max-width-wide);--viking-container-max-width-readable: 48rem;--viking-navbar-height: var(--viking-space-7);--viking-sidebar-width: 256px;--viking-trailing-width: 20rem;--viking-split-panel-height-compact: 12rem;--viking-split-panel-height-default: 20rem;--viking-split-panel-height-large: 28rem;--viking-layout-item-compact: 16rem;--viking-layout-item-default: 20rem;--viking-layout-item-wide: 24rem;--viking-layout-columns: 12;--viking-layout-column-gap: var(--viking-space-3);--viking-layout-row-gap: var(--viking-space-3);--viking-page-gutter: clamp( var(--viking-space-2), 4vw, var(--viking-space-4) );--viking-page-gutter-lg: var(--viking-space-4);--viking-page-gutter-xl: var(--viking-space-8);--viking-page-stack-gap: var(--viking-space-5);--viking-page-section-gap: var(--viking-space-9);--viking-dashboard-grid-gap: var(--viking-space-2);--viking-section-padding-y: var(--viking-space-8);--viking-section-padding-y-compact: var(--viking-space-4);--viking-card-padding: var(--viking-space-3);--viking-card-padding-compact: var(--viking-space-2);--viking-card-content-gap: var(--viking-space-3);--viking-card-content-gap-compact: var(--viking-space-compact-gap);--viking-panel-padding: var(--viking-space-3);--viking-panel-header-padding: var(--viking-space-2) var(--viking-space-3);--viking-form-max-width: 42rem;--viking-form-narrow-max-width: 28rem;--viking-content-readable-max-width: 48rem;--viking-card-min-width: 0;--viking-card-max-width: none;--viking-metric-card-min-height: 7.25rem;--viking-metric-card-tall-min-height: 9.5rem;--viking-metric-card-min-width: 10rem;--viking-surface-hairline-strength: 36%;--viking-surface-container: var(--viking-surface);--viking-surface-container-muted: var(--viking-surface-alt);--viking-border-container: var(--viking-border);--viking-border-control: var(--viking-border-strong);--viking-border-divider: var(--viking-border-subtle);--viking-z-overlay: 1000;--viking-z-toast: 1100;--viking-z-tooltip: 1200;--viking-z-external-challenge: 2147483647;--viking-chart-text-size: var(--viking-font-size-xs);--viking-chart-axis-size: var(--viking-chart-text-size);--viking-chart-axis-size-mobile: var(--viking-chart-text-size);--viking-chart-label-size: var(--viking-chart-text-size);--viking-chart-gutter-default: 16px 24px 48px 48px;--viking-chart-gutter-fill: 8px 16px 32px 32px;--viking-chart-padding: var(--viking-space-2) 0;--viking-chart-padding-fill: var(--viking-space-1) 0;--viking-chart-grid-stroke: color-mix( in srgb, var(--viking-text-muted) 15%, transparent );--viking-chart-grid-width: 1;--viking-chart-grid-dash: 4 4;--viking-chart-axis-stroke: color-mix( in srgb, var(--viking-text-muted) 40%, transparent );--viking-chart-axis-width: 1;--viking-chart-tick-length: 4px;--viking-chart-axis-color: var(--viking-text-muted);--viking-chart-cursor-stroke: color-mix( in srgb, var(--viking-text) 32%, transparent );--viking-chart-cursor-width: 1;--viking-chart-cursor-dash: 4 4;--viking-chart-line-width: 2;--viking-chart-line-width-fill: 2;--viking-chart-area-opacity: 0.2;--viking-chart-area-opacity-start: 0.48;--viking-chart-area-opacity-end: 0;--viking-chart-point-radius: 5;--viking-chart-point-stroke: var(--viking-surface);--viking-chart-bar-radius: 2px;--viking-chart-bar-min-height: 3px;--viking-chart-legend-gap: var(--viking-space-2) var(--viking-space-3);--viking-chart-legend-margin: var(--viking-space-3) 0 0;--viking-chart-legend-margin-fill: var(--viking-space-4) 0 0;--viking-chart-swatch-size: 8px;--viking-chart-legend-size: var(--viking-chart-text-size);--viking-chart-tooltip-bg: color-mix( in srgb, var(--viking-surface) 94%, transparent );--viking-chart-tooltip-border: color-mix( in srgb, var(--viking-border) 65%, transparent );--viking-chart-tooltip-text: var(--viking-text);--viking-chart-tooltip-size: var(--viking-chart-text-size);--viking-chart-tooltip-padding: 6px 10px;--viking-chart-tooltip-radius: var(--viking-radius);--viking-chart-empty-padding: var(--viking-space-5) var(--viking-space-4);--viking-chart-empty-gap: var(--viking-space-3);--viking-icon-size-sm: 16px;--viking-icon-size-md: 20px;--viking-icon-size-lg: 24px;--viking-icon-stroke-width: 1.75;--viking-icon-stroke-width-sm: 1.5;--viking-icon-stroke-width-brand: 1.8}:root,html[data-theme=dark]{color-scheme:dark;--viking-bg: #0a0a0a;--viking-bg-subtle: #050505;--viking-bg-inverted: var(--viking-white-pure);--viking-surface: #111111;--viking-surface-alt: #1a1a1a;--viking-surface-inset: #050505;--viking-surface-raised: #141414;--viking-surface-overlay: #111111;--viking-text: var(--viking-white);--viking-text-muted: var(--viking-metallic-200);--viking-text-subtle: var(--viking-metallic-300);--viking-text-disabled: var(--viking-metallic-400);--viking-text-link: var(--viking-electric-300);--viking-text-link-hover: var(--viking-electric-200);--viking-text-inverted: var(--viking-bg);--viking-border: #222222;--viking-border-strong: #666666;--viking-border-subtle: color-mix( in srgb, var(--viking-border) 70%, transparent );--viking-border-accent: color-mix( in srgb, var(--viking-electric-500) 72%, transparent );--viking-accent: var(--viking-electric-500);--viking-accent-hover: var(--viking-electric-400);--viking-accent-active: var(--viking-electric-700);--viking-accent-content: var(--viking-white-pure);--viking-accent-soft: color-mix( in srgb, var(--viking-electric-500) 18%, transparent );--viking-accent-muted: color-mix( in srgb, var(--viking-electric-500) 10%, transparent );--viking-accent-strong: var(--viking-electric-300);--viking-accent-secondary: var(--viking-crimson-600);--viking-accent-secondary-hover: var(--viking-crimson-500);--viking-accent-secondary-active: var(--viking-crimson-700);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix( in srgb, var(--viking-crimson-600) 16%, transparent );--viking-success: var(--viking-green-500);--viking-success-soft: color-mix( in srgb, var(--viking-green-500) 14%, transparent );--viking-warning: var(--viking-gold-500);--viking-warning-soft: color-mix( in srgb, var(--viking-gold-500) 16%, transparent );--viking-danger: var(--viking-crimson-500);--viking-danger-soft: color-mix( in srgb, var(--viking-crimson-500) 16%, transparent );--viking-info: var(--viking-blue-500);--viking-info-soft: color-mix( in srgb, var(--viking-blue-500) 14%, transparent );--viking-danger-text: var(--viking-crimson-300);--viking-success-text: #5ec4b6;--viking-warning-text: #e8c25a;--viking-gold-text: #e8c96a;--viking-on-danger: var(--viking-white-pure);--viking-ring: var(--viking-electric-400);--viking-ring-width: 2px;--viking-ring-offset: 2px;--viking-overlay-backdrop: color-mix( in srgb, var(--viking-charcoal-950) 72%, transparent );--viking-surface-glass: color-mix( in srgb, var(--viking-charcoal-800) 82%, transparent );--viking-surface-glass-blur: 12px;--viking-state-hover-bg: color-mix( in srgb, var(--viking-electric-500) 10%, transparent );--viking-state-active-bg: color-mix( in srgb, var(--viking-electric-700) 14%, transparent );--viking-state-selected-bg: color-mix( in srgb, var(--viking-electric-500) 18%, transparent );--viking-state-disabled-bg: color-mix( in srgb, var(--viking-metallic-600) 20%, transparent );--viking-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.26), 0 4px 12px rgba(0, 0, 0, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.035);--viking-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.24), 0 10px 24px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.04);--viking-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.26), 0 20px 40px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.045);--viking-shadow-hover: 0 2px 4px rgba(0, 0, 0, 0.25), 0 12px 28px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.05)}html[data-theme=light]{color-scheme:light;--viking-bg: var(--viking-slate-050);--viking-bg-subtle: var(--viking-slate-100);--viking-bg-inverted: var(--viking-charcoal-900);--viking-surface: var(--viking-white-pure);--viking-surface-alt: var(--viking-slate-100);--viking-surface-inset: var(--viking-metallic-050);--viking-surface-raised: var(--viking-white-pure);--viking-surface-overlay: var(--viking-white-pure);--viking-text: var(--viking-charcoal-900);--viking-text-muted: var(--viking-metallic-500);--viking-text-subtle: var(--viking-metallic-400);--viking-text-disabled: var(--viking-metallic-500);--viking-text-link: var(--viking-electric-700);--viking-text-link-hover: var(--viking-electric-700);--viking-text-inverted: var(--viking-white-pure);--viking-border: var(--viking-navy-100);--viking-border-strong: var(--viking-navy-300);--viking-border-subtle: color-mix( in srgb, var(--viking-metallic-600) 22%, transparent );--viking-border-accent: color-mix( in srgb, var(--viking-electric-600) 58%, transparent );--viking-accent: var(--viking-electric-600);--viking-accent-hover: var(--viking-electric-500);--viking-accent-active: var(--viking-electric-700);--viking-accent-content: var(--viking-white-pure);--viking-accent-soft: color-mix( in srgb, var(--viking-electric-600) 14%, transparent );--viking-accent-muted: color-mix( in srgb, var(--viking-electric-600) 8%, transparent );--viking-accent-strong: var(--viking-electric-400);--viking-accent-secondary: var(--viking-crimson-700);--viking-accent-secondary-hover: var(--viking-crimson-600);--viking-accent-secondary-active: var(--viking-crimson-700);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix( in srgb, var(--viking-crimson-700) 12%, transparent );--viking-success-soft: color-mix( in srgb, var(--viking-green-500) 12%, transparent );--viking-warning-soft: color-mix( in srgb, var(--viking-gold-500) 14%, transparent );--viking-danger-soft: color-mix( in srgb, var(--viking-crimson-500) 12%, transparent );--viking-info-soft: color-mix( in srgb, var(--viking-blue-500) 12%, transparent );--viking-danger-text: var(--viking-crimson-700);--viking-success-text: #187066;--viking-warning-text: #7a580e;--viking-gold-text: #7a6410;--viking-on-danger: var(--viking-white-pure);--viking-ring: var(--viking-electric-500);--viking-overlay-backdrop: color-mix( in srgb, var(--viking-charcoal-900) 45%, transparent );--viking-surface-glass: color-mix( in srgb, var(--viking-white-pure) 88%, transparent );--viking-surface-glass-blur: 10px;--viking-state-hover-bg: color-mix( in srgb, var(--viking-electric-600) 8%, transparent );--viking-state-active-bg: color-mix( in srgb, var(--viking-electric-700) 12%, transparent );--viking-state-selected-bg: color-mix( in srgb, var(--viking-electric-600) 14%, transparent );--viking-state-disabled-bg: color-mix( in srgb, var(--viking-metallic-600) 12%, transparent );--viking-shadow-sm: 0 1px 2px rgba(17, 24, 39, 0.06), 0 4px 12px rgba(17, 24, 39, 0.06);--viking-shadow-md: 0 2px 4px rgba(17, 24, 39, 0.06), 0 10px 24px rgba(17, 24, 39, 0.08);--viking-shadow-lg: 0 4px 8px rgba(17, 24, 39, 0.07), 0 20px 40px rgba(17, 24, 39, 0.1);--viking-shadow-hover: 0 2px 4px rgba(17, 24, 39, 0.08), 0 12px 28px rgba(17, 24, 39, 0.11)}@media(prefers-color-scheme: light){html:not([data-theme=dark]){color-scheme:light;--viking-bg: var(--viking-slate-050);--viking-bg-subtle: var(--viking-slate-100);--viking-bg-inverted: var(--viking-charcoal-900);--viking-surface: var(--viking-white-pure);--viking-surface-alt: var(--viking-slate-100);--viking-surface-inset: var(--viking-metallic-050);--viking-surface-raised: var(--viking-white-pure);--viking-surface-overlay: var(--viking-white-pure);--viking-text: var(--viking-charcoal-900);--viking-text-muted: var(--viking-metallic-500);--viking-text-subtle: var(--viking-metallic-400);--viking-text-disabled: var(--viking-metallic-300);--viking-text-link: var(--viking-electric-700);--viking-text-link-hover: var(--viking-electric-600);--viking-text-inverted: var(--viking-white-pure);--viking-border: color-mix( in srgb, var(--viking-metallic-600) 22%, transparent );--viking-border-strong: color-mix( in srgb, var(--viking-metallic-600) 38%, transparent );--viking-border-subtle: color-mix( in srgb, var(--viking-metallic-600) 12%, transparent );--viking-border-accent: color-mix( in srgb, var(--viking-electric-600) 58%, transparent );--viking-accent: var(--viking-electric-600);--viking-accent-hover: var(--viking-electric-500);--viking-accent-active: var(--viking-electric-700);--viking-accent-content: var(--viking-white-pure);--viking-accent-soft: color-mix( in srgb, var(--viking-electric-600) 10%, transparent );--viking-accent-muted: color-mix( in srgb, var(--viking-electric-600) 8%, transparent );--viking-accent-strong: var(--viking-electric-400);--viking-accent-secondary: var(--viking-crimson-700);--viking-accent-secondary-hover: var(--viking-crimson-600);--viking-accent-secondary-active: var(--viking-crimson-700);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix( in srgb, var(--viking-crimson-700) 8%, transparent );--viking-success-soft: color-mix( in srgb, var(--viking-green-500) 12%, transparent );--viking-warning-soft: color-mix( in srgb, var(--viking-gold-500) 14%, transparent );--viking-danger-soft: color-mix( in srgb, var(--viking-crimson-500) 12%, transparent );--viking-info-soft: color-mix( in srgb, var(--viking-blue-500) 12%, transparent );--viking-danger-text: var(--viking-crimson-700);--viking-on-danger: var(--viking-white-pure);--viking-ring: var(--viking-electric-500);--viking-overlay-backdrop: color-mix( in srgb, var(--viking-charcoal-900) 45%, transparent );--viking-surface-glass: color-mix( in srgb, var(--viking-white-pure) 88%, transparent );--viking-surface-glass-blur: 10px;--viking-state-hover-bg: color-mix( in srgb, var(--viking-electric-600) 8%, transparent );--viking-state-active-bg: color-mix( in srgb, var(--viking-electric-700) 12%, transparent );--viking-state-selected-bg: color-mix( in srgb, var(--viking-electric-600) 14%, transparent );--viking-state-disabled-bg: color-mix( in srgb, var(--viking-metallic-600) 12%, transparent );--viking-shadow-sm: 0 1px 2px rgba(17, 17, 17, 0.06), 0 1px 3px rgba(17, 17, 17, 0.08);--viking-shadow-md: 0 2px 4px rgba(17, 17, 17, 0.06), 0 4px 8px rgba(17, 17, 17, 0.08);--viking-shadow-lg: 0 4px 8px rgba(17, 17, 17, 0.06), 0 12px 24px rgba(17, 17, 17, 0.1)}}@media(prefers-reduced-motion: reduce){:root{--viking-duration-instant: 0ms;--viking-duration-fast: 0ms;--viking-duration: 0ms;--viking-duration-slow: 0ms;--viking-state-hover-lift: 0px;--viking-state-press-sink: 0px;--viking-state-nudge: 0px;--viking-state-reveal-distance: 0px;--viking-state-active-scale: 1;--viking-transition-interactive: none;--viking-transition-colors: none;--viking-transition-transform: none}}:root{--viking-series-1: var(--suite-series-1, var(--viking-electric-500));--viking-series-2: var(--suite-series-2, var(--viking-crimson-600));--viking-series-3: var(--suite-series-3, var(--viking-green-500));--viking-series-4: var(--suite-series-4, var(--viking-gold-500));--viking-series-5: var(--suite-series-5, var(--viking-crimson-500));--viking-series-6: var(--suite-series-6, var(--viking-blue-500));--viking-series-7: var(--suite-series-7, var(--viking-charcoal-700));--viking-series-8: var(--suite-series-8, var(--viking-metallic-500));--viking-series-default: var(--suite-series-default, var(--viking-series-1));--viking-series-palette: var(--viking-series-1), var(--viking-series-2), var(--viking-series-3), var(--viking-series-4), var(--viking-series-5), var(--viking-series-6), var(--viking-series-7), var(--viking-series-8)}:root{--charcoal-950: var(--viking-charcoal-950);--charcoal-900: var(--viking-charcoal-900);--charcoal-800: var(--viking-charcoal-800);--charcoal-700: var(--viking-charcoal-700);--charcoal-600: var(--viking-charcoal-600);--charcoal-500: var(--viking-charcoal-500);--metallic-600: var(--viking-metallic-600);--metallic-500: var(--viking-metallic-500);--metallic-400: var(--viking-metallic-400);--metallic-300: var(--viking-metallic-300);--metallic-200: var(--viking-metallic-200);--metallic-100: var(--viking-metallic-100);--white: var(--viking-white-pure);--black: var(--viking-black);--base-font-size: var(--viking-font-size-base);--ui-font-size: var(--viking-font-size-sm);--header-letter-spacing: var(--viking-letter-spacing-tight);--grid-unit: var(--viking-grid-unit);--space-0: var(--viking-space-0);--space-half: var(--viking-space-0-5);--space-0-5: var(--viking-space-0-5);--space-1: var(--viking-space-1);--space-1-5: var(--viking-space-2);--space-2: var(--viking-space-2);--space-2-5: var(--viking-space-2);--space-3: var(--viking-space-3);--space-4: var(--viking-space-4);--space-5: var(--viking-space-5);--space-6: var(--viking-space-6);--space-7: var(--viking-space-7);--space-8: var(--viking-space-8);--space-8-5: var(--viking-space-8-5);--space-9: var(--viking-space-9);--space-10: var(--viking-space-10);--space-11: var(--viking-space-11);--space-12: var(--viking-space-12);--space-14: var(--viking-space-14);--space-16: var(--viking-space-16);--space-20: var(--viking-space-20);--space-24: var(--viking-space-24);--grid-gap: var(--viking-space-3);--card-padding: var(--viking-card-padding);--page-gutter: var(--viking-page-gutter);--page-gutter-lg: var(--viking-page-gutter-lg);--page-stack-gap: var(--viking-page-stack-gap);--page-section-gap: var(--viking-page-section-gap);--form-max-width: var(--viking-form-max-width);--form-narrow-max-width: var(--viking-form-narrow-max-width);--content-readable-max-width: var(--viking-content-readable-max-width);--container-max-width: var(--viking-container-max-width);--navbar-height: var(--viking-navbar-height);--btn-min-width: var(--viking-btn-min-width);--border-radius-xs: var(--viking-radius-xs);--border-radius-sm: var(--viking-radius-sm);--border-radius-md: var(--viking-radius);--border-radius-lg: var(--viking-radius-lg);--border-radius-xl: var(--viking-radius-xl);--border-radius-pill: var(--viking-radius-pill);--transition-smooth: var(--viking-transition);--shadow-sm: var(--viking-shadow-sm);--shadow-md: var(--viking-shadow-md);--shadow-lg: var(--viking-shadow-lg);--shadow-hover: var(--viking-shadow-hover);--primary-color: var(--viking-electric-500);--accent-color: var(--viking-crimson-600);--focus-ring-width: var(--viking-ring-width);--focus-ring-offset: var(--viking-ring-offset)}:root,html[data-theme=dark]{--color-primary: var(--viking-electric-500);--color-on-primary: var(--viking-white-pure);--color-primary-container: var(--viking-electric-400);--color-on-primary-container: var(--viking-charcoal-900);--color-surface: var(--viking-charcoal-800);--color-on-surface: var(--viking-white);--color-background: var(--viking-charcoal-900);--color-on-background: var(--viking-white);--color-surface-variant: var(--viking-charcoal-700);--color-success: var(--viking-green-500);--color-warning: var(--viking-gold-500);--color-error: var(--viking-crimson-500);--color-info: var(--viking-blue-500);--color-gauge-red: var(--color-error);--border: var(--viking-border);--border-layout: var(--viking-border-strong);--hover-color: var(--viking-electric-400);--bg-color: var(--viking-bg);--text-color: var(--viking-text);--text-muted: var(--viking-text-muted);--card-bg: var(--viking-surface);--navbar-bg: color-mix(in srgb, var(--viking-bg) 96%, transparent);--link-color: var(--viking-electric-300);--link-hover-color: var(--viking-electric-400);--hero-title-color: var(--viking-white);--primary-text-color: var(--viking-electric-300);--button-primary: var(--color-primary);--button-primary-text: var(--viking-white-pure);--color-dark-grey-btn-bg: var(--viking-charcoal-700);--color-dark-grey-btn-text: var(--viking-white);--focus-ring-color: var(--viking-electric-400)}html[data-theme=light]{--color-primary: var(--viking-electric-600);--color-on-primary: var(--viking-white-pure);--color-primary-container: var(--viking-teal-500);--color-on-primary-container: var(--viking-white-pure);--color-surface: var(--viking-white-pure);--color-on-surface: var(--viking-charcoal-900);--color-background: var(--viking-white-pure);--color-on-background: var(--viking-charcoal-900);--color-surface-variant: var(--viking-surface-alt);--color-success: var(--viking-green-500);--color-warning: var(--viking-gold-500);--color-error: var(--viking-crimson-700);--color-info: var(--viking-blue-500);--color-gauge-red: var(--color-error);--border: var(--viking-border);--border-layout: var(--viking-border-strong);--hover-color: var(--viking-electric-500);--bg-color: var(--viking-bg);--text-color: var(--viking-text);--text-muted: var(--viking-text-muted);--card-bg: var(--viking-surface);--navbar-bg: color-mix(in srgb, var(--viking-white-pure) 96%, transparent);--link-color: var(--viking-electric-700);--link-hover-color: var(--viking-electric-600);--hero-title-color: var(--viking-charcoal-900);--primary-text-color: var(--viking-electric-700);--button-primary: var(--color-primary);--button-primary-text: var(--color-on-primary);--color-dark-grey-btn-bg: var(--viking-charcoal-800);--color-dark-grey-btn-text: var(--viking-white);--focus-ring-color: var(--viking-electric-500)}@media(prefers-color-scheme: light){html:not([data-theme=dark]){--color-primary: var(--viking-electric-600);--color-on-primary: var(--viking-white-pure);--color-primary-container: var(--viking-teal-500);--color-on-primary-container: var(--viking-white-pure);--color-surface: var(--viking-white-pure);--color-on-surface: var(--viking-charcoal-900);--color-background: var(--viking-white-pure);--color-on-background: var(--viking-charcoal-900);--color-surface-variant: var(--viking-surface-alt);--color-success: var(--viking-green-500);--color-warning: var(--viking-gold-500);--color-error: var(--viking-crimson-700);--color-info: var(--viking-blue-500);--color-gauge-red: var(--color-error);--border: var(--viking-border);--border-layout: var(--viking-border-strong);--hover-color: var(--viking-electric-500);--bg-color: var(--viking-bg);--text-color: var(--viking-text);--text-muted: var(--viking-text-muted);--card-bg: var(--viking-surface);--navbar-bg: color-mix(in srgb, var(--viking-white-pure) 96%, transparent);--link-color: var(--viking-electric-700);--link-hover-color: var(--viking-electric-600);--hero-title-color: var(--viking-charcoal-900);--primary-text-color: var(--viking-electric-700);--button-primary: var(--color-primary);--button-primary-text: var(--color-on-primary);--color-dark-grey-btn-bg: var(--viking-charcoal-800);--color-dark-grey-btn-text: var(--viking-white);--focus-ring-color: var(--viking-electric-500)}}/*! Viking-UI Application Bundle
 *  Canonical Angular application styles without marketing, docs, backend, or
 *  Swagger surface rules. Generated artifacts remain owned by Viking-UI. */:root{--viking-touch-target-min: 44px;--viking-touch-target-comfort: 44px;--viking-state-disabled-opacity: 0.48;--viking-state-hover-lift: -1px;--viking-state-active-scale: var(--suite-active-scale, 0.985);--viking-state-press-inset: inset 0 1px 2px rgba(0, 0, 0, 0.28);--viking-shadow-hover: var( --shadow-hover, 0 2px 4px rgba(0, 0, 0, 0.25), 0 12px 28px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.05) );--viking-surface-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.055);--viking-transition-interactive: color var(--viking-duration) var(--viking-ease-default), background-color var(--viking-duration) var(--viking-ease-default), border-color var(--viking-duration) var(--viking-ease-default), box-shadow var(--viking-duration) var(--viking-ease-default), transform var(--viking-duration-fast) var(--viking-ease-default), opacity var(--viking-duration-fast) var(--viking-ease-default);--viking-transition-transform: transform var(--viking-duration-fast) var(--viking-ease-default)}@keyframes viking-fade-in{from{opacity:0}to{opacity:1}}@keyframes viking-slide-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes viking-slide-in-right{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}@keyframes viking-modal-in{from{opacity:0;transform:translateY(12px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes viking-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes viking-shimmer{from{background-position:120% 0}to{background-position:-80% 0}}@keyframes viking-pulse-soft{0%,100%{opacity:1}50%{opacity:.72}}@keyframes viking-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}@keyframes viking-tooltip-in{from{opacity:0;transform:translateY(4px) scale(0.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes viking-spin{to{transform:rotate(360deg)}}.viking-focus-ring:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-focus-ring-inset:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:calc(var(--viking-ring-offset)*-1)}.viking-touch-target{position:relative;min-width:var(--viking-touch-target-min);min-height:var(--viking-touch-target-min)}.viking-touch-target::before{content:"";position:absolute;inset:50%;width:max(100%,var(--viking-touch-target-min));height:max(100%,var(--viking-touch-target-min));transform:translate(-50%, -50%)}@media(min-width: 768px){:root{--viking-touch-target-comfort: 36px}}@media(prefers-reduced-motion: reduce){*,::before,::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}.viking-control{display:flex;align-items:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);font-family:var(--viking-font-family);font-size:var(--viking-font-size);color:var(--viking-text);background:var(--viking-component-bg-inset);border:var(--viking-border-width) var(--viking-border-style) var(--viking-component-border);border-radius:var(--viking-component-radius);box-shadow:none;transition:var(--viking-transition-interactive);width:100%;min-width:0;box-sizing:border-box}.viking-control:hover:not(.viking-disabled):not(.viking-loading):not(:disabled){background:var(--viking-component-bg-subtle);border-color:var(--viking-component-border-hover)}.viking-control:focus-within:not(.viking-loading){outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);border-color:var(--viking-component-border-active);box-shadow:var(--viking-focus-shadow)}.viking-form-row{display:grid;grid-template-columns:1fr;gap:var(--viking-space-container-gap);width:100%;max-width:var(--viking-form-max-width)}@media(min-width: 600px){.viking-form-row{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 768px){.viking-form-row--3{grid-template-columns:repeat(3, minmax(0, 1fr))}}.viking-form-section-actions viking-button .viking-btn,.viking-modal-footer viking-button .viking-btn,.viking-sheet-footer viking-button .viking-btn,.viking-empty-state-actions viking-button .viking-btn,.viking-chart-empty-actions viking-button .viking-btn{min-width:0}.viking-btn,a.viking-btn,button.viking-btn{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn:focus-visible,a.viking-btn:focus-visible,button.viking-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn::before,a.viking-btn::before,button.viking-btn::before{display:none}.viking-btn::after,a.viking-btn::after,button.viking-btn::after{display:none}.viking-btn:disabled,.viking-btn[aria-busy=true],a.viking-btn:disabled,a.viking-btn[aria-busy=true],button.viking-btn:disabled,button.viking-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn[aria-busy=true]::before,.viking-btn[aria-busy=true] .viking-btn-label,a.viking-btn[aria-busy=true]::before,a.viking-btn[aria-busy=true] .viking-btn-label,button.viking-btn[aria-busy=true]::before,button.viking-btn[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn[aria-busy=true],a.viking-btn[aria-busy=true],button.viking-btn[aria-busy=true]{cursor:wait}.viking-btn[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.viking-btn[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.viking-btn[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.viking-btn viking-icon,.viking-btn .viking-icon,.viking-btn [data-viking-icon],a.viking-btn viking-icon,a.viking-btn .viking-icon,a.viking-btn [data-viking-icon],button.viking-btn viking-icon,button.viking-btn .viking-icon,button.viking-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.viking-btn .viking-btn-label,a.viking-btn .viking-btn-label,button.viking-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-primary,a.viking-btn-primary,button.viking-btn-primary{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-primary:focus-visible,a.viking-btn-primary:focus-visible,button.viking-btn-primary:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-primary::before,a.viking-btn-primary::before,button.viking-btn-primary::before{display:none}.viking-btn-primary::after,a.viking-btn-primary::after,button.viking-btn-primary::after{display:none}.viking-btn-primary:disabled,.viking-btn-primary[aria-busy=true],a.viking-btn-primary:disabled,a.viking-btn-primary[aria-busy=true],button.viking-btn-primary:disabled,button.viking-btn-primary[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-primary[aria-busy=true]::before,.viking-btn-primary[aria-busy=true] .viking-btn-label,a.viking-btn-primary[aria-busy=true]::before,a.viking-btn-primary[aria-busy=true] .viking-btn-label,button.viking-btn-primary[aria-busy=true]::before,button.viking-btn-primary[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-primary[aria-busy=true],a.viking-btn-primary[aria-busy=true],button.viking-btn-primary[aria-busy=true]{cursor:wait}.viking-btn-primary[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.viking-btn-primary[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.viking-btn-primary[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.viking-btn-primary viking-icon,.viking-btn-primary .viking-icon,.viking-btn-primary [data-viking-icon],a.viking-btn-primary viking-icon,a.viking-btn-primary .viking-icon,a.viking-btn-primary [data-viking-icon],button.viking-btn-primary viking-icon,button.viking-btn-primary .viking-icon,button.viking-btn-primary [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.viking-btn-primary .viking-btn-label,a.viking-btn-primary .viking-btn-label,button.viking-btn-primary .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-primary,a.viking-btn-primary,button.viking-btn-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),a.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),button.viking-btn-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn-secondary,a.viking-btn-secondary,button.viking-btn-secondary{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-secondary:focus-visible,a.viking-btn-secondary:focus-visible,button.viking-btn-secondary:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-secondary::before,a.viking-btn-secondary::before,button.viking-btn-secondary::before{display:none}.viking-btn-secondary::after,a.viking-btn-secondary::after,button.viking-btn-secondary::after{display:none}.viking-btn-secondary:disabled,.viking-btn-secondary[aria-busy=true],a.viking-btn-secondary:disabled,a.viking-btn-secondary[aria-busy=true],button.viking-btn-secondary:disabled,button.viking-btn-secondary[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-secondary[aria-busy=true]::before,.viking-btn-secondary[aria-busy=true] .viking-btn-label,a.viking-btn-secondary[aria-busy=true]::before,a.viking-btn-secondary[aria-busy=true] .viking-btn-label,button.viking-btn-secondary[aria-busy=true]::before,button.viking-btn-secondary[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-secondary[aria-busy=true],a.viking-btn-secondary[aria-busy=true],button.viking-btn-secondary[aria-busy=true]{cursor:wait}.viking-btn-secondary[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.viking-btn-secondary[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.viking-btn-secondary[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.viking-btn-secondary viking-icon,.viking-btn-secondary .viking-icon,.viking-btn-secondary [data-viking-icon],a.viking-btn-secondary viking-icon,a.viking-btn-secondary .viking-icon,a.viking-btn-secondary [data-viking-icon],button.viking-btn-secondary viking-icon,button.viking-btn-secondary .viking-icon,button.viking-btn-secondary [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.viking-btn-secondary .viking-btn-label,a.viking-btn-secondary .viking-btn-label,button.viking-btn-secondary .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-secondary,a.viking-btn-secondary,button.viking-btn-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),a.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),button.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn-outline,a.viking-btn-outline,button.viking-btn-outline{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-outline:focus-visible,a.viking-btn-outline:focus-visible,button.viking-btn-outline:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-outline::before,a.viking-btn-outline::before,button.viking-btn-outline::before{display:none}.viking-btn-outline::after,a.viking-btn-outline::after,button.viking-btn-outline::after{display:none}.viking-btn-outline:disabled,.viking-btn-outline[aria-busy=true],a.viking-btn-outline:disabled,a.viking-btn-outline[aria-busy=true],button.viking-btn-outline:disabled,button.viking-btn-outline[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-outline[aria-busy=true]::before,.viking-btn-outline[aria-busy=true] .viking-btn-label,a.viking-btn-outline[aria-busy=true]::before,a.viking-btn-outline[aria-busy=true] .viking-btn-label,button.viking-btn-outline[aria-busy=true]::before,button.viking-btn-outline[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-outline[aria-busy=true],a.viking-btn-outline[aria-busy=true],button.viking-btn-outline[aria-busy=true]{cursor:wait}.viking-btn-outline[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.viking-btn-outline[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.viking-btn-outline[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.viking-btn-outline viking-icon,.viking-btn-outline .viking-icon,.viking-btn-outline [data-viking-icon],a.viking-btn-outline viking-icon,a.viking-btn-outline .viking-icon,a.viking-btn-outline [data-viking-icon],button.viking-btn-outline viking-icon,button.viking-btn-outline .viking-icon,button.viking-btn-outline [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.viking-btn-outline .viking-btn-label,a.viking-btn-outline .viking-btn-label,button.viking-btn-outline .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-outline,a.viking-btn-outline,button.viking-btn-outline{background:var(--viking-surface-recipe, var(--viking-surface));color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb, var(--viking-accent) 5%, var(--viking-surface-alt));border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),a.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),button.viking-btn-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-press-shadow)}.viking-btn-danger,a.viking-btn-danger,button.viking-btn-danger{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-danger:focus-visible,a.viking-btn-danger:focus-visible,button.viking-btn-danger:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-danger::before,a.viking-btn-danger::before,button.viking-btn-danger::before{display:none}.viking-btn-danger::after,a.viking-btn-danger::after,button.viking-btn-danger::after{display:none}.viking-btn-danger:disabled,.viking-btn-danger[aria-busy=true],a.viking-btn-danger:disabled,a.viking-btn-danger[aria-busy=true],button.viking-btn-danger:disabled,button.viking-btn-danger[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-danger[aria-busy=true]::before,.viking-btn-danger[aria-busy=true] .viking-btn-label,a.viking-btn-danger[aria-busy=true]::before,a.viking-btn-danger[aria-busy=true] .viking-btn-label,button.viking-btn-danger[aria-busy=true]::before,button.viking-btn-danger[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-danger[aria-busy=true],a.viking-btn-danger[aria-busy=true],button.viking-btn-danger[aria-busy=true]{cursor:wait}.viking-btn-danger[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.viking-btn-danger[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.viking-btn-danger[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.viking-btn-danger viking-icon,.viking-btn-danger .viking-icon,.viking-btn-danger [data-viking-icon],a.viking-btn-danger viking-icon,a.viking-btn-danger .viking-icon,a.viking-btn-danger [data-viking-icon],button.viking-btn-danger viking-icon,button.viking-btn-danger .viking-icon,button.viking-btn-danger [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.viking-btn-danger .viking-btn-label,a.viking-btn-danger .viking-btn-label,button.viking-btn-danger .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-danger,a.viking-btn-danger,button.viking-btn-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb, var(--viking-danger) 85%, var(--viking-black));box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb, var(--viking-danger) 88%, var(--viking-white));border-color:color-mix(in srgb, var(--viking-danger) 92%, var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),a.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),button.viking-btn-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-danger) 72%, var(--viking-black));background:color-mix(in srgb, var(--viking-danger) 84%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn-ghost,a.viking-btn-ghost,button.viking-btn-ghost{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-ghost:focus-visible,a.viking-btn-ghost:focus-visible,button.viking-btn-ghost:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-ghost::before,a.viking-btn-ghost::before,button.viking-btn-ghost::before{display:none}.viking-btn-ghost::after,a.viking-btn-ghost::after,button.viking-btn-ghost::after{display:none}.viking-btn-ghost:disabled,.viking-btn-ghost[aria-busy=true],a.viking-btn-ghost:disabled,a.viking-btn-ghost[aria-busy=true],button.viking-btn-ghost:disabled,button.viking-btn-ghost[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-ghost[aria-busy=true]::before,.viking-btn-ghost[aria-busy=true] .viking-btn-label,a.viking-btn-ghost[aria-busy=true]::before,a.viking-btn-ghost[aria-busy=true] .viking-btn-label,button.viking-btn-ghost[aria-busy=true]::before,button.viking-btn-ghost[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-ghost[aria-busy=true],a.viking-btn-ghost[aria-busy=true],button.viking-btn-ghost[aria-busy=true]{cursor:wait}.viking-btn-ghost[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.viking-btn-ghost[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.viking-btn-ghost[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.viking-btn-ghost viking-icon,.viking-btn-ghost .viking-icon,.viking-btn-ghost [data-viking-icon],a.viking-btn-ghost viking-icon,a.viking-btn-ghost .viking-icon,a.viking-btn-ghost [data-viking-icon],button.viking-btn-ghost viking-icon,button.viking-btn-ghost .viking-icon,button.viking-btn-ghost [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.viking-btn-ghost .viking-btn-label,a.viking-btn-ghost .viking-btn-label,button.viking-btn-ghost .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-ghost,a.viking-btn-ghost,button.viking-btn-ghost{background:rgba(0,0,0,0);color:var(--viking-text);min-width:auto;box-shadow:none;border-color:rgba(0,0,0,0)}.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-component-hover-bg);color:var(--viking-text);border-color:rgba(0,0,0,0);box-shadow:none}.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),a.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),button.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn-subtle,a.viking-btn-subtle,button.viking-btn-subtle{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-subtle:focus-visible,a.viking-btn-subtle:focus-visible,button.viking-btn-subtle:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-subtle::before,a.viking-btn-subtle::before,button.viking-btn-subtle::before{display:none}.viking-btn-subtle::after,a.viking-btn-subtle::after,button.viking-btn-subtle::after{display:none}.viking-btn-subtle:disabled,.viking-btn-subtle[aria-busy=true],a.viking-btn-subtle:disabled,a.viking-btn-subtle[aria-busy=true],button.viking-btn-subtle:disabled,button.viking-btn-subtle[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-subtle[aria-busy=true]::before,.viking-btn-subtle[aria-busy=true] .viking-btn-label,a.viking-btn-subtle[aria-busy=true]::before,a.viking-btn-subtle[aria-busy=true] .viking-btn-label,button.viking-btn-subtle[aria-busy=true]::before,button.viking-btn-subtle[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-subtle[aria-busy=true],a.viking-btn-subtle[aria-busy=true],button.viking-btn-subtle[aria-busy=true]{cursor:wait}.viking-btn-subtle[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.viking-btn-subtle[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.viking-btn-subtle[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.viking-btn-subtle viking-icon,.viking-btn-subtle .viking-icon,.viking-btn-subtle [data-viking-icon],a.viking-btn-subtle viking-icon,a.viking-btn-subtle .viking-icon,a.viking-btn-subtle [data-viking-icon],button.viking-btn-subtle viking-icon,button.viking-btn-subtle .viking-icon,button.viking-btn-subtle [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.viking-btn-subtle .viking-btn-label,a.viking-btn-subtle .viking-btn-label,button.viking-btn-subtle .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-subtle,a.viking-btn-subtle,button.viking-btn-subtle{background:rgba(0,0,0,0);color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-component-hover-bg);border-color:var(--viking-component-border-hover);box-shadow:none}.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]),a.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]),button.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb, var(--viking-accent-soft) 70%, var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 24%, transparent)}.viking-btn-filled,a.viking-btn-filled,button.viking-btn-filled{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-filled:focus-visible,a.viking-btn-filled:focus-visible,button.viking-btn-filled:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-filled::before,a.viking-btn-filled::before,button.viking-btn-filled::before{display:none}.viking-btn-filled::after,a.viking-btn-filled::after,button.viking-btn-filled::after{display:none}.viking-btn-filled:disabled,.viking-btn-filled[aria-busy=true],a.viking-btn-filled:disabled,a.viking-btn-filled[aria-busy=true],button.viking-btn-filled:disabled,button.viking-btn-filled[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-filled[aria-busy=true]::before,.viking-btn-filled[aria-busy=true] .viking-btn-label,a.viking-btn-filled[aria-busy=true]::before,a.viking-btn-filled[aria-busy=true] .viking-btn-label,button.viking-btn-filled[aria-busy=true]::before,button.viking-btn-filled[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-filled[aria-busy=true],a.viking-btn-filled[aria-busy=true],button.viking-btn-filled[aria-busy=true]{cursor:wait}.viking-btn-filled[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.viking-btn-filled[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.viking-btn-filled[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.viking-btn-filled viking-icon,.viking-btn-filled .viking-icon,.viking-btn-filled [data-viking-icon],a.viking-btn-filled viking-icon,a.viking-btn-filled .viking-icon,a.viking-btn-filled [data-viking-icon],button.viking-btn-filled viking-icon,button.viking-btn-filled .viking-icon,button.viking-btn-filled [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.viking-btn-filled .viking-btn-label,a.viking-btn-filled .viking-btn-label,button.viking-btn-filled .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-filled,a.viking-btn-filled,button.viking-btn-filled{background:var(--viking-surface-recipe-muted, var(--viking-surface-alt));color:var(--viking-text);border-color:var(--viking-border);box-shadow:var(--viking-shadow-xs)}.viking-btn-filled:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-filled:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-filled:hover:not(:disabled):not([aria-busy=true]){border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border));background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface-alt));box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-filled:active:not(:disabled):not([aria-busy=true]),a.viking-btn-filled:active:not(:disabled):not([aria-busy=true]),button.viking-btn-filled:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-btn-press-shadow);border-color:color-mix(in srgb, var(--viking-accent) 20%, var(--viking-border));background:color-mix(in srgb, var(--viking-surface-alt) 84%, var(--viking-accent))}.viking-btn.viking-outline{background:var(--viking-surface-recipe, var(--viking-surface));color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}.viking-btn.viking-outline:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb, var(--viking-accent) 5%, var(--viking-surface-alt));border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-press-shadow)}.viking-btn.viking-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-depth-shadow)}.viking-btn.viking-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn.viking-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));box-shadow:var(--viking-btn-depth-shadow)}.viking-btn.viking-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn.viking-filled{background:var(--viking-surface-recipe-muted, var(--viking-surface-alt));color:var(--viking-text);border-color:var(--viking-border);box-shadow:var(--viking-shadow-xs)}.viking-btn.viking-filled:hover:not(:disabled):not([aria-busy=true]){border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border));background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface-alt));box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-filled:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-btn-press-shadow);border-color:color-mix(in srgb, var(--viking-accent) 20%, var(--viking-border));background:color-mix(in srgb, var(--viking-surface-alt) 84%, var(--viking-accent))}.viking-btn.viking-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb, var(--viking-danger) 85%, var(--viking-black));box-shadow:var(--viking-btn-depth-shadow)}.viking-btn.viking-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb, var(--viking-danger) 88%, var(--viking-white));border-color:color-mix(in srgb, var(--viking-danger) 92%, var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-danger) 72%, var(--viking-black));background:color-mix(in srgb, var(--viking-danger) 84%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn.viking-ghost{background:rgba(0,0,0,0);color:var(--viking-text);min-width:auto;box-shadow:none;border-color:rgba(0,0,0,0)}.viking-btn.viking-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-component-hover-bg);color:var(--viking-text);border-color:rgba(0,0,0,0);box-shadow:none}.viking-btn.viking-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn.viking-subtle{background:rgba(0,0,0,0);color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-btn.viking-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-component-hover-bg);border-color:var(--viking-component-border-hover);box-shadow:none}.viking-btn.viking-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb, var(--viking-accent-soft) 70%, var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 24%, transparent)}.viking-btn.viking-compact{min-width:0}.viking-btn.viking-full{width:100%;min-width:0}.viking-btn-label{display:inline-flex;align-items:center;line-height:inherit}.viking-btn-spinner{flex:0 0 auto;display:inline-block;box-sizing:border-box;width:var(--viking-icon-size-sm, 18px);height:var(--viking-icon-size-sm, 18px);min-width:var(--viking-icon-size-sm, 18px);min-height:var(--viking-icon-size-sm, 18px);aspect-ratio:1;border:2px solid color-mix(in srgb, currentColor 28%, transparent);border-top-color:currentColor;border-radius:var(--viking-radius-pill) !important;animation:viking-spin .8s linear infinite;margin-inline-end:var(--viking-space-0-5);background:rgba(0,0,0,0);box-shadow:none}.viking-stack{display:flex;flex-direction:column;gap:var(--viking-stack-gap, var(--viking-space-6));align-items:var(--viking-stack-align, stretch)}.viking-stack--tight{--viking-stack-gap: var(--viking-space-2)}.viking-stack--compact{--viking-stack-gap: var(--viking-space-3)}.viking-stack--loose{--viking-stack-gap: var(--viking-space-8)}.viking-stack--center{--viking-stack-align: center}.viking-cluster{display:flex;flex-wrap:wrap;gap:var(--viking-cluster-gap, var(--viking-space-2));align-items:var(--viking-cluster-align, center);justify-content:var(--viking-cluster-justify, flex-start)}.viking-cluster--between{--viking-cluster-justify: space-between}.viking-cluster--end{--viking-cluster-justify: flex-end}.viking-cluster--tight{--viking-cluster-gap: var(--viking-space-0-5)}.viking-inline{display:inline-flex;align-items:center;gap:var(--viking-inline-gap, var(--viking-space-0-5))}.viking-inline--wide{--viking-inline-gap: var(--viking-space-1)}.viking-grid{display:grid;gap:var(--viking-grid-gap, var(--viking-layout-column-gap));width:100%;align-items:stretch}.viking-grid--equal-rows,.viking-main-grid--equal-rows{grid-auto-rows:1fr}.viking-grid>*,.viking-main-grid>*{min-width:0}.viking-grid--equal-rows>:where(viking-card,.viking-card,viking-metric-card,.viking-metric-card,viking-chart-panel,.viking-chart-panel,.viking-panel-card,.viking-hud-panel),.viking-main-grid--equal-rows>:where(viking-card,.viking-card,viking-metric-card,.viking-metric-card,viking-chart-panel,.viking-chart-panel,.viking-panel-card,.viking-hud-panel){align-self:stretch;height:100%}.viking-grid--equal-rows>:where(viking-card,.viking-card,viking-metric-card,.viking-metric-card)>:where(.viking-card-footer,viking-card-footer){margin-block-start:auto}.viking-grid--equal-rows>:where(viking-grid-item,.viking-grid-item){display:flex;align-items:stretch;height:100%}.viking-grid--equal-rows>:where(viking-grid-item,.viking-grid-item)>:where(viking-card,.viking-card,viking-metric-card,.viking-metric-card,viking-chart-panel,.viking-chart-panel,.viking-panel-card,.viking-hud-panel){align-self:stretch;height:100%}.viking-grid--tight{--viking-grid-gap: var(--viking-space-2)}.viking-grid--loose{--viking-grid-gap: var(--viking-space-8)}.viking-grid.viking-grid--1,.viking-grid.viking-grid--2,.viking-grid.viking-grid--3,.viking-grid.viking-grid--4,.viking-grid.viking-grid--6{grid-template-columns:1fr}.viking-grid.viking-grid--12{grid-template-columns:repeat(12, minmax(0, 1fr))}.viking-grid-item{display:block;min-width:0;grid-column:1/-1}.viking-grid-item--span-1{grid-column:span 1}.viking-grid-item--span-2{grid-column:span 2}.viking-grid-item--span-3{grid-column:span 3}.viking-grid-item--span-4{grid-column:span 4}.viking-grid-item--span-5{grid-column:span 5}.viking-grid-item--span-6{grid-column:span 6}.viking-grid-item--span-7{grid-column:span 7}.viking-grid-item--span-8{grid-column:span 8}.viking-grid-item--span-9{grid-column:span 9}.viking-grid-item--span-10{grid-column:span 10}.viking-grid-item--span-11{grid-column:span 11}.viking-grid-item--span-12{grid-column:span 12}.viking-grid--12>:not(viking-grid-item):not(.viking-grid-item){grid-column:1/-1}.viking-grid--auto{--viking-grid-item-min: var(--viking-layout-item-default);grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--viking-grid-item-min)), 1fr))}.viking-grid--item-compact{--viking-grid-item-min: var(--viking-layout-item-compact)}.viking-grid--item-wide{--viking-grid-item-min: var(--viking-layout-item-wide)}.viking-column-layout{display:grid;grid-template-columns:minmax(0, 1fr);column-gap:var(--viking-layout-column-gap);row-gap:var(--viking-layout-row-gap);width:100%;min-width:0;align-items:stretch}.viking-column-layout:is(.viking-column-layout--1,.viking-column-layout--2,.viking-column-layout--3,.viking-column-layout--4,.viking-column-layout--auto){display:grid;column-gap:var(--viking-layout-column-gap);row-gap:var(--viking-layout-row-gap)}.viking-column-layout>*{min-width:0}.viking-column-layout--equal-rows{grid-auto-rows:1fr}.viking-column-layout--equal-rows>*{height:100%}.viking-form-grid{align-items:start}.viking-form-grid>*{align-self:start;width:100%}.viking-column-layout--tight{column-gap:var(--viking-space-control-gap);row-gap:var(--viking-space-control-gap)}.viking-column-layout--loose{column-gap:var(--viking-space-section-gap);row-gap:var(--viking-space-section-gap)}.viking-column-layout.viking-column-layout--auto{--viking-column-layout-item-min: var(--viking-layout-item-default);grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--viking-column-layout-item-min)), 1fr))}.viking-column-layout--item-compact{--viking-column-layout-item-min: var(--viking-layout-item-compact)}.viking-column-layout--item-wide{--viking-column-layout-item-min: var(--viking-layout-item-wide)}.viking-switcher{--viking-switcher-gap: var(--viking-space-6);--viking-switcher-item-min: var(--viking-layout-item-default);display:flex;flex-wrap:wrap;gap:var(--viking-switcher-gap);align-items:stretch;width:100%}.viking-switcher>*{flex-grow:1;flex-basis:calc((var(--viking-switcher-item-min) - 100%)*999);min-width:0}.viking-switcher--compact{--viking-switcher-item-min: var(--viking-layout-item-compact)}.viking-switcher--wide{--viking-switcher-item-min: var(--viking-layout-item-wide)}.viking-switcher--tight{--viking-switcher-gap: var(--viking-space-2)}.viking-switcher--loose{--viking-switcher-gap: var(--viking-space-8)}@media(min-width: 768px){.viking-grid.viking-grid--2{grid-template-columns:repeat(2, minmax(0, 1fr))}.viking-grid.viking-grid--3,.viking-grid.viking-grid--4,.viking-grid.viking-grid--6{grid-template-columns:repeat(2, minmax(0, 1fr))}.viking-grid.viking-grid--12{grid-template-columns:repeat(12, minmax(0, 1fr))}.viking-grid-item--span-md-1{grid-column:span 1}.viking-grid-item--span-md-2{grid-column:span 2}.viking-grid-item--span-md-3{grid-column:span 3}.viking-grid-item--span-md-4{grid-column:span 4}.viking-grid-item--span-md-5{grid-column:span 5}.viking-grid-item--span-md-6{grid-column:span 6}.viking-grid-item--span-md-7{grid-column:span 7}.viking-grid-item--span-md-8{grid-column:span 8}.viking-grid-item--span-md-9{grid-column:span 9}.viking-grid-item--span-md-10{grid-column:span 10}.viking-grid-item--span-md-11{grid-column:span 11}.viking-grid-item--span-md-12{grid-column:span 12}.viking-column-layout.viking-column-layout--2,.viking-column-layout.viking-column-layout--3,.viking-column-layout.viking-column-layout--4{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.viking-grid.viking-grid--3{grid-template-columns:repeat(3, minmax(0, 1fr))}.viking-grid.viking-grid--4{grid-template-columns:repeat(4, minmax(0, 1fr))}.viking-grid.viking-grid--6{grid-template-columns:repeat(6, minmax(0, 1fr))}.viking-grid-item--span-lg-1{grid-column:span 1}.viking-grid-item--span-lg-2{grid-column:span 2}.viking-grid-item--span-lg-3{grid-column:span 3}.viking-grid-item--span-lg-4{grid-column:span 4}.viking-grid-item--span-lg-5{grid-column:span 5}.viking-grid-item--span-lg-6{grid-column:span 6}.viking-grid-item--span-lg-7{grid-column:span 7}.viking-grid-item--span-lg-8{grid-column:span 8}.viking-grid-item--span-lg-9{grid-column:span 9}.viking-grid-item--span-lg-10{grid-column:span 10}.viking-grid-item--span-lg-11{grid-column:span 11}.viking-grid-item--span-lg-12{grid-column:span 12}.viking-column-layout.viking-column-layout--3{grid-template-columns:repeat(3, minmax(0, 1fr))}.viking-column-layout.viking-column-layout--4{grid-template-columns:repeat(4, minmax(0, 1fr))}}.viking-grid--1{grid-template-columns:1fr}.viking-divider{border:0;border-top:1px solid var(--viking-border-subtle);margin:var(--viking-space-4) 0}.viking-divider--strong{border-top-color:var(--viking-border)}.viking-main-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-grid-gap, var(--viking-space-4));width:100%;align-items:stretch}@media(min-width: 768px){.viking-main-grid--2{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.viking-main-grid--3{grid-template-columns:repeat(3, minmax(0, 1fr))}}.viking-surface-panel,.glass-panel{background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid color-mix(in srgb, var(--viking-border-strong) 78%, var(--viking-border));border-radius:var(--viking-card-radius, var(--viking-radius-xl));box-shadow:var(--viking-shadow-md);position:relative;overflow:hidden}.viking-surface-panel::before,.glass-panel::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 36%), transparent), transparent);pointer-events:none}.viking-status-dot{display:inline-block;width:var(--viking-space-1);height:var(--viking-space-1);border-radius:var(--viking-radius-pill);background:currentColor;flex-shrink:0}.viking-status-dot--pulse,.telemetry-pulse{position:relative}.viking-status-dot--pulse::after,.telemetry-pulse::after{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:.35;animation:viking-pulse-soft 2s var(--viking-ease-default) infinite;pointer-events:none}@media(prefers-reduced-motion: reduce){.viking-status-dot--pulse::after,.telemetry-pulse::after{animation:none;opacity:.45}}.dashboard-page-container .page-inner-wrapper,.viking-app-page .page-inner-wrapper,.viking-dashboard-page .page-inner-wrapper{gap:var(--viking-page-stack-gap, var(--viking-space-5));flex:1}.viking-dashboard-page .settings-stack,.viking-app-page .settings-stack,.dashboard-page-container .settings-stack{display:grid !important;grid-template-columns:1fr !important;gap:var(--viking-space-5) !important;width:100% !important}.viking-dashboard-page .settings-stack>viking-card,.viking-app-page .settings-stack>viking-card,.dashboard-page-container .settings-stack>viking-card,.viking-dashboard-page .settings-stack>.status-card-outlined,.viking-app-page .settings-stack>.status-card-outlined,.dashboard-page-container .settings-stack>.status-card-outlined{width:100% !important;grid-column:1/-1 !important}.viking-page-stack,.viking-content-stack{display:grid;grid-template-columns:1fr;gap:var(--viking-page-section-gap)}.viking-card{display:grid;gap:var(--viking-card-content-gap, var(--viking-space-3));background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid color-mix(in srgb, var(--viking-border-strong) 86%, var(--viking-border));border-radius:var(--viking-card-radius, var(--viking-radius-lg));box-shadow:var(--viking-shadow-sm);padding:var(--viking-card-padding);color:var(--viking-text);min-width:var(--viking-card-min-width);max-width:var(--viking-card-max-width);align-self:stretch;box-sizing:border-box;position:relative;overflow:clip;transition:var(--viking-transition-interactive)}.viking-card.viking-card-compact,.viking-card--compact{padding:var(--viking-card-padding-compact);gap:var(--viking-card-content-gap-compact, var(--viking-space-2))}.viking-card.viking-card-interactive:hover,.viking-card[data-interactive=true]:hover{border-color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-hover);background:var(--viking-surface-recipe-elevated);transform:translateY(var(--viking-state-hover-lift))}.viking-card.viking-card-interactive:active,.viking-card[data-interactive=true]:active{transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm)}.viking-card.viking-card-interactive:focus-visible,.viking-card[data-interactive=true]:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-card.viking-card-loading{pointer-events:none}.viking-card .viking-card,.viking-card>viking-card,viking-card .viking-card{background:var(--viking-surface-recipe-inset);border-color:var(--viking-border-subtle);box-shadow:var(--viking-shadow-inner)}.viking-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-3);padding-bottom:var(--viking-space-2);margin-bottom:0;border-bottom:1px solid var(--viking-border-subtle)}.viking-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--viking-space-2);padding-top:var(--viking-space-2);margin-top:0;border-top:1px solid var(--viking-border-subtle)}.viking-card-title{display:inline-flex;align-items:center;gap:var(--viking-space-1);flex:1 1 auto;min-width:0}.viking-form-constrained,.viking-form-narrow,.viking-login-form,.login-shell .viking-card,.login-shell form{width:100%;max-width:var(--viking-form-max-width);margin-inline:auto}.viking-form-narrow,.login-shell .viking-card,.login-shell form{max-width:var(--viking-form-narrow-max-width)}.viking-form-constrained .viking-form-section,.viking-form-constrained viking-form-section,.viking-form-narrow .viking-form-section,.viking-form-narrow viking-form-section{max-width:var(--viking-form-max-width)}.viking-readable-prose,.viking-section-lead,.viking-page-header-subtitle{max-width:var(--viking-content-readable-max-width)}.viking-hud-panel,.panel-section,.viking-panel-card,.status-card-outlined,.panel-card{min-width:var(--viking-card-min-width);border-radius:var(--viking-radius-xl);box-shadow:var(--viking-shadow-sm)}.viking-hud-panel-header,.panel-header,.viking-panel-card-header,.card-header-clean{padding:var(--viking-space-4)}.viking-panel-card-body,.card-body-clean,.viking-hud-panel-body,.panel-body{padding:var(--viking-space-4)}.panel-card{padding:var(--viking-space-4)}.viking-metric-card,.metric-card{padding:var(--viking-card-padding-compact);border-radius:var(--viking-radius-xl)}.viking-page-header,.hud-header,.dashboard-topbar{gap:var(--viking-space-5);padding-bottom:var(--viking-space-5);margin-bottom:var(--viking-page-section-gap)}.viking-page-header-sidebar.dashboard-topbar{padding:var(--viking-space-3)}.viking-footer,.mega-footer{padding:var(--viking-space-6) var(--viking-page-gutter-lg)}.viking-metric-row,.hud-metrics{display:grid;grid-template-columns:1fr;gap:var(--viking-dashboard-grid-gap, var(--viking-space-3));margin-bottom:var(--viking-page-section-gap, var(--viking-space-6));width:100%;min-width:0;align-items:stretch;grid-auto-rows:1fr}@media(min-width: 600px){.viking-metric-row,.hud-metrics{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 768px){.viking-metric-row,.hud-metrics{gap:var(--viking-space-4)}}.viking-metric-row>*,.hud-metrics>*{height:100%;min-width:0}.viking-metric-card,.metric-card{display:flex;flex-direction:row;gap:var(--viking-space-3);background:var(--viking-surface-recipe);border:1px solid var(--viking-border-subtle);padding:var(--viking-card-padding-compact, var(--viking-space-4));border-radius:var(--viking-card-radius, var(--viking-radius-xl));min-width:0;min-height:var(--viking-metric-card-min-height);align-items:flex-start;justify-content:flex-start;text-align:left;box-sizing:border-box;overflow:hidden;transition:var(--viking-transition-interactive);box-shadow:var(--viking-shadow-xs)}.viking-metric-card:hover,.metric-card:hover{border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm);transform:translateY(var(--viking-state-hover-lift));background:var(--viking-surface-recipe-elevated)}.viking-metric-card:focus-visible,.metric-card:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-metric-card-tall,.kpi-card{min-height:var(--viking-metric-card-tall-min-height);align-items:stretch;justify-content:flex-start;text-align:left;overflow:hidden}.viking-metric-label,.metric-card .metric-label{font-size:var(--viking-font-size-ui);font-family:var(--viking-font-family);color:var(--viking-text-muted);letter-spacing:.05em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viking-metric-card-copy{display:grid;align-content:start;gap:var(--viking-space-1);min-width:0;flex:1 1 auto}.viking-metric-value,.metric-card .metric-value{font-size:calc(var(--viking-font-size)*1.35);font-weight:700;font-family:var(--viking-font-family);line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viking-metric-card-warning,.metric-card.warning{border-left:3px solid var(--viking-warning)}.viking-metric-card-warning .viking-metric-value,.viking-metric-card-warning .metric-value,.metric-card.warning .viking-metric-value,.metric-card.warning .metric-value{color:var(--viking-warning)}.viking-metric-card-critical,.metric-card.critical{border-left:3px solid var(--viking-danger)}.viking-metric-card-critical .viking-metric-value,.viking-metric-card-critical .metric-value,.metric-card.critical .viking-metric-value,.metric-card.critical .metric-value{color:var(--viking-danger-text, var(--viking-danger))}.viking-hud-panel,.panel-section{background:var(--viking-surface-recipe);border:1px solid var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));display:flex;flex-direction:column;overflow:hidden;min-width:0;transition:var(--viking-transition-interactive)}.viking-hud-panel:hover,.panel-section:hover{border-color:var(--viking-border-strong)}.viking-table-scroll,.table-scroll,.panel-body-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.viking-hud-panel-header,.panel-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--viking-space-2);padding:var(--viking-panel-header-padding, var(--viking-space-3));background:linear-gradient(180deg, color-mix(in srgb, var(--viking-metallic-100) 5%, transparent), transparent),color-mix(in srgb, var(--viking-surface-inset) 32%, transparent);border-bottom:1px solid var(--viking-border)}.viking-hud-panel-title,.panel-header h2{font-size:var(--viking-font-size-ui);font-weight:700;text-transform:uppercase;margin:0;letter-spacing:.05em;flex:1}.viking-panel-card,.status-card-outlined{position:relative;border-radius:var(--viking-card-radius, var(--viking-radius-xl));border:1px solid var(--viking-border);background:var(--viking-surface-recipe);overflow:hidden;box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-interactive)}.viking-panel-card .viking-panel-card,.status-card-outlined .status-card-outlined,.viking-card .viking-card{background:var(--viking-surface-recipe-inset);border-color:var(--viking-border-subtle);box-shadow:var(--viking-shadow-inner)}.viking-panel-card:hover,.status-card-outlined:hover{border-color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-panel-card:focus-visible,.status-card-outlined:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-panel-card::before,.status-card-outlined::before{display:none}.viking-panel-card-header,.card-header-clean{padding:var(--viking-space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-3);border-bottom:1px solid var(--viking-border)}.viking-panel-card-body,.card-body-clean{padding:var(--viking-space-4)}.status-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-3);padding:var(--viking-space-3) 0;margin-bottom:var(--viking-space-4);border-bottom:1px solid var(--viking-border)}.status-bar-metric{display:inline-flex;align-items:center;gap:var(--viking-space-1);padding:var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius-pill);background:color-mix(in srgb, var(--viking-surface-alt) 82%, var(--viking-surface));font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text)}.status-bar-metric-dot{width:var(--viking-space-1);height:var(--viking-space-1);border-radius:50%;background:var(--viking-accent)}.viking-page-header,.hud-header,.dashboard-topbar{display:grid;grid-template-columns:minmax(0, 1fr);align-items:end;gap:var(--viking-space-content-gap);padding-bottom:var(--viking-space-container-gap);margin-bottom:var(--viking-space-section-gap);border-bottom:var(--viking-border-width) var(--viking-border-style) var(--viking-border-subtle)}.viking-page-header-sidebar.dashboard-topbar{padding:var(--viking-panel-padding, var(--viking-space-3))}.viking-page-header-main,.title-group.topbar-left{display:flex;flex-direction:column;align-items:flex-start;gap:var(--viking-space-control-gap);min-width:0;flex:1 1 min(100%,36rem)}.viking-page-header-title-block{display:flex;flex-direction:column;align-items:flex-start;gap:var(--viking-space-1);width:100%;min-width:0}.viking-page-back-link-host{flex-shrink:0}.viking-page-header-title,.hud-title,.page-title{margin:0;font-size:clamp(var(--viking-font-size-xl),2.5vw,var(--viking-font-size-2xl));font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text);line-height:var(--viking-line-height-tight)}.viking-page-header-subtitle,.hud-subtitle,.page-description{margin:var(--viking-space-1) 0 0;font-size:var(--viking-font-size);color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed);max-width:var(--viking-content-readable-max-width)}.viking-page-header-actions,.topbar-right{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:flex-end;gap:var(--viking-space-2);flex-shrink:0;min-width:0;margin-left:auto}@media(min-width: 768px){.viking-page-header,.hud-header,.dashboard-topbar{grid-template-columns:minmax(0, 1fr) auto}}.viking-empty-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--viking-space-6) var(--viking-space-4);text-align:center;color:var(--viking-text-muted);gap:var(--viking-space-2);animation:viking-fade-in var(--viking-duration) var(--viking-ease-default)}.status-card-outlined:has(.chart-custom-header) .chart-custom-header,.status-card-outlined:has(.chart-custom-header) viking-chart-card-header,.viking-chart-panel:has(viking-chart-card-header) .chart-custom-header,.viking-chart-panel:has(viking-chart-card-header) viking-chart-card-header{border-bottom:1px solid var(--viking-border-subtle);padding:var(--viking-space-3) var(--viking-space-4) var(--viking-space-2);margin-bottom:0}.viking-chart-panel-body viking-chart,.viking-chart-panel-body .viking-chart-large,.viking-chart-panel-body .viking-chart-medium{flex:0 0 auto;display:flex;width:100%;min-height:0;height:auto}.chart-container-large{min-height:0}.chart-container-medium{min-height:0}.viking-chart-empty,.empty-chart-state,.panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--viking-chart-empty-padding, var(--viking-space-5) var(--viking-space-4));gap:var(--viking-chart-empty-gap, var(--viking-space-3));animation:viking-fade-in var(--viking-duration) var(--viking-ease-default)}.viking-chart-empty.compact,.empty-chart-state.compact,.panel-empty.compact{min-height:var(--viking-space-14);padding:var(--viking-space-3)}.viking-chart-empty.inline,.empty-chart-state.inline,.panel-empty.inline{min-height:auto;background:var(--viking-surface-alt);border:none;box-shadow:none}.viking-chart-empty.is-secure .empty-icon,.viking-chart-empty.is-secure viking-app-icon,.empty-chart-state.is-secure .empty-icon,.empty-chart-state.is-secure viking-app-icon,.panel-empty.is-secure .empty-icon,.panel-empty.is-secure viking-app-icon{background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-chart-empty .empty-icon,.viking-chart-empty viking-app-icon,.empty-chart-state .empty-icon,.empty-chart-state viking-app-icon,.panel-empty .empty-icon,.panel-empty viking-app-icon{display:flex;align-items:center;justify-content:center;width:var(--viking-space-6);height:var(--viking-space-6);border-radius:var(--viking-radius-lg);background:var(--viking-accent-soft);color:var(--viking-accent-strong);margin-bottom:var(--viking-space-2);font-size:var(--viking-font-size-3xl)}.viking-chart-empty .empty-title,.viking-chart-empty h3,.empty-chart-state .empty-title,.empty-chart-state h3,.panel-empty .empty-title,.panel-empty h3{margin:0 0 var(--viking-space-1) 0;font-size:var(--viking-font-size-md);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text);line-height:var(--viking-line-height-tight)}.viking-chart-empty .empty-subtitle,.viking-chart-empty p,.empty-chart-state .empty-subtitle,.empty-chart-state p,.panel-empty .empty-subtitle,.panel-empty p{margin:0;font-size:var(--viking-font-size);color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed);max-width:28rem}.viking-list-empty,.empty-data-text{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--viking-space-5) var(--viking-space-4);gap:var(--viking-space-1);color:var(--viking-text-muted);font-size:var(--viking-font-size);line-height:var(--viking-line-height-relaxed);background:var(--viking-surface-recipe-muted, var(--viking-surface-alt));border-top:1px solid var(--viking-border-subtle)}.viking-list-empty .empty-icon,.viking-list-empty viking-app-icon,.empty-data-text .empty-icon,.empty-data-text viking-app-icon{display:flex;align-items:center;justify-content:center;width:var(--viking-space-5);height:var(--viking-space-5);border-radius:var(--viking-radius-md);background:var(--viking-accent-soft);color:var(--viking-accent-strong);font-size:var(--viking-font-size-2xl);margin-bottom:var(--viking-space-2)}.viking-list-empty .empty-title,.empty-data-text .empty-title{margin:0 0 var(--viking-space-1) 0;font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text)}.viking-list-empty .empty-subtitle,.empty-data-text .empty-subtitle{margin:0;max-width:24rem}.panel-card{padding:var(--viking-panel-padding, var(--viking-space-3));border-radius:var(--viking-radius-lg);border:1px solid var(--viking-border);background:var(--viking-surface)}.status-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--viking-space-6) var(--viking-space-4);margin-top:var(--viking-space-4);background:var(--viking-surface-alt);border-radius:var(--viking-radius-lg);gap:var(--viking-space-2);animation:viking-fade-in var(--viking-duration) var(--viking-ease-default)}@media(min-width: 600px){.status-error-state{padding:var(--viking-space-7) var(--viking-space-4)}}.status-error-state .error-state-icon,.status-error-state viking-app-icon{display:flex;align-items:center;justify-content:center;width:var(--viking-space-7);height:var(--viking-space-7);border-radius:var(--viking-radius-lg);background:color-mix(in srgb, var(--viking-danger) 14%, transparent);color:var(--viking-danger);border:1px solid color-mix(in srgb, var(--viking-danger) 28%, transparent);font-size:var(--viking-font-size-4xl);margin-bottom:var(--viking-space-1);box-shadow:var(--viking-shadow-sm)}.status-error-state .error-title{margin:0;font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-bold);color:var(--viking-text);letter-spacing:var(--viking-letter-spacing-tight)}.status-error-state .error-subtitle{margin:0 0 var(--viking-space-2);font-size:var(--viking-font-size);line-height:var(--viking-line-height-relaxed);color:var(--viking-text-muted);max-width:26rem}.status-error-state .retry-btn{font-weight:var(--viking-font-weight-bold)}.viking-loader-state,.loader-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--viking-space-6) var(--viking-space-4);gap:var(--viking-space-2);color:var(--viking-text-muted);animation:viking-fade-in var(--viking-duration) var(--viking-ease-default)}.viking-dashboard-layout,.dashboard-layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr;width:100%;min-height:calc(100vh - 64px)}@media(min-width: 1024px){.viking-dashboard-layout,.dashboard-layout{grid-template-columns:auto 1fr}}.viking-dashboard-main,.dashboard-main{display:grid;grid-template-columns:1fr;min-width:0;padding:var(--viking-space-2) var(--viking-page-gutter);box-sizing:border-box}@media(min-width: 768px){.viking-dashboard-main,.dashboard-main{padding:var(--viking-space-3) var(--viking-page-gutter-lg)}}@media(min-width: 1024px){.viking-dashboard-main,.dashboard-main{padding:var(--viking-space-4) var(--viking-page-gutter-lg)}}.overview-grid,.detail-grid,.triage-grid,.soc-operations-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-dashboard-grid-gap, var(--viking-space-4));width:100%;min-width:0}.overview-grid>*,.detail-grid>*,.triage-grid>*,.soc-operations-grid>*,.ces-gauge-cluster>*,.dashboard-grid>*{min-width:0}.triage-grid>.col-span-1,.triage-grid>.col-span-2,.triage-grid>.col-span-3,.triage-grid>.col-span-4,.triage-grid>.col-span-md-1,.triage-grid>.col-span-md-2,.triage-grid>.col-span-md-3,.triage-grid>.col-span-md-4,.triage-grid>.col-span-md-5,.triage-grid>.col-span-md-6,.triage-grid>.col-span-md-7,.triage-grid>.col-span-md-8,.triage-grid>.col-span-md-9,.triage-grid>.col-span-md-10,.triage-grid>.col-span-md-11,.triage-grid>.col-span-md-12{grid-column:1/-1}.ces-gauge-cluster>.col-span-1,.ces-gauge-cluster>.col-span-2,.ces-gauge-cluster>.col-span-3,.ces-gauge-cluster>.col-span-4,.ces-gauge-cluster>.col-span-md-1,.ces-gauge-cluster>.col-span-md-2,.ces-gauge-cluster>.col-span-md-3,.ces-gauge-cluster>.col-span-md-4,.ces-gauge-cluster>.col-span-md-5,.ces-gauge-cluster>.col-span-md-6,.ces-gauge-cluster>.col-span-md-7,.ces-gauge-cluster>.col-span-md-8,.ces-gauge-cluster>.col-span-md-9,.ces-gauge-cluster>.col-span-md-10,.ces-gauge-cluster>.col-span-md-11,.ces-gauge-cluster>.col-span-md-12{grid-column:auto}.setup-banner,.col-span-full{grid-column:1/-1}.setup-banner{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-3);padding:var(--viking-card-padding, var(--viking-space-4));border:1px solid var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));background:var(--viking-surface-recipe);box-shadow:var(--viking-shadow-sm)}.setup-banner-content{display:flex;align-items:flex-start;gap:var(--viking-space-2);min-width:0}.setup-banner p{margin:var(--viking-space-1) 0 0;color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed)}.kpi-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-dashboard-grid-gap, var(--viking-space-3));min-width:0}.health-card,.kpi-card,.overview-panel,.chart-panel,.security-panel,.queue-panel,.detail-panel,.soc-panel{width:100%;min-width:0}.health-card{align-content:center}.health-value{font-size:var(--viking-font-size-display);font-weight:var(--viking-font-weight-bold);line-height:var(--viking-line-height-tight)}.health-label,.health-caption,.kpi-label,.kpi-subtitle{color:var(--viking-text-muted)}.health-caption{margin:0;line-height:var(--viking-line-height-relaxed)}.kpi-label{font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase}.kpi-value{font-size:clamp(var(--viking-font-size-xl),5vw,var(--viking-font-size-3xl));font-weight:var(--viking-font-weight-bold);line-height:var(--viking-line-height-tight);overflow-wrap:anywhere}.kpi-sparkline-slot{min-height:var(--viking-space-5);min-width:0}.panel-header,.snapshot-stats,.panel-title-group,.detail-actions,.soc-header-actions{min-width:0}.snapshot-stats{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-2)}.snapshot-stat{min-width:0}.snapshot-label{display:block;color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snapshot-value{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width: 600px){.setup-banner{flex-direction:row;align-items:center;justify-content:space-between}.kpi-grid,.snapshot-stats,.soc-operations-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 768px){.triage-grid{grid-template-columns:repeat(12, minmax(0, 1fr))}.triage-grid>.col-span-md-4{grid-column:span 4}.triage-grid>.col-span-md-8{grid-column:span 8}}@media(min-width: 1440px){.detail-grid{grid-template-columns:minmax(0, 1fr)}}@media(min-width: 1024px){.soc-operations-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}.metrics-overview-header{display:flex;flex-direction:column;gap:var(--viking-space-2);margin-bottom:var(--viking-page-stack-gap, var(--viking-space-5))}.metrics-overview-header>.section-title-premium,.metrics-overview-header>.section-description-premium{margin:0}.metrics-section-spacing{margin-top:var(--viking-page-stack-gap, var(--viking-space-5))}.section-title-premium{display:flex;align-items:center;gap:var(--viking-space-2);font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-bold, 700);letter-spacing:var(--viking-letter-spacing-tight, -0.01em);color:var(--viking-text, var(--text-color));margin:0 0 var(--viking-space-2) 0}.section-title-premium viking-app-icon,.section-title-premium viking-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-space-3);height:var(--viking-space-3);border-radius:var(--viking-radius-sm);background:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 14%, transparent));color:var(--viking-accent-strong, var(--viking-accent));flex-shrink:0}.section-description-premium{font-size:var(--viking-font-size);line-height:var(--viking-line-height-relaxed);color:var(--viking-text-muted, var(--text-muted));margin:0 0 var(--viking-space-4) 0;max-width:var(--viking-content-readable-max-width, 42rem)}.ml-stat-panels-row,.stat-panels-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-dashboard-grid-gap, var(--viking-space-4));margin-bottom:var(--viking-page-stack-gap, var(--viking-space-5))}@media(min-width: 600px){.ml-stat-panels-row,.stat-panels-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.ml-stat-panels-row,.stat-panels-grid{gap:var(--viking-space-4)}}.ml-stat-panel{background:var(--viking-surface-recipe);border:1px solid var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));padding:var(--viking-card-padding-compact, var(--viking-space-4));display:flex;justify-content:space-between;align-items:center;transition:var(--viking-transition-interactive);min-width:0;box-shadow:var(--viking-shadow-sm)}.ml-stat-panel:hover{box-shadow:var(--viking-shadow-md);border-color:var(--viking-accent-strong)}.ml-stat-panel.viking-stat-alert{border-color:var(--viking-danger);border-left:3px solid var(--viking-danger)}.ml-stat-panel.viking-stat-alert .stat-value{color:var(--viking-danger-text, var(--viking-danger))}.stat-info{display:flex;align-items:center;gap:var(--viking-space-2);min-width:0}.stat-title{font-weight:var(--viking-font-weight-semibold, 600);font-size:var(--viking-font-size-sm);letter-spacing:var(--viking-letter-spacing-caps, 0.04em);text-transform:uppercase;color:var(--viking-text-muted, var(--text-muted));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-value{font-size:calc(var(--viking-font-size)*1.35);font-weight:var(--viking-font-weight-bold, 700);color:var(--viking-accent-strong, var(--viking-accent));letter-spacing:var(--viking-letter-spacing-tight, -0.02em);line-height:var(--viking-line-height-tight, 1.2);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-unit{font-size:var(--viking-font-size-md);color:var(--viking-text-muted, var(--text-muted));font-weight:var(--viking-font-weight-medium, 500)}.status-directory-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-8);width:100%}.status-directory-grid>*{min-width:0}.status-directory-card,app-status-card.status-directory-card{display:block;width:100%;min-width:0;border-radius:var(--viking-card-radius, var(--viking-radius-xl));border:1px solid var(--viking-border);background:var(--viking-surface-recipe);padding:var(--viking-space-5);box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-interactive)}.status-error-state.status-directory-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--viking-space-2)}.status-directory-card:hover,app-status-card.status-directory-card:hover{border-color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.status-directory-card:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.status-card-actions,.status-card-footer-action,.status-incidents-list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2);min-width:0}.status-card-actions{justify-content:space-between;padding:var(--viking-space-2) 0 0;border-top:1px solid color-mix(in srgb, var(--viking-border-strong) 48%, transparent);margin-top:var(--viking-space-2)}.status-card-footer-action{padding-top:var(--viking-space-3);margin-top:var(--viking-space-2);border-top:1px solid color-mix(in srgb, var(--viking-border-strong) 48%, transparent)}.status-incidents-list{flex-direction:column;align-items:stretch;margin-top:var(--viking-space-2);gap:var(--viking-space-2)}.status-incidents-list viking-card{background:color-mix(in srgb, var(--viking-surface-alt) 88%, var(--viking-surface));border-color:color-mix(in srgb, var(--viking-border) 72%, transparent)}.status-page-section{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-space-2)}.status-page-section+.status-page-section{margin-top:var(--viking-space-4);padding-top:var(--viking-space-3);border-top:1px solid var(--viking-border-subtle)}.status-summary-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-2);width:100%;min-width:0;padding:var(--viking-space-2)}.status-summary-grid>*{width:100%;min-width:0}.status-summary-grid .viking-status-metric-row{margin-bottom:0}.status-summary-grid:not(:last-of-type){margin-bottom:var(--viking-space-2)}.status-summary-grid[data-section-title]::before{content:attr(data-section-title);display:block;padding:var(--viking-space-1) 0;margin-bottom:var(--viking-space-1);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text-muted)}@media(min-width: 768px){.status-summary-grid:not(.status-summary-grid-single){grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1440px){.status-directory-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}viking-card.status-section-card{gap:var(--viking-space-3)}viking-card.status-section-card viking-heading{margin:0}viking-card.status-metric-grid-card{display:grid;grid-template-columns:minmax(0, 1fr);align-items:stretch}viking-card.status-metric-grid-card>viking-heading,viking-card.status-metric-grid-card>p{grid-column:1/-1}@media(min-width: 768px){viking-card.status-metric-grid-card{grid-template-columns:repeat(2, minmax(0, 1fr))}}viking-card.status-metric-grid-card viking-status-metric-row{height:100%}viking-card.uptime-history-card{display:flex;flex-direction:column;gap:var(--viking-space-3)}.uptime-bar,.viking-uptime-history{display:flex;flex-direction:column;gap:var(--viking-space-2);width:100%;min-width:0}.uptime-bar-visual{display:flex;gap:calc(var(--viking-space-0-5)/2);width:100%;min-width:0;height:var(--viking-space-3);padding:var(--viking-space-0-5);border-radius:var(--viking-radius-full);overflow:hidden;background:var(--viking-surface-inset);box-sizing:border-box}.uptime-bar-segment{flex:1 1 0;min-width:3px;border-radius:var(--viking-radius-pill)}.uptime-bar-up,.uptime-bar-operational{background:var(--viking-success)}.uptime-bar-degraded,.uptime-bar-partial_outage{background:var(--viking-warning)}.uptime-bar-down,.uptime-bar-major_outage{background:var(--viking-danger)}.uptime-bar-no_data{background:var(--viking-text-muted);opacity:.35}.uptime-bar-legend{display:flex;justify-content:space-between;font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}viking-card.monitored-services-card{background:color-mix(in srgb, var(--viking-surface-recipe, var(--viking-surface)) 88%, var(--viking-accent) 12%)}.status-panel-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-page-section-gap, var(--viking-space-6));width:100%;min-width:0}@media(min-width: 768px){.status-panel-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}.status-panel-grid>*{width:100%;min-width:0}.status-chart-panel{display:flex;flex-direction:column;gap:var(--viking-space-3);width:100%;min-width:0}.status-chart-panel viking-chart,.status-chart-panel .viking-chart{width:100%;min-width:0;padding-top:var(--viking-space-1)}.status-overview-section{display:flex;flex-direction:column;gap:var(--viking-page-section-gap, var(--viking-space-6));width:100%;min-width:0}.status-hero-callout{border-color:color-mix(in srgb, var(--viking-accent-strong) 48%, var(--viking-border))}.ces-meter-section{margin-bottom:var(--viking-space-4)}.ces-gauge-cluster{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-3, var(--grid-gap));width:100%;min-width:0}@media(min-width: 600px){.ces-gauge-cluster{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 768px){.ces-gauge-cluster{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1440px){.ces-gauge-cluster{grid-template-columns:repeat(2, minmax(0, 1fr))}}.gauge-card{position:relative;width:100%;min-width:0;background:var(--viking-surface-recipe, var(--viking-surface));border:var(--viking-border-width) var(--viking-border-style) var(--viking-border);border-radius:var(--viking-radius-lg);padding:var(--viking-card-padding, var(--viking-space-3));display:flex;flex-direction:column;align-items:center;box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-interactive);overflow:hidden}.gauge-card::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none}.gauge-card:hover{box-shadow:var(--viking-shadow-md);border-color:var(--viking-border-strong)}.gauge-card-header{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--viking-space-3);padding-bottom:var(--viking-space-1);border-bottom:1px solid var(--viking-border-subtle)}.gauge-card-header h3{font-size:var(--viking-font-size-md);font-weight:var(--viking-font-weight-semibold, 600);color:var(--viking-text, var(--text-color));margin:0}.gauge-card-header viking-app-icon,.gauge-card-header viking-icon{color:var(--viking-text-muted, var(--text-muted))}.gauge-card-footer{width:100%;margin-top:var(--viking-space-3);padding-top:var(--viking-space-2);border-top:1px solid var(--viking-border-subtle);font-size:var(--viking-font-size);color:var(--viking-text-muted, var(--text-muted));display:flex;align-items:center;justify-content:center;gap:var(--viking-space-1)}.gauge-card-footer viking-app-icon,.gauge-card-footer viking-icon{color:var(--viking-warning, var(--color-warning))}.gauge-wrapper{display:flex;flex-direction:column;align-items:center;position:relative;width:100%}.gauge-center-text{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;width:100%}.gauge-center-text.threat-text{color:var(--viking-accent)}.gauge-center-text.main-text{color:var(--viking-danger, var(--color-gauge-red))}.gauge-center-text.stability-text{color:var(--viking-accent, var(--color-primary))}.gauge-center-text.temporal-text{color:var(--viking-warning, var(--color-gold))}.gauge-center-text.honeypot-text{color:var(--viking-danger, var(--color-gauge-red))}.gauge-center-text.benchmark-text{color:var(--viking-accent, var(--color-primary))}.gauge-center-text .unit{font-size:var(--viking-font-size-sm);margin-bottom:var(--viking-space-1);color:var(--viking-text-muted, var(--text-muted));text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-caps, 0.1em)}.gauge-center-text .value{font-size:calc(var(--viking-font-size)*2.25);line-height:var(--viking-line-height-tight, 1);color:var(--viking-text, var(--text-color));font-weight:var(--viking-font-weight-bold, 700)}.gauge-center-text .value .unit-symbol{font-size:var(--viking-font-size-md);font-weight:var(--viking-font-weight-medium, 500);color:var(--viking-text-muted, var(--text-muted))}html[data-theme=light] .gauge-card,html[data-theme=light] .ml-stat-panel{background:var(--viking-surface-recipe, var(--viking-surface))}.viking-page-shell,.page-inner-wrapper,.viking-page-container{width:100%;max-width:var(--viking-container-max-width, var(--container-max-width, 1260px));margin-inline:auto;padding-inline:var(--viking-page-gutter, var(--viking-space-2));padding-block:var(--viking-space-6, var(--viking-space-6)) var(--viking-space-8, var(--viking-space-8));box-sizing:border-box;display:grid;grid-template-columns:1fr;gap:var(--viking-page-stack-gap, var(--viking-space-6))}.viking-page-shell>*,.page-inner-wrapper>*,.viking-page-container>*{min-width:0}.dashboard-page-container .page-inner-wrapper,.dashboard-page-container .viking-page-container,.viking-app-page .page-inner-wrapper,.viking-dashboard-page .page-inner-wrapper{max-width:var(--viking-container-max-width-wide, 1440px);padding-block:var(--viking-space-3) var(--viking-space-5);padding-inline:var(--viking-page-gutter)}@media(min-width: 600px){.dashboard-page-container .page-inner-wrapper,.dashboard-page-container .viking-page-container,.viking-app-page .page-inner-wrapper,.viking-dashboard-page .page-inner-wrapper{padding-block:var(--viking-space-4) var(--viking-space-6);padding-inline:var(--viking-page-gutter-lg)}}@media(min-width: 1440px){.dashboard-page-container .page-inner-wrapper,.dashboard-page-container .viking-page-container,.viking-app-page .page-inner-wrapper,.viking-dashboard-page .page-inner-wrapper{padding-inline:var(--viking-page-gutter-xl)}}.dashboard-page-container>.dashboard-content-area>.page-inner-wrapper{width:100%;max-width:var(--viking-container-max-width, 1260px);margin-inline:auto;box-sizing:border-box}@media(min-width: 1440px){.viking-page-shell,.page-inner-wrapper,.viking-page-container,.viking-section-inner{padding-inline:var(--viking-page-gutter-xl, var(--viking-space-7))}}.viking-section{display:block;width:100%;padding-block:var(--viking-section-padding-y, var(--viking-space-10))}.viking-content-stack{display:grid;grid-template-columns:1fr;gap:var(--viking-page-section-gap, var(--viking-space-6, var(--space-6, var(--viking-space-6))));width:100%}.viking-content-stack--tight{gap:var(--viking-page-stack-gap, var(--viking-space-4, var(--space-4, var(--viking-space-4))))}.viking-section--compact{padding-block:var(--viking-section-padding-y-compact, var(--viking-space-4, var(--space-4, var(--viking-space-4))))}.viking-section--hero{padding-block:var(--viking-space-8, var(--space-8, var(--viking-space-8))) var(--viking-space-6, var(--space-6, var(--viking-space-6)))}@media(min-width: 768px){.viking-section--hero{padding-block:var(--viking-space-10) var(--viking-space-8, var(--viking-space-8))}}.viking-section-inner{width:100%;max-width:var(--viking-container-max-width, var(--container-max-width, 1260px));margin-inline:auto;padding-inline:var(--viking-page-gutter, var(--viking-space-4, var(--viking-space-4)));box-sizing:border-box}.viking-section-header{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);margin-bottom:var(--viking-page-section-gap, var(--viking-space-8));max-width:48rem}.viking-section-title{margin:0 0 var(--viking-space-3) 0;font-family:var(--viking-font-family);font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text)}.viking-section-lead{margin:0 0 var(--viking-space-4) 0;font-family:var(--viking-font-family);font-size:var(--viking-font-size);line-height:var(--viking-line-height-relaxed);color:var(--viking-text-muted)}.viking-cta-row{display:flex;flex-direction:column;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:var(--viking-space-2);width:100%;max-width:100%;box-sizing:border-box}@media(min-width: 600px){.viking-cta-row{flex-direction:row;align-items:center;gap:var(--viking-space-3);width:auto;max-width:100%}}.viking-cta-row .viking-btn,.viking-cta-row a.viking-btn,.viking-cta-row a.cta-button{display:inline-flex;justify-content:center;box-sizing:border-box;width:100%;min-width:0;min-height:var(--viking-touch-target-min, var(--viking-control-height))}@media(min-width: 600px){.viking-cta-row .viking-btn,.viking-cta-row a.viking-btn,.viking-cta-row a.cta-button{width:auto;min-width:var(--viking-btn-min-width, var(--btn-min-width, 120px));min-height:var(--viking-control-height);flex:0 1 auto}}.viking-app-layout{position:relative;display:grid;grid-template-columns:minmax(0, 1fr);min-height:100%;width:100%}.viking-app-layout__main{display:grid;grid-template-rows:auto minmax(0, 1fr) auto;min-width:0;min-height:calc(100vh - var(--viking-navbar-height))}.viking-app-layout__sidebar,.viking-app-layout__tools{position:fixed;inset-block:var(--viking-navbar-height) 0;z-index:var(--viking-z-overlay);display:block;width:min(var(--viking-sidebar-width),100vw - var(--viking-space-8));overflow-y:auto;background:var(--viking-surface);box-shadow:var(--viking-shadow-lg);transition:transform var(--viking-duration) var(--viking-ease-emphasized)}.viking-app-layout__sidebar{inset-inline-start:0;border-right:1px solid var(--viking-border-container);transform:translateX(-100%)}.viking-app-layout__sidebar--open{transform:translateX(0)}.viking-app-layout__tools{inset-inline-end:0;width:min(var(--viking-trailing-width),100vw - var(--viking-space-8));border-left:1px solid var(--viking-border-container);transform:translateX(100%)}.viking-app-layout__tools--open{transform:translateX(0)}.viking-app-layout__header,.viking-app-layout__content,.viking-app-layout__footer{padding-inline:var(--viking-page-gutter)}.viking-app-layout__notifications:empty,.viking-app-layout__breadcrumbs:empty{display:none}.viking-app-layout__notifications,.viking-app-layout__breadcrumbs{min-width:0}.viking-app-layout__drawer{position:fixed;inset-block:var(--viking-navbar-height) 0;inset-inline-end:0;z-index:calc(var(--viking-z-overlay) + 1);display:flex;flex-direction:column;width:min(var(--viking-trailing-width),100vw - var(--viking-space-8));color:var(--viking-text);background:var(--viking-surface-container);border-left:1px solid var(--viking-border-container);box-shadow:var(--viking-shadow-lg)}.viking-app-layout__drawer-header,.viking-app-layout__split-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-control-gap);min-height:var(--viking-touch-target-min);padding:var(--viking-space-control-gap) var(--viking-space-content-gap);color:var(--viking-text-heading);font:var(--viking-type-label);border-bottom:1px solid var(--viking-border-divider)}.viking-app-layout__drawer-body,.viking-app-layout__split-panel-body{min-width:0;padding:var(--viking-space-content-gap);overflow:auto}.viking-app-layout__drawer-body{flex:1 1 auto}.viking-app-layout__split-panel{display:none;min-width:0;color:var(--viking-text);background:var(--viking-surface-container);border-top:1px solid var(--viking-border-container);box-shadow:var(--viking-shadow-lg)}.viking-app-layout__split-panel--open{display:flex;flex-direction:column}.viking-app-layout--split-panel-compact .viking-app-layout__split-panel{height:var(--viking-split-panel-height-compact)}.viking-app-layout--split-panel-default .viking-app-layout__split-panel{height:var(--viking-split-panel-height-default)}.viking-app-layout--split-panel-large .viking-app-layout__split-panel{height:var(--viking-split-panel-height-large)}.viking-app-layout__header{display:flex;align-items:center;gap:var(--viking-space-2);padding-block:var(--viking-space-3);border-bottom:1px solid var(--viking-border-divider)}.viking-app-layout__header-content{flex:1 1 auto;min-width:0}.viking-app-layout__toggle{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-touch-target-min);height:var(--viking-touch-target-min);padding:0;color:var(--viking-text);background:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:var(--viking-radius);cursor:pointer;transition:var(--viking-transition-colors)}.viking-app-layout__toggle:hover{color:var(--viking-accent-strong);border-color:var(--viking-accent-strong)}.viking-app-layout__toggle:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-app-layout__content{display:grid;flex:1 1 auto;grid-template-columns:minmax(0, 1fr);gap:var(--viking-page-stack-gap);padding-block:var(--viking-space-2)}.viking-app-layout__footer{padding-block:var(--viking-space-3);border-top:1px solid var(--viking-border-divider)}.viking-app-layout--compact .viking-app-layout__content{--viking-page-stack-gap: var(--viking-space-3)}.viking-app-layout--loose .viking-app-layout__content{--viking-page-stack-gap: var(--viking-space-8)}.viking-app-layout__scrim{position:fixed;inset:0;z-index:calc(var(--viking-z-overlay) - 1);padding:0;background:var(--viking-overlay-backdrop);border:0}.viking-page-template{display:block;width:100%}.viking-page-template__inner{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-page-stack-gap);width:min(100%,var(--viking-container-max-width));margin-inline:auto;padding-inline:var(--viking-page-gutter);box-sizing:border-box}.viking-page-template__header{display:grid;grid-template-columns:minmax(0, 1fr);align-items:flex-start;gap:var(--viking-space-content-gap);padding-block-end:var(--viking-space-3);border-bottom:1px solid var(--viking-border-divider)}.viking-page-template__heading{flex:1 1 var(--viking-layout-item-default);min-width:0}.viking-page-template__actions{display:flex;flex:0 1 auto;flex-wrap:wrap;gap:var(--viking-space-2);align-items:center;justify-content:flex-end}.viking-page-template__content{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-container-gap);min-width:0}.viking-page-template__footer{padding-block-start:var(--viking-space-3);border-top:1px solid var(--viking-border-divider)}.viking-page-template--narrow .viking-page-template__inner{width:min(100%,var(--viking-content-readable-max-width))}.viking-page-template--wide .viking-page-template__inner{width:min(100%,var(--viking-container-wide-max-width))}.viking-page-template--full .viking-page-template__inner{width:100%;max-width:none}.viking-page-template--compact .viking-page-template__inner{gap:var(--viking-space-4)}.viking-page-template--compact .viking-page-template__content{gap:var(--viking-space-4)}.viking-page-template--loose .viking-page-template__inner{gap:var(--viking-space-8)}.viking-page-template--loose .viking-page-template__content{gap:var(--viking-space-8)}.viking-content-layout{display:block;width:100%;min-width:0}.viking-content-layout__inner{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-section-gap);width:min(100%,var(--viking-container-max-width));margin-inline:auto;padding-inline:var(--viking-page-gutter);box-sizing:border-box}.viking-content-layout__breadcrumbs:empty,.viking-content-layout__notifications:empty,.viking-content-layout__actions:empty,.viking-content-layout__footer:empty{display:none}.viking-content-layout__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--viking-space-content-gap);padding-block-end:var(--viking-space-content-gap);border-bottom:1px solid var(--viking-border-divider)}.viking-content-layout__header:not(:has(.viking-content-layout__heading>*)){display:none}.viking-content-layout__heading{flex:1 1 var(--viking-layout-item-default);min-width:0}.viking-content-layout__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--viking-space-control-gap)}.viking-content-layout__body{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-section-gap);min-width:0}.viking-content-layout--readable .viking-content-layout__inner,.viking-content-layout--documentation .viking-content-layout__inner,.viking-content-layout--form .viking-content-layout__inner{width:min(100%,var(--viking-content-readable-max-width))}.viking-content-layout--wide .viking-content-layout__inner,.viking-content-layout--dashboard .viking-content-layout__inner{width:min(100%,var(--viking-container-wide-max-width))}.viking-content-layout--full .viking-content-layout__inner,.viking-content-layout--collection .viking-content-layout__inner{width:100%;max-width:none}.viking-content-layout--compact .viking-content-layout__inner,.viking-content-layout--compact .viking-content-layout__body{gap:var(--viking-space-container-gap)}.viking-content-layout--loose .viking-content-layout__inner,.viking-content-layout--loose .viking-content-layout__body{gap:var(--viking-space-page-gap)}.viking-content-layout--header-high-contrast .viking-content-layout__header{padding:var(--viking-space-container-gap);color:var(--viking-text-on-header);background:var(--viking-surface-header);border-color:var(--viking-border-accent);border-radius:var(--viking-card-radius)}.viking-box{min-width:0;box-sizing:border-box}.viking-box--surface,.viking-box--muted,.viking-box--inset{border:1px solid var(--viking-border-container);border-radius:var(--viking-radius-lg)}.viking-box--surface{background:var(--viking-surface-container)}.viking-box--muted{background:var(--viking-surface-muted)}.viking-box--inset{background:var(--viking-surface-control);border-color:var(--viking-border-divider);box-shadow:var(--viking-shadow-inner)}.viking-box--padding-compact{padding:var(--viking-space-control-gap)}.viking-box--padding-default{padding:var(--viking-space-content-gap)}.viking-box--padding-loose{padding:var(--viking-space-container-gap)}.viking-box--stack{display:flex;flex-direction:column;gap:var(--viking-space-content-gap)}.viking-box--cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-control-gap)}.viking-box--align-center{text-align:center}.viking-box--align-end{text-align:end}.viking-section-template{display:block;min-width:0;padding:var(--viking-panel-padding);background:var(--viking-surface-recipe);border:var(--viking-border-width) var(--viking-border-style) var(--viking-border-container);border-radius:var(--viking-card-radius);box-shadow:var(--viking-shadow-xs),var(--viking-surface-highlight)}.viking-section__header{display:grid;grid-template-columns:minmax(0, 1fr);align-items:flex-start;gap:var(--viking-space-content-gap);margin-block-end:var(--viking-space-content-gap)}@media(min-width: 768px){.viking-section__header{grid-template-columns:minmax(0, 1fr) auto}}.viking-section__header:has(.viking-section__icon){grid-template-columns:auto minmax(0, 1fr)}@media(min-width: 768px){.viking-section__header:has(.viking-section__icon){grid-template-columns:auto minmax(0, 1fr) auto}}.viking-section__heading-group{min-width:0}.viking-section__actions{margin-inline-start:0;justify-self:stretch}@media(min-width: 768px){.viking-section__actions{margin-inline-start:auto;justify-self:end}}.viking-section__icon{display:inline-flex;flex:0 0 auto;color:var(--viking-accent)}.viking-section__title{margin:0;color:var(--viking-text-heading);font:var(--viking-type-heading-sm);letter-spacing:var(--viking-letter-spacing-tight)}.viking-section--large .viking-section__title{font-size:var(--viking-font-size-lg);letter-spacing:normal;text-transform:none}.viking-section__description{max-width:var(--viking-content-readable-max-width);margin:var(--viking-space-1) 0 0;color:var(--viking-text-muted);font:var(--viking-type-body-sm)}.viking-section__divider{height:1px;margin-block-end:var(--viking-space-3);background:var(--viking-border-subtle)}.viking-section__body{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-container-gap)}.viking-section--stack .viking-section__body{display:flex;flex-direction:column}.viking-container{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-card-content-gap);min-width:0;width:100%;color:var(--viking-text);border:var(--viking-border-width) var(--viking-border-style) var(--viking-border-container);border-radius:var(--viking-card-radius);box-shadow:var(--viking-shadow-xs),var(--viking-surface-highlight)}.viking-container--width-readable{max-width:var(--viking-container-max-width-readable)}.viking-container--width-default{max-width:var(--viking-container-max-width)}.viking-container--width-wide{max-width:var(--viking-container-max-width-wide)}.viking-container--width-full{max-width:none}.viking-container--centered{margin-inline:auto}.viking-container--surface{background:var(--viking-surface-recipe)}.viking-container--inset{background:var(--viking-surface-recipe-inset);border-color:var(--viking-border-subtle);box-shadow:var(--viking-shadow-inner)}.viking-container--transparent{background:rgba(0,0,0,0);border-color:rgba(0,0,0,0);box-shadow:none}.viking-container--padding-default{padding:var(--viking-panel-padding)}.viking-container--padding-compact{padding:var(--viking-card-padding-compact)}.viking-container--padding-none{padding:0}.viking-container__header{display:grid;grid-template-columns:minmax(0, 1fr);align-items:flex-start;gap:var(--viking-space-content-gap);padding-block-end:var(--viking-space-3);border-bottom:1px solid var(--viking-border-subtle)}@media(min-width: 768px){.viking-container__header{grid-template-columns:minmax(0, 1fr) auto}}.viking-container__header:has(.viking-container__icon){grid-template-columns:auto minmax(0, 1fr)}@media(min-width: 768px){.viking-container__header:has(.viking-container__icon){grid-template-columns:auto minmax(0, 1fr) auto}}.viking-container__icon{flex:0 0 auto;color:var(--viking-accent)}.viking-container__heading-group,.viking-container__body{min-width:0}.viking-container__title{margin:0;color:var(--viking-text);font-size:var(--viking-font-size-lg);font-weight:var(--viking-font-weight-semibold)}.viking-container__description{max-width:var(--viking-content-readable-max-width);margin:var(--viking-space-1) 0 0;color:var(--viking-text-muted);font-size:var(--viking-font-size-sm)}.viking-container__actions{display:flex;flex-wrap:wrap;gap:var(--viking-space-2);align-items:center;justify-content:flex-end;margin-inline-start:auto}.viking-container__body{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-3)}@media(min-width: 768px){.viking-app-layout__header,.viking-app-layout__content,.viking-app-layout__footer,.viking-page-template__inner{padding-inline:var(--viking-page-gutter-lg)}.viking-content-layout__inner{padding-inline:var(--viking-page-gutter-lg)}.viking-section--grid .viking-section__body{grid-template-columns:repeat(2, minmax(0, 1fr))}.viking-page-template__header{grid-template-columns:minmax(0, 1fr) auto}}@media(min-width: 1024px){.viking-app-layout--sidebar-open{grid-template-columns:auto minmax(0, 1fr)}.viking-app-layout--sidebar-toggle-only>.viking-app-layout__main>.viking-app-layout__header{display:none}.viking-app-layout__sidebar{position:sticky;inset:auto;top:0;grid-column:1;grid-row:1/-1;width:auto;height:100%;border-right:1px solid var(--viking-border);box-shadow:none}.viking-app-layout--sidebar-open>.viking-app-layout__main{grid-column:2}.viking-app-layout__scrim{display:none}.viking-app-layout--drawer-open .viking-app-layout__scrim{display:block}}@media(min-width: 1440px){.viking-app-layout--tools-open:not(.viking-app-layout--sidebar-open){grid-template-columns:minmax(0, 1fr) var(--viking-trailing-width)}.viking-app-layout--sidebar-open.viking-app-layout--tools-open{grid-template-columns:auto minmax(0, 1fr) var(--viking-trailing-width)}.viking-app-layout__tools{position:sticky;inset:auto;top:0;grid-column:-1;grid-row:1/-1;width:auto;height:100%;border-left:1px solid var(--viking-border);box-shadow:none}}a.auth-btn,button.auth-btn{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}a.auth-btn:focus-visible,button.auth-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}a.auth-btn::before,button.auth-btn::before{display:none}a.auth-btn::after,button.auth-btn::after{display:none}a.auth-btn:disabled,a.auth-btn[aria-busy=true],button.auth-btn:disabled,button.auth-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}a.auth-btn[aria-busy=true]::before,a.auth-btn[aria-busy=true] .viking-btn-label,button.auth-btn[aria-busy=true]::before,button.auth-btn[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}a.auth-btn[aria-busy=true],button.auth-btn[aria-busy=true]{cursor:wait}a.auth-btn[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.auth-btn[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}a.auth-btn viking-icon,a.auth-btn .viking-icon,a.auth-btn [data-viking-icon],button.auth-btn viking-icon,button.auth-btn .viking-icon,button.auth-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}a.auth-btn .viking-btn-label,button.auth-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}a.auth-btn,button.auth-btn{text-transform:uppercase;background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-depth-shadow)}a.auth-btn:hover:not(:disabled):not([aria-busy=true]),button.auth-btn:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}a.auth-btn:active:not(:disabled):not([aria-busy=true]),button.auth-btn:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}a.auth-btn svg,a.auth-btn .material-icons,button.auth-btn svg,button.auth-btn .material-icons{flex-shrink:0;transition:transform var(--viking-duration-fast, 150ms) var(--viking-ease-default, ease)}a.auth-btn:hover svg,button.auth-btn:hover svg{transform:translateX(2px)}a.auth-btn,button.auth-btn{color:var(--viking-white-pure, var(--viking-white-pure)) !important}a.auth-btn svg,a.auth-btn .material-icons,a.auth-btn [data-viking-icon],a.auth-btn viking-icon,a.auth-btn span,button.auth-btn svg,button.auth-btn .material-icons,button.auth-btn [data-viking-icon],button.auth-btn viking-icon,button.auth-btn span{color:inherit !important}viking-button-wc.auth-btn::part(control),viking-button.auth-btn .viking-btn{--viking-btn-depth-shadow: var(--viking-shadow-sm), inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 7%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--viking-black) 18%, transparent);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 3px color-mix(in srgb, var(--viking-black) 34%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--viking-white-pure) 3%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-2);min-height:var(--viking-control-height);padding:var(--viking-space-0-5) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow);text-transform:uppercase;background:linear-gradient(180deg, color-mix(in srgb, var(--viking-white-pure) 12%, transparent) 0%, transparent 42%),linear-gradient(135deg, color-mix(in srgb, var(--viking-electric-300) 18%, transparent) 0%, transparent 55%),var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 12%, transparent);color:var(--viking-white-pure, var(--viking-white-pure)) !important}viking-button-wc.auth-btn:hover::part(control),viking-button.auth-btn:hover .viking-btn:hover{background:linear-gradient(180deg, color-mix(in srgb, var(--viking-white-pure) 16%, transparent) 0%, transparent 44%),linear-gradient(135deg, color-mix(in srgb, var(--viking-electric-200) 20%, transparent) 0%, transparent 58%),var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}viking-button-wc.auth-btn:active::part(control),viking-button.auth-btn:active .viking-btn:active{transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}viking-button-wc.auth-btn:disabled::part(control),viking-button-wc.auth-btn[aria-busy=true]::part(control),viking-button.auth-btn[aria-busy=true] .viking-btn,viking-button.auth-btn .viking-btn:disabled,viking-button.auth-btn .viking-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}a.auth-btn.auth-btn-outline,button.auth-btn.auth-btn-outline{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}a.auth-btn.auth-btn-outline:focus-visible,button.auth-btn.auth-btn-outline:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}a.auth-btn.auth-btn-outline::before,button.auth-btn.auth-btn-outline::before{display:none}a.auth-btn.auth-btn-outline::after,button.auth-btn.auth-btn-outline::after{display:none}a.auth-btn.auth-btn-outline:disabled,a.auth-btn.auth-btn-outline[aria-busy=true],button.auth-btn.auth-btn-outline:disabled,button.auth-btn.auth-btn-outline[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}a.auth-btn.auth-btn-outline[aria-busy=true]::before,a.auth-btn.auth-btn-outline[aria-busy=true] .viking-btn-label,button.auth-btn.auth-btn-outline[aria-busy=true]::before,button.auth-btn.auth-btn-outline[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}a.auth-btn.auth-btn-outline[aria-busy=true],button.auth-btn.auth-btn-outline[aria-busy=true]{cursor:wait}a.auth-btn.auth-btn-outline[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.auth-btn.auth-btn-outline[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}a.auth-btn.auth-btn-outline viking-icon,a.auth-btn.auth-btn-outline .viking-icon,a.auth-btn.auth-btn-outline [data-viking-icon],button.auth-btn.auth-btn-outline viking-icon,button.auth-btn.auth-btn-outline .viking-icon,button.auth-btn.auth-btn-outline [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}a.auth-btn.auth-btn-outline .viking-btn-label,button.auth-btn.auth-btn-outline .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}a.auth-btn.auth-btn-outline,button.auth-btn.auth-btn-outline{text-transform:uppercase;background:var(--viking-surface-recipe, var(--viking-surface));color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}a.auth-btn.auth-btn-outline:hover:not(:disabled):not([aria-busy=true]),button.auth-btn.auth-btn-outline:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb, var(--viking-accent) 5%, var(--viking-surface-alt));border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}a.auth-btn.auth-btn-outline:active:not(:disabled):not([aria-busy=true]),button.auth-btn.auth-btn-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-press-shadow)}a.auth-btn.auth-btn-outline:hover svg,button.auth-btn.auth-btn-outline:hover svg{transform:none}viking-button-wc.auth-btn.auth-btn-outline::part(control),viking-button.auth-btn.auth-btn-outline .viking-btn{--viking-btn-depth-shadow: var(--viking-shadow-sm), inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 7%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--viking-black) 18%, transparent);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 3px color-mix(in srgb, var(--viking-black) 34%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--viking-white-pure) 3%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-2);min-height:var(--viking-control-height);padding:var(--viking-space-0-5) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow);text-transform:uppercase;background:var(--viking-surface-recipe, var(--viking-surface));color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}a.mobile-auth-btn,button.mobile-auth-btn{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}a.mobile-auth-btn:focus-visible,button.mobile-auth-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}a.mobile-auth-btn::before,button.mobile-auth-btn::before{display:none}a.mobile-auth-btn::after,button.mobile-auth-btn::after{display:none}a.mobile-auth-btn:disabled,a.mobile-auth-btn[aria-busy=true],button.mobile-auth-btn:disabled,button.mobile-auth-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}a.mobile-auth-btn[aria-busy=true]::before,a.mobile-auth-btn[aria-busy=true] .viking-btn-label,button.mobile-auth-btn[aria-busy=true]::before,button.mobile-auth-btn[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}a.mobile-auth-btn[aria-busy=true],button.mobile-auth-btn[aria-busy=true]{cursor:wait}a.mobile-auth-btn[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.mobile-auth-btn[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}a.mobile-auth-btn viking-icon,a.mobile-auth-btn .viking-icon,a.mobile-auth-btn [data-viking-icon],button.mobile-auth-btn viking-icon,button.mobile-auth-btn .viking-icon,button.mobile-auth-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}a.mobile-auth-btn .viking-btn-label,button.mobile-auth-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}a.mobile-auth-btn,button.mobile-auth-btn{text-transform:uppercase;background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-depth-shadow)}a.mobile-auth-btn:hover:not(:disabled):not([aria-busy=true]),button.mobile-auth-btn:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}a.mobile-auth-btn:active:not(:disabled):not([aria-busy=true]),button.mobile-auth-btn:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}a.mobile-auth-btn svg,a.mobile-auth-btn .material-icons,button.mobile-auth-btn svg,button.mobile-auth-btn .material-icons{flex-shrink:0;transition:transform var(--viking-duration-fast, 150ms) var(--viking-ease-default, ease)}a.mobile-auth-btn:hover svg,button.mobile-auth-btn:hover svg{transform:translateX(2px)}a.mobile-auth-btn,button.mobile-auth-btn{width:100%;min-width:0;justify-content:center;color:var(--viking-white-pure, var(--viking-white-pure)) !important}a.mobile-auth-btn svg,a.mobile-auth-btn .material-icons,a.mobile-auth-btn [data-viking-icon],a.mobile-auth-btn viking-icon,a.mobile-auth-btn span,button.mobile-auth-btn svg,button.mobile-auth-btn .material-icons,button.mobile-auth-btn [data-viking-icon],button.mobile-auth-btn viking-icon,button.mobile-auth-btn span{color:inherit !important}a.mobile-auth-btn:hover,a.mobile-auth-btn:focus-visible,button.mobile-auth-btn:hover,button.mobile-auth-btn:focus-visible{color:var(--viking-white-pure, var(--viking-white-pure)) !important}viking-button-wc.mobile-auth-btn::part(control),viking-button.mobile-auth-btn .viking-btn{--viking-btn-depth-shadow: var(--viking-shadow-sm), inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 7%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--viking-black) 18%, transparent);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 3px color-mix(in srgb, var(--viking-black) 34%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--viking-white-pure) 3%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-2);min-height:var(--viking-control-height);padding:var(--viking-space-0-5) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow);text-transform:uppercase;background:linear-gradient(180deg, color-mix(in srgb, var(--viking-white-pure) 12%, transparent) 0%, transparent 42%),linear-gradient(135deg, color-mix(in srgb, var(--viking-electric-300) 18%, transparent) 0%, transparent 55%),var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 12%, transparent);width:100%;min-width:0;justify-content:center;color:var(--viking-white-pure, var(--viking-white-pure)) !important}.mobile-auth-btn.auth-signout-btn,a.mobile-auth-btn.auth-signout-btn,button.mobile-auth-btn.auth-signout-btn{color:var(--viking-text-muted) !important}.mobile-auth-btn.auth-btn-outline,a.mobile-auth-btn.auth-btn-outline{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.mobile-auth-btn.auth-btn-outline:focus-visible,a.mobile-auth-btn.auth-btn-outline:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.mobile-auth-btn.auth-btn-outline::before,a.mobile-auth-btn.auth-btn-outline::before{display:none}.mobile-auth-btn.auth-btn-outline::after,a.mobile-auth-btn.auth-btn-outline::after{display:none}.mobile-auth-btn.auth-btn-outline:disabled,.mobile-auth-btn.auth-btn-outline[aria-busy=true],a.mobile-auth-btn.auth-btn-outline:disabled,a.mobile-auth-btn.auth-btn-outline[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.mobile-auth-btn.auth-btn-outline[aria-busy=true]::before,.mobile-auth-btn.auth-btn-outline[aria-busy=true] .viking-btn-label,a.mobile-auth-btn.auth-btn-outline[aria-busy=true]::before,a.mobile-auth-btn.auth-btn-outline[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.mobile-auth-btn.auth-btn-outline[aria-busy=true],a.mobile-auth-btn.auth-btn-outline[aria-busy=true]{cursor:wait}.mobile-auth-btn.auth-btn-outline[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.mobile-auth-btn.auth-btn-outline[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.mobile-auth-btn.auth-btn-outline viking-icon,.mobile-auth-btn.auth-btn-outline .viking-icon,.mobile-auth-btn.auth-btn-outline [data-viking-icon],a.mobile-auth-btn.auth-btn-outline viking-icon,a.mobile-auth-btn.auth-btn-outline .viking-icon,a.mobile-auth-btn.auth-btn-outline [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.mobile-auth-btn.auth-btn-outline .viking-btn-label,a.mobile-auth-btn.auth-btn-outline .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.mobile-auth-btn.auth-btn-outline,a.mobile-auth-btn.auth-btn-outline{text-transform:uppercase;background:var(--viking-surface-recipe, var(--viking-surface));color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}.mobile-auth-btn.auth-btn-outline:hover:not(:disabled):not([aria-busy=true]),a.mobile-auth-btn.auth-btn-outline:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb, var(--viking-accent) 5%, var(--viking-surface-alt));border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.mobile-auth-btn.auth-btn-outline:active:not(:disabled):not([aria-busy=true]),a.mobile-auth-btn.auth-btn-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-press-shadow)}.mobile-auth-btn.auth-btn-outline:hover svg,a.mobile-auth-btn.auth-btn-outline:hover svg{transform:none}viking-button-wc.mobile-auth-btn.auth-btn-outline::part(control),viking-button.mobile-auth-btn.auth-btn-outline .viking-btn{--viking-btn-depth-shadow: var(--viking-shadow-sm), inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 7%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--viking-black) 18%, transparent);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 3px color-mix(in srgb, var(--viking-black) 34%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--viking-white-pure) 3%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-2);min-height:var(--viking-control-height);padding:var(--viking-space-0-5) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow);text-transform:uppercase;background:var(--viking-surface-recipe, var(--viking-surface));color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}.navbar{position:sticky;top:0;z-index:50;width:100%;min-height:var(--viking-navbar-height, 64px);background-color:color-mix(in srgb, var(--navbar-bg, var(--viking-surface)) 88%, transparent);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);border-bottom:1px solid var(--border-layout, var(--viking-border));display:flex;flex-direction:column;align-items:stretch;padding:0 var(--viking-space-2, var(--viking-space-2));box-sizing:border-box;overflow:visible;container-type:inline-size;container-name:viking-navbar}@media(min-width: 768px){.navbar{padding-inline:var(--viking-space-4, var(--viking-space-4))}}@media(min-width: 1440px){.navbar{padding-inline:var(--viking-space-5, var(--viking-space-5))}}.navbar{box-shadow:var(--viking-shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.2)),inset 0 1px 0 color-mix(in srgb, var(--viking-accent) 12%, transparent);isolation:isolate}.navbar-brand{margin-right:var(--viking-space-1, var(--viking-space-1));display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1, var(--viking-space-1));text-decoration:none;overflow:visible;flex-shrink:0;padding:0;min-width:var(--viking-touch-target-min, 44px);min-height:var(--viking-touch-target-min, 44px);line-height:1;transition:filter .3s ease}@media(min-width: 768px){.navbar-brand{min-width:36px;min-height:36px}}.navbar-title{font-size:var(--viking-font-size-base);font-weight:700;line-height:1.2;color:var(--viking-text);letter-spacing:-0.02em}.navbar-logo{font-size:var(--viking-font-size-2xl);width:36px;height:36px;line-height:1;color:var(--viking-accent);overflow:visible;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.navbar-brand [data-viking-icon],.navbar-brand [data-viking-icon] svg,.navbar-brand .brand-icon,.navbar-brand .brand-icon svg{display:inline-flex !important;align-items:center;justify-content:center;width:36px !important;height:36px !important;min-width:36px !important;color:var(--viking-accent) !important;overflow:visible}.navbar-brand .navbar-logo,.navbar-brand viking-icon.navbar-logo{color:var(--viking-accent) !important}.navbar-brand viking-icon.navbar-logo .viking-icon-svg,.navbar-brand .brand-icon svg,.navbar-brand [data-viking-icon] svg{stroke-width:var(--viking-icon-stroke-width-brand, 1.8)}.navbar-brand .navbar-logo.mat-icon,.navbar-brand mat-icon.navbar-logo{overflow:visible !important;width:36px !important;height:36px !important;font-size:var(--viking-font-size-2xl) !important;line-height:36px !important;padding:0 !important;box-sizing:border-box;display:inline-flex !important;align-items:center !important;justify-content:center !important}.navbar-content{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--viking-space-3, var(--viking-space-3));width:100%;max-width:none;margin-inline:0;min-width:0;min-height:var(--viking-navbar-height, 64px)}.navbar-left{grid-column:1;display:flex;align-items:center;justify-content:flex-start;flex:0 1 auto;min-width:0;flex-shrink:0}.navbar-right{grid-column:3;display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;gap:var(--viking-space-3, var(--viking-space-3));min-width:0;flex-shrink:0}viking-button.auth-btn,viking-button.auth-signout-btn,viking-button.mobile-auth-btn,viking-button.menu-toggle-btn,viking-button.navbar-search-trigger,viking-button-wc.auth-btn,viking-button-wc.auth-signout-btn,viking-button-wc.mobile-auth-btn,viking-button-wc.menu-toggle-btn,viking-button-wc.navbar-search-trigger,viking-theme-toggle-wc.auth-btn,viking-theme-toggle-wc.auth-signout-btn,viking-theme-toggle-wc.mobile-auth-btn,viking-theme-toggle-wc.menu-toggle-btn,viking-theme-toggle-wc.navbar-search-trigger,.viking-theme-toggle-host.auth-btn,.viking-theme-toggle-host.auth-signout-btn,.viking-theme-toggle-host.mobile-auth-btn,.viking-theme-toggle-host.menu-toggle-btn,.viking-theme-toggle-host.navbar-search-trigger{background:rgba(0,0,0,0);border:none;box-shadow:none;padding:0;margin:0;min-height:0;cursor:default}viking-button.auth-btn::before,viking-button.auth-btn::after,viking-button.auth-signout-btn::before,viking-button.auth-signout-btn::after,viking-button.mobile-auth-btn::before,viking-button.mobile-auth-btn::after,viking-button.menu-toggle-btn::before,viking-button.menu-toggle-btn::after,viking-button.navbar-search-trigger::before,viking-button.navbar-search-trigger::after,viking-button-wc.auth-btn::before,viking-button-wc.auth-btn::after,viking-button-wc.auth-signout-btn::before,viking-button-wc.auth-signout-btn::after,viking-button-wc.mobile-auth-btn::before,viking-button-wc.mobile-auth-btn::after,viking-button-wc.menu-toggle-btn::before,viking-button-wc.menu-toggle-btn::after,viking-button-wc.navbar-search-trigger::before,viking-button-wc.navbar-search-trigger::after,viking-theme-toggle-wc.auth-btn::before,viking-theme-toggle-wc.auth-btn::after,viking-theme-toggle-wc.auth-signout-btn::before,viking-theme-toggle-wc.auth-signout-btn::after,viking-theme-toggle-wc.mobile-auth-btn::before,viking-theme-toggle-wc.mobile-auth-btn::after,viking-theme-toggle-wc.menu-toggle-btn::before,viking-theme-toggle-wc.menu-toggle-btn::after,viking-theme-toggle-wc.navbar-search-trigger::before,viking-theme-toggle-wc.navbar-search-trigger::after,.viking-theme-toggle-host.auth-btn::before,.viking-theme-toggle-host.auth-btn::after,.viking-theme-toggle-host.auth-signout-btn::before,.viking-theme-toggle-host.auth-signout-btn::after,.viking-theme-toggle-host.mobile-auth-btn::before,.viking-theme-toggle-host.mobile-auth-btn::after,.viking-theme-toggle-host.menu-toggle-btn::before,.viking-theme-toggle-host.menu-toggle-btn::after,.viking-theme-toggle-host.navbar-search-trigger::before,.viking-theme-toggle-host.navbar-search-trigger::after{display:none}.navbar-search,.navbar-search viking-button-wc,.navbar-right viking-theme-toggle-wc,.navbar-right .menu-toggle-btn,.navbar-right viking-button.menu-toggle-btn,.navbar-right viking-button-wc.menu-toggle-btn{flex:0 0 auto}.navbar-center{grid-column:2;display:flex;justify-content:center;align-items:center;min-width:0}.desktop-nav{display:none;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:var(--viking-space-3, var(--viking-space-3));padding:var(--viking-space-1, var(--viking-space-1)) 0;min-width:0;max-width:100%;overflow:visible}.desktop-auth{display:none;align-items:center;flex-shrink:0;gap:var(--viking-space-2, var(--viking-space-2));min-height:var(--viking-control-height, 40px)}.desktop-auth viking-button,.desktop-auth viking-button-wc{min-width:var(--viking-btn-min-width, 120px) !important;flex-shrink:0}.nav-btn{position:relative;font-size:var(--viking-font-size-sm, 14px) !important;color:var(--nav-link-color, var(--viking-text-muted)) !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.06em !important;transition:color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease !important;border-radius:var(--viking-radius, 8px) !important;padding:var(--viking-space-1, var(--viking-space-1)) var(--viking-space-3, var(--viking-space-3)) !important;height:auto !important;min-height:var(--viking-control-height, 40px) !important;line-height:1 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:var(--viking-space-2) !important;text-decoration:none;background:rgba(0,0,0,0);border:none;cursor:pointer;overflow:visible;flex-shrink:0;min-width:max-content;white-space:nowrap;border-bottom:1px solid rgba(0,0,0,0);box-shadow:none;margin-inline:var(--viking-space-0-5)}.nav-btn>span,.nav-btn .nav-btn-label{display:inline-flex;align-items:center;white-space:nowrap;overflow:visible;text-overflow:clip}.nav-btn viking-icon,.nav-btn viking-app-icon,.nav-btn [data-viking-icon],.nav-btn svg{flex-shrink:0;width:1.125rem;height:1.125rem}.navbar-search::part(control),.menu-toggle-btn::part(control),.theme-toggle-btn::part(control),.navbar-search-trigger::part(control),.navbar-search-mobile-btn::part(control),.auth-btn::part(control),.mobile-auth-btn::part(control),.auth-signout-btn::part(control),.navbar .theme-toggle-btn::part(control),.navbar .menu-toggle-btn::part(control),.navbar .navbar-search-trigger::part(control),.navbar .navbar-search-mobile-btn::part(control),viking-button-wc.menu-toggle-btn::part(control),viking-button-wc.theme-toggle-btn::part(control),viking-button-wc.navbar-search-trigger::part(control),viking-button-wc.mobile-auth-btn::part(control),viking-button-wc.auth-btn::part(control),viking-button-wc.auth-signout-btn::part(control){border-color:inherit}.nav-btn:focus-visible,.mobile-nav-btn:focus-visible,.auth-btn:focus-visible,.auth-signout-btn:focus-visible,.menu-toggle-btn:focus-visible,.theme-toggle-btn:focus-visible,.navbar-search-trigger:focus-visible,.navbar-search-mobile-btn:focus-visible,.mobile-auth-btn:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.viking-button-wc.nav-btn:focus-visible::part(control),.viking-button-wc.auth-btn:focus-visible::part(control),.viking-button-wc.auth-signout-btn:focus-visible::part(control),.viking-button-wc.menu-toggle-btn:focus-visible::part(control),.viking-button-wc.theme-toggle-btn:focus-visible::part(control),.viking-button-wc.navbar-search-trigger:focus-visible::part(control),.viking-button-wc.navbar-search-mobile-btn:focus-visible::part(control){outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.nav-btn[hidden],.mobile-nav-btn[hidden],.auth-btn[hidden],.auth-signout-btn[hidden],.mobile-auth-btn[hidden],viking-button-wc[hidden],viking-button[hidden]{display:none !important}.nav-btn .material-icons,.nav-btn svg,.nav-btn .viking-icon,.nav-btn [data-viking-icon],.mobile-nav-btn svg,.mobile-nav-btn [data-viking-icon],.auth-btn svg,.auth-btn [data-viking-icon],.theme-toggle-btn svg,.menu-toggle-btn svg,.navbar-search-trigger [data-viking-icon],.navbar-search-mobile-btn [data-viking-icon]{margin:0;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}.nav-btn svg,.mobile-nav-btn svg,.auth-btn svg,.nav-btn [data-viking-icon] svg,.mobile-nav-btn [data-viking-icon] svg,.auth-btn [data-viking-icon] svg{width:16px;height:16px}.theme-toggle-btn svg,.menu-toggle-btn svg,.navbar-search-trigger svg,.navbar-search-mobile-btn svg,.theme-toggle-btn [data-viking-icon] svg,.menu-toggle-btn [data-viking-icon] svg,.navbar-search-trigger [data-viking-icon] svg,.navbar-search-mobile-btn [data-viking-icon] svg{width:24px;height:24px}.navbar-search-trigger [data-viking-icon] svg,.navbar-search-mobile-btn [data-viking-icon] svg{width:20px;height:20px}.nav-btn .material-icons{font-size:var(--viking-font-size-base);width:16px;height:16px}.nav-btn:hover{color:var(--viking-text) !important;background-color:color-mix(in srgb, var(--viking-accent) 10%, transparent) !important}html[data-theme=light]{--nav-link-color: color-mix( in srgb, var(--viking-charcoal-900) 88%, var(--viking-white) )}html[data-theme=light] .nav-btn,html[data-theme=light] .mobile-nav-btn{color:var(--nav-link-color) !important}html[data-theme=light] .menu-toggle-btn,html[data-theme=light] .theme-toggle-btn,html[data-theme=light] .navbar-search-trigger,html[data-theme=light] .navbar-search-mobile-btn{color:var(--viking-text, var(--viking-text)) !important}html[data-theme=light] viking-button-wc.auth-btn::part(control),html[data-theme=light] .auth-btn::part(control),html[data-theme=light] .mobile-auth-btn::part(control){border-color:color-mix(in srgb, var(--viking-accent-strong, var(--viking-accent)) 72%, var(--viking-border-strong, var(--viking-border))) !important;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 34%, transparent),var(--viking-shadow-sm, var(--viking-shadow-sm)) !important}html[data-theme=light] .nav-btn:hover,html[data-theme=light] .mobile-nav-btn:hover{background-color:color-mix(in srgb, var(--viking-accent) 10%, transparent) !important}.nav-btn.active{color:var(--viking-text) !important;background-color:color-mix(in srgb, var(--viking-accent) 14%, transparent) !important;box-shadow:inset 0 -2px 0 0 var(--viking-accent),0 0 12px color-mix(in srgb, var(--viking-accent) 18%, transparent) !important}viking-button.menu-toggle-btn,viking-button.navbar-search-trigger,#navbar-search-trigger:is(viking-button),.viking-theme-toggle-host{display:contents !important;padding:0 !important;border:none !important;background:rgba(0,0,0,0) !important;box-shadow:none !important;min-width:0 !important;min-height:0 !important}viking-button-wc.menu-toggle-btn,viking-button-wc.navbar-search-trigger,viking-theme-toggle-wc{display:inline-flex !important;align-items:center;justify-content:center;padding:0 !important;border:none !important;background:rgba(0,0,0,0) !important;box-shadow:none !important}.navbar-search viking-button-wc::part(control),viking-button-wc.menu-toggle-btn::part(control),viking-button-wc.navbar-search-trigger::part(control),viking-button.menu-toggle-btn .viking-btn,viking-button.navbar-search-trigger .viking-btn,.navbar-search viking-button .viking-btn,.navbar-right viking-button.menu-toggle-btn .viking-btn,.navbar .theme-toggle-btn,.navbar-right .theme-toggle-btn,.viking-theme-toggle-host .theme-toggle-btn,.navbar-right viking-theme-toggle-wc::part(control){display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);min-width:var(--viking-control-height, 40px);padding:0;margin:0;border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius, 8px);background:var(--viking-surface, var(--viking-surface));color:var(--viking-text, var(--viking-text));box-shadow:var(--viking-shadow-sm, var(--viking-shadow-sm));cursor:pointer;transition:var(--viking-transition-interactive, all 0.25s ease)}.navbar-search viking-button-wc::part(control):hover,viking-button-wc.menu-toggle-btn::part(control):hover,viking-button-wc.navbar-search-trigger::part(control):hover,viking-button.menu-toggle-btn .viking-btn:hover,viking-button.navbar-search-trigger .viking-btn:hover,.navbar-search viking-button .viking-btn:hover,.navbar-right viking-button.menu-toggle-btn .viking-btn:hover,.navbar .theme-toggle-btn:hover,.navbar-right .theme-toggle-btn:hover,.viking-theme-toggle-host .theme-toggle-btn:hover,.navbar-right viking-theme-toggle-wc::part(control):hover{border-color:var(--viking-accent-strong, var(--viking-ring));background:var(--viking-surface-alt, var(--viking-charcoal-700));color:var(--viking-text, var(--viking-text));box-shadow:var(--viking-shadow-md, var(--viking-shadow-md))}.navbar-search viking-button-wc::part(control):focus-visible,viking-button-wc.menu-toggle-btn::part(control):focus-visible,viking-button-wc.navbar-search-trigger::part(control):focus-visible,viking-button.menu-toggle-btn .viking-btn:focus-visible,viking-button.navbar-search-trigger .viking-btn:focus-visible,.navbar-search viking-button .viking-btn:focus-visible,.navbar-right viking-button.menu-toggle-btn .viking-btn:focus-visible,.navbar .theme-toggle-btn:focus-visible,.navbar-right .theme-toggle-btn:focus-visible,.viking-theme-toggle-host .theme-toggle-btn:focus-visible,.navbar-right viking-theme-toggle-wc::part(control):focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.navbar-search viking-button-wc::part(control),viking-button-wc.menu-toggle-btn::part(control),viking-button-wc.navbar-search-trigger::part(control),viking-button.menu-toggle-btn .viking-btn,viking-button.navbar-search-trigger .viking-btn,.navbar-search viking-button .viking-btn,.navbar-right viking-button.menu-toggle-btn .viking-btn,.navbar .theme-toggle-btn,.navbar-right .theme-toggle-btn,.viking-theme-toggle-host .theme-toggle-btn,.navbar-right viking-theme-toggle-wc::part(control){display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:0 !important;width:var(--viking-control-height, 40px) !important;min-width:var(--viking-control-height, 40px) !important;max-width:var(--viking-control-height, 40px) !important;height:var(--viking-control-height, 40px) !important;min-height:var(--viking-control-height, 40px) !important;max-height:var(--viking-control-height, 40px) !important;padding:0 !important;margin:0 !important;line-height:0 !important;box-sizing:border-box !important;overflow:hidden}.navbar-search viking-button .viking-btn .viking-btn-label,viking-button.navbar-search-trigger .viking-btn .viking-btn-label,viking-button.menu-toggle-btn .viking-btn .viking-btn-label{display:none !important;width:0 !important;height:0 !important;margin:0 !important;padding:0 !important}.navbar-search viking-button .viking-btn viking-icon,.navbar-search viking-button .viking-btn svg,viking-button.navbar-search-trigger .viking-btn viking-icon,viking-button.navbar-search-trigger .viking-btn svg,viking-button.menu-toggle-btn .viking-btn viking-icon,viking-button.menu-toggle-btn .viking-btn svg,.navbar .theme-toggle-btn viking-icon,.navbar .theme-toggle-btn svg,.viking-theme-toggle-host .theme-toggle-btn viking-icon,.viking-theme-toggle-host .theme-toggle-btn svg{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:20px !important;height:20px !important;min-width:20px !important;min-height:20px !important;margin:0 !important;line-height:0 !important;flex-shrink:0}.navbar .theme-toggle-btn .material-icons,.theme-toggle-btn .material-icons{width:20px;height:20px;font-size:var(--viking-font-size-lead);line-height:1}.navbar .theme-toggle-btn,.navbar-right .theme-toggle-btn,.viking-theme-toggle-host .theme-toggle-btn,.navbar-right viking-theme-toggle-wc::part(control){border:1px solid color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 32%, var(--viking-border-strong, var(--viking-border))) !important;background:color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 8%, var(--viking-surface, var(--viking-surface))) !important;color:var(--viking-accent-strong, var(--viking-ring)) !important;box-shadow:var(--viking-shadow-sm, var(--viking-shadow-sm)) !important}.navbar .theme-toggle-btn:hover,.navbar-right .theme-toggle-btn:hover,.viking-theme-toggle-host .theme-toggle-btn:hover,.navbar-right viking-theme-toggle-wc::part(control):hover{border-color:var(--viking-accent-strong, var(--viking-ring)) !important;background:color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 14%, var(--viking-surface-alt, var(--viking-surface))) !important;color:var(--viking-accent-strong, var(--viking-ring)) !important;box-shadow:var(--viking-shadow-md, var(--viking-shadow-md)) !important}.navbar-search viking-button-wc [data-viking-icon],viking-button-wc.menu-toggle-btn [data-viking-icon]{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md, 20px);height:var(--viking-icon-size-md, 20px);line-height:1}.menu-toggle-btn[aria-expanded=true]::part(control),viking-button-wc.menu-toggle-btn[aria-expanded=true]::part(control),viking-button.menu-toggle-btn[aria-expanded=true] .viking-btn{border-color:var(--viking-accent, var(--viking-accent)) !important;color:var(--viking-accent-strong, var(--viking-ring)) !important;background:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 12%, transparent)) !important;box-shadow:var(--viking-shadow-sm, var(--viking-shadow-sm)) !important}.divider{height:24px;width:0px;background-color:var(--viking-border);margin:0 var(--viking-space-1)}.auth-btn .material-icons{margin:0;font-size:var(--viking-font-size-sm, 14px);width:16px;height:16px}a.auth-btn,button.auth-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:var(--viking-space-1, var(--viking-space-1)) !important;min-width:var(--viking-btn-min-width, 120px) !important;height:var(--viking-control-height, 40px) !important;min-height:var(--viking-control-height, 40px) !important;padding:0 var(--viking-space-2, var(--viking-space-2)) !important;border-radius:var(--viking-radius, 8px) !important;letter-spacing:var(--viking-letter-spacing-caps, 0.08em) !important;text-transform:uppercase !important;white-space:nowrap !important;line-height:1 !important}viking-button.auth-btn,viking-button.auth-signout-btn,viking-button.mobile-auth-btn{display:contents !important;background:rgba(0,0,0,0) !important;border:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important;min-width:0 !important;min-height:0 !important;height:auto !important}viking-button-wc.auth-btn,viking-button-wc.auth-signout-btn,viking-button-wc.mobile-auth-btn{display:inline-flex !important;min-width:var(--viking-btn-min-width, 120px) !important;height:auto !important;min-height:0 !important;padding:0 !important;border:0 !important;background:rgba(0,0,0,0) !important;box-shadow:none !important}.auth-btn::part(label),.auth-signout-btn::part(label),.mobile-auth-btn::part(label){display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1, var(--viking-space-1));min-width:0;line-height:1}.auth-btn::part(control),viking-button-wc.auth-btn::part(control),viking-button.auth-btn .viking-btn,.auth-btn.viking-full::part(control),viking-button.auth-btn.viking-full .viking-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:var(--viking-space-1, var(--viking-space-1)) !important;min-width:var(--viking-btn-min-width, 120px) !important;min-height:var(--viking-control-height, 40px) !important;height:var(--viking-control-height, 40px) !important;padding:0 var(--viking-space-2, var(--viking-space-2)) !important;box-sizing:border-box !important;border:1px solid color-mix(in srgb, var(--viking-accent-strong, var(--viking-accent)) 72%, var(--viking-white-pure)) !important;border-radius:var(--viking-radius-md, var(--viking-radius, 8px)) !important;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 24%, transparent),var(--viking-shadow-sm, var(--viking-shadow-sm)) !important}.auth-btn[aria-busy=true]::part(label),.auth-btn[loading]::part(label),.mobile-auth-btn[aria-busy=true]::part(label),.mobile-auth-btn[loading]::part(label),.auth-signout-btn[aria-busy=true]::part(label),.auth-signout-btn[loading]::part(label){min-width:max-content}.auth-btn[aria-busy=true]::part(control),.auth-btn[loading]::part(control),.auth-signout-btn[aria-busy=true]::part(control),.auth-signout-btn[loading]::part(control),viking-button-wc.auth-btn[aria-busy=true]::part(control),viking-button-wc.auth-btn[loading]::part(control),viking-button.auth-btn[aria-busy=true] .viking-btn,viking-button.auth-btn .viking-btn[aria-busy=true],viking-button.auth-btn .viking-btn:disabled{min-width:var(--viking-btn-min-width, 120px) !important}.auth-signout-btn{background:rgba(0,0,0,0) !important;color:var(--viking-text-muted) !important;font-weight:600 !important;border-radius:var(--viking-radius, 8px) !important;padding:0 var(--viking-space-2, var(--viking-space-2)) !important;border:1px solid var(--viking-border) !important;height:var(--viking-control-height, 40px) !important;line-height:var(--viking-control-height, 40px) !important;display:inline-flex !important;align-items:center !important;gap:var(--viking-space-1, var(--viking-space-1)) !important;white-space:nowrap !important;text-transform:uppercase !important;letter-spacing:.08em !important;cursor:pointer;transition:var(--viking-transition-interactive) !important}.auth-signout-btn[hidden]{display:none !important}.auth-btn [data-viking-icon],.auth-btn [data-viking-icon] svg,.auth-btn svg,.auth-btn viking-icon,.auth-signout-btn [data-viking-icon],.auth-signout-btn [data-viking-icon] svg,.auth-signout-btn svg,#auth-icon-desktop,#auth-icon-mobile{margin:0 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;width:16px !important;height:16px !important;min-width:16px !important;line-height:1 !important;flex:0 0 auto !important}#auth-icon-desktop,#auth-icon-mobile{display:inline-flex !important}#auth-text-desktop,#auth-text-mobile{display:inline-flex;align-items:center;min-width:0;line-height:1}.auth-signout-btn:hover{color:var(--viking-text) !important;border-color:var(--viking-crimson-500) !important;background:color-mix(in srgb, var(--viking-crimson-500) 10%, transparent) !important}.navbar viking-button.auth-btn,.navbar viking-button.auth-signout-btn,.navbar viking-button.mobile-auth-btn,.navbar viking-button.navbar-search-trigger,.navbar viking-button.menu-toggle-btn,.navbar viking-button-wc.auth-btn,.navbar viking-button-wc.auth-signout-btn,.navbar viking-button-wc.mobile-auth-btn,.navbar viking-button-wc.navbar-search-trigger,.navbar viking-button-wc.menu-toggle-btn{background:rgba(0,0,0,0) !important;border:0 !important;box-shadow:none !important;outline:0;padding:0 !important;margin:0 !important;color:inherit !important}.navbar viking-button .viking-btn:focus-visible,.navbar viking-button-wc .viking-btn:focus-visible,.navbar .auth-btn:focus-visible,.navbar .auth-signout-btn:focus-visible,.navbar .mobile-auth-btn:focus-visible,.navbar .navbar-search-trigger:focus-visible,.navbar .menu-toggle-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.navbar viking-button.auth-btn,.navbar viking-button.auth-signout-btn,.navbar viking-button.navbar-search-trigger,.navbar viking-button.menu-toggle-btn{display:contents !important;min-width:0 !important;min-height:0 !important;width:auto !important;height:auto !important}.navbar viking-button.mobile-auth-btn{display:block !important;width:100% !important}.mobile-menu:not(.open){display:none !important}.mobile-menu{display:none;flex-direction:column;position:absolute;visibility:hidden;pointer-events:none;top:var(--viking-navbar-height, var(--navbar-height, 64px));left:0;right:0;width:auto;max-height:calc(100dvh - var(--viking-navbar-height, var(--navbar-height, 64px)));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background-color:var(--viking-surface, var(--viking-surface));box-shadow:var(--viking-shadow-md, var(--viking-shadow-md));border-bottom:1px solid var(--viking-border, var(--viking-border));padding:var(--viking-space-3, var(--viking-space-3));padding-bottom:calc(var(--viking-space-3, var(--viking-space-3)) + env(safe-area-inset-bottom, var(--viking-space-0)));box-sizing:border-box;z-index:49;gap:var(--viking-space-0-5)}.mobile-menu viking-button,.mobile-menu viking-button-wc,.mobile-menu .mobile-auth-btn{width:100%}.mobile-menu .mobile-auth-btn,.mobile-menu .auth-signout-btn,.mobile-menu .mobile-auth-btn::part(control),.mobile-menu .mobile-auth-btn.auth-btn::part(control),.mobile-menu .mobile-auth-btn.auth-signout-btn::part(control){flex-shrink:0;width:100%}.mobile-menu{transform:translateY(-10px);opacity:0;pointer-events:none;transition:transform .25s cubic-bezier(0.16, 1, 0.3, 1),opacity .25s ease}.mobile-menu.open{transform:translateY(0);opacity:1;pointer-events:auto;display:flex;visibility:visible}.mobile-nav-btn{width:100% !important;justify-content:flex-start !important;font-size:var(--viking-font-size-sm, 14px) !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.06em !important;color:var(--viking-text-muted, var(--viking-text-muted)) !important;min-height:44px !important;border-radius:var(--viking-radius, 8px) !important;padding:0 var(--viking-space-2, var(--viking-space-2)) !important;display:inline-flex !important;align-items:center !important;gap:var(--viking-space-1, var(--viking-space-1)) !important;text-decoration:none;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);transition:var(--viking-transition-interactive, all 0.25s ease)}.mobile-nav-btn .material-icons{margin:0;font-size:var(--viking-font-size-lead);width:20px;height:20px}.mobile-nav-btn:hover{color:var(--viking-text, var(--viking-text)) !important;background-color:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 8%, transparent)) !important}.mobile-nav-btn.active{color:var(--viking-text, var(--viking-text)) !important;background-color:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 12%, transparent)) !important;box-shadow:inset 0 0 0 1px var(--viking-accent-strong, var(--viking-ring)) !important}.mobile-divider{height:1px;background-color:var(--viking-border, var(--viking-border));margin:var(--viking-space-2, var(--viking-space-2)) 0 var(--viking-space-1, var(--viking-space-1));flex-shrink:0}.mobile-menu .mobile-auth-btn{margin-top:var(--viking-space-0-5)}.mobile-menu a.mobile-auth-btn:not(.auth-signout-btn),.mobile-menu a.mobile-auth-btn:not(.auth-signout-btn) span,.mobile-menu a.mobile-auth-btn:not(.auth-signout-btn) svg{color:var(--viking-white-pure, var(--viking-white-pure)) !important}.navbar-link{font-size:var(--viking-font-size-base);color:var(--viking-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;transition:var(--viking-transition)}.navbar-link:hover{color:var(--viking-text)}.glowing-icon-sm{color:var(--color-primary, var(--primary-text-color, var(--viking-accent))) !important;transition:all .3s ease}.navbar-brand.glowing-icon-sm,.navbar-brand:has(.glowing-icon-sm){filter:drop-shadow(0 0 6px color-mix(in srgb, var(--viking-electric-500) 60%, transparent))}.navbar-brand.glowing-icon-sm:hover,.navbar-brand:has(.glowing-icon-sm):hover{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--viking-electric-500) 90%, transparent))}.loader-logo.glowing-icon-sm,:not(.navbar-brand)>.glowing-icon-sm{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--viking-electric-500) 60%, transparent))}.loader-logo.glowing-icon-sm:hover,:not(.navbar-brand)>.glowing-icon-sm:hover{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--viking-electric-500) 90%, transparent))}.navbar-search{display:inline-flex;align-items:center;align-self:center;flex:0 0 auto;justify-content:center;max-width:none;min-width:0;min-height:var(--viking-control-height, 40px);margin:0;line-height:0}.navbar-search viking-button,.navbar-search viking-button-wc{flex-shrink:0}.navbar [hidden],.mobile-menu [hidden]{display:none !important}.algolia-autocomplete-host{display:none;font-family:var(--viking-font-family, inherit);--aa-font-family: var(--viking-font-family, inherit);--aa-font-size: var(--viking-font-size-sm, 14px);--aa-spacing: var(--viking-space-1, 8px);--aa-spacing-half: var(--viking-space-0-5);--aa-panel-max-height: 288px;--aa-panel-shadow: var(--viking-shadow-md, 0 4px 12px rgba(0, 0, 0, 0.25));--aa-icon-size: 20px;--aa-icon-stroke-width: 2px;--aa-primary-color-rgb: 20, 163, 168;--aa-muted-color-rgb: 148, 163, 184}.algolia-autocomplete-host.algolia-autocomplete-open{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:fixed;inset:0;z-index:var(--viking-z-overlay, 10001);padding:10vh var(--viking-space-2, var(--viking-space-2)) var(--viking-space-2, var(--viking-space-2));background:var(--viking-overlay-backdrop, rgba(0, 0, 0, 0.55));backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:none;box-shadow:none;max-width:none;width:auto;min-width:0}.algolia-autocomplete-host.algolia-autocomplete-open>div:not([class]){max-width:600px;width:100%}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Autocomplete,.algolia-autocomplete-host.algolia-autocomplete-open .ais-Autocomplete,.algolia-autocomplete-host.algolia-autocomplete-open .aa-DetachedContainer{display:flex;flex-direction:column;max-width:600px;width:100%;border:1px solid var(--viking-border-strong, var(--viking-border, var(--viking-border)));border-radius:var(--viking-radius-lg, 12px);background:var(--viking-surface, var(--viking-surface));box-shadow:var(--viking-shadow-lg, var(--viking-shadow-md));overflow:hidden;font-family:var(--viking-font-family, inherit);color:var(--viking-text, var(--viking-text));position:relative}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Autocomplete::before,.algolia-autocomplete-host.algolia-autocomplete-open .ais-Autocomplete::before,.algolia-autocomplete-host.algolia-autocomplete-open .aa-DetachedContainer::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) 22%, transparent), transparent);pointer-events:none;z-index:1}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Form,.algolia-autocomplete-host.algolia-autocomplete-open .ais-AutocompleteForm,.algolia-autocomplete-host.algolia-autocomplete-open form{display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1));min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2, var(--viking-space-2));background:var(--viking-surface, var(--viking-surface));border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-sm, var(--viking-shadow-sm));transition:var(--viking-transition-interactive, border-color 0.25s ease, box-shadow 0.25s ease)}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Form:hover,.algolia-autocomplete-host.algolia-autocomplete-open .ais-AutocompleteForm:hover,.algolia-autocomplete-host.algolia-autocomplete-open form:hover{border-color:color-mix(in srgb, var(--viking-accent-strong, var(--viking-ring)) 55%, var(--viking-border-strong, var(--viking-border)));box-shadow:var(--viking-shadow-md, var(--viking-shadow-md))}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Form,.algolia-autocomplete-host.algolia-autocomplete-open .ais-AutocompleteForm,.algolia-autocomplete-host.algolia-autocomplete-open form{width:100%;margin:0 !important;border:0 !important;border-bottom:1px solid var(--viking-border, var(--viking-border)) !important;border-radius:0 !important;box-shadow:none !important;background:color-mix(in srgb, var(--viking-bg, var(--bg-color)) 20%, transparent)}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Form:focus-within,.algolia-autocomplete-host.algolia-autocomplete-open .ais-AutocompleteForm:focus-within,.algolia-autocomplete-host.algolia-autocomplete-open form:focus-within{border-bottom-color:var(--viking-accent, var(--viking-accent)) !important;box-shadow:inset 0 -2px 0 var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 12%, transparent)) !important;outline:none}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Panel,.algolia-autocomplete-host.algolia-autocomplete-open .ais-AutocompletePanel{position:static;margin:0;border:0;border-radius:0;box-shadow:none;background:rgba(0,0,0,0);max-height:50vh;padding:var(--viking-space-2, var(--viking-space-2));overflow:auto}.algolia-autocomplete-host.algolia-autocomplete-open .ais-AutocompletePanel{opacity:1 !important;pointer-events:auto !important;transform:none !important;visibility:visible !important}.algolia-autocomplete-host.algolia-autocomplete-open::after{content:"⌘K toggle · Esc close";display:block;max-width:600px;width:100%;margin:0 auto;padding:var(--viking-space-1, var(--viking-space-1)) var(--viking-space-2, var(--viking-space-2));border:1px solid var(--viking-border, var(--viking-border));border-top:0;border-radius:0 0 var(--viking-radius-lg, 12px) var(--viking-radius-lg, 12px);background:var(--viking-surface, var(--viking-surface));font-size:calc(var(--viking-font-size, 16px)*.85);color:var(--viking-text-muted, var(--viking-text-muted));text-align:center;letter-spacing:.01em}.navbar-search-trigger,.navbar-search-mobile-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);min-width:var(--viking-control-height, 40px);padding:0;margin:0;border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius, 8px);background:var(--viking-surface, var(--viking-surface));color:var(--viking-text, var(--viking-text));box-shadow:var(--viking-shadow-sm, var(--viking-shadow-sm));cursor:pointer;transition:var(--viking-transition-interactive, all 0.25s ease)}.navbar-search-trigger:hover,.navbar-search-mobile-btn:hover{border-color:var(--viking-accent-strong, var(--viking-ring));background:var(--viking-surface-alt, var(--viking-charcoal-700));color:var(--viking-text, var(--viking-text));box-shadow:var(--viking-shadow-md, var(--viking-shadow-md))}.navbar-search-trigger:focus-visible,.navbar-search-mobile-btn:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.navbar-search-trigger,.navbar-search-mobile-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);padding:0;flex-shrink:0;align-self:center}.algolia-autocomplete-host .aa-Autocomplete,.algolia-autocomplete-host .ais-Autocomplete,.algolia-autocomplete-host .aa-DetachedContainer{width:100%}.algolia-autocomplete-host .aa-Form,.algolia-autocomplete-host .ais-AutocompleteForm,.algolia-autocomplete-host form{display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1));min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2, var(--viking-space-2));background:var(--viking-surface, var(--viking-surface));border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-sm, var(--viking-shadow-sm));transition:var(--viking-transition-interactive, border-color 0.25s ease, box-shadow 0.25s ease)}.algolia-autocomplete-host .aa-Form:hover,.algolia-autocomplete-host .ais-AutocompleteForm:hover,.algolia-autocomplete-host form:hover{border-color:color-mix(in srgb, var(--viking-accent-strong, var(--viking-ring)) 55%, var(--viking-border-strong, var(--viking-border)));box-shadow:var(--viking-shadow-md, var(--viking-shadow-md))}.algolia-autocomplete-host .aa-Form,.algolia-autocomplete-host .ais-AutocompleteForm,.algolia-autocomplete-host form{margin:0 !important}.algolia-autocomplete-host .aa-Form:focus-within,.algolia-autocomplete-host .ais-AutocompleteForm:focus-within,.algolia-autocomplete-host form:focus-within{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.algolia-autocomplete-host .aa-InputWrapper,.algolia-autocomplete-host .ais-AutocompleteInputWrapper{display:flex;align-items:center;flex:1;min-width:0;gap:var(--viking-space-1, var(--viking-space-1));border:0 !important;box-shadow:none !important;background:rgba(0,0,0,0) !important;padding:0 !important}.algolia-autocomplete-host .aa-InputWrapperPrefix,.algolia-autocomplete-host .aa-InputWrapperSuffix,.algolia-autocomplete-host .ais-AutocompleteInputWrapperPrefix,.algolia-autocomplete-host .ais-AutocompleteInputWrapperSuffix{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center;color:var(--viking-accent-strong, var(--viking-ring));border:0 !important;box-shadow:none !important;background:rgba(0,0,0,0) !important;padding:0 !important;line-height:1}.algolia-autocomplete-host .aa-SubmitButton,.algolia-autocomplete-host .aa-DetachedSearchButton,.algolia-autocomplete-host .aa-Label,.algolia-autocomplete-host .aa-PoweredBy{display:none !important}.algolia-autocomplete-host .ais-AutocompleteLabel,.algolia-autocomplete-host .ais-AutocompleteSubmitButton,.algolia-autocomplete-host .ais-AutocompleteClearButton{display:inline-flex;align-items:center;justify-content:center}.algolia-autocomplete-host .ais-AutocompleteSubmitButton,.algolia-autocomplete-host .ais-AutocompleteClearButton{width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);padding:0;border:0;background:rgba(0,0,0,0);color:var(--viking-accent-strong, var(--viking-ring));cursor:pointer}.algolia-autocomplete-host .ais-AutocompleteClearButton{color:var(--viking-text-subtle, var(--viking-text-muted))}.algolia-autocomplete-host .aa-InputWrapperPrefix svg,.algolia-autocomplete-host .aa-InputWrapperSuffix svg,.algolia-autocomplete-host .aa-InputWrapperPrefix img,.algolia-autocomplete-host .aa-InputWrapperSuffix img,.algolia-autocomplete-host .ais-AutocompleteInputWrapperPrefix svg,.algolia-autocomplete-host .ais-AutocompleteInputWrapperSuffix svg,.algolia-autocomplete-host .ais-AutocompleteInputWrapperPrefix img,.algolia-autocomplete-host .ais-AutocompleteInputWrapperSuffix img{width:20px !important;height:20px !important;max-width:20px !important;max-height:20px !important;color:var(--viking-accent-strong, var(--viking-ring)) !important;fill:currentColor !important;stroke:currentColor !important}.algolia-autocomplete-host .aa-Input,.algolia-autocomplete-host .ais-AutocompleteInput,.algolia-autocomplete-host input{flex:1;width:100%;min-width:0;min-height:0 !important;height:auto;padding:0 !important;border:0 !important;border-radius:0 !important;outline:none !important;background:rgba(0,0,0,0) !important;color:var(--viking-text, var(--viking-text));font:inherit;font-size:var(--viking-font-size, 16px);line-height:var(--viking-line-height-normal, 1.5);box-shadow:none !important}.algolia-autocomplete-host .aa-Input::placeholder,.algolia-autocomplete-host .ais-AutocompleteInput::placeholder,.algolia-autocomplete-host input::placeholder{color:var(--viking-text-muted, var(--viking-text-muted))}.algolia-autocomplete-host .aa-Panel,.algolia-autocomplete-host .ais-AutocompletePanel{margin:0;padding:var(--viking-space-1, var(--viking-space-1));background:var(--viking-surface, var(--viking-surface));border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-md, var(--viking-shadow-md));max-height:288px;overflow:auto;font-family:var(--viking-font-family, inherit);position:absolute;top:calc(100% + var(--viking-space-1, 8px));left:0;right:0;z-index:var(--viking-z-overlay, 10001)}.algolia-autocomplete-host .aa-PanelLayout,.algolia-autocomplete-host .aa-Source,.algolia-autocomplete-host .ais-AutocompletePanelLayout,.algolia-autocomplete-host .ais-AutocompleteIndex{margin:0}.algolia-autocomplete-host .aa-List,.algolia-autocomplete-host .ais-AutocompleteIndexList{display:flex;flex-direction:column;gap:var(--viking-space-0-5);margin:0;padding:0;list-style:none}.algolia-autocomplete-host .aa-SourceHeader,.algolia-autocomplete-host .ais-AutocompleteSourceHeader{display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1));padding:var(--viking-space-1, var(--viking-space-1)) var(--viking-space-1, var(--viking-space-1)) 0;margin:0}.algolia-autocomplete-host .aa-SourceHeaderTitle,.algolia-autocomplete-host .ais-AutocompleteSourceHeaderTitle{font-size:calc(var(--viking-font-size-sm, 14px)*.85);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--viking-text-muted, var(--viking-text-muted))}.algolia-autocomplete-host .aa-SourceHeaderLine,.algolia-autocomplete-host .ais-AutocompleteSourceHeaderLine{flex:1;height:1px;background:var(--viking-border, var(--viking-border))}.algolia-autocomplete-host .aa-Item,.algolia-autocomplete-host .ais-AutocompleteIndexItem{border-radius:calc(var(--viking-radius, 8px)/1.5);padding:0;margin:0}.algolia-autocomplete-host .aa-ItemLink,.algolia-autocomplete-host .aa-ItemWrapper,.algolia-autocomplete-host .ais-ItemTemplate{display:flex;align-items:flex-start;gap:var(--viking-space-2);min-height:var(--viking-control-height-sm, 36px);padding:var(--viking-space-2);border-radius:calc(var(--viking-radius, 8px)/1.5);color:var(--viking-text, var(--viking-text));text-decoration:none;transition:var(--viking-transition-interactive, background-color 0.2s ease)}.algolia-autocomplete-host .aa-Item[aria-selected=true] .aa-ItemLink,.algolia-autocomplete-host .aa-Item[aria-selected=true] .aa-ItemWrapper,.algolia-autocomplete-host .aa-Item:hover .aa-ItemLink,.algolia-autocomplete-host .aa-Item:hover .aa-ItemWrapper,.algolia-autocomplete-host .ais-AutocompleteIndexItem[aria-selected=true] .ais-ItemTemplate,.algolia-autocomplete-host .ais-AutocompleteIndexItem:hover .ais-ItemTemplate{background:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 12%, transparent))}.algolia-autocomplete-host .aa-ItemContent,.algolia-autocomplete-host .ais-ItemTemplateInfo{display:flex;flex-direction:column;gap:calc(var(--viking-space-1, var(--viking-space-1))/2);min-width:0;flex:1}.algolia-autocomplete-host .ais-ItemTemplateImageContainer:empty{display:none}.algolia-autocomplete-host .ais-ItemTemplateImageContainer{flex-shrink:0}.algolia-autocomplete-host .ais-ItemTemplateImageContainer img{width:var(--viking-space-5, 40px);height:var(--viking-space-5, 40px);border-radius:var(--viking-radius, 8px);object-fit:cover}.algolia-autocomplete-host .aa-ItemIcon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--viking-space-5, 40px);height:var(--viking-space-5, 40px);margin-top:var(--viking-space-0-5);border-radius:var(--viking-radius, 8px);background:var(--viking-surface-alt, var(--viking-charcoal-700)) !important;box-shadow:none !important;color:var(--viking-accent-strong, var(--viking-ring));overflow:hidden}.algolia-autocomplete-host .aa-ItemIcon img,.algolia-autocomplete-host .aa-ItemIcon svg{width:20px;height:20px;object-fit:contain}.algolia-autocomplete-host .aa-Item[aria-selected=true] .aa-ItemIcon,.algolia-autocomplete-host .aa-Item:hover .aa-ItemIcon{color:var(--viking-accent, var(--viking-accent))}.algolia-autocomplete-host .aa-ItemContentBody{display:flex;flex-direction:column;gap:calc(var(--viking-space-1, var(--viking-space-1))/2);min-width:0;flex:1}.algolia-autocomplete-host .aa-ItemContentTitle,.algolia-autocomplete-host .ais-ItemTemplateTitle{font-size:var(--viking-font-size, 16px);font-weight:600;color:var(--viking-text, var(--viking-text));line-height:1.3}.algolia-autocomplete-host .aa-ItemContentDescription,.algolia-autocomplete-host .ais-ItemTemplateDescription,.algolia-autocomplete-host .ais-ItemTemplateCategory{font-size:var(--viking-font-size-sm, 14px);color:var(--viking-text-muted, var(--viking-text-muted));line-height:var(--viking-line-height-relaxed, 1.625);white-space:normal;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;text-overflow:ellipsis}.algolia-autocomplete-host .ais-ItemTemplateCategory{order:2}.algolia-autocomplete-host .ais-ItemTemplateTitle{order:1}.algolia-autocomplete-host .ais-ItemTemplateDescription{order:3}.algolia-autocomplete-host mark,.algolia-autocomplete-host .aa-ItemContentTitle mark,.algolia-autocomplete-host .aa-ItemContentDescription mark,.algolia-autocomplete-host .ais-Highlight-highlighted{background:color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 20%, transparent);color:var(--viking-accent, var(--viking-accent));border-radius:0;padding:0;font-weight:600}.algolia-autocomplete-host .aa-ItemActions,.algolia-autocomplete-host .aa-GradientBottom,.algolia-autocomplete-host .aa-GradientTop{display:none}.aa-DetachedOverlay{background:var(--viking-overlay-backdrop, rgba(0, 0, 0, 0.55)) !important;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.aa-DetachedContainer{font-family:var(--viking-font-family, inherit);border:1px solid var(--viking-border, var(--viking-border)) !important;border-radius:var(--viking-radius-lg, 12px) !important;background:var(--viking-surface, var(--viking-surface)) !important;box-shadow:var(--viking-shadow-lg, var(--viking-shadow-md)) !important}body.algolia-search-open>.aa-DetachedContainer,body.algolia-search-open>.aa-DetachedOverlay .aa-DetachedContainer{position:fixed !important;top:10vh !important;left:50% !important;right:auto !important;bottom:auto !important;z-index:var(--viking-z-overlay, 10001) !important;width:min(100vw - var(--viking-space-4, 32px),600px) !important;max-width:600px !important;max-height:80vh !important;transform:translateX(-50%) !important;overflow:hidden !important}.aa-DetachedContainer .aa-Form,.aa-DetachedContainer form{display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1));min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2, var(--viking-space-2));background:var(--viking-surface, var(--viking-surface));border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-sm, var(--viking-shadow-sm));transition:var(--viking-transition-interactive, border-color 0.25s ease, box-shadow 0.25s ease)}.aa-DetachedContainer .aa-Form:hover,.aa-DetachedContainer form:hover{border-color:color-mix(in srgb, var(--viking-accent-strong, var(--viking-ring)) 55%, var(--viking-border-strong, var(--viking-border)));box-shadow:var(--viking-shadow-md, var(--viking-shadow-md))}.aa-DetachedContainer .aa-Form,.aa-DetachedContainer form{margin:0 !important;border:0 !important;border-bottom:1px solid var(--viking-border, var(--viking-border)) !important;border-radius:0 !important;box-shadow:none !important}.aa-DetachedContainer .aa-Panel{margin:0;padding:var(--viking-space-1, var(--viking-space-1));background:var(--viking-surface, var(--viking-surface));border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-md, var(--viking-shadow-md));max-height:288px;overflow:auto;font-family:var(--viking-font-family, inherit);position:static !important;border:0 !important;box-shadow:none !important;max-height:50vh !important}@media(min-width: 768px){.navbar-content{position:relative}.navbar-center.desktop-nav{position:absolute;left:50%;transform:translateX(-50%);z-index:1;pointer-events:auto;max-width:min(100% - 26rem,52rem);overflow:visible;justify-content:center;gap:var(--viking-space-4, var(--viking-space-4))}.navbar-left{position:relative;z-index:2;flex-shrink:0;justify-self:start}.navbar-right{position:relative;z-index:2;flex-shrink:0;min-width:12.5rem;justify-self:end;pointer-events:none}.navbar-right>*{pointer-events:auto}.desktop-nav{display:flex}.desktop-auth{display:flex}.menu-toggle-btn,viking-button.menu-toggle-btn,viking-button-wc.menu-toggle-btn,#mobile-menu-btn{display:none !important;visibility:hidden !important;pointer-events:none !important}.mobile-menu,.mobile-menu:not(.open),.mobile-menu.open,#mobile-menu,#mobile-menu.open{display:none !important;visibility:hidden !important;pointer-events:none !important;opacity:0 !important}.navbar-right{gap:var(--viking-space-2, var(--viking-space-2))}.desktop-nav{gap:var(--viking-space-3, var(--viking-space-3))}.desktop-nav .nav-btn{padding:0 var(--viking-space-3, var(--viking-space-3)) !important;margin:0}}@container viking-navbar (min-width: 768px){.nav-btn{padding:0 var(--viking-space-1, var(--viking-space-1)) !important;gap:0 !important}.nav-btn>span{position:absolute;width:1px;height:1px;padding:0;margin:calc(-1*var(--viking-space-px));overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}}@container viking-navbar (min-width: 1440px){.nav-btn{padding:0 var(--viking-space-2, var(--viking-space-2)) !important;gap:var(--viking-space-1) !important;font-size:var(--viking-font-size, 16px) !important;letter-spacing:.08em !important}.nav-btn>span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}}.navbar viking-button.auth-btn,.navbar viking-button.auth-signout-btn,.navbar viking-button.navbar-search-trigger,.navbar viking-button.menu-toggle-btn{display:contents !important;width:auto !important;min-width:0 !important;height:auto !important;min-height:0 !important;padding:0 !important;margin:0 !important;border:0 !important;background:rgba(0,0,0,0) !important;box-shadow:none !important}.navbar viking-button.mobile-auth-btn{display:block !important;width:100% !important;min-width:0 !important;padding:0 !important;margin:0 !important;border:0 !important;background:rgba(0,0,0,0) !important;box-shadow:none !important}.navbar viking-button-wc.auth-btn,.navbar viking-button-wc.auth-signout-btn,.navbar viking-button-wc.mobile-auth-btn,.navbar viking-button-wc.navbar-search-trigger,.navbar viking-button-wc.menu-toggle-btn{background:rgba(0,0,0,0) !important;border:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important}.viking-footer,.mega-footer{position:relative;background-color:var(--viking-surface, var(--card-bg, var(--viking-charcoal-950)));border-top:1px solid var(--viking-border-strong, var(--border-layout, var(--border, var(--viking-charcoal-700))));padding:calc(var(--viking-space-2)*2) var(--viking-space-2);font-family:var(--viking-font-family);color:var(--viking-text-muted, var(--text-muted, var(--viking-metallic-300)))}.viking-footer::before,.mega-footer::before{content:"";position:absolute;top:-1px;left:var(--viking-page-gutter, var(--viking-space-2));width:min(8rem,30%);height:1px;background:linear-gradient(90deg, color-mix(in srgb, var(--viking-accent) 55%, transparent), transparent);pointer-events:none}.viking-footer-content,.footer-content{max-width:var(--container-max-width, 1260px);margin:0 auto}.viking-footer-directory,.footer-directory{display:grid;grid-template-columns:1fr;gap:calc(var(--viking-space-2)*1.75);padding-bottom:calc(var(--viking-space-2)*2);border-bottom:1px solid var(--viking-border-strong, var(--border-layout, var(--border, var(--viking-charcoal-700))))}@media(min-width: 600px){.viking-footer-directory,.footer-directory{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1024px){.viking-footer-directory,.footer-directory{grid-template-columns:repeat(4, 1fr)}}.viking-footer-column-title,.footer-column-title{font-size:var(--viking-font-size);font-weight:700;color:var(--viking-text, var(--text-color, var(--viking-metallic-100)));margin:0 0 var(--viking-space-2);letter-spacing:.05em}.viking-footer-list,.footer-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-footer-list a,.footer-list a{display:inline-flex;align-items:center;min-width:var(--viking-touch-target-min, 44px);min-height:var(--viking-touch-target-min, 44px);font-size:var(--viking-font-size);color:var(--viking-text-muted, var(--text-muted, var(--viking-metallic-300)));text-decoration:none !important;border-bottom:1px solid rgba(0,0,0,0);transition:color .2s ease,border-color .2s ease}.viking-footer-list a:hover,.footer-list a:hover{color:var(--viking-text, var(--text-color, var(--viking-metallic-100)));border-bottom-color:var(--viking-text)}.viking-footer-bottom,.footer-bottom{padding-top:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-2)}.viking-footer-badges-top,.footer-badges-top{display:flex;justify-content:center;margin-bottom:var(--viking-space-2)}.viking-footer-compliance-row,.footer-compliance-row{display:flex;justify-content:center;align-items:center}.viking-copyright-info,.copyright-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--viking-space-2);font-size:var(--viking-font-size);color:var(--viking-text-muted);text-align:center}.viking-copyright-info a,.copyright-info a{display:inline-flex;align-items:center;justify-content:center;min-width:var(--viking-touch-target-min, 44px);min-height:var(--viking-touch-target-min, 44px);color:var(--viking-text-muted);text-decoration:none !important;border-bottom:1px solid rgba(0,0,0,0);transition:color .2s ease,border-color .2s ease}.viking-copyright-info a:hover,.copyright-info a:hover{color:var(--viking-text);border-bottom-color:var(--viking-text)}@media(min-width: 768px){.viking-footer-list a,.footer-list a,.viking-copyright-info a,.copyright-info a{min-width:0;min-height:auto}}.viking-usa-badge,.usa-badge{display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height, 44px);padding:var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius-pill);background-color:rgba(0,0,0,0);border:1px solid var(--viking-border, var(--border, var(--viking-charcoal-700)));font-size:var(--viking-font-size);font-weight:500;color:var(--viking-text-muted, var(--text-muted, var(--viking-metallic-300)));line-height:1.2;text-align:center}.viking-usa-badge-icon,.usa-badge-icon{font-size:var(--viking-font-size-md);line-height:1}.viking-chart,viking-chart{container-type:inline-size;min-width:0;border:none;box-shadow:none;background:rgba(0,0,0,0)}.viking-chart-viewport{position:relative;width:100%;flex:1 1 0;display:flex;align-items:center;justify-content:center;min-height:0;overflow:visible;padding:0;box-sizing:border-box;border:none;background:rgba(0,0,0,0)}.viking-chart-fill .viking-chart-viewport{padding:0}.viking-chart-grid{stroke:var(--viking-chart-grid-stroke, color-mix(in srgb, var(--viking-text-muted) 16%, transparent));stroke-width:var(--viking-chart-grid-width, 1);stroke-dasharray:var(--viking-chart-grid-dash, 4 4)}.viking-chart-axis-line,.viking-chart-tick{stroke:var(--viking-chart-axis-stroke, color-mix(in srgb, var(--viking-text-muted) 28%, transparent));stroke-width:var(--viking-chart-axis-width, 1)}.viking-chart-axis-y,.viking-chart-axis-x{fill:var(--viking-chart-axis-color, var(--viking-text-muted));font-size:var(--viking-chart-axis-size-mobile, var(--viking-font-size-base));font-family:var(--viking-font-family);letter-spacing:.01em;font-variant-numeric:tabular-nums lining-nums}.viking-chart-axis-x{font-weight:var(--viking-font-weight-regular)}.viking-chart-axis-y{font-weight:var(--viking-font-weight-medium)}.viking-chart-cursor{stroke:var(--viking-chart-cursor-stroke, color-mix(in srgb, var(--viking-text) 32%, transparent));stroke-width:var(--viking-chart-cursor-width, 1);stroke-dasharray:var(--viking-chart-cursor-dash, 3 3);pointer-events:none}.viking-chart-cursor-area{fill:color-mix(in srgb, var(--viking-text) 6%, transparent);stroke:none;pointer-events:none}.viking-chart-line{fill:none;stroke-width:var(--viking-chart-line-width, 2);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.viking-chart-fill .viking-chart-line{stroke-width:var(--viking-chart-line-width-fill, 2)}.viking-chart-area{opacity:1;stroke:none;fill-opacity:1}.viking-chart-area-stop-start,.viking-chart-area-stop-end{stop-color:currentColor}.viking-chart-area-stop-start{stop-opacity:var(--viking-chart-area-opacity-start)}.viking-chart-area-stop-end{stop-opacity:var(--viking-chart-area-opacity-end)}.viking-chart-sparkline .viking-chart-area{opacity:.14}.viking-chart-sparkline .viking-chart-line{stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.viking-chart-point{stroke:var(--viking-chart-point-stroke, var(--viking-surface));stroke-width:2;vector-effect:non-scaling-stroke}.viking-chart-bar{opacity:.92}.viking-chart-donut-slice{stroke:var(--viking-surface);stroke-width:2}.viking-chart-donut-hole{fill:var(--viking-surface)}.viking-chart-donut-total{fill:var(--viking-text);font-size:var(--viking-chart-text-size, var(--viking-font-size-base));font-weight:700;font-family:var(--viking-font-family);font-variant-numeric:tabular-nums lining-nums}.viking-chart-fill .viking-chart-donut-total{font-size:var(--viking-chart-text-size, var(--viking-font-size-base))}.viking-chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--viking-space-1) var(--viking-space-2);margin:var(--viking-chart-legend-margin, var(--viking-space-3) 0 0);font-size:var(--viking-chart-legend-size, var(--viking-font-size-base));color:var(--viking-text-muted);padding-inline:var(--viking-space-1)}.viking-chart-fill .viking-chart-legend{margin:var(--viking-chart-legend-margin-fill, var(--viking-space-4) 0 0)}.viking-chart-legend-item{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2}.viking-chart-swatch{width:var(--viking-chart-swatch-size, 8px);height:var(--viking-chart-swatch-size, 8px);border-radius:999px;display:inline-block;flex-shrink:0;border:none}.viking-chart-tooltip{position:absolute;z-index:var(--viking-z-tooltip, 40);pointer-events:none;display:none;flex-direction:column;gap:var(--viking-space-0-5);min-width:80px;padding:var(--viking-space-0-5) var(--viking-space-1);background:var(--viking-chart-tooltip-bg, color-mix(in srgb, var(--viking-surface) 94%, transparent));border:1px solid var(--viking-chart-tooltip-border, color-mix(in srgb, var(--viking-border) 65%, transparent));border-radius:var(--viking-chart-tooltip-radius, var(--viking-radius));box-shadow:var(--viking-shadow-sm);backdrop-filter:none;font-size:var(--viking-chart-tooltip-size, var(--viking-font-size-base));color:var(--viking-chart-tooltip-text, var(--viking-text));white-space:nowrap}.viking-chart-tooltip.visible{display:flex}.viking-chart-tooltip .tt-label{font-weight:var(--viking-font-weight-medium);color:var(--viking-text-muted);font-size:var(--viking-chart-tooltip-size, var(--viking-font-size-base));text-transform:uppercase;letter-spacing:.04em}.viking-chart-tooltip .tt-value{font-weight:var(--viking-font-weight-semibold);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum"}.viking-chart-tooltip .tt-series-value{display:grid;grid-template-columns:auto minmax(0, 1fr) auto;align-items:center;gap:var(--viking-space-1);font-size:var(--viking-font-size-xs)}.viking-chart-tooltip .tt-series-value strong{font-weight:var(--viking-font-weight-semibold);font-variant-numeric:tabular-nums lining-nums}.viking-chart-zoom-reset{position:absolute;top:var(--viking-space-0-5);right:var(--viking-space-0-5);z-index:2;padding:var(--viking-space-0-5) var(--viking-space-1);font-size:var(--viking-font-size-sm);font-family:var(--viking-font-family);color:var(--viking-text-muted);background:color-mix(in srgb, var(--viking-surface) 90%, transparent);border:1px solid var(--viking-border);border-radius:var(--viking-radius-md);cursor:pointer;transition:var(--viking-transition-fast)}.viking-chart-zoom-reset:hover{background:var(--viking-surface);color:var(--viking-text)}.viking-chart-zoom-reset:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:2px}@media(min-width: 768px){.viking-chart-axis-y,.viking-chart-axis-x{font-size:max(var(--viking-chart-label-size, var(--viking-font-size-base)),var(--viking-chart-axis-size, var(--viking-font-size-base)))}.viking-chart-legend{gap:var(--viking-chart-legend-gap, var(--viking-space-2) var(--viking-space-3));font-size:var(--viking-chart-legend-size, var(--viking-font-size-xs))}.viking-chart-tooltip{min-width:88px;padding:var(--viking-chart-tooltip-padding, var(--viking-space-1) var(--viking-space-1));font-size:var(--viking-chart-tooltip-size, var(--viking-font-size-xs))}}.viking-chart-sparkline{--viking-chart-line-width: 1.75;--viking-chart-area-opacity: 0.16}.viking-chart-sparkline .viking-chart-legend{display:none}.viking-chart:not(.viking-chart-sparkline){height:var(--viking-chart-plot-height);min-height:var(--viking-chart-plot-height);max-height:var(--viking-chart-plot-height)}.viking-chart:not(.viking-chart-sparkline) svg{width:100%;height:100%;min-height:0;max-height:100%}.viking-chart-fill{flex:0 0 auto}.viking-chart-panel,viking-chart-panel{display:grid;grid-template-rows:auto minmax(0, 1fr);container-type:inline-size;container-name:viking-chart-panel;min-width:0;overflow:hidden;color:var(--viking-text);background:var(--viking-surface-recipe);border:var(--viking-border-width) var(--viking-border-style) var(--viking-border-container);border-radius:var(--viking-card-radius);box-shadow:var(--viking-shadow-xs),var(--viking-surface-highlight)}.viking-chart-panel-body,.card-body-clean.viking-chart-panel-body{background:rgba(0,0,0,0);border:none;padding:var(--viking-space-content-gap)}@container viking-chart-panel (min-width: 37.5rem){.viking-chart-panel-body,.card-body-clean.viking-chart-panel-body{padding:var(--viking-space-content-gap) var(--viking-space-container-gap) var(--viking-space-container-gap)}}.viking-chart-panel-body viking-chart,.viking-chart-panel-body .viking-chart{width:100%;min-height:0;flex:0 0 auto;border:none;box-shadow:none;background:rgba(0,0,0,0)}.viking-chart-empty-state{padding:var(--viking-chart-empty-padding, var(--viking-space-5) var(--viking-space-4));gap:var(--viking-chart-empty-gap, var(--viking-space-3))}.viking-chart-skeleton{width:100%;height:100%;min-height:var(--viking-chart-fill-min-height, clamp(16rem, 32vw, 18rem));border-radius:var(--viking-radius-md);background:linear-gradient(90deg, var(--viking-charcoal-700) 25%, var(--viking-charcoal-600) 50%, var(--viking-charcoal-700) 75%);background-size:200% 100%;animation:viking-shimmer 1.4s linear infinite}@media(prefers-reduced-motion: reduce){.viking-chart-skeleton{animation:none;background:var(--viking-surface-alt)}}@keyframes viking-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}viking-spinner{position:relative;display:inline-grid;flex:0 0 auto;place-items:center;aspect-ratio:1;border-radius:var(--viking-radius-pill);color:var(--viking-accent);line-height:0}viking-spinner .viking-spinner-svg{grid-area:1/1;display:block;aspect-ratio:1;border-radius:inherit;shape-rendering:geometricPrecision;transform-box:fill-box;transform-origin:50% 50%;animation:viking-spin var(--viking-duration-slow) linear infinite}viking-spinner .viking-spinner-track,viking-spinner .viking-spinner-arc{fill:none;stroke-width:var(--viking-spinner-stroke, 2)}viking-spinner .viking-spinner-track{stroke:color-mix(in srgb, currentColor 14%, transparent)}viking-spinner .viking-spinner-arc{stroke:currentColor;stroke-dasharray:42 84}viking-spinner .viking-spinner-wordmark{z-index:1;grid-area:1/1;color:var(--viking-text);font-family:var(--viking-font-family);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-bold);line-height:var(--viking-line-height-none);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;pointer-events:none}@media(prefers-reduced-motion: reduce){viking-spinner .viking-spinner-svg{animation:none}viking-spinner .viking-spinner-arc{stroke-dasharray:56 84}}.viking-page-mockup,.hero-mockup{overflow:hidden;width:100%;max-width:none;position:relative;z-index:1}.viking-page-mockup-window,.mockup-window{background:var(--viking-charcoal-800, var(--viking-surface));border:1px solid color-mix(in srgb, var(--viking-metallic-400, var(--viking-border)) 54%, transparent);border-radius:var(--viking-radius-lg, 12px);overflow:hidden;box-shadow:var(--viking-shadow-md, 0 8px 24px rgba(0, 0, 0, 0.35));position:relative;width:100%;min-width:0;transform:none}.viking-page-mockup-window::before,.mockup-window::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;border:1px solid color-mix(in srgb, var(--viking-metallic-500, var(--viking-border)) 28%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--viking-white, var(--viking-white-pure)) 7%, transparent);opacity:.75}.viking-page-mockup-titlebar,.mockup-titlebar{display:flex;align-items:center;gap:var(--viking-space-1);padding:var(--viking-space-2) var(--viking-space-2);background:var(--viking-charcoal-900, var(--viking-surface-alt));border-bottom:1px solid color-mix(in srgb, var(--viking-metallic-400, var(--viking-border)) 42%, transparent)}.viking-page-mockup-titlebar .mockup-dot,.viking-page-mockup-titlebar .viking-page-mockup-dot,.mockup-titlebar .mockup-dot,.mockup-titlebar .viking-page-mockup-dot{width:10px;height:10px;border-radius:50%;background:var(--viking-text-muted);opacity:.5}.viking-page-mockup-titlebar .mockup-dot:first-child,.viking-page-mockup-titlebar .viking-page-mockup-dot:first-child,.mockup-titlebar .mockup-dot:first-child,.mockup-titlebar .viking-page-mockup-dot:first-child{background:var(--viking-crimson-500, var(--viking-danger));opacity:.8}.viking-page-mockup-titlebar .mockup-dot:nth-child(2),.viking-page-mockup-titlebar .viking-page-mockup-dot:nth-child(2),.mockup-titlebar .mockup-dot:nth-child(2),.mockup-titlebar .viking-page-mockup-dot:nth-child(2){background:var(--viking-gold-500, var(--viking-warning));opacity:.8}.viking-page-mockup-titlebar .mockup-dot:nth-child(3),.viking-page-mockup-titlebar .viking-page-mockup-dot:nth-child(3),.mockup-titlebar .mockup-dot:nth-child(3),.mockup-titlebar .viking-page-mockup-dot:nth-child(3){background:var(--viking-accent-strong, var(--viking-accent));opacity:.8}.viking-page-mockup-titlebar .mockup-title,.viking-page-mockup-titlebar .viking-page-mockup-title,.mockup-titlebar .mockup-title,.mockup-titlebar .viking-page-mockup-title{margin-left:var(--viking-space-1);font-size:var(--viking-font-size-sm);font-family:var(--viking-font-family-mono, ui-monospace, monospace);color:var(--viking-electric-200, var(--viking-text-muted));letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viking-page-mockup-body,.mockup-body{display:flex;min-height:280px}.viking-page-mockup-sidebar,.mockup-sidebar{width:48px;padding:var(--viking-space-2) var(--viking-space-1);display:flex;flex-direction:column;gap:var(--viking-space-2);border-right:1px solid color-mix(in srgb, var(--viking-metallic-400, var(--viking-border)) 36%, transparent);background:var(--viking-charcoal-900, var(--viking-surface-alt));flex-shrink:0}.viking-page-mockup-sidebar .mockup-nav-item,.viking-page-mockup-sidebar .viking-page-mockup-nav-item,.mockup-sidebar .mockup-nav-item,.mockup-sidebar .viking-page-mockup-nav-item{height:32px;border-radius:8px;background:color-mix(in srgb, var(--viking-text-muted) 20%, transparent)}.viking-page-mockup-sidebar .mockup-nav-item.active,.viking-page-mockup-sidebar .viking-page-mockup-nav-item.active,.mockup-sidebar .mockup-nav-item.active,.mockup-sidebar .viking-page-mockup-nav-item.active{background:color-mix(in srgb, var(--viking-accent) 35%, transparent);box-shadow:inset 0 0 0 1px var(--viking-accent)}.viking-page-mockup-main,.mockup-main{flex:1;min-width:0;padding:var(--viking-card-padding, var(--viking-space-3));display:flex;flex-direction:column;gap:var(--viking-space-3)}.viking-page-mockup-gauges,.mockup-gauges{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2)}@media(min-width: 600px){.viking-page-mockup-gauges,.mockup-gauges{grid-template-columns:repeat(3, 1fr)}}.viking-page-mockup-gauge,.mockup-gauge{background:var(--viking-charcoal-700, var(--viking-surface-alt));border:1px solid color-mix(in srgb, var(--viking-metallic-400, var(--viking-border)) 42%, transparent);border-radius:var(--viking-radius-lg);padding:var(--viking-card-padding-compact, var(--viking-space-2));text-align:center}.viking-page-mockup-gauge.primary,.mockup-gauge.primary{border-color:var(--viking-accent)}.viking-page-mockup-gauge .gauge-label,.viking-page-mockup-gauge .viking-page-mockup-gauge-label,.mockup-gauge .gauge-label,.mockup-gauge .viking-page-mockup-gauge-label{display:block;font-size:var(--viking-font-size-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--viking-metallic-200, var(--viking-text-muted));margin-bottom:var(--viking-space-0-5)}.viking-page-mockup-gauge .gauge-val,.viking-page-mockup-gauge .viking-page-mockup-gauge-val,.mockup-gauge .gauge-val,.mockup-gauge .viking-page-mockup-gauge-val{font-size:var(--viking-font-size-lead);font-weight:800;color:var(--viking-white, var(--viking-text));font-variant-numeric:tabular-nums}.viking-page-mockup-chart,.mockup-chart{flex:1;display:flex;align-items:flex-end;gap:var(--viking-space-0-5);padding:var(--viking-card-padding-compact, var(--viking-space-2));background:var(--viking-charcoal-950, var(--viking-bg));border-radius:var(--viking-radius-lg);border:1px solid color-mix(in srgb, var(--viking-metallic-400, var(--viking-border)) 36%, transparent);min-height:100px}.viking-page-mockup-chart .chart-bar,.viking-page-mockup-chart .viking-page-mockup-bar,.mockup-chart .chart-bar,.mockup-chart .viking-page-mockup-bar{flex:1;background:linear-gradient(180deg, var(--viking-accent), var(--viking-accent-strong, var(--viking-accent)));border-radius:4px 4px 0 0;opacity:.85;height:calc(var(--chart-bar-height, 50)*1%);min-height:8px}.viking-page-mockup-chart .chart-bar[data-height="20"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="20"],.mockup-chart .chart-bar[data-height="20"],.mockup-chart .viking-page-mockup-bar[data-height="20"]{--chart-bar-height: 20}.viking-page-mockup-chart .chart-bar[data-height="21"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="21"],.mockup-chart .chart-bar[data-height="21"],.mockup-chart .viking-page-mockup-bar[data-height="21"]{--chart-bar-height: 21}.viking-page-mockup-chart .chart-bar[data-height="22"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="22"],.mockup-chart .chart-bar[data-height="22"],.mockup-chart .viking-page-mockup-bar[data-height="22"]{--chart-bar-height: 22}.viking-page-mockup-chart .chart-bar[data-height="23"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="23"],.mockup-chart .chart-bar[data-height="23"],.mockup-chart .viking-page-mockup-bar[data-height="23"]{--chart-bar-height: 23}.viking-page-mockup-chart .chart-bar[data-height="24"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="24"],.mockup-chart .chart-bar[data-height="24"],.mockup-chart .viking-page-mockup-bar[data-height="24"]{--chart-bar-height: 24}.viking-page-mockup-chart .chart-bar[data-height="25"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="25"],.mockup-chart .chart-bar[data-height="25"],.mockup-chart .viking-page-mockup-bar[data-height="25"]{--chart-bar-height: 25}.viking-page-mockup-chart .chart-bar[data-height="26"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="26"],.mockup-chart .chart-bar[data-height="26"],.mockup-chart .viking-page-mockup-bar[data-height="26"]{--chart-bar-height: 26}.viking-page-mockup-chart .chart-bar[data-height="27"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="27"],.mockup-chart .chart-bar[data-height="27"],.mockup-chart .viking-page-mockup-bar[data-height="27"]{--chart-bar-height: 27}.viking-page-mockup-chart .chart-bar[data-height="28"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="28"],.mockup-chart .chart-bar[data-height="28"],.mockup-chart .viking-page-mockup-bar[data-height="28"]{--chart-bar-height: 28}.viking-page-mockup-chart .chart-bar[data-height="29"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="29"],.mockup-chart .chart-bar[data-height="29"],.mockup-chart .viking-page-mockup-bar[data-height="29"]{--chart-bar-height: 29}.viking-page-mockup-chart .chart-bar[data-height="30"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="30"],.mockup-chart .chart-bar[data-height="30"],.mockup-chart .viking-page-mockup-bar[data-height="30"]{--chart-bar-height: 30}.viking-page-mockup-chart .chart-bar[data-height="31"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="31"],.mockup-chart .chart-bar[data-height="31"],.mockup-chart .viking-page-mockup-bar[data-height="31"]{--chart-bar-height: 31}.viking-page-mockup-chart .chart-bar[data-height="32"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="32"],.mockup-chart .chart-bar[data-height="32"],.mockup-chart .viking-page-mockup-bar[data-height="32"]{--chart-bar-height: 32}.viking-page-mockup-chart .chart-bar[data-height="33"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="33"],.mockup-chart .chart-bar[data-height="33"],.mockup-chart .viking-page-mockup-bar[data-height="33"]{--chart-bar-height: 33}.viking-page-mockup-chart .chart-bar[data-height="34"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="34"],.mockup-chart .chart-bar[data-height="34"],.mockup-chart .viking-page-mockup-bar[data-height="34"]{--chart-bar-height: 34}.viking-page-mockup-chart .chart-bar[data-height="35"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="35"],.mockup-chart .chart-bar[data-height="35"],.mockup-chart .viking-page-mockup-bar[data-height="35"]{--chart-bar-height: 35}.viking-page-mockup-chart .chart-bar[data-height="36"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="36"],.mockup-chart .chart-bar[data-height="36"],.mockup-chart .viking-page-mockup-bar[data-height="36"]{--chart-bar-height: 36}.viking-page-mockup-chart .chart-bar[data-height="37"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="37"],.mockup-chart .chart-bar[data-height="37"],.mockup-chart .viking-page-mockup-bar[data-height="37"]{--chart-bar-height: 37}.viking-page-mockup-chart .chart-bar[data-height="38"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="38"],.mockup-chart .chart-bar[data-height="38"],.mockup-chart .viking-page-mockup-bar[data-height="38"]{--chart-bar-height: 38}.viking-page-mockup-chart .chart-bar[data-height="39"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="39"],.mockup-chart .chart-bar[data-height="39"],.mockup-chart .viking-page-mockup-bar[data-height="39"]{--chart-bar-height: 39}.viking-page-mockup-chart .chart-bar[data-height="40"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="40"],.mockup-chart .chart-bar[data-height="40"],.mockup-chart .viking-page-mockup-bar[data-height="40"]{--chart-bar-height: 40}.viking-page-mockup-chart .chart-bar[data-height="41"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="41"],.mockup-chart .chart-bar[data-height="41"],.mockup-chart .viking-page-mockup-bar[data-height="41"]{--chart-bar-height: 41}.viking-page-mockup-chart .chart-bar[data-height="42"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="42"],.mockup-chart .chart-bar[data-height="42"],.mockup-chart .viking-page-mockup-bar[data-height="42"]{--chart-bar-height: 42}.viking-page-mockup-chart .chart-bar[data-height="43"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="43"],.mockup-chart .chart-bar[data-height="43"],.mockup-chart .viking-page-mockup-bar[data-height="43"]{--chart-bar-height: 43}.viking-page-mockup-chart .chart-bar[data-height="44"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="44"],.mockup-chart .chart-bar[data-height="44"],.mockup-chart .viking-page-mockup-bar[data-height="44"]{--chart-bar-height: 44}.viking-page-mockup-chart .chart-bar[data-height="45"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="45"],.mockup-chart .chart-bar[data-height="45"],.mockup-chart .viking-page-mockup-bar[data-height="45"]{--chart-bar-height: 45}.viking-page-mockup-chart .chart-bar[data-height="46"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="46"],.mockup-chart .chart-bar[data-height="46"],.mockup-chart .viking-page-mockup-bar[data-height="46"]{--chart-bar-height: 46}.viking-page-mockup-chart .chart-bar[data-height="47"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="47"],.mockup-chart .chart-bar[data-height="47"],.mockup-chart .viking-page-mockup-bar[data-height="47"]{--chart-bar-height: 47}.viking-page-mockup-chart .chart-bar[data-height="48"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="48"],.mockup-chart .chart-bar[data-height="48"],.mockup-chart .viking-page-mockup-bar[data-height="48"]{--chart-bar-height: 48}.viking-page-mockup-chart .chart-bar[data-height="49"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="49"],.mockup-chart .chart-bar[data-height="49"],.mockup-chart .viking-page-mockup-bar[data-height="49"]{--chart-bar-height: 49}.viking-page-mockup-chart .chart-bar[data-height="50"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="50"],.mockup-chart .chart-bar[data-height="50"],.mockup-chart .viking-page-mockup-bar[data-height="50"]{--chart-bar-height: 50}.viking-page-mockup-chart .chart-bar[data-height="51"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="51"],.mockup-chart .chart-bar[data-height="51"],.mockup-chart .viking-page-mockup-bar[data-height="51"]{--chart-bar-height: 51}.viking-page-mockup-chart .chart-bar[data-height="52"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="52"],.mockup-chart .chart-bar[data-height="52"],.mockup-chart .viking-page-mockup-bar[data-height="52"]{--chart-bar-height: 52}.viking-page-mockup-chart .chart-bar[data-height="53"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="53"],.mockup-chart .chart-bar[data-height="53"],.mockup-chart .viking-page-mockup-bar[data-height="53"]{--chart-bar-height: 53}.viking-page-mockup-chart .chart-bar[data-height="54"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="54"],.mockup-chart .chart-bar[data-height="54"],.mockup-chart .viking-page-mockup-bar[data-height="54"]{--chart-bar-height: 54}.viking-page-mockup-chart .chart-bar[data-height="55"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="55"],.mockup-chart .chart-bar[data-height="55"],.mockup-chart .viking-page-mockup-bar[data-height="55"]{--chart-bar-height: 55}.viking-page-mockup-chart .chart-bar[data-height="56"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="56"],.mockup-chart .chart-bar[data-height="56"],.mockup-chart .viking-page-mockup-bar[data-height="56"]{--chart-bar-height: 56}.viking-page-mockup-chart .chart-bar[data-height="57"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="57"],.mockup-chart .chart-bar[data-height="57"],.mockup-chart .viking-page-mockup-bar[data-height="57"]{--chart-bar-height: 57}.viking-page-mockup-chart .chart-bar[data-height="58"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="58"],.mockup-chart .chart-bar[data-height="58"],.mockup-chart .viking-page-mockup-bar[data-height="58"]{--chart-bar-height: 58}.viking-page-mockup-chart .chart-bar[data-height="59"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="59"],.mockup-chart .chart-bar[data-height="59"],.mockup-chart .viking-page-mockup-bar[data-height="59"]{--chart-bar-height: 59}.viking-page-mockup-chart .chart-bar[data-height="60"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="60"],.mockup-chart .chart-bar[data-height="60"],.mockup-chart .viking-page-mockup-bar[data-height="60"]{--chart-bar-height: 60}.viking-page-mockup-chart .chart-bar[data-height="61"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="61"],.mockup-chart .chart-bar[data-height="61"],.mockup-chart .viking-page-mockup-bar[data-height="61"]{--chart-bar-height: 61}.viking-page-mockup-chart .chart-bar[data-height="62"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="62"],.mockup-chart .chart-bar[data-height="62"],.mockup-chart .viking-page-mockup-bar[data-height="62"]{--chart-bar-height: 62}.viking-page-mockup-chart .chart-bar[data-height="63"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="63"],.mockup-chart .chart-bar[data-height="63"],.mockup-chart .viking-page-mockup-bar[data-height="63"]{--chart-bar-height: 63}.viking-page-mockup-chart .chart-bar[data-height="64"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="64"],.mockup-chart .chart-bar[data-height="64"],.mockup-chart .viking-page-mockup-bar[data-height="64"]{--chart-bar-height: 64}.viking-page-mockup-chart .chart-bar[data-height="65"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="65"],.mockup-chart .chart-bar[data-height="65"],.mockup-chart .viking-page-mockup-bar[data-height="65"]{--chart-bar-height: 65}.viking-page-mockup-chart .chart-bar[data-height="66"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="66"],.mockup-chart .chart-bar[data-height="66"],.mockup-chart .viking-page-mockup-bar[data-height="66"]{--chart-bar-height: 66}.viking-page-mockup-chart .chart-bar[data-height="67"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="67"],.mockup-chart .chart-bar[data-height="67"],.mockup-chart .viking-page-mockup-bar[data-height="67"]{--chart-bar-height: 67}.viking-page-mockup-chart .chart-bar[data-height="68"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="68"],.mockup-chart .chart-bar[data-height="68"],.mockup-chart .viking-page-mockup-bar[data-height="68"]{--chart-bar-height: 68}.viking-page-mockup-chart .chart-bar[data-height="69"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="69"],.mockup-chart .chart-bar[data-height="69"],.mockup-chart .viking-page-mockup-bar[data-height="69"]{--chart-bar-height: 69}.viking-page-mockup-chart .chart-bar[data-height="70"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="70"],.mockup-chart .chart-bar[data-height="70"],.mockup-chart .viking-page-mockup-bar[data-height="70"]{--chart-bar-height: 70}.viking-page-mockup-chart .chart-bar[data-height="71"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="71"],.mockup-chart .chart-bar[data-height="71"],.mockup-chart .viking-page-mockup-bar[data-height="71"]{--chart-bar-height: 71}.viking-page-mockup-chart .chart-bar[data-height="72"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="72"],.mockup-chart .chart-bar[data-height="72"],.mockup-chart .viking-page-mockup-bar[data-height="72"]{--chart-bar-height: 72}.viking-page-mockup-chart .chart-bar[data-height="73"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="73"],.mockup-chart .chart-bar[data-height="73"],.mockup-chart .viking-page-mockup-bar[data-height="73"]{--chart-bar-height: 73}.viking-page-mockup-chart .chart-bar[data-height="74"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="74"],.mockup-chart .chart-bar[data-height="74"],.mockup-chart .viking-page-mockup-bar[data-height="74"]{--chart-bar-height: 74}.viking-page-mockup-chart .chart-bar[data-height="75"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="75"],.mockup-chart .chart-bar[data-height="75"],.mockup-chart .viking-page-mockup-bar[data-height="75"]{--chart-bar-height: 75}.viking-page-mockup-chart .chart-bar[data-height="76"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="76"],.mockup-chart .chart-bar[data-height="76"],.mockup-chart .viking-page-mockup-bar[data-height="76"]{--chart-bar-height: 76}.viking-page-mockup-chart .chart-bar[data-height="77"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="77"],.mockup-chart .chart-bar[data-height="77"],.mockup-chart .viking-page-mockup-bar[data-height="77"]{--chart-bar-height: 77}.viking-page-mockup-chart .chart-bar[data-height="78"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="78"],.mockup-chart .chart-bar[data-height="78"],.mockup-chart .viking-page-mockup-bar[data-height="78"]{--chart-bar-height: 78}.viking-page-mockup-chart .chart-bar[data-height="79"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="79"],.mockup-chart .chart-bar[data-height="79"],.mockup-chart .viking-page-mockup-bar[data-height="79"]{--chart-bar-height: 79}.viking-page-mockup-chart .chart-bar[data-height="80"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="80"],.mockup-chart .chart-bar[data-height="80"],.mockup-chart .viking-page-mockup-bar[data-height="80"]{--chart-bar-height: 80}.viking-page-mockup-chart .chart-bar[data-height="81"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="81"],.mockup-chart .chart-bar[data-height="81"],.mockup-chart .viking-page-mockup-bar[data-height="81"]{--chart-bar-height: 81}.viking-page-mockup-chart .chart-bar[data-height="82"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="82"],.mockup-chart .chart-bar[data-height="82"],.mockup-chart .viking-page-mockup-bar[data-height="82"]{--chart-bar-height: 82}.viking-page-mockup-chart .chart-bar[data-height="83"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="83"],.mockup-chart .chart-bar[data-height="83"],.mockup-chart .viking-page-mockup-bar[data-height="83"]{--chart-bar-height: 83}.viking-page-mockup-chart .chart-bar[data-height="84"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="84"],.mockup-chart .chart-bar[data-height="84"],.mockup-chart .viking-page-mockup-bar[data-height="84"]{--chart-bar-height: 84}.viking-page-mockup-chart .chart-bar[data-height="85"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="85"],.mockup-chart .chart-bar[data-height="85"],.mockup-chart .viking-page-mockup-bar[data-height="85"]{--chart-bar-height: 85}.viking-page-mockup-chart .chart-bar[data-height="86"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="86"],.mockup-chart .chart-bar[data-height="86"],.mockup-chart .viking-page-mockup-bar[data-height="86"]{--chart-bar-height: 86}.viking-page-mockup-chart .chart-bar[data-height="87"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="87"],.mockup-chart .chart-bar[data-height="87"],.mockup-chart .viking-page-mockup-bar[data-height="87"]{--chart-bar-height: 87}.viking-page-mockup-chart .chart-bar[data-height="88"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="88"],.mockup-chart .chart-bar[data-height="88"],.mockup-chart .viking-page-mockup-bar[data-height="88"]{--chart-bar-height: 88}.viking-page-mockup-chart .chart-bar[data-height="89"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="89"],.mockup-chart .chart-bar[data-height="89"],.mockup-chart .viking-page-mockup-bar[data-height="89"]{--chart-bar-height: 89}.viking-page-mockup-chart .chart-bar[data-height="90"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="90"],.mockup-chart .chart-bar[data-height="90"],.mockup-chart .viking-page-mockup-bar[data-height="90"]{--chart-bar-height: 90}.viking-page-mockup-chart .chart-bar[data-height="91"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="91"],.mockup-chart .chart-bar[data-height="91"],.mockup-chart .viking-page-mockup-bar[data-height="91"]{--chart-bar-height: 91}.viking-page-mockup-chart .chart-bar[data-height="92"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="92"],.mockup-chart .chart-bar[data-height="92"],.mockup-chart .viking-page-mockup-bar[data-height="92"]{--chart-bar-height: 92}.viking-page-mockup-chart .chart-bar[data-height="93"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="93"],.mockup-chart .chart-bar[data-height="93"],.mockup-chart .viking-page-mockup-bar[data-height="93"]{--chart-bar-height: 93}.viking-page-mockup-chart .chart-bar[data-height="94"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="94"],.mockup-chart .chart-bar[data-height="94"],.mockup-chart .viking-page-mockup-bar[data-height="94"]{--chart-bar-height: 94}.viking-page-mockup-chart .chart-bar[data-height="95"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="95"],.mockup-chart .chart-bar[data-height="95"],.mockup-chart .viking-page-mockup-bar[data-height="95"]{--chart-bar-height: 95}.viking-page-mockup-chart .chart-bar[data-height="96"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="96"],.mockup-chart .chart-bar[data-height="96"],.mockup-chart .viking-page-mockup-bar[data-height="96"]{--chart-bar-height: 96}.viking-page-mockup-chart .chart-bar[data-height="97"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="97"],.mockup-chart .chart-bar[data-height="97"],.mockup-chart .viking-page-mockup-bar[data-height="97"]{--chart-bar-height: 97}.viking-page-mockup-chart .chart-bar[data-height="98"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="98"],.mockup-chart .chart-bar[data-height="98"],.mockup-chart .viking-page-mockup-bar[data-height="98"]{--chart-bar-height: 98}.viking-page-mockup-chart .chart-bar[data-height="99"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="99"],.mockup-chart .chart-bar[data-height="99"],.mockup-chart .viking-page-mockup-bar[data-height="99"]{--chart-bar-height: 99}.viking-page-mockup-chart .chart-bar[data-height="100"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="100"],.mockup-chart .chart-bar[data-height="100"],.mockup-chart .viking-page-mockup-bar[data-height="100"]{--chart-bar-height: 100}.viking-page-mockup-chart.is-line,.mockup-chart.is-line{align-items:stretch;position:relative;overflow:hidden}.viking-page-mockup-chart.is-line::before,.mockup-chart.is-line::before{content:"";position:absolute;inset:18% 8% 22% 8%;background:linear-gradient(180deg, color-mix(in srgb, var(--viking-accent) 28%, transparent), transparent 70%);clip-path:polygon(0% 70%, 12% 55%, 24% 62%, 38% 40%, 52% 48%, 66% 28%, 80% 35%, 100% 18%, 100% 100%, 0% 100%);opacity:.85}.viking-page-mockup-chart.is-line::after,.mockup-chart.is-line::after{content:"";position:absolute;inset:18% 8% 22% 8%;border-top:2px solid var(--viking-accent);clip-path:polygon(0% 70%, 12% 55%, 24% 62%, 38% 40%, 52% 48%, 66% 28%, 80% 35%, 100% 18%, 100% 20%, 80% 37%, 66% 30%, 52% 50%, 38% 42%, 24% 64%, 12% 57%, 0% 72%);opacity:.95}.viking-page-mockup-chart.is-line .chart-bar,.viking-page-mockup-chart.is-line .viking-page-mockup-bar,.mockup-chart.is-line .chart-bar,.mockup-chart.is-line .viking-page-mockup-bar{display:none}.viking-page-mockup-stats,.mockup-stats-row{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2)}@media(min-width: 600px){.viking-page-mockup-stats,.mockup-stats-row{grid-template-columns:repeat(3, 1fr)}}.viking-page-mockup-stats .mockup-stat,.viking-page-mockup-stats .viking-page-mockup-stat,.mockup-stats-row .mockup-stat,.mockup-stats-row .viking-page-mockup-stat{background:var(--viking-charcoal-700, var(--viking-surface-alt));border:1px solid color-mix(in srgb, var(--viking-metallic-400, var(--viking-border)) 42%, transparent);border-radius:var(--viking-radius-lg);padding:var(--viking-card-padding-compact, var(--viking-space-2))}.viking-page-mockup-stats .mockup-stat span,.viking-page-mockup-stats .viking-page-mockup-stat span,.mockup-stats-row .mockup-stat span,.mockup-stats-row .viking-page-mockup-stat span{display:block;font-size:var(--viking-font-size-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--viking-text-muted);margin-bottom:var(--viking-space-0-5)}.viking-page-mockup-stats .mockup-stat strong,.viking-page-mockup-stats .viking-page-mockup-stat strong,.mockup-stats-row .mockup-stat strong,.mockup-stats-row .viking-page-mockup-stat strong{font-size:var(--viking-font-size-base);font-weight:700;color:var(--viking-text);font-variant-numeric:tabular-nums}.page-mockup-stage{position:relative;z-index:1;min-width:0;overflow:hidden}.viking-page-mockup--showcase{width:min(100%,36rem);margin-inline:auto;padding:var(--viking-space-3) var(--viking-space-4)}@media(min-width: 600px){.viking-page-mockup--showcase{padding:var(--viking-space-4) var(--viking-space-6)}}:root,[data-density=default]{--viking-density-name: default}[data-density=compact]{--viking-density-name: compact;--viking-control-height: 40px;--viking-control-padding-x: var(--viking-space-control-gap);--viking-page-stack-gap: var(--viking-space-container-gap);--viking-page-section-gap: var(--viking-space-section-gap);--viking-card-padding: var(--viking-space-content-gap);--viking-card-padding-compact: var(--viking-space-compact-gap);--viking-card-content-gap: var(--viking-space-compact-gap);--viking-panel-padding: var(--viking-space-container-gap);--viking-section-padding-y: var(--viking-space-section-gap)}[data-density=comfortable]{--viking-density-name: comfortable;--viking-control-height: 48px;--viking-control-padding-x: var(--viking-space-content-gap);--viking-page-stack-gap: var(--viking-space-page-gap);--viking-page-section-gap: var(--viking-space-10);--viking-card-padding: var(--viking-space-4);--viking-card-padding-compact: var(--viking-space-container-gap);--viking-card-content-gap: var(--viking-space-container-gap);--viking-panel-padding: var(--viking-space-4);--viking-section-padding-y: var(--viking-space-10)}:root{--viking-accent: var(--color-primary, var(--viking-electric-500));--viking-accent-hover: var(--viking-electric-400);--viking-accent-content: var(--color-on-primary, var(--viking-white-pure));--viking-accent-soft: color-mix( in srgb, var(--viking-accent) 18%, transparent );--viking-accent-strong: var( --color-primary-container, var(--viking-electric-300) );--viking-accent-secondary: var(--accent-color, var(--viking-crimson-600));--viking-accent-secondary-hover: var(--viking-crimson-500);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix( in srgb, var(--viking-accent-secondary) 16%, transparent );--viking-bg: var(--bg-color, var(--viking-charcoal-900));--viking-surface: var(--card-bg, var(--viking-charcoal-800));--viking-surface-alt: var( --color-surface-variant, var(--viking-charcoal-700) );--viking-surface-inset: var(--viking-charcoal-850);--viking-surface-raised: var(--viking-charcoal-600);--viking-overlay-backdrop: color-mix( in srgb, var(--viking-charcoal-950) 72%, transparent );--viking-text: var(--text-color, var(--viking-white));--viking-text-muted: var(--text-muted, var(--viking-metallic-200));--viking-text-subtle: var(--viking-metallic-300);--viking-text-inverted: var(--color-on-primary, var(--viking-charcoal-900));--viking-border: var( --border, color-mix(in srgb, var(--viking-metallic-600) 48%, transparent) );--viking-border-strong: var( --border-layout, color-mix(in srgb, var(--viking-metallic-400) 68%, transparent) );--viking-border-subtle: color-mix( in srgb, var(--viking-metallic-600) 28%, transparent );--viking-ring: var(--focus-ring-color, var(--viking-electric-400));--viking-ring-width: var(--focus-ring-width, 2px);--viking-ring-offset: var(--focus-ring-offset, 2px);--viking-success: var(--color-success, var(--viking-green-500));--viking-warning: var(--color-warning, var(--viking-gold-500));--viking-danger: var(--color-error, var(--viking-crimson-500));--viking-info: var(--color-info, var(--viking-blue-500));--viking-danger-text: color-mix( in srgb, var(--viking-danger) 50%, var(--viking-charcoal-900) );--viking-on-danger: var(--viking-white-pure);--viking-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);--viking-shadow-sm: var( --shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.26), 0 4px 12px rgba(0, 0, 0, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.035) );--viking-shadow-md: var( --shadow-md, 0 2px 4px rgba(0, 0, 0, 0.24), 0 10px 24px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.04) );--viking-shadow-lg: var( --shadow-lg, 0 4px 8px rgba(0, 0, 0, 0.26), 0 20px 40px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.045) );--viking-shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.02);--viking-container-max-width: var(--container-max-width, 1260px);--viking-sidebar-width: 256px;--viking-transition: var( --transition-smooth, all 0.25s cubic-bezier(0.4, 0, 0.2, 1) )}html,body,.viking-btn,.viking-card,.viking-hud-panel,.viking-metric-card,.viking-panel-card{transition:var(--viking-transition-colors)}@media(min-width: 768px){:root{--viking-control-height: 40px;--viking-control-height-sm: 32px;--viking-control-height-xs: 24px}}.viking-tooltip{position:fixed;z-index:var(--viking-z-tooltip);display:inline-flex;align-items:center;gap:var(--viking-space-1);max-width:min(20rem,100vw - var(--viking-space-4));padding:var(--viking-space-0-5) var(--viking-space-1);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);line-height:var(--viking-line-height-snug);color:var(--viking-text-inverted);background:var(--viking-surface-raised);border:1px solid var(--viking-border-strong);border-radius:var(--viking-radius);box-shadow:var(--viking-shadow-lg);pointer-events:none;animation:viking-tooltip-in var(--viking-duration-fast) var(--viking-ease-out)}html[data-theme=light] .viking-tooltip{color:var(--viking-white-pure);background:var(--viking-surface-raised);border-color:var(--viking-border-strong)}@media(prefers-color-scheme: light){html:not([data-theme=dark]) .viking-tooltip{color:var(--viking-white-pure);background:var(--viking-surface-raised);border-color:var(--viking-border-strong)}}.viking-tooltip-text{flex:1;min-width:0}.viking-tooltip-kbd{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);padding:0 var(--viking-space-0-5);border:1px solid color-mix(in srgb, var(--viking-text-inverted) 35%, transparent);border-radius:var(--viking-radius-xs);line-height:1.4;white-space:nowrap}.viking-tooltip-host{-webkit-tap-highlight-color:rgba(0,0,0,0)}@media(prefers-reduced-motion: reduce){.viking-tooltip{animation:none}}.viking-heading{margin:0 0 var(--viking-space-3) 0;font-family:var(--viking-font-family);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-tight);line-height:var(--viking-line-height-tight);color:var(--viking-text)}.viking-heading-xl{font-size:var(--viking-font-size-xl);margin-bottom:var(--viking-space-4)}.viking-heading-lg{font-size:var(--viking-font-size-lg);margin-bottom:var(--viking-space-3)}.viking-heading-sm{font-size:var(--viking-font-size-lg);font-weight:var(--viking-font-weight-semibold);margin-bottom:var(--viking-space-2)}.viking-heading.viking-font-display,.viking-heading-xl.viking-font-display,.viking-font-display.viking-heading,.viking-font-display.viking-heading-xl{font-weight:var(--viking-font-weight-extrabold, 800);letter-spacing:var(--viking-letter-spacing-caps, 0.08em);text-transform:uppercase;line-height:var(--viking-line-height-none, 1)}.viking-heading-xl.viking-font-display,.viking-font-display.viking-heading-xl{font-size:clamp(var(--viking-font-size-2xl, 30px),4.5vw,var(--viking-font-size-4xl, 48px))}.viking-text{margin:0 0 var(--viking-space-2) 0;line-height:var(--viking-line-height-relaxed);color:var(--viking-text)}.viking-text-muted{margin:0 0 var(--viking-space-2) 0;line-height:var(--viking-line-height-relaxed);color:var(--viking-text-muted);max-width:var(--viking-content-readable-max-width, 48rem)}.viking-label{display:block;font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text-muted);margin-bottom:var(--viking-space-0-5)}.viking-metric{display:block;font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-bold);font-variant-numeric:tabular-nums;color:var(--viking-text);margin-bottom:var(--viking-space-1)}.viking-badge{display:inline-flex;align-items:center;gap:var(--viking-space-0-5);min-height:var(--viking-badge-height);padding:0 var(--viking-space-1);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);border-radius:var(--viking-radius-pill);border:var(--viking-border-width) var(--viking-border-style) var(--viking-component-border);background:var(--viking-component-bg-subtle);color:var(--viking-text);white-space:nowrap}.viking-badge-accent{background:var(--viking-accent-soft);border-color:color-mix(in srgb, var(--viking-accent) 32%, transparent);color:var(--viking-accent-strong)}.viking-badge-success{background:color-mix(in srgb, var(--viking-success) 18%, var(--viking-surface));border-color:color-mix(in srgb, var(--viking-success) 40%, transparent);color:var(--viking-success)}.viking-badge-warning{background:color-mix(in srgb, var(--viking-warning) 18%, var(--viking-surface));border-color:color-mix(in srgb, var(--viking-warning) 40%, transparent);color:var(--viking-warning)}.viking-badge-danger{background:color-mix(in srgb, var(--viking-danger) 18%, var(--viking-surface));border-color:color-mix(in srgb, var(--viking-danger) 40%, transparent);color:var(--viking-danger)}.viking-badge-subtle{background:var(--viking-surface-alt);color:var(--viking-text-muted);font-size:var(--viking-font-size-2xs)}.viking-callout-static{padding:var(--viking-space-2);border-radius:var(--viking-radius);border:1px solid var(--viking-border);background:var(--viking-surface-alt)}.viking-callout-static strong{display:block;margin-bottom:var(--viking-space-0-5)}.viking-callout-static p{margin:0;font-size:var(--viking-font-size-sm);color:var(--viking-text-muted)}.viking-callout-info{border-color:color-mix(in srgb, var(--viking-accent) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface))}.viking-callout-warning{border-color:color-mix(in srgb, var(--viking-warning) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-warning) 8%, var(--viking-surface))}.viking-callout-success{border-color:color-mix(in srgb, var(--viking-success) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-success) 8%, var(--viking-surface))}.viking-callout-danger{border-color:color-mix(in srgb, var(--viking-danger) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-danger) 8%, var(--viking-surface))}.viking-progress{width:100%;height:var(--viking-space-1);border-radius:var(--viking-radius-pill);background:var(--viking-surface-alt);overflow:hidden}.viking-progress-bar{height:100%;width:var(--viking-progress-value, 0%);background:var(--viking-accent);border-radius:inherit;transition:width var(--viking-duration) var(--viking-ease-out)}.viking-progress-value-33,.viking-bar-value-33{--viking-progress-value: 33%}.viking-progress-value-72,.viking-bar-value-72{--viking-progress-value: 72%}.viking-progress-value-94,.viking-bar-value-94{--viking-progress-value: 94%}.viking-progress-indeterminate .viking-progress-bar{width:40%;animation:viking-progress-slide 1.2s ease-in-out infinite}@keyframes viking-progress-slide{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}.viking-skeleton-row{display:flex;align-items:center;gap:var(--viking-space-2)}.viking-skeleton-lines{flex:1;display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-skeleton{background:linear-gradient(90deg, var(--viking-surface-alt) 25%, var(--viking-surface-raised) 50%, var(--viking-surface-alt) 75%);background-size:200% 100%;animation:viking-shimmer 1.5s ease-in-out infinite;border-radius:var(--viking-radius-sm)}.viking-skeleton-circle{width:3rem;height:3rem;border-radius:50%;flex-shrink:0}.viking-skeleton-line{height:.75rem}.viking-skeleton-line-short{width:60%}@keyframes viking-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.viking-field-label{display:block;font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);color:var(--viking-text);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-tight);margin:0 0 var(--viking-space-1)}.viking-field,.viking-field-static{display:flex;flex-direction:column;gap:var(--viking-space-2)}.viking-checkbox-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);cursor:pointer;font-size:var(--viking-font-size-sm);min-height:var(--viking-touch-target-min, 44px)}.viking-checkbox-label input{width:1.125rem;height:1.125rem;accent-color:var(--viking-accent)}.viking-select-native{width:100%;min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface);color:var(--viking-text);font-family:inherit;font-size:var(--viking-font-size-sm)}.viking-select-native:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring);outline-offset:var(--viking-ring-offset, 2px)}.viking-table-wrap{overflow-x:auto;width:100%;background:var(--viking-component-bg);border:var(--viking-border-width) var(--viking-border-style) var(--viking-component-border);border-radius:var(--viking-component-surface-radius);box-shadow:var(--viking-component-shadow)}.viking-table{width:100%;min-width:40rem;border-collapse:collapse;font-size:var(--viking-font-size-sm)}.viking-table th,.viking-table td{padding:var(--viking-table-cell-padding-y) var(--viking-table-cell-padding-x);text-align:left;vertical-align:middle;border-bottom:1px solid var(--viking-border)}.viking-table th{color:var(--viking-text-muted);font-weight:var(--viking-font-weight-semibold);font-size:var(--viking-font-size-xs);letter-spacing:var(--viking-letter-spacing-wide);background:var(--viking-component-bg-subtle)}.viking-table tbody tr:hover td{background:color-mix(in srgb, var(--viking-accent) 6%, var(--viking-component-bg))}.viking-tabs{display:inline-flex;gap:var(--viking-space-0-5);padding:var(--viking-space-0-5);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-tab{padding:var(--viking-space-1) var(--viking-space-2);border:none;border-radius:var(--viking-radius-sm);background:rgba(0,0,0,0);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);cursor:pointer;min-height:var(--viking-touch-target-min, 44px)}.viking-tab-active{background:var(--viking-surface);color:var(--viking-text);box-shadow:var(--viking-shadow-xs)}.viking-tab:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring);outline-offset:var(--viking-ring-offset, 2px)}.viking-page-header-static{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-space-4);border:1px solid var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-md)}.viking-kbd-static{display:inline-flex;align-items:center;justify-content:center;min-height:1.75rem;min-width:1.75rem;font-family:inherit;font-size:calc(var(--viking-font-size)*.75);line-height:1;padding:.25rem .45rem;border-radius:calc(var(--viking-radius)/2);border:1px solid var(--viking-border);background:var(--viking-surface-alt);box-sizing:border-box;vertical-align:middle}.viking-divider-labeled{display:flex;align-items:center;gap:var(--viking-space-2);color:var(--viking-text-muted);font-size:var(--viking-font-size-xs)}.viking-divider-labeled::before,.viking-divider-labeled::after{content:"";flex:1;height:1px;background:var(--viking-border)}.viking-demo-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2)}.viking-demo-row>*{align-self:center}.viking-demo-row-stack{flex-direction:column;align-items:stretch}.viking-breadcrumbs-static{display:flex;align-items:center;font-size:var(--viking-font-size-sm);line-height:1}.viking-breadcrumbs-list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-1);margin:0;padding:0;list-style:none;min-height:var(--viking-control-height-sm, 36px)}.viking-breadcrumbs-list li{display:inline-flex;align-items:center;gap:var(--viking-space-1);min-height:1.5rem;line-height:1}.viking-breadcrumbs-list li:not(:last-child)::after{content:"/";display:inline-flex;align-items:center;justify-content:center;height:1em;color:var(--viking-text-muted);line-height:1;flex-shrink:0}.viking-breadcrumbs-list a{display:inline-flex;align-items:center;color:var(--viking-accent);text-decoration:none;line-height:1}.viking-breadcrumbs-list a:hover{text-decoration:underline}.viking-select-demo{position:relative;display:flex;flex-direction:column;gap:var(--viking-space-0-5);width:100%;max-width:16rem}.viking-select-trigger-static{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-1);width:100%;min-height:var(--viking-control-height, 46px);padding:0 var(--viking-space-2);font-family:inherit;font-size:var(--viking-font-size);color:var(--viking-text);text-align:left;background:var(--viking-surface);border:1px solid var(--viking-border-strong);border-radius:var(--viking-radius);box-shadow:var(--viking-shadow-sm);cursor:default;box-sizing:border-box}.viking-select-panel-static{margin:0;padding:var(--viking-space-0-5);list-style:none;border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-select-panel-bg, var(--viking-surface-raised, var(--viking-surface)));box-shadow:var(--viking-shadow-md)}.viking-select-panel-static li{display:flex;align-items:center;min-height:var(--viking-control-height-sm, 36px);padding:0 var(--viking-space-2);border-radius:var(--viking-radius-sm);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);line-height:1.2}.viking-select-panel-static li[aria-selected=true],.viking-select-panel-static li.is-selected{color:var(--viking-text);background:var(--viking-accent-soft);font-weight:var(--viking-font-weight-semibold, 600)}.viking-pagination-static{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2)}.viking-switch-static{display:inline-flex;align-items:center;gap:var(--viking-space-1);cursor:pointer;font-size:var(--viking-font-size-sm);min-height:var(--viking-touch-target-min, 44px)}.viking-switch-static input{width:2.5rem;height:1.375rem;accent-color:var(--viking-accent)}.viking-kanban-demo{display:flex;flex-wrap:wrap;gap:var(--viking-space-2)}.viking-kanban-col{flex:1;min-width:10rem;padding:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-kanban-card{padding:var(--viking-space-1) var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius-sm);background:var(--viking-surface-alt);font-size:var(--viking-font-size-sm)}.viking-uptime-demo{display:flex;flex-direction:column;gap:var(--viking-space-2);width:100%;min-width:0}.viking-uptime-segments{display:flex;gap:calc(var(--viking-space-0-5)/2);width:100%;min-width:0;height:var(--viking-space-3);padding:var(--viking-space-0-5);border-radius:var(--viking-radius-full);background:var(--viking-surface-inset);box-sizing:border-box}.viking-uptime-seg{flex:1 1 0;min-width:3px;border-radius:var(--viking-radius-pill)}.viking-uptime-up{background:var(--viking-success)}.viking-uptime-degraded{background:var(--viking-warning)}.viking-uptime-down{background:var(--viking-danger)}.viking-sheet-demo{max-width:20rem;padding:var(--viking-space-2)}.viking-wizard-demo{max-width:24rem;padding:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-2)}@media(prefers-reduced-motion: reduce){.viking-skeleton,.viking-progress-indeterminate .viking-progress-bar{animation:none}}.viking-hud-panel{display:flex;flex-direction:column;gap:var(--viking-space-4);padding:var(--viking-space-5);border:1px solid var(--viking-border);border-radius:var(--viking-radius-xl);background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-sm)}.viking-avatar-static{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--viking-border);background:var(--viking-surface-alt);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-bold);color:var(--viking-text)}.viking-avatar-accent{background:var(--viking-accent-soft);border-color:var(--viking-accent);color:var(--viking-accent)}.viking-empty-state-static{display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-2);padding:var(--viking-space-4);text-align:center;border:1px dashed var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));max-width:24rem}.viking-spinner-static{display:inline-block;box-sizing:border-box;width:1.25rem;height:1.25rem;min-width:1.25rem;min-height:1.25rem;flex:0 0 1.25rem;aspect-ratio:1/1;border:2px solid var(--viking-border);border-top-color:var(--viking-accent);border-radius:50%;transform-origin:50% 50%;animation:viking-spinner-spin .8s linear infinite;vertical-align:middle}@keyframes viking-spinner-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.viking-loading-overlay-demo{display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-2);padding:var(--viking-space-3);max-width:20rem}.viking-separator-static{border:0;border-top:1px solid var(--viking-border);margin:var(--viking-space-1) 0}.viking-icon-badge-static{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--viking-icon-badge-size, var(--viking-space-6));height:var(--viking-icon-badge-size, var(--viking-space-6));padding:var(--viking-icon-badge-padding, var(--viking-space-0-5));box-sizing:border-box;border-radius:var(--viking-radius-lg);border:none;background:var(--viking-accent-soft);color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-sm);font-size:var(--viking-font-size-sm);line-height:1;align-self:center}.viking-card-header{display:flex;align-items:center;gap:var(--viking-space-2);min-width:0}.viking-card-header>.viking-icon-badge-static,.viking-card-header>.viking-heading,.viking-card-header>.viking-heading-xl,.viking-card-header>strong.viking-heading{margin:0;align-self:center}.viking-card-header>.viking-heading,.viking-card-header>.viking-heading-xl,.viking-card-header>strong.viking-heading{line-height:1.2;flex:1 1 auto;min-width:0}.viking-textarea-static{width:100%;min-height:5rem;padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface);color:var(--viking-text);font-family:inherit;font-size:var(--viking-font-size-sm);resize:vertical}.viking-textarea-static:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-radio-static{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-radio-static label{display:inline-flex;align-items:center;gap:var(--viking-space-1);font-size:var(--viking-font-size-sm);min-height:var(--viking-touch-target-min, 44px)}.viking-slider-static{width:100%;accent-color:var(--viking-accent)}.viking-otp-static{display:flex;justify-content:center;width:100%}.viking-otp-input-static{width:min(100%,var(--viking-content-readable-max-width));min-width:0;min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);box-sizing:border-box;text-align:center;border:1px solid var(--viking-border-strong);border-radius:var(--viking-radius-md);background:var(--viking-surface-recipe-muted);color:var(--viking-text);font-size:var(--viking-font-size-lg);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);font-variant-numeric:tabular-nums;box-shadow:var(--viking-shadow-xs)}.viking-file-upload-static{display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-2);text-align:center}.viking-pillbox-static{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-1);padding:var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-gauge-demo,.viking-ring-gauge-demo{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--viking-space-1)}.viking-gauge-demo svg{display:block;overflow:visible}.viking-gauge-demo .viking-metric{font-variant-numeric:tabular-nums;font-weight:var(--viking-font-weight-extrabold, 800);letter-spacing:var(--viking-letter-spacing-tight)}.viking-chart-empty-static{text-align:center}.viking-status-metric-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--viking-space-2);width:100%;min-width:0;padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt);box-sizing:border-box}.viking-bar-static{display:flex;flex-direction:column;gap:var(--viking-space-0-5);max-width:16rem}.viking-bar-track{width:100%;height:var(--viking-space-1);border-radius:var(--viking-radius-pill);background:var(--viking-surface-alt);overflow:hidden}.viking-bar-fill{height:100%;width:var(--viking-progress-value, 0%);background:var(--viking-accent);border-radius:inherit}.viking-nav-menu-static,.viking-sidebar-nav-static{display:flex;flex-direction:column;gap:var(--viking-space-0-5);max-width:14rem}.viking-nav-item-static,.viking-sidebar-nav-item{display:block;padding:var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius-sm);color:var(--viking-text-muted);text-decoration:none;font-size:var(--viking-font-size-sm)}.viking-nav-item-static.is-active,.viking-sidebar-nav-item.is-active{background:var(--viking-accent-soft);color:var(--viking-accent);font-weight:var(--viking-font-weight-semibold)}.viking-menubar-static{display:inline-flex;flex-wrap:wrap;width:fit-content;max-width:100%;gap:var(--viking-space-0-5);padding:var(--viking-space-0-5);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-command-static{display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-accordion-static{padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-accordion-static summary{cursor:pointer;list-style:none}.viking-accordion-static summary::-webkit-details-marker{display:none}.viking-timeline-static{margin:0;padding:0 0 0 var(--viking-space-3);border-left:2px solid var(--viking-border);list-style:none;display:flex;flex-direction:column;gap:var(--viking-space-2)}.viking-carousel-static{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--viking-space-2);width:min(100%,28rem);margin-inline:auto;text-align:center}.viking-carousel-static>*{margin-block:0}.viking-carousel-static .viking-demo-row{justify-content:center}.viking-toggle-group-static{display:inline-flex;gap:var(--viking-space-0-5);padding:var(--viking-space-0-5);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-fab-static{position:absolute;right:var(--viking-space-2);bottom:var(--viking-space-2);display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:1px solid var(--viking-border-strong);border-radius:50%;background:var(--viking-accent);color:var(--viking-accent-content);font-size:var(--viking-font-size-xl);cursor:pointer;box-shadow:var(--viking-shadow-md)}.viking-scroll-area-static{max-height:8rem;overflow-y:auto;padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-button-group-static{display:inline-flex;flex-wrap:wrap;gap:var(--viking-space-0-5)}.viking-icon-color-accent{color:var(--viking-accent)}.viking-icon-color-muted{color:var(--viking-text-muted)}.viking-whitepaper-cta-static{display:flex;flex-direction:column;gap:var(--viking-space-2);max-width:24rem}.viking-search-result-static{display:flex;align-items:center;gap:var(--viking-space-0-5);width:100%;padding:var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius);border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);cursor:default;text-decoration:none;text-align:left;color:inherit;transition:var(--viking-transition-interactive)}.viking-search-result-static:hover{background:color-mix(in srgb, var(--viking-accent) 5%, transparent);border-color:color-mix(in srgb, var(--viking-accent) 30%, transparent)}.viking-search-result-title{font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);color:var(--viking-text)}.viking-search-result-snippet{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}@media(prefers-reduced-motion: reduce){.viking-spinner-static{animation:none}}.viking-input,.viking-input-shell{display:flex;align-items:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);font-family:var(--viking-font-family);font-size:var(--viking-font-size);color:var(--viking-text);background:var(--viking-component-bg-inset);border:var(--viking-border-width) var(--viking-border-style) var(--viking-component-border);border-radius:var(--viking-component-radius);box-shadow:none;transition:var(--viking-transition-interactive);width:100%;min-width:0;box-sizing:border-box}.viking-input:hover:not(.viking-disabled):not(.viking-loading):not(:disabled),.viking-input-shell:hover:not(.viking-disabled):not(.viking-loading):not(:disabled){background:var(--viking-component-bg-subtle);border-color:var(--viking-component-border-hover)}.viking-input:focus-within:not(.viking-loading),.viking-input-shell:focus-within:not(.viking-loading){outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);border-color:var(--viking-component-border-active);box-shadow:var(--viking-focus-shadow)}.viking-input input,.viking-input-shell input,input.viking-input-native{flex:1;min-width:0;border:none;outline:none !important;background:rgba(0,0,0,0);color:var(--viking-text);font-family:var(--viking-font-family);font-size:var(--viking-font-size);padding:0}.viking-input input::placeholder,.viking-input-shell input::placeholder,input.viking-input-native::placeholder{color:var(--viking-text-subtle)}.viking-input input:disabled,.viking-input-shell input:disabled,input.viking-input-native:disabled{cursor:not-allowed}.viking-input-clear{display:inline-flex;align-items:center;justify-content:center;min-width:var(--viking-touch-target-comfort);min-height:var(--viking-touch-target-comfort);border:none;background:rgba(0,0,0,0);color:var(--viking-text-muted);cursor:pointer;padding:var(--viking-space-0-5);border-radius:var(--viking-component-radius);transition:var(--viking-transition-interactive);position:relative;flex-shrink:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.viking-input-clear:hover{color:var(--viking-text);background:var(--viking-component-hover-bg)}.viking-input-clear:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-input-clear:active{transform:scale(var(--viking-state-active-scale))}.viking-input-kbd{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);background:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:var(--viking-radius-xs);padding:0 var(--viking-space-0-5);line-height:1.4}.viking-input-icon{color:var(--viking-text-muted);flex-shrink:0}.viking-input-shell.viking-disabled,.viking-input-shell.viking-loading,.viking-input.viking-disabled,.viking-input.viking-loading{opacity:var(--viking-state-disabled-opacity)}.viking-input-shell.viking-loading,.viking-input.viking-loading{cursor:wait}html{scroll-padding-top:var(--viking-navbar-height, var(--suite-nav-height, 64px));scroll-padding-bottom:var(--viking-space-4, var(--suite-space-4, 32px))}:focus-visible{scroll-margin-top:var(--viking-navbar-height, var(--suite-nav-height, 64px));scroll-margin-bottom:var(--viking-space-3, var(--suite-space-3, 24px))}.sr-only,.visually-hidden,.suite-sr-only,.viking-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:calc(-1*var(--viking-space-px, var(--suite-space-px))) !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;clip-path:inset(50%) !important;white-space:nowrap !important;border:0 !important}.skip-link,.suite-skip-link,.viking-skip-link{position:absolute;top:var(--viking-space-2, var(--suite-space-2, 16px));left:var(--viking-space-2, var(--suite-space-2, 16px));z-index:var(--viking-z-max, var(--suite-z-max, 1500));display:inline-flex;align-items:center;min-height:var(--viking-touch-target-min, var(--suite-touch, 44px));padding:0 var(--viking-space-2, var(--suite-space-2, 16px));border:1px solid var(--viking-border-strong, var(--suite-border-strong));border-radius:var(--viking-radius, var(--suite-radius-control));background-color:var(--viking-surface-raised, var(--suite-surface-elevated));color:var(--viking-text, var(--suite-ink));text-decoration:none;font-weight:var(--viking-font-weight-semibold, 600);font-size:var(--viking-font-size-sm, var(--suite-text-sm));letter-spacing:var(--viking-letter-spacing-wide, 0.02em);box-shadow:var(--viking-shadow-md, var(--suite-shadow-md));clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link:focus,.skip-link:focus-visible,.suite-skip-link:focus,.suite-skip-link:focus-visible,.viking-skip-link:focus,.viking-skip-link:focus-visible{clip:auto;clip-path:none;width:auto;height:auto;overflow:visible;white-space:nowrap;outline:var(--viking-ring-width, var(--suite-ring-width)) solid var(--viking-ring, var(--suite-ring));outline-offset:var(--viking-ring-offset, var(--suite-ring-offset))}#main-content:focus,#main-content:focus-visible,[data-suite-main]:focus,[data-suite-main]:focus-visible,.suite-main:focus,.suite-main:focus-visible{outline:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,[role=menuitem]:focus-visible,[role=menuitemcheckbox]:focus-visible,[role=menuitemradio]:focus-visible,[role=option]:focus-visible,[role=switch]:focus-visible,[role=checkbox]:focus-visible,[role=radio]:focus-visible,[role=combobox]:focus-visible,[role=listbox]:focus-visible,[role=slider]:focus-visible,[role=spinbutton]:focus-visible,[role=separator][tabindex]:focus-visible,[role=treeitem]:focus-visible,[role=gridcell]:focus-visible,[role=link]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-input-shell input:focus,.viking-input-shell input:focus-visible,.viking-textarea-shell textarea:focus,.viking-textarea-shell textarea:focus-visible{outline:none}.viking-input-shell:focus-within,.viking-textarea-shell:focus-within{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}@media(prefers-reduced-motion: reduce){*,::before,::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}@media(forced-colors: active){a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid CanvasText}}.status-badge-premium{display:inline-flex;align-items:center;gap:var(--viking-space-0-5);min-height:var(--viking-badge-height);padding:0 var(--viking-space-1);border-radius:var(--viking-radius-pill);font-weight:var(--viking-font-weight-semibold);font-size:var(--viking-font-size-xs);line-height:var(--viking-line-height-snug);letter-spacing:var(--viking-letter-spacing-wide);text-transform:capitalize;border:1px solid rgba(0,0,0,0);white-space:nowrap;text-decoration:none}.status-badge-premium .status-dot,.status-badge-premium .status-dot-greenblue{width:var(--viking-space-1);height:var(--viking-space-1);border-radius:50%;flex-shrink:0;background-color:currentColor}.status-badge-premium.operational,.status-badge-premium.resolved,.status-badge-premium.success,.status-badge-premium.low,.status-badge-premium.compliant{background:color-mix(in srgb, var(--viking-green-500) 8%, transparent);color:var(--viking-green-500);border-color:color-mix(in srgb, var(--viking-green-500) 15%, transparent)}.status-badge-premium.degraded,.status-badge-premium.warning,.status-badge-premium.medium,.status-badge-premium.investigating,.status-badge-premium.identified{background:color-mix(in srgb, var(--viking-gold-500) 8%, transparent);color:var(--viking-gold-500);border-color:color-mix(in srgb, var(--viking-gold-500) 15%, transparent)}.status-badge-premium.outage,.status-badge-premium.critical,.status-badge-premium.high,.status-badge-premium.error{background:color-mix(in srgb, var(--viking-crimson-500) 8%, transparent);color:var(--viking-crimson-500);border-color:color-mix(in srgb, var(--viking-crimson-500) 15%, transparent)}.status-badge-premium.info,.status-badge-premium.neutral{background:color-mix(in srgb, var(--viking-blue-500) 10%, transparent);color:var(--viking-blue-500);border-color:color-mix(in srgb, var(--viking-blue-500) 15%, transparent)}.status-badge-premium.primary{background:color-mix(in srgb, var(--viking-electric-500) 12%, transparent);color:var(--viking-electric-400);border-color:color-mix(in srgb, var(--viking-electric-500) 20%, transparent)}html[data-theme=light] .status-badge-premium.primary{color:var(--viking-electric-600)}.status-badge-premium--compact{padding:var(--viking-space-1) var(--viking-space-2);font-size:var(--viking-font-size-sm, 14px)}.status-badge-premium.pro-verified{background:color-mix(in srgb, var(--viking-gold-500) 14%, transparent);color:var(--viking-gold-500);border-color:color-mix(in srgb, var(--viking-gold-500) 28%, transparent);text-transform:none;letter-spacing:.02em}.status-badge-premium.pro-verified mat-icon,.status-badge-premium.pro-verified .material-icons,.status-badge-premium.pro-verified viking-icon,.status-badge-premium.pro-verified viking-app-icon{font-size:var(--viking-icon-size-md, var(--base-font-size));width:var(--viking-icon-size-md, var(--base-font-size));height:var(--viking-icon-size-md, var(--base-font-size));line-height:var(--viking-icon-size-md, var(--base-font-size));flex-shrink:0}html[data-theme=light] .status-badge-premium.pro-verified{color:var(--viking-crimson-500);border-color:color-mix(in srgb, var(--viking-crimson-500) 28%, transparent);background:color-mix(in srgb, var(--viking-crimson-500) 10%, transparent)}viking-app-icon,viking-icon,deml-brand-logo,[data-viking-icon]{content-visibility:auto;contain-intrinsic-size:1.25rem 1.25rem}viking-app-icon,viking-icon,deml-brand-logo,.material-icons,.material-symbols-outlined{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;vertical-align:middle}[data-viking-icon]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}[data-viking-icon] svg{display:inline-block;line-height:1}.viking-icon-inline{display:block;flex:0 0 auto;align-self:center;line-height:1;vertical-align:middle}:where(a,button,.viking-button,.viking-btn,.cta-button,.viking-icon-text,.blue-notes-kicker,.hero-stat-pill,.integration-logo-item,.blue-note-read-link):has(>.viking-icon-inline){display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1)}:where(a,button,.viking-button,.viking-btn,.cta-button,.viking-icon-text,.blue-notes-kicker,.hero-stat-pill,.integration-logo-item,.blue-note-read-link):has(>.viking-icon-inline)>:not(.viking-icon-inline){min-width:0}:where(.viking-button,.viking-btn,.cta-button,.viking-icon-text,.blue-notes-kicker,.hero-stat-pill,.integration-logo-item,.blue-note-read-link){align-items:center;gap:var(--viking-space-1)}:where(.viking-button,.viking-btn,.cta-button,.viking-icon-text,.blue-notes-kicker,.hero-stat-pill,.integration-logo-item,.blue-note-read-link)>.viking-icon-inline{display:inline-flex;align-items:center;justify-content:center;align-self:center;vertical-align:middle}.nav-btn viking-app-icon,.nav-btn viking-icon,.nav-btn .material-icons,.mobile-nav-btn viking-app-icon,.mobile-nav-btn viking-icon,.mobile-nav-btn .material-icons,.auth-btn viking-app-icon,.auth-btn viking-icon,.auth-btn .material-icons,.mobile-auth-btn viking-app-icon,.mobile-auth-btn viking-icon,.mobile-auth-btn .material-icons,.back-link viking-app-icon,.back-link viking-icon,.back-link .material-icons,.viking-btn viking-app-icon,.viking-btn viking-icon,.viking-btn .material-icons,.sidebar-brand viking-app-icon,.sidebar-brand viking-icon,.sidebar-brand .material-icons,.gauge-card-footer viking-app-icon,.gauge-card-footer viking-icon,.gauge-card-footer .material-icons,.gauge-card-header viking-app-icon,.gauge-card-header viking-icon,.gauge-card-header .material-icons,.section-title-premium viking-app-icon,.section-title-premium viking-icon,.section-title-premium .material-icons,.panel-title-flex viking-app-icon,.panel-title-flex viking-icon,.panel-title-flex .material-icons,.status-badge-premium viking-app-icon,.status-badge-premium viking-icon,.status-badge-premium .material-icons,.feature-item viking-app-icon,.feature-item viking-icon,.feature-item .material-icons{align-self:center}.nav-btn viking-app-icon,.nav-btn viking-icon,.mobile-nav-btn viking-app-icon,.nav-btn [data-viking-icon],.mobile-nav-btn [data-viking-icon],.auth-btn viking-app-icon,.mobile-auth-btn viking-app-icon{width:var(--viking-icon-size-md, var(--base-font-size));height:var(--viking-icon-size-md, var(--base-font-size));align-self:center}.nav-btn [data-viking-icon] svg,.mobile-nav-btn [data-viking-icon] svg,.auth-btn [data-viking-icon] svg,.mobile-auth-btn [data-viking-icon] svg{width:var(--viking-icon-size-md, var(--base-font-size));height:var(--viking-icon-size-md, var(--base-font-size))}.theme-toggle-btn viking-app-icon,.theme-toggle-btn viking-icon,.menu-toggle-btn viking-app-icon,.menu-toggle-btn viking-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;line-height:0}.section-title-premium viking-app-icon{color:var(--status-accent, var(--viking-accent));width:22px;height:22px}.navbar-brand .material-icons.navbar-logo,.navbar-brand deml-brand-logo .material-icons{font-size:var(--viking-font-size-2xl);width:36px;height:36px;line-height:36px;overflow:visible}.sidebar-brand .material-icons.brand-icon,.sidebar-brand deml-brand-logo .material-icons{font-size:var(--viking-font-size-xl);width:24px;height:24px;line-height:24px}.alert{padding:var(--viking-space-2, var(--viking-space-2));border-radius:var(--viking-radius, 8px);margin-top:var(--viking-space-2, var(--viking-space-2));border:1px solid var(--viking-border);font-size:var(--viking-font-size);font-weight:500;line-height:var(--viking-line-height-relaxed)}.alert.alert-error{background:color-mix(in srgb, var(--viking-crimson-600) 18%, var(--viking-surface));border-color:var(--viking-danger);color:var(--viking-white)}.alert.alert-warning{background:color-mix(in srgb, var(--viking-gold-500) 14%, var(--viking-surface));border-color:var(--viking-warning);color:var(--viking-text)}.alert.alert-success{background:color-mix(in srgb, var(--viking-green-500) 12%, var(--viking-surface));border-color:var(--viking-success);color:var(--viking-text)}.alert-viewer-banner{margin-bottom:var(--viking-space-3);display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1))}.severity-pill{display:inline-block;padding:var(--viking-space-0-5) var(--viking-space-1);border-radius:var(--viking-radius-xs);font-size:var(--viking-font-size-xs);font-weight:700;text-transform:uppercase}.severity-pill.low{background:color-mix(in srgb, var(--viking-success) 20%, transparent);color:var(--viking-success-text, var(--viking-success))}.severity-pill.medium{background:color-mix(in srgb, var(--viking-accent) 20%, transparent);color:var(--viking-accent-strong, var(--viking-accent))}.severity-pill.high{background:color-mix(in srgb, var(--viking-warning) 20%, transparent);color:var(--viking-warning-text, var(--viking-warning))}.severity-pill.critical{background:color-mix(in srgb, var(--viking-danger) 20%, transparent);color:var(--viking-danger-text, var(--viking-danger))}.viking-spinner,.spinner{display:inline-block;box-sizing:border-box;width:var(--viking-space-4);height:var(--viking-space-4);min-width:var(--viking-space-4);min-height:var(--viking-space-4);flex:0 0 var(--viking-space-4);aspect-ratio:1;border:3px solid var(--viking-border);border-top-color:var(--viking-accent);border-radius:var(--viking-radius-pill);animation:viking-spin .8s linear infinite}@media(prefers-reduced-motion: reduce){.viking-spinner,.spinner{animation:none;border-top-color:var(--viking-accent)}}.scope-filters{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);width:100%}@media(min-width: 768px){.scope-filters{grid-template-columns:repeat(2, 1fr)}}.scope-filters app-unified-select{width:100%;min-width:0;max-width:none}.overview-grid,.detail-grid{display:grid;gap:var(--viking-page-section-gap)}.overview-grid{grid-template-columns:1fr;grid-template-areas:"setup" "health" "kpis" "threats" "metrics"}@media(min-width: 600px){.overview-grid{grid-template-columns:repeat(2, 1fr);grid-template-areas:"setup setup" "health kpis" "threats metrics"}}@media(min-width: 1024px){.overview-grid{grid-template-columns:280px 1fr 1fr;grid-template-areas:"setup setup setup" "health kpis kpis" "threats threats metrics"}}.setup-banner{grid-area:setup;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--viking-space-3);padding:var(--viking-card-padding);border-radius:var(--viking-radius-lg);border:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface));box-shadow:var(--viking-shadow-sm)}.setup-banner-content{display:flex;align-items:flex-start;gap:var(--viking-space-2);flex:1;min-width:0}@media(min-width: 600px){.setup-banner-content{min-width:220px}}.setup-banner-content viking-app-icon{color:var(--viking-accent);flex-shrink:0}.setup-banner-content strong{display:block;font-size:var(--viking-font-size-base);margin-bottom:var(--viking-space-0-5)}.setup-banner-content p{margin:0;color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);line-height:var(--viking-line-height-normal)}viking-card.health-card.kpi-card{grid-area:health;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2);text-align:left}.health-gauge{position:relative;flex:0 0 var(--viking-space-16);width:var(--viking-space-16);max-width:100%;margin:0}.health-gauge-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:var(--viking-space-1)}.health-value{font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-bold)}.health-label{font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-caps);color:var(--viking-text-muted);margin-top:var(--viking-space-0-5)}.health-caption{flex:1 1 auto;min-width:0;margin:0;font-size:var(--viking-font-size-sm);color:var(--viking-text-muted);line-height:var(--viking-line-height-snug)}.kpi-grid{grid-area:kpis;display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--viking-space-3)}@media(min-width: 1024px){.kpi-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1440px){.kpi-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}}viking-card.kpi-card{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-card-padding-compact);min-height:var(--viking-metric-card-min-height);border-radius:var(--viking-radius-xl);border:1px solid var(--viking-border);background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-interactive);position:relative;overflow:hidden;align-items:stretch;justify-content:flex-start;text-align:left}viking-card.kpi-card::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none}viking-card.kpi-card:hover{border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift, -1px))}viking-card.kpi-card.alert{border-left:3px solid var(--viking-warning)}viking-card.kpi-card.critical{border-left:3px solid var(--viking-danger)}viking-card.kpi-card.wide{text-align:center;justify-content:center;align-items:center}viking-card.kpi-card .kpi-sparkline{width:100%;height:var(--viking-chart-sparkline-height, 2.75rem);opacity:.9}viking-card.health-card.kpi-card{flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--viking-space-3)}.kpi-card-header{display:flex;align-items:center;gap:var(--viking-space-2);min-width:0}.kpi-icon-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:var(--viking-radius-lg);background:color-mix(in srgb, var(--viking-accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--viking-accent) 28%, transparent);color:var(--viking-accent-strong, var(--viking-accent));box-shadow:var(--viking-shadow-xs)}.kpi-icon-badge viking-app-icon,.kpi-icon-badge viking-icon{display:flex;color:inherit}.kpi-card.alert .kpi-icon-badge{background:color-mix(in srgb, var(--viking-warning) 16%, transparent);color:var(--viking-warning);border-color:color-mix(in srgb, var(--viking-warning) 30%, transparent)}.kpi-card.critical .kpi-icon-badge{background:color-mix(in srgb, var(--viking-danger) 16%, transparent);color:var(--viking-danger);border-color:color-mix(in srgb, var(--viking-danger) 30%, transparent)}.kpi-card-meta{display:flex;flex-direction:column;gap:var(--viking-space-0-5);min-width:0;flex:1 1 auto}.kpi-sparkline-slot{margin-top:0;min-height:var(--viking-chart-sparkline-height, 2.75rem);width:100%;display:flex;align-items:center;overflow:visible}.kpi-sparkline-slot viking-chart,.kpi-sparkline-slot .kpi-sparkline{width:100%;height:var(--viking-chart-sparkline-height, 2.75rem);overflow:visible}.kpi-sparkline-slot .viking-chart-line{stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.kpi-sparkline-slot .viking-chart-area{opacity:.14}.kpi-subtitle{display:block;font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);line-height:var(--viking-line-height-snug)}.kpi-label{font-size:var(--viking-font-size-2xs);font-weight:var(--viking-font-weight-bold);text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-caps);color:var(--viking-text-muted);line-height:var(--viking-line-height-tight)}.kpi-value{font-size:var(--viking-font-size-title-sm);font-weight:var(--viking-font-weight-extrabold, 800);line-height:var(--viking-line-height-none, 1);font-variant-numeric:tabular-nums;letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text)}.threats-panel{grid-area:threats}.metrics-panel{grid-area:metrics}viking-card.overview-panel{display:flex;flex-direction:column;min-height:var(--viking-space-20);padding:var(--viking-card-padding)}viking-card.overview-panel .panel-header{margin-bottom:0;padding-bottom:var(--viking-space-2);border-bottom:1px solid var(--viking-border)}viking-card.overview-panel .panel-body{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;padding-top:var(--viking-space-3);gap:var(--viking-space-3)}viking-card.overview-panel .snapshot-stats{margin-bottom:0;padding-bottom:var(--viking-space-2);border-bottom:1px solid var(--viking-border)}viking-card.overview-panel .mini-chart{flex:0 0 auto;min-height:0;max-height:none;padding-top:var(--viking-space-2)}viking-card.overview-panel .threat-list{gap:0}viking-card.overview-panel .threat-item{border:none;border-radius:0;background:rgba(0,0,0,0);padding:var(--viking-space-2) 0;border-bottom:1px solid var(--viking-border)}viking-card.overview-panel .threat-item:last-child{border-bottom:none}.panel-card.threats-panel,.panel-card.metrics-panel,.panel-card.security-panel{display:flex;flex-direction:column;min-height:320px}.panel-body{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.panel-body viking-chart-empty-state{flex:1 1 auto;--viking-chart-empty-min-height: var( --viking-chart-fill-min-height, clamp(16rem, 32vw, 17.5rem) )}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--viking-space-3);padding-bottom:var(--viking-space-2);border-bottom:1px solid var(--viking-border)}.panel-header h2{margin:0;font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase}.panel-title-group{display:flex;align-items:center;gap:var(--viking-space-1);min-width:0;flex:1 1 auto}.panel-title-group viking-app-icon,.panel-title-group viking-icon{width:var(--viking-space-3);height:var(--viking-space-3);color:var(--viking-accent-strong)}.panel-title-group h2{margin:0;min-width:0}.panel-title-icon{color:var(--viking-accent);font-size:var(--viking-font-size-xl);width:var(--viking-space-2);height:var(--viking-space-2)}.detection-panel .detection-header{display:flex;align-items:center;gap:var(--viking-space-1);margin-bottom:var(--viking-space-2)}.detection-panel .detection-header viking-app-icon{color:var(--viking-accent)}.detection-panel .detection-header h2{margin:0;font-size:var(--viking-font-size-base);font-weight:var(--viking-font-weight-bold)}.insight-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--viking-space-2)}.insight-list li{display:flex;align-items:center;gap:var(--viking-space-2);font-size:var(--viking-font-size-sm);color:var(--viking-text-muted);padding:var(--viking-space-2);border-radius:var(--viking-radius);border:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-surface) 96%, var(--viking-accent) 4%)}.insight-list .insight-icon{display:flex;align-items:center;justify-content:center;width:var(--viking-space-4);height:var(--viking-space-4);border-radius:var(--viking-radius);background:var(--viking-accent-soft);flex-shrink:0}.insight-list .insight-icon viking-app-icon{color:var(--viking-accent)}.threat-list,.security-queue{margin:0;padding:0;display:flex;flex-direction:column;gap:var(--viking-space-2)}.threat-item,.security-item{display:flex;flex-direction:column;gap:var(--viking-space-1);padding:var(--viking-space-2);border-radius:var(--viking-radius);border:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-surface) 96%, var(--viking-accent) 4%)}.threat-item{flex-direction:row;align-items:center}.threat-info{flex:1;display:flex;flex-direction:column;gap:var(--viking-space-0-5)}.threat-info strong{font-size:var(--viking-font-size-sm)}.threat-info span{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}.status-pill{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}.security-item-header{display:flex;gap:var(--viking-space-1);align-items:center}.security-meta{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}.snapshot-stats{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--viking-space-2);margin-bottom:var(--viking-space-2);flex-shrink:0}.snapshot-stat{display:flex;flex-direction:column;gap:var(--viking-space-0-5)}.snapshot-label{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-caps);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snapshot-value{font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-bold)}.mini-chart{flex:0 0 auto;display:flex;flex-direction:column;min-height:0;max-height:none}.mini-chart viking-chart{display:flex;flex:0 0 auto;width:100%;min-height:0}.mini-chart viking-chart-empty-state{flex:1 1 auto;min-height:var(--viking-chart-fill-min-height, clamp(16rem, 32vw, 17.5rem))}.panel-loading{display:flex;align-items:center;gap:var(--viking-space-2);padding:var(--viking-card-padding);color:var(--viking-text-muted)}.detail-grid{grid-template-columns:1fr}@media(min-width: 768px){.detail-grid{grid-template-columns:repeat(2, 1fr)}}.detail-kpis{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2);grid-column:1/-1}@media(min-width: 600px){.detail-kpis{grid-template-columns:repeat(3, 1fr)}}.detail-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.chart-panel{grid-column:1/-1}@media(min-width: 768px){.chart-panel.half{grid-column:span 1}}.chart-panel h2{margin:0 0 var(--viking-space-2, var(--viking-space-2));padding-bottom:var(--viking-space-1, var(--viking-space-1));border-bottom:1px solid var(--viking-border);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase}.chart-container{flex:0 0 auto;display:flex;flex-direction:column;min-height:0;max-height:none}.chart-container.short{min-height:0;max-height:none}.chart-container viking-chart{display:flex;flex:0 0 auto;width:100%;min-height:0}.chart-container viking-chart-empty-state{flex:1 1 auto;--viking-chart-empty-min-height: var( --viking-chart-fill-min-height, clamp(15rem, 30vw, 17.5rem) )}.security-panel{grid-column:1/-1}@media(min-width: 1024px){.security-panel{grid-column:span 1}}.insight-panel p{color:var(--viking-text-muted);line-height:1.5;margin:0 0 var(--viking-space-2)}.col-span-full{grid-column:1/-1}.triage-grid{margin-bottom:var(--viking-page-section-gap);align-items:stretch}.triage-grid>viking-grid-item{display:grid;min-width:0}.triage-grid>viking-grid-item>.queue-panel,.triage-grid>viking-grid-item>.detail-panel{height:100%}.queue-panel{display:flex;flex-direction:column;min-height:360px}@media(min-width: 768px){.queue-panel{min-height:420px}}.filter-bar{padding:var(--viking-panel-header-padding);border-bottom:1px solid var(--viking-border);display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2);background-color:color-mix(in srgb, var(--viking-black) 15%, transparent)}.filter-group{display:flex;flex-direction:column;flex:1;min-width:0;width:100%}.filter-group app-unified-select{display:block;min-width:0;width:100%}.filter-group select{appearance:none;-webkit-appearance:none;background-color:var(--viking-bg);background-image:url('data:image/svg+xml;utf8,<svg fill="%23c0c5c1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');background-repeat:no-repeat;background-position:right 1rem center;background-size:1.5rem;border:1px solid var(--viking-border);color:var(--viking-text);font-size:var(--viking-font-size);padding:var(--viking-space-1) var(--viking-space-7) var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius);outline:none;font-family:inherit;cursor:pointer;transition:var(--viking-transition-interactive)}.filter-group select:hover{border-color:var(--viking-accent)}.filter-group select:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.queue-list{flex:1 1 auto;overflow-y:auto;padding:var(--viking-panel-padding);display:flex;flex-direction:column;gap:var(--viking-space-2);min-height:0}.queue-item{background-color:var(--viking-bg);border:1px solid var(--viking-border);border-radius:var(--viking-radius, 8px);padding:var(--viking-card-padding-compact);cursor:pointer;transition:var(--viking-transition-interactive)}.queue-item:hover{border-color:var(--viking-accent);background-color:color-mix(in srgb, var(--viking-white) 1%, transparent)}.queue-item:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.queue-item.active{border-color:var(--viking-accent);background-color:color-mix(in srgb, var(--viking-surface-alt) 15%, transparent);box-shadow:inset 3px 0 0 var(--viking-accent)}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--viking-space-0-5);gap:var(--viking-space-1)}.item-header .item-id{font-size:var(--viking-font-size-sm);font-family:var(--viking-font-family-mono);color:var(--viking-text-muted)}.item-title{font-size:var(--viking-font-size);font-weight:var(--viking-font-weight-semibold, 600);margin:0 0 var(--viking-space-0-5) 0;line-height:var(--viking-line-height-tight, 1.2);color:var(--viking-text)}.item-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--viking-space-1);font-size:var(--viking-font-size-sm);color:var(--viking-text-muted);font-family:var(--viking-font-family-mono)}.item-footer .item-time{margin-inline-start:auto;font-variant-numeric:tabular-nums}.item-footer .client-id{display:flex;align-items:center;gap:var(--viking-space-1)}.item-footer .status-indicator[data-status=triage]{color:var(--viking-text-muted)}.item-footer .status-indicator[data-status=open]{color:var(--viking-info)}.item-footer .status-indicator[data-status=in-progress]{color:var(--viking-teal-600)}.item-footer .status-indicator[data-status=resolved]{color:var(--viking-success)}.item-footer .status-indicator[data-status=false-positive]{text-decoration:line-through;color:var(--viking-text-muted)}.detail-scrollable{flex:1;overflow-y:auto;padding:var(--viking-panel-padding);display:flex;flex-direction:column;gap:var(--viking-space-4)}.vuln-profile-header{border-bottom:1px solid var(--viking-border);padding-bottom:var(--viking-space-2)}.profile-title-row{display:flex;gap:var(--viking-space-1);margin-bottom:var(--viking-space-1);align-items:center}.vuln-id-tag{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);background-color:var(--viking-bg);padding:var(--viking-space-0-5) var(--viking-space-1);border-radius:var(--viking-radius-xs);color:var(--viking-text-muted)}.cve-tag{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);font-weight:bold;background-color:color-mix(in srgb, var(--viking-danger) 15%, transparent);color:var(--viking-danger);padding:var(--viking-space-0-5) var(--viking-space-1);border-radius:var(--viking-radius-xs)}.profile-title{font-size:var(--viking-font-size-xl);font-weight:700;margin:0 0 var(--viking-space-1) 0;letter-spacing:-0.01em}.profile-desc{font-size:var(--viking-font-size-sm);line-height:1.5;color:var(--viking-text);margin:0}.prioritization-section{background-color:var(--viking-bg);border:1px solid var(--viking-border);border-radius:var(--viking-radius, 8px);padding:var(--viking-card-padding-compact)}.section-title{display:flex;align-items:center;gap:var(--viking-space-1);margin-bottom:var(--viking-space-1)}.section-title h3{font-size:var(--viking-font-size-sm);font-weight:bold;text-transform:uppercase;margin:0;letter-spacing:var(--viking-letter-spacing-caps)}.section-subtitle{font-size:var(--viking-font-size-sm);color:var(--viking-text-muted);margin:0 0 var(--viking-space-2) 0}.matrix-container{display:flex;align-items:center;justify-content:center;position:relative;padding:var(--viking-space-2) 0}.y-axis-label{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);font-weight:bold;writing-mode:vertical-rl;transform:rotate(180deg);margin-right:var(--viking-space-1);color:var(--viking-text-muted);letter-spacing:.2em}.matrix-grid{display:flex;flex-direction:column;gap:var(--viking-space-1)}.matrix-row{display:flex;align-items:center;gap:var(--viking-space-1)}.matrix-row .row-label{width:var(--viking-space-2);text-align:right;font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);color:var(--viking-text-muted);margin-right:var(--viking-space-1)}.matrix-cell{width:var(--viking-space-6);height:var(--viking-space-6);border-radius:var(--viking-radius-sm);border:2px solid rgba(0,0,0,0);cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--viking-font-family-mono);font-weight:bold;font-size:var(--viking-font-size-sm);transition:var(--viking-transition-interactive);position:relative;outline:none;background-color:var(--viking-surface-alt)}.matrix-cell:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.matrix-cell[data-level=low]{background-color:color-mix(in srgb, var(--viking-success) 18%, transparent);color:var(--viking-success)}.matrix-cell[data-level=low]:hover{background-color:color-mix(in srgb, var(--viking-success) 30%, transparent)}.matrix-cell[data-level=medium]{background-color:color-mix(in srgb, var(--viking-gold-500) 15%, transparent);color:var(--viking-warning)}.matrix-cell[data-level=medium]:hover{background-color:color-mix(in srgb, var(--viking-gold-500) 30%, transparent)}.matrix-cell[data-level=high]{background-color:color-mix(in srgb, var(--viking-crimson-500) 15%, transparent);color:var(--viking-danger)}.matrix-cell[data-level=high]:hover{background-color:color-mix(in srgb, var(--viking-crimson-500) 30%, transparent)}.matrix-cell[data-level=critical]{background-color:color-mix(in srgb, var(--viking-crimson-600) 15%, transparent);color:var(--viking-crimson-400)}.matrix-cell[data-level=critical]:hover{background-color:color-mix(in srgb, var(--viking-crimson-600) 30%, transparent)}.matrix-cell.selected{border-color:var(--viking-text);box-shadow:0 0 10px color-mix(in srgb, var(--viking-white) 30%, transparent);transform:scale(1.05);z-index:2}.matrix-cell.selected::after{content:"✓";position:absolute;top:0px;right:8px;font-size:var(--viking-font-size-sm);color:var(--viking-text)}.labels-row{margin-top:var(--viking-space-1)}.labels-row .col-label{width:var(--viking-space-6);text-align:center;font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);color:var(--viking-text-muted)}.labels-row .row-label-placeholder{width:16px;margin-right:var(--viking-space-1)}.x-axis-label{text-align:center;font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);font-weight:bold;margin-top:var(--viking-space-1);margin-left:var(--viking-space-3);color:var(--viking-text-muted);letter-spacing:.2em}.triage-action-bar{display:flex;flex-direction:column;gap:var(--viking-space-2);background-color:var(--viking-bg);border:1px solid var(--viking-border);border-radius:var(--viking-radius, 8px);padding:var(--viking-card-padding-compact)}.action-title{display:flex;align-items:center;gap:var(--viking-space-1);margin-bottom:var(--viking-space-1)}.action-title h3{font-size:var(--viking-font-size-sm);font-weight:bold;text-transform:uppercase;margin:0}.btn-group{display:flex;flex-wrap:wrap;gap:var(--viking-space-1)}.telemetry-section{display:flex;flex-direction:column;gap:var(--viking-space-1)}.telemetry-code{background-color:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:var(--viking-radius, 8px);padding:var(--viking-space-2);overflow-x:auto;margin:0}.telemetry-code code{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);color:var(--viking-success)}.detail-panel{display:flex;flex-direction:column;min-height:360px}@media(min-width: 768px){.detail-panel{min-height:420px}}.panel-body{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.no-selection-body{flex:1 1 auto;display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-height:0;padding:var(--viking-space-2)}@keyframes pulse-ring{0%{transform:scale(0.8);opacity:.5}100%{transform:scale(1.5);opacity:0}}.soc-operations-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-dashboard-grid-gap, var(--viking-space-4));margin-top:var(--viking-space-4)}@media(min-width: 1024px){.soc-operations-grid{grid-template-columns:repeat(2, 1fr)}}.soc-panel{border-radius:var(--viking-radius-lg);background:linear-gradient(160deg, color-mix(in srgb, var(--viking-surface) 95%, var(--viking-accent) 5%) 0%, var(--viking-surface) 55%);box-shadow:var(--viking-shadow-sm)}.soc-panel .panel-icon,.soc-panel .viking-hud-panel-header viking-icon{color:var(--viking-accent);flex-shrink:0}.soc-header-actions{display:flex;align-items:center;gap:var(--viking-space-2);margin-left:auto;flex-shrink:0}.soc-panel-body{padding:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-2);min-height:200px}.soc-panel-body.panel-body{flex:1 1 auto;min-height:0;justify-content:center}.soc-panel-body viking-chart-empty-state{width:100%}.soc-card-list{display:flex;flex-direction:column;gap:var(--viking-space-2)}.soc-card{padding:var(--viking-space-2);border-radius:var(--viking-radius-lg);border:1px solid var(--viking-border);background:var(--viking-surface);box-shadow:var(--viking-shadow-sm);transition:box-shadow var(--viking-duration-fast) var(--viking-ease-standard),border-color var(--viking-duration-fast) var(--viking-ease-standard),transform var(--viking-duration-fast) var(--viking-ease-standard);cursor:pointer}.soc-card:hover{box-shadow:var(--viking-shadow-md);border-color:var(--viking-border-strong)}.soc-card:hover,.soc-card.selected{border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border));box-shadow:var(--viking-shadow-sm);transform:translateY(-1px)}.soc-card.inactive{opacity:.75}.soc-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-2);margin-bottom:var(--viking-space-1)}.soc-id{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);font-weight:700;letter-spacing:.06em;color:var(--viking-text-muted)}.soc-card-title{margin:0 0 var(--viking-space-1);font-size:var(--viking-font-size-base);font-weight:700;line-height:1.3}.soc-card-desc{margin:0 0 var(--viking-space-2);font-size:var(--viking-font-size-sm);line-height:1.5;color:var(--viking-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.soc-card-footer{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--viking-space-2);padding-top:var(--viking-space-1);border-top:1px solid var(--viking-border)}.soc-status-field{flex:1;min-width:var(--viking-space-14);max-width:220px}.soc-timestamp{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);white-space:nowrap}.soc-status-chip{padding:var(--viking-space-0-5) var(--viking-space-1);border-radius:var(--viking-radius-pill, 999px);font-size:var(--viking-font-size-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb, var(--viking-text-muted) 15%, transparent);color:var(--viking-text-muted)}.soc-status-chip.active{background:color-mix(in srgb, var(--viking-accent) 18%, transparent);color:var(--viking-accent)}.playbook-select-area,.incident-select-area{cursor:pointer;border-radius:var(--viking-radius)}.playbook-select-area:focus-visible,.incident-select-area:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.playbook-toggle-row{display:flex;align-items:center;gap:var(--viking-space-2);padding-top:var(--viking-space-2);margin-top:var(--viking-space-0-5);border-top:1px solid var(--viking-border)}.toggle-label{font-size:var(--viking-font-size-xs);font-weight:600;color:var(--viking-text-muted);text-transform:uppercase;letter-spacing:.04em}.playbook-toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.playbook-toggle input{opacity:0;width:0;height:0}.playbook-toggle .toggle-track{position:absolute;inset:0;cursor:pointer;background-color:var(--viking-border);border-radius:var(--viking-radius-pill, 999px);border:1px solid var(--viking-border);transition:background-color var(--viking-duration-fast) var(--viking-ease-standard)}.playbook-toggle .toggle-track::before{content:"";position:absolute;height:16px;width:16px;left:3px;top:50%;transform:translateY(-50%);background-color:var(--viking-text-muted);border-radius:50%;transition:transform var(--viking-duration-fast) var(--viking-ease-standard),background-color var(--viking-duration-fast) var(--viking-ease-standard)}.playbook-toggle input:checked+.toggle-track{background-color:var(--viking-accent);border-color:var(--viking-accent)}.playbook-toggle input:checked+.toggle-track::before{transform:translate(20px, -50%);background-color:var(--viking-white)}.soc-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--viking-space-4, var(--viking-space-4)) var(--viking-space-2, var(--viking-space-2));color:var(--viking-text-muted, var(--viking-text-muted));gap:var(--viking-space-1, var(--viking-space-1))}.soc-empty-state p{margin:0;max-width:320px;line-height:1.5;font-size:var(--viking-font-size-sm)}.siem-grid{margin-top:var(--viking-space-4)}.incident-list,.playbook-list{padding:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-2);min-height:240px}.siem-item,.playbook-item{margin-bottom:0;transition:var(--viking-transition-interactive)}.siem-item:hover,.siem-item.active,.playbook-item:hover,.playbook-item.active{border-color:var(--viking-teal-600);box-shadow:var(--viking-shadow-sm)}.siem-item-selectable,.playbook-item .playbook-info[role=button]{cursor:pointer;width:100%}.siem-empty-state{padding:var(--viking-space-4, var(--viking-space-4)) var(--viking-space-3, var(--viking-space-3));text-align:center;color:var(--viking-text-muted, var(--viking-text-muted));border-radius:var(--viking-radius-lg, 12px);background:var(--viking-surface-alt, var(--viking-charcoal-700));border:1px dashed var(--viking-border-strong, var(--viking-border))}.siem-empty-state .empty-title{margin:0 0 var(--viking-space-1, var(--viking-space-1));font-size:var(--viking-font-size-md, 18px);font-weight:var(--viking-font-weight-semibold, 600);letter-spacing:var(--viking-letter-spacing-caps, 0.08em);text-transform:uppercase;color:var(--viking-text, var(--viking-text))}.siem-empty-state p{margin:0;font-size:var(--viking-font-size-sm);line-height:1.5}.siem-item-footer{flex-direction:column;align-items:flex-start;gap:var(--viking-space-1);width:100%}.siem-status-field{width:100%;max-width:280px}.siem-status-select{width:100%}.playbook-status-label{font-size:var(--viking-font-size-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--viking-text-muted);white-space:nowrap}.header-action-btn{margin-left:auto;background-color:var(--viking-accent);color:var(--viking-accent-content, var(--viking-white));border-radius:var(--viking-radius-sm);padding:var(--viking-space-1) var(--viking-space-2);font-family:var(--viking-font-family);font-size:max(var(--viking-font-size-base),var(--viking-font-size-base));font-weight:600;border:1px solid var(--viking-accent-strong, var(--viking-accent));cursor:pointer;min-height:44px}.header-action-btn:hover{background-color:var(--viking-accent-strong, var(--viking-accent))}.header-action-btn:disabled{opacity:.7;cursor:not-allowed}.intel-feedback-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-2);padding:var(--viking-space-2);margin-top:var(--viking-space-2);border-radius:var(--viking-radius);border:1px solid var(--viking-teal-400);background:color-mix(in srgb, var(--viking-teal-400) 12%, transparent);color:var(--viking-text)}.intel-feedback-banner.error{border-color:var(--viking-crimson-500);background:color-mix(in srgb, var(--viking-crimson-500) 12%, transparent)}.intel-action-console{margin-top:var(--viking-space-3)}.intel-action-body{padding:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-3)}.intel-action-group{padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:color-mix(in srgb, var(--viking-surface) 92%, var(--viking-teal-600))}.intel-action-title{margin:0 0 var(--viking-space-1);font-size:var(--viking-font-size-md);color:var(--viking-text)}.intel-action-desc{margin:0 0 var(--viking-space-2);color:var(--viking-text-muted)}.intel-action-buttons{display:flex;flex-wrap:wrap;gap:var(--viking-space-1)}.theme-switch{position:relative;display:inline-block;width:48px;height:24px}.theme-switch input{opacity:0;width:0;height:0}.theme-switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--viking-border);transition:var(--viking-duration-normal) var(--viking-ease-standard);border-radius:24px;border:1px solid var(--viking-border)}.theme-switch .slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:3px;background-color:var(--viking-text-muted);transition:var(--viking-duration-normal) var(--viking-ease-standard);border-radius:50%}.theme-switch input:checked+.slider{background-color:var(--viking-teal-600);border-color:var(--viking-teal-600)}.theme-switch input:checked+.slider:before{transform:translateX(24px);background-color:var(--viking-white)}.tenant-selector-group{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2);width:100%}@media(min-width: 768px){.tenant-selector-group{grid-template-columns:repeat(2, 1fr)}}.tenant-selector-group .selector-input{width:100%;min-width:0}.siem-desc{margin:var(--viking-space-1) 0 var(--viking-space-2);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm)}.siem-client-id{font-size:var(--viking-font-size-sm);color:var(--viking-text-muted)}.playbook-list{gap:var(--viking-space-2)}.playbook-item{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2);padding:var(--viking-space-2)}@media(min-width: 768px){.playbook-item{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:nowrap}}.playbook-item .playbook-info{flex:1;min-width:0}.playbook-title{margin:0 0 var(--viking-space-1);overflow:hidden;text-overflow:ellipsis;white-space:normal}@media(min-width: 768px){.playbook-title{white-space:nowrap}}.playbook-desc{margin:0;color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:normal}@media(min-width: 768px){.playbook-desc{white-space:nowrap}}.playbook-actions{display:flex;flex-shrink:0;align-items:center;gap:var(--viking-space-2);width:100%}@media(min-width: 768px){.playbook-actions{width:auto}}.btn-small{padding:var(--viking-space-1) var(--viking-space-2);font-size:var(--viking-font-size-sm)}.siem-item-selectable:focus-visible,.playbook-item .playbook-info[role=button]:focus-visible{outline:2px solid var(--viking-teal-600);outline-offset:2px;border-radius:6px}.settings-stack,.manage-stack{display:flex;flex-direction:column;gap:var(--viking-page-section-gap)}.status-panel-outlined{display:flex;flex-direction:column;gap:var(--viking-space-2)}.status-panel-outlined:hover{box-shadow:var(--viking-shadow-md);border-color:var(--viking-border-strong)}viking-card-header .delete-page-btn{align-self:center;margin-left:0;flex-shrink:0}.inline-status-link{color:var(--viking-accent);font-weight:var(--viking-font-weight-medium);text-decoration:underline}.create-page-btn{display:flex;align-items:center;justify-content:center;gap:var(--viking-space-1, var(--viking-space-1));width:100%}.settings-mfa-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2);margin-top:var(--viking-space-2)}.settings-form-panel{display:flex;flex-direction:column;gap:var(--viking-space-3, var(--viking-space-3));margin-bottom:var(--viking-space-4, var(--viking-space-4))}.settings-form-panel .form-row{display:flex;gap:var(--viking-space-3, var(--viking-space-3));flex-wrap:wrap}.settings-form-panel .form-row viking-field{flex:1;min-width:200px}.settings-form-panel .settings-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-3, var(--viking-space-3));margin-top:var(--viking-space-1, var(--viking-space-1))}.settings-form-panel .settings-actions viking-checkbox,.settings-form-panel .settings-actions .viking-checkbox{width:100%}.status-panel-outlined .panel-section{background:rgba(0,0,0,0);border:none;border-radius:0;box-shadow:none;overflow:visible;margin-bottom:0;padding:var(--viking-space-4, var(--viking-space-4)) 0}.status-panel-outlined .panel-section:first-of-type{padding-top:0}.status-panel-outlined .panel-section:last-of-type{padding-bottom:0}.status-panel-outlined .panel-section:not(:first-of-type){border-top:1px solid var(--viking-border-subtle)}.status-panel-outlined .section-heading{font-size:var(--viking-font-size-xs);font-weight:700;letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text-muted);margin:0 0 var(--viking-space-3, var(--viking-space-3))}.status-panel-outlined .settings-form-panel,.status-panel-outlined .incident-form{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));margin-bottom:var(--viking-space-2, var(--viking-space-2))}.status-panel-outlined .service-form-panel{margin-bottom:var(--viking-space-2, var(--viking-space-2))}.status-panel-outlined .data-list-outlined{border:none;border-radius:0;overflow:visible;background:rgba(0,0,0,0)}.status-panel-outlined .data-item-row{padding:var(--viking-space-2) 0;border-bottom:1px solid var(--viking-border-subtle);border-radius:0}.status-panel-outlined .data-item-row:last-child{border-bottom:none}.status-panel-outlined .integrations-list{display:flex;flex-direction:column;padding:var(--viking-space-3);background:color-mix(in srgb, var(--viking-surface) 92%, transparent);border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-lg);gap:var(--viking-space-2)}.status-panel-outlined .integrations-list .integration-item{padding:var(--viking-space-3);border-radius:var(--viking-radius-md);border:none;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--viking-border-subtle) 80%, transparent);background:var(--viking-surface);margin-bottom:0}.status-panel-outlined .integrations-list .integration-item:last-child{margin-bottom:0}.status-panel-outlined .code-block-outlined{background-color:color-mix(in srgb, var(--viking-charcoal-900) 60%, var(--viking-bg));border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-sm);padding:var(--viking-space-1, var(--viking-space-1)) var(--viking-space-2, var(--viking-space-2));font-size:var(--viking-font-size-sm)}.status-panel-outlined .empty-data-text{background:rgba(0,0,0,0);border:none;border-top:1px solid var(--viking-border-subtle);padding:var(--viking-space-4, var(--viking-space-4)) var(--viking-space-2, var(--viking-space-2))}.section-heading{font-size:var(--viking-font-size-lg);font-weight:var(--viking-font-weight-semibold);color:var(--viking-text);margin:0 0 var(--viking-space-2, var(--viking-space-2));display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1))}.section-heading viking-app-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--viking-radius-sm);background:var(--viking-accent-soft);color:var(--viking-accent-strong);font-size:var(--viking-font-size-base);flex-shrink:0}.form-row{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2, var(--viking-space-2))}@media(min-width: 600px){.form-row{flex-direction:row;align-items:center;gap:var(--viking-space-3, var(--viking-space-3))}}.flex-1{flex:1;min-width:0}.flex-2{flex:2;min-width:0}.data-item-row{display:flex;justify-content:space-between;align-items:center;gap:var(--viking-space-2);padding-inline:var(--viking-space-1);border-radius:var(--viking-radius-sm);transition:background-color var(--viking-duration-fast) var(--viking-ease-standard)}.data-item-row:hover{background-color:var(--viking-surface-alt)}.data-item-row.is-selected,.data-item-row[data-selected=true]{background:color-mix(in srgb, var(--viking-accent) 10%, var(--viking-surface))}.data-item-row viking-checkbox{flex:0 0 auto}.data-info{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.data-title{font-weight:600;color:var(--viking-text);font-size:var(--viking-font-size-base)}.data-subtitle{color:var(--viking-text-muted);font-size:var(--viking-font-size-base);margin-top:var(--viking-space-1)}.incident-form{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2))}.form-row-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2, var(--viking-space-2))}.form-row-actions .select-wrapper{width:100%}.form-row-actions .post-incident-btn{width:100%;justify-content:center}.select-wrapper{position:relative;display:inline-block;min-width:11rem;width:100%}@media(min-width: 600px){.select-wrapper{width:auto}}.post-incident-btn{width:100%;justify-content:center}.code-block-container{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2, var(--viking-space-2));margin-top:var(--viking-space-1, var(--viking-space-1))}.code-block-container .code-block-outlined{width:100%;box-sizing:border-box}.code-block-container>viking-button{flex-shrink:0;margin:0;width:100%}@media(min-width: 600px){.code-block-container>viking-button{width:auto;align-self:flex-start}}.embed-desc{color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);line-height:1.55;margin:0 0 var(--viking-space-2, var(--viking-space-2))}.code-block-outlined{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);overflow-x:auto;white-space:pre-wrap;color:var(--viking-text);flex:1;margin:0}.form-col{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2))}@media(min-width: 600px){.dashboard-topbar{padding:var(--viking-space-3, var(--viking-space-3)) var(--viking-space-4, var(--viking-space-4))}}.integrations-list{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-space-3);border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-lg);background:color-mix(in srgb, var(--viking-surface) 92%, transparent);box-sizing:border-box}.integrations-list .integration-item{display:flex;justify-content:space-between;align-items:center;gap:var(--viking-space-3);padding:var(--viking-space-3);border:none;border-radius:var(--viking-radius-md);background:var(--viking-surface);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--viking-border-subtle) 80%, transparent)}.integrations-list .integration-item:last-child{border-bottom:none}.integrations-list .integration-item.clarity-item,.integrations-list .integration-item.cloudflare-item{flex-direction:column;align-items:stretch;gap:var(--viking-space-3, var(--viking-space-3));padding:var(--viking-space-3)}.integrations-list .integration-header{display:flex;justify-content:space-between;align-items:center;width:100%}.integrations-list .integration-info{display:flex;flex-direction:column;gap:var(--viking-space-1, var(--viking-space-1))}.integrations-list .integration-name{display:block;font-size:var(--viking-font-size-lg);font-weight:600;color:var(--viking-text)}.integrations-list .integration-status{font-size:var(--viking-font-size-base);color:var(--viking-text-muted)}.integrations-list .integration-action{display:flex;align-items:flex-start;padding-top:var(--viking-space-px)}.integrations-list .integration-action button{white-space:nowrap !important;flex-shrink:0}.integrations-list .clarity-form-row,.integrations-list .cloudflare-form-row{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2, var(--viking-space-2));width:100%}@media(min-width: 600px){.integrations-list .clarity-form-row,.integrations-list .cloudflare-form-row{flex-direction:row;align-items:flex-end}}.integrations-list .clarity-form-row .inputs-group,.integrations-list .cloudflare-form-row .inputs-group{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));width:100%;flex:1;min-width:0}@media(min-width: 600px){.integrations-list .clarity-form-row .inputs-group,.integrations-list .cloudflare-form-row .inputs-group{flex-direction:row;align-items:flex-end}}.integrations-list .clarity-form-row .inputs-group viking-field,.integrations-list .cloudflare-form-row .inputs-group viking-field{flex:1;min-width:0}.integrations-list .clarity-form-row>viking-button,.integrations-list .cloudflare-form-row>viking-button{flex-shrink:0;width:100%}@media(min-width: 600px){.integrations-list .clarity-form-row>viking-button,.integrations-list .cloudflare-form-row>viking-button{width:auto;align-self:flex-end}}.service-form-panel{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2, var(--viking-space-2));width:100%}@media(min-width: 600px){.service-form-panel{flex-direction:row;align-items:flex-end}}.service-form-panel>viking-button{flex-shrink:0;width:100%}@media(min-width: 600px){.service-form-panel>viking-button{width:auto;align-self:flex-end}}.service-inputs-row{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));flex:1;min-width:0}@media(min-width: 600px){.service-inputs-row{flex-direction:row;align-items:flex-end}}.save-settings-btn{width:100%}.status-icon.success{color:var(--viking-success) !important}.integration-sub-status{margin-top:var(--viking-space-1);display:block;font-size:var(--viking-font-size-lg);opacity:.7}.integration-name-flex{display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1))}.integration-icon{vertical-align:middle}.platform-integrations-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--viking-space-2, var(--viking-space-2));margin-top:var(--viking-space-2, var(--viking-space-2))}@media(min-width: 768px){.platform-integrations-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media(min-width: 1024px){.platform-integrations-grid{grid-template-columns:repeat(6, minmax(0, 1fr))}}.platform-integration-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--viking-space-1, var(--viking-space-1));padding:var(--viking-space-2, var(--viking-space-2));border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-md);background:color-mix(in srgb, var(--viking-surface) 96%, var(--viking-accent) 4%);text-decoration:none;color:var(--viking-text);transition:border-color var(--viking-duration-fast, 150ms) var(--viking-ease-standard, ease),box-shadow var(--viking-duration-fast, 150ms) var(--viking-ease-standard, ease)}.platform-integration-tile:hover{border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.platform-integration-tile:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.platform-integration-name{font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);text-align:center;color:var(--viking-text-muted)}.mt-3{margin-top:var(--viking-space-2)}.mfa-info-inline{display:flex;flex-direction:column;gap:var(--viking-space-0-5);min-width:0;flex:1}.mfa-info-inline strong{display:block;font-weight:600;color:var(--viking-text)}.mfa-icon-inline{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px}.mfa-info-group{display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1));min-width:0;flex:1}.mfa-status-desc{margin:0;font-size:var(--viking-font-size-base);color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed)}.mfa-status-enrolled{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));align-items:stretch;padding:var(--viking-space-1, var(--viking-space-1)) 0}.mfa-status-enrolled viking-button{align-self:stretch}@media(min-width: 600px){.mfa-status-enrolled{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:var(--viking-space-3, var(--viking-space-3))}.mfa-status-enrolled viking-button{align-self:center;flex-shrink:0}}@media(min-width: 600px){.simple-inline-form{flex-direction:row;align-items:flex-end;gap:var(--viking-space-2, var(--viking-space-2))}.simple-inline-form viking-field{flex:1;min-width:0}.simple-inline-form .settings-actions{flex-direction:row;align-items:center;justify-content:flex-end;margin-top:0;width:auto;flex-shrink:0}.simple-inline-form .settings-actions viking-button{min-width:auto}}.justify-end{justify-content:flex-end}.integration-item-bordered{border-bottom:1px solid var(--viking-border-subtle);padding:var(--viking-space-3);margin-bottom:0}.mfa-settings-card .integrations-list,.status-card-outlined .integrations-list.panel-clean,.integrations-list.panel-clean{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-space-3);margin:0;border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-lg);background:var(--viking-surface-recipe, color-mix(in srgb, var(--viking-surface) 96%, var(--viking-accent) 4%));box-sizing:border-box}.mfa-settings-card .integration-item,.status-card-outlined .integrations-list .integration-item,.integrations-list.panel-clean .integration-item{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-3);padding:var(--viking-space-3);margin:0;border-radius:var(--viking-radius-md);border:none;background:color-mix(in srgb, var(--viking-surface) 88%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--viking-border-subtle) 80%, transparent)}.mfa-settings-card .integration-item+.integration-item,.status-card-outlined .integrations-list .integration-item+.integration-item,.integrations-list.panel-clean .integration-item+.integration-item{margin-top:0;border-top:none}.panel-clean:not(.integrations-list){position:relative;padding:var(--viking-card-padding-compact);border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-md);background:var(--viking-surface-recipe, color-mix(in srgb, var(--viking-surface) 96%, var(--viking-accent) 4%));overflow:hidden}.panel-clean:not(.integrations-list)::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none}.mfa-enrollment-form{display:flex;flex-direction:column;gap:var(--viking-space-3, var(--viking-space-3))}.mfa-step-title{margin:0;font-size:var(--viking-font-size, 16px);color:var(--viking-text-muted, var(--viking-text-muted))}.mfa-phone-block{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));width:100%}.mfa-phone-row{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));width:100%}@media(min-width: 600px){.mfa-phone-row{flex-direction:row;align-items:flex-end;gap:var(--viking-space-2, var(--viking-space-2))}.mfa-phone-row .mfa-input-full{flex:1;min-width:0}}.verification-step{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-3, var(--viking-space-3));margin-top:var(--viking-space-2, var(--viking-space-2));padding-top:var(--viking-space-3, var(--viking-space-3));border-top:1px solid var(--viking-border-subtle, var(--viking-border));width:100%}.mfa-verify-stack{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2, var(--viking-space-2));width:100%;max-width:28rem;margin-inline:auto}.mfa-feedback-stack{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));margin-top:var(--viking-space-2, var(--viking-space-2))}.mfa-recaptcha-slot{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.mfa-relogin-callout{margin-top:var(--viking-space-2, var(--viking-space-2))}.mfa-status-enrolled{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));align-items:stretch}@media(min-width: 600px){.mfa-status-enrolled{flex-direction:row;align-items:center;justify-content:space-between}.mfa-status-enrolled viking-button{align-self:auto;flex-shrink:0}}.dashboard-page-container .analytics-gauge-grid{--viking-card-padding: var(--viking-card-padding-compact);--viking-card-content-gap: var(--viking-space-2);--viking-grid-gap: var(--viking-space-2)}.dashboard-page-container .analytics-gauge-grid .gauge-card{min-height:auto}.dashboard-page-container .analytics-gauge-grid .gauge-card-header{margin-bottom:var(--viking-space-1)}.dashboard-page-container .analytics-gauge-grid .gauge-wrapper{max-width:var(--viking-space-14)}.dashboard-page-container .analytics-gauge-grid .gauge-card-footer{margin-top:var(--viking-space-1);padding-top:var(--viking-space-1);font-size:var(--viking-font-size-xs);line-height:var(--viking-line-height-snug)}.dashboard-page-container .analytics-gauge-grid .gauge-card-header h3{font-size:var(--viking-font-size-sm)}.dashboard-page-container .analytics-gauge-grid .gauge-center-text .unit{margin-bottom:var(--viking-space-0-5);font-size:var(--viking-font-size-xs)}.dashboard-page-container .analytics-gauge-grid .gauge-center-text .value{font-size:var(--viking-font-size-xl)}.analytics-export-card viking-form-grid,.analytics-export-card .viking-form-grid{width:100%}.analytics-export-card .section-description-premium{margin:0}.dashboard-page-container{--viking-card-padding: var(--viking-space-3);--viking-card-padding-compact: var(--viking-space-2);--viking-card-content-gap: var(--viking-space-3);--viking-card-content-gap-compact: var(--viking-space-2);--viking-panel-padding: var(--viking-space-3);--viking-panel-header-padding: var(--viking-space-3);--viking-page-stack-gap: var(--viking-space-4);--viking-page-section-gap: var(--viking-space-5);--viking-dashboard-grid-gap: var(--viking-space-3);--viking-chart-ratio: 2 / 1;--viking-chart-plot-height: clamp( var(--viking-space-20), 46cqi, var(--viking-space-24) );--viking-chart-map-min-height: 22rem;background:var(--viking-bg)}.dashboard-content{min-height:calc(100vh - var(--viking-navbar-height, 64px));overflow:visible}.dashboard-content .dashboard-content-area{width:100%;flex:1 1 auto}.dashboard-content .page-inner-wrapper{flex:1 1 auto}.inline-status-link{color:var(--viking-accent-strong, var(--viking-accent));font-weight:var(--viking-font-weight-semibold);text-decoration:underline;text-underline-offset:3px;transition:color var(--viking-duration-fast) var(--viking-ease-default)}.inline-status-link:hover,.inline-status-link:focus-visible{color:var(--viking-accent)}.scope-filters,.tenant-selector-group{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-2);width:100%;min-width:0}@media(min-width: 600px){.scope-filters,.tenant-selector-group{grid-template-columns:repeat(2, minmax(0, 1fr));min-width:min(100%,28rem)}}.scope-filters app-unified-select,.scope-filters .selector-input,.tenant-selector-group app-unified-select,.tenant-selector-group .selector-input{width:100%;min-width:0}.platform-integration-tile{min-height:var(--viking-touch-target-comfort, 44px);box-shadow:var(--viking-shadow-xs)}.platform-integration-tile:hover{transform:translateY(var(--viking-state-hover-lift));border-color:var(--viking-accent-strong);background:var(--viking-surface-recipe-elevated, var(--viking-surface-raised))}.platform-integration-tile:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.fallback-cta-box,.platform-fallback-banner{display:flex;flex-direction:column;gap:var(--viking-space-2);margin-top:var(--viking-space-2);padding-top:var(--viking-space-3);border-top:1px solid var(--viking-border-subtle)}.platform-fallback-banner{margin-bottom:var(--viking-space-3);padding:var(--viking-space-3);border:1px solid color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border));border-radius:var(--viking-radius-lg);background:color-mix(in srgb, var(--viking-accent) 6%, var(--viking-surface))}.platform-fallback-row{display:flex;align-items:flex-start;gap:var(--viking-space-2)}.platform-fallback-fields{display:flex;flex-direction:column;gap:var(--viking-space-2)}@media(min-width: 600px){.platform-fallback-fields{flex-direction:row;flex-wrap:wrap}}.platform-fallback-fields>*{flex:1 1 12rem;min-width:0}.active-providers-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-1);margin-block:var(--viking-space-2) var(--viking-space-1)}.active-providers-label{color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;margin-right:var(--viking-space-1)}.stat-value-emphasis{letter-spacing:var(--viking-letter-spacing-tight);font-weight:var(--viking-font-weight-bold)}.dashboard-page-container viking-tabs{width:100%;min-width:0;gap:var(--viking-space-3)}.dashboard-page-container viking-tab-panel{display:block;width:100%;min-width:0;box-sizing:border-box;padding:var(--viking-space-4) var(--viking-space-3) var(--viking-space-5);border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-xl);background:color-mix(in srgb, var(--viking-surface) 92%, transparent);box-shadow:var(--viking-shadow-xs);color:inherit;line-height:inherit}@media(min-width: 768px){.dashboard-page-container viking-tab-panel{padding:var(--viking-space-5) var(--viking-space-4) var(--viking-space-6)}}@media(min-width: 768px){.triage-grid{align-items:stretch}.queue-panel,.detail-panel{min-height:28rem}}@media(min-width: 600px){.matrix-cell{width:var(--viking-space-8);height:var(--viking-space-8)}.labels-row .col-label{width:var(--viking-space-8)}.y-axis-label{margin-right:var(--viking-space-2)}}.queue-item,.soc-card,.threat-item,.security-item{min-height:var(--viking-touch-target-min, 44px)}.queue-item:focus-visible,.soc-card:focus-visible,.playbook-select-area:focus-visible,.incident-select-area:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.dashboard-page-container>.dashboard-layout>.dashboard-main{min-width:0}@keyframes viking-skeleton-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.viking-skeleton,.skeleton{background:linear-gradient(90deg, var(--viking-surface-alt) 25%, color-mix(in srgb, var(--viking-surface-alt) 60%, var(--viking-surface)) 50%, var(--viking-surface-alt) 75%);background-size:200% 100%;animation:viking-skeleton-shimmer 1.8s ease-in-out infinite;border-radius:var(--viking-radius-sm);min-height:1em}.viking-skeleton-text{height:.875rem;width:100%;border-radius:var(--viking-radius-xs)}.viking-skeleton-heading{height:1.5rem;width:60%;border-radius:var(--viking-radius-sm)}.viking-skeleton-circle{border-radius:50%;aspect-ratio:1}@keyframes viking-status-pulse{0%,100%{opacity:1}50%{opacity:.5}}.status-dot-pulse,.viking-status-dot--live{animation:viking-status-pulse 2s ease-in-out infinite}@keyframes viking-content-fade-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-inner-wrapper,.dashboard-content-area{animation:viking-content-fade-in .3s var(--viking-ease-default) both}.viking-card:focus-visible,.queue-item:focus-visible,.soc-card:focus-visible,.matrix-cell:focus-visible,.platform-integration-tile:focus-visible{outline:2px solid var(--viking-accent);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb, var(--viking-accent) 20%, transparent)}.metric-value,.kpi-value,.health-value,.stat-value{font-variant-numeric:tabular-nums;letter-spacing:var(--viking-letter-spacing-tight, -0.02em)}@media(prefers-reduced-motion: reduce){.viking-skeleton,.skeleton,.status-dot-pulse,.viking-status-dot--live,.page-inner-wrapper,.dashboard-content-area{animation:none !important}.page-inner-wrapper,.dashboard-content-area{opacity:1 !important;transform:none !important}.kpi-card,.health-card,.platform-integration-tile,.queue-item,.soc-card,.matrix-cell{transition:none !important;transform:none !important}}.dashboard-page-container .viking-page-header,.dashboard-page-container .hud-header{gap:var(--viking-space-2);padding-bottom:var(--viking-space-3);margin-bottom:var(--viking-space-3);border-bottom:1px solid var(--viking-border-subtle)}.dashboard-page-container:has(.status-directory-grid) .viking-page-header,.dashboard-page-container:has(.status-directory-grid) viking-page-header{margin-bottom:var(--viking-space-3)}.dashboard-page-container .status-directory-grid{margin-top:0;gap:var(--viking-space-3)}.isolated-status-page .isolated-status-shell,.dashboard-page-container.isolated-status-page .page-inner-wrapper{width:100%;max-width:min(100%,max(48rem,var(--viking-container-max-width, 1260px)*.75));margin-inline:auto;box-sizing:border-box;overflow-x:clip}@media(min-width: 1024px){.isolated-status-page .isolated-status-shell,.dashboard-page-container.isolated-status-page .page-inner-wrapper{max-width:min(100%,var(--viking-container-max-width, 1260px))}}.isolated-status-page .viking-stack,.isolated-status-page .viking-stack--loose{gap:var(--viking-space-4)}.isolated-status-cta,app-status-cta.isolated-status-cta{display:block;width:100%;margin-top:var(--viking-space-2)}.empty-state-premium{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-3);width:100%;box-sizing:border-box;padding:var(--viking-space-4);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-sm);text-align:left}.empty-state-premium.status-cta-layout{display:block}.status-cta-copy{display:flex;flex-direction:column;gap:var(--viking-space-3);min-width:0}.empty-state-premium.status-cta-layout .status-badge-premium{align-self:flex-start}.empty-state-premium.status-cta-layout .empty-subtitle{margin-inline:0}.empty-state-premium.status-cta-layout .cta-actions{justify-content:flex-start}.empty-state-premium.status-cta-layout .cta-actions viking-button,.empty-state-premium.status-cta-layout .cta-actions .viking-btn{max-width:20rem}.empty-state-premium .status-badge-premium{align-self:center}.empty-state-premium .status-badge-premium.primary{background:color-mix(in srgb, var(--viking-accent) 14%, transparent);color:var(--viking-accent-strong, var(--viking-accent));border-color:color-mix(in srgb, var(--viking-accent) 30%, transparent);text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-caps);font-size:var(--viking-font-size-2xs)}.empty-state-premium .empty-title{margin:0;font-size:clamp(var(--viking-font-size-xl),3.5vw,var(--viking-font-size-2xl));font-weight:var(--viking-font-weight-extrabold, 800);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;line-height:var(--viking-line-height-tight);color:var(--viking-text)}.empty-state-premium .empty-subtitle{margin:0 auto;max-width:40rem;color:var(--viking-text-muted);font-size:var(--viking-font-size-base);line-height:var(--viking-line-height-relaxed)}.empty-state-premium .features-list{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2);text-align:left;width:100%}@media(min-width: 768px){.empty-state-premium .features-list{grid-template-columns:repeat(3, minmax(0, 1fr))}}.empty-state-premium .feature-item{display:flex;align-items:flex-start;gap:var(--viking-space-2);padding:var(--viking-space-3);border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-lg);background:color-mix(in srgb, var(--viking-surface) 88%, transparent);min-width:0}.empty-state-premium .feature-icon{flex-shrink:0;color:var(--viking-accent)}.empty-state-premium .feature-text{display:flex;flex-direction:column;gap:var(--viking-space-0-5);min-width:0}.empty-state-premium .feature-text strong{font-size:var(--viking-font-size-sm);color:var(--viking-text)}.empty-state-premium .feature-text span{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);line-height:var(--viking-line-height-snug)}.empty-state-premium .empty-footer-text{margin:0;color:var(--viking-text-muted);font-size:var(--viking-font-size-sm)}.empty-state-premium .cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--viking-space-2);width:100%}.empty-state-premium .cta-actions viking-button,.empty-state-premium .cta-actions .viking-btn{width:100%;max-width:28rem}.isolated-status-page viking-chart,.isolated-status-page .viking-chart{width:100%;min-width:0;height:var(--viking-chart-plot-height);min-height:var(--viking-chart-plot-height);max-height:var(--viking-chart-plot-height);overflow:visible}.dashboard-page-container .section-tag,.dashboard-page-container .viking-page-header-tag{display:inline-flex;align-items:center;gap:var(--viking-space-1);padding:var(--viking-space-0-5) var(--viking-space-2);border-radius:var(--viking-radius-pill);border:1px solid color-mix(in srgb, var(--viking-accent) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-accent) 10%, transparent);color:var(--viking-text-link);font-family:var(--viking-font-family);font-size:var(--viking-font-size-2xs);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase}.dashboard-page-container .viking-page-header-actions{width:100%}@media(min-width: 768px){.dashboard-page-container .viking-page-header-actions{width:auto}}.dashboard-page-container .panel-section>.section-heading{display:flex;align-items:center;gap:var(--viking-space-2);margin:0 0 var(--viking-space-3);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text-muted)}.dashboard-page-container .panel-section>.section-heading viking-app-icon,.dashboard-page-container .panel-section>.section-heading viking-icon{color:var(--viking-accent)}.dashboard-page-container .data-item-row{min-height:var(--viking-touch-target-min, 44px);gap:var(--viking-space-2);padding:var(--viking-space-2) var(--viking-space-3)}.dashboard-page-container .data-list-outlined{border-radius:var(--viking-radius-lg);border-color:var(--viking-border-subtle);background:var(--viking-surface-recipe-inset, var(--viking-surface-inset))}.dashboard-page-container .code-block-outlined{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);line-height:var(--viking-line-height-relaxed);color:var(--viking-accent-strong);background:color-mix(in srgb, var(--viking-bg) 70%, var(--viking-surface));border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-md);padding:var(--viking-space-2) var(--viking-space-3);overflow-x:auto}.dashboard-page-container .snapshot-stats{grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-2)}@media(min-width: 600px){.dashboard-page-container .snapshot-stats{grid-template-columns:repeat(2, minmax(0, 1fr))}}.dashboard-page-container .snapshot-stat{padding:var(--viking-space-2);border-radius:var(--viking-radius-md);border:1px solid var(--viking-border-subtle);background:color-mix(in srgb, var(--viking-surface-alt) 70%, transparent)}.dashboard-page-container .overview-grid,.dashboard-page-container .detail-grid,.dashboard-page-container .dashboard-grid,.dashboard-page-container .triage-grid,.dashboard-page-container .soc-operations-grid,.dashboard-page-container .ces-gauge-cluster,.dashboard-page-container .stat-panels-grid,.dashboard-page-container .status-directory-grid{gap:var(--viking-dashboard-grid-gap)}.dashboard-page-container .settings-stack{gap:var(--viking-space-4) !important}.dashboard-page-container .overview-grid{grid-template-columns:minmax(0, 1fr);grid-template-areas:"setup" "health" "kpis" "threats" "metrics"}@media(min-width: 768px){.dashboard-page-container .overview-grid{grid-template-columns:minmax(0, 16rem) minmax(0, 1fr);grid-template-areas:"setup setup" "health kpis" "threats metrics"}}@media(min-width: 1024px){.dashboard-page-container .overview-grid{grid-template-columns:repeat(2, minmax(0, 1fr));grid-template-areas:"setup setup" "health kpis" "threats metrics"}}.dashboard-page-container .health-card{grid-area:health}.dashboard-page-container .kpi-grid{grid-area:kpis;grid-template-columns:minmax(0, 1fr)}@media(min-width: 600px){.dashboard-page-container .kpi-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1440px){.dashboard-page-container .kpi-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}}.dashboard-page-container .threats-panel{grid-area:threats}.dashboard-page-container .metrics-panel{grid-area:metrics}.dashboard-page-container .detail-grid{grid-template-columns:minmax(0, 1fr)}@media(min-width: 768px){.dashboard-page-container .detail-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}.dashboard-page-container .detail-kpis{display:block;grid-column:1/-1}.dashboard-page-container .detail-kpis .viking-metric-row{margin-bottom:0}.dashboard-page-container .detail-actions{grid-column:1/-1}.dashboard-page-container .dashboard-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-dashboard-grid-gap);width:100%}.dashboard-page-container .dashboard-grid-responsive{margin-bottom:var(--viking-page-stack-gap)}@media(min-width: 768px){.dashboard-page-container .dashboard-grid-responsive{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.dashboard-page-container .dashboard-grid-responsive{grid-template-columns:repeat(2, minmax(0, 1fr))}}.dashboard-page-container .dashboard-grid-single,.dashboard-page-container .dashboard-grid-map{margin-bottom:var(--viking-page-stack-gap)}.dashboard-page-container .ces-gauge-cluster{grid-template-columns:minmax(0, 1fr)}@media(min-width: 600px){.dashboard-page-container .ces-gauge-cluster{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1440px){.dashboard-page-container .ces-gauge-cluster{grid-template-columns:repeat(2, minmax(0, 1fr))}}.dashboard-page-container .gauge-card{min-height:13rem}.dashboard-page-container .gauge-card-header h3,.dashboard-page-container .gauge-card-footer{font-size:var(--viking-font-size-xs)}.dashboard-page-container .gauge-wrapper{min-height:5.5rem;justify-content:center}.dashboard-page-container .gauge-center-text .value{font-size:var(--viking-font-size-2xl)}.dashboard-page-container .ml-stat-panels-row,.dashboard-page-container .stat-panels-grid{grid-template-columns:minmax(0, 1fr);margin-bottom:var(--viking-page-stack-gap)}@media(min-width: 600px){.dashboard-page-container .ml-stat-panels-row,.dashboard-page-container .stat-panels-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.dashboard-page-container .ml-stat-panels-row,.dashboard-page-container .stat-panels-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}.dashboard-page-container .ml-stat-panel{flex-direction:column;align-items:flex-start;gap:var(--viking-space-1);min-height:6.25rem}.dashboard-page-container .stat-title{font-size:var(--viking-font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-page-container .stat-value{font-size:var(--viking-font-size-lg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-page-container .status-card-outlined,.dashboard-page-container viking-chart-panel{min-width:0}.dashboard-page-container viking-chart-panel{--viking-card-padding: var(--viking-space-3)}.dashboard-page-container .viking-chart-panel-body,.dashboard-page-container .card-body-clean{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:var(--viking-space-3) var(--viking-space-4) var(--viking-space-4);min-width:0;overflow:hidden}.dashboard-page-container .viking-chart-panel-body>viking-chart,.dashboard-page-container .card-body-clean>viking-chart,.dashboard-page-container .chart-container>viking-chart{flex:0 0 auto;width:100%;min-width:0;min-height:0}.dashboard-page-container .viking-chart-panel-body>viking-chart-empty-state,.dashboard-page-container .card-body-clean>viking-chart-empty-state,.dashboard-page-container .chart-container>viking-chart-empty-state{flex:1 1 auto;width:100%;min-width:0;min-height:0}.dashboard-page-container .mini-chart,.dashboard-page-container .chart-container,.dashboard-page-container .chart-container-medium,.dashboard-page-container .chart-container-large{min-height:0;max-height:none;display:flex;flex-direction:column;justify-content:flex-start}.dashboard-page-container .viking-chart-panel-origin-map .viking-chart-panel-body,.dashboard-page-container .origin-map-container{min-height:var(--viking-chart-map-min-height)}.dashboard-page-container .origin-map-canvas{min-height:var(--viking-chart-map-min-height);height:var(--viking-chart-map-min-height);width:100%;border-radius:var(--viking-radius-lg);overflow:hidden;background:var(--viking-bg);position:relative;contain:layout paint}.dashboard-page-container .origin-map-canvas .leaflet-container{width:100% !important;height:100% !important;min-height:inherit;border-radius:inherit;background:var(--viking-bg)}.dashboard-page-container .origin-map-canvas .leaflet-tile-pane{opacity:1}.dashboard-page-container .origin-map-canvas .leaflet-tile{max-width:none !important}.dashboard-content .page-inner-wrapper,.dashboard-page-container .page-inner-wrapper{container-name:viking-app-page;container-type:inline-size}.dashboard-page-container .overview-grid{grid-template-columns:minmax(0, 1fr);grid-template-areas:"setup" "health" "kpis" "threats" "metrics"}.dashboard-page-container .kpi-grid,.dashboard-page-container .snapshot-stats{grid-template-columns:minmax(0, 1fr)}@container viking-app-page (min-width: 600px){.dashboard-page-container .kpi-grid,.dashboard-page-container .snapshot-stats{grid-template-columns:repeat(2, minmax(0, 1fr))}}@container viking-app-page (min-width: 1024px){.dashboard-page-container .overview-grid{grid-template-columns:minmax(0, 1fr) minmax(0, 1.2fr);grid-template-areas:"setup setup" "health kpis" "threats metrics"}}.dashboard-page-container .triage-grid{grid-template-columns:minmax(0, 1fr)}.dashboard-page-container .triage-grid>.queue-panel,.dashboard-page-container .triage-grid>.detail-panel{grid-column:1/-1}.dashboard-page-container .queue-panel{container-name:viking-triage-queue;container-type:inline-size}.dashboard-page-container .queue-panel .filter-bar{flex-direction:column;align-items:stretch}@container viking-app-page (min-width: 1440px){.dashboard-page-container .triage-grid{grid-template-columns:minmax(calc(var(--viking-space-24) + var(--viking-space-12)), 0.9fr) minmax(0, 2fr)}.dashboard-page-container .triage-grid>.queue-panel{grid-column:1}.dashboard-page-container .triage-grid>.detail-panel{grid-column:2}}.dashboard-page-container .status-directory-grid{gap:var(--viking-space-4)}.dashboard-page-container .ces-gauge-cluster{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--viking-space-24) + var(--viking-space-2)), 1fr))}.dashboard-page-container .platform-integrations-grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--viking-metric-card-min-width)), 1fr))}.dashboard-page-container .settings-form-panel .form-row,.dashboard-page-container .mfa-phone-row,.dashboard-page-container .service-inputs-row{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--viking-space-24) + var(--viking-space-2)), 1fr));align-items:end}.dashboard-page-container .settings-form-panel .form-row>*,.dashboard-page-container .mfa-phone-row>*,.dashboard-page-container .service-inputs-row>*{min-width:0;width:100%}app-root{display:flex;flex-direction:column;min-height:100vh}.app-layout{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;width:100%}.app-layout>viking-app-layout{min-height:calc(100vh - var(--viking-navbar-height));min-height:calc(100dvh - var(--viking-navbar-height))}.app-layout>viking-app-layout>.viking-app-layout__main{min-height:100%}app-unified-select{display:block;width:100%;min-width:0}app-unified-select viking-field{width:100%}.main-content{flex:1;display:flex;flex-direction:column;width:100%;margin:0;padding:0}.grecaptcha-badge{visibility:hidden !important}.grecaptcha-bubble-holder,div.grecaptcha-bubble-holder,#recaptcha-container,#firebase-recaptcha-container,iframe[src*=recaptcha],iframe[src*="google.com/recaptcha"],body>div[style*=z-index]:has(iframe[src*=recaptcha]),body>div[style*=z-index]:has(iframe[src*="google.com/recaptcha"]),body>div:has(iframe[src*=recaptcha]),body>div:has(iframe[src*="google.com/recaptcha"]),body>div:has(iframe[title*=recaptcha]),body>div:has(iframe[title*=reCAPTCHA]),div[style*=z-index]:has(iframe[src*=recaptcha]),div[style*=z-index]:has(iframe[src*="google.com/recaptcha"]){z-index:var(--viking-z-external-challenge) !important}.full-width{width:100%}.api-key-reveal{padding:var(--viking-space-2);background:var(--viking-success-soft);border:var(--viking-border-width) var(--viking-border-style) var(--viking-success);border-radius:var(--viking-radius-md)}.danger-zone-card{border-color:var(--viking-danger)}.loading-state{position:relative;display:flex;justify-content:center;padding:var(--viking-space-3)}.filter-group-mobile{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-1);width:100%;margin-bottom:var(--viking-space-3)}@media(min-width: 768px){.filter-group-mobile{flex-direction:row;align-items:flex-end;gap:var(--viking-space-2)}}app-not-found,app-success{display:flex;flex:1 1 auto;flex-direction:column;width:100%;min-height:100%}.not-found-container,.success-container{display:flex;flex:1 1 auto;align-items:center;justify-content:center;width:100%;min-height:calc(100dvh - var(--viking-navbar-height) - var(--viking-space-16));padding:0;box-sizing:border-box}.not-found-container .page-inner-wrapper,.success-container .page-inner-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:var(--viking-form-narrow-max-width);margin-inline:auto;padding-block:var(--viking-space-3)}.not-found-card,.success-card{width:100%;max-width:var(--viking-form-narrow-max-width);text-align:center}.error-code{margin-bottom:var(--viking-space-3);color:var(--viking-accent);font-size:var(--viking-font-size-6xl);font-weight:var(--viking-font-weight-extrabold);line-height:var(--viking-line-height-none);letter-spacing:var(--viking-letter-spacing-tight)}.error-title,.success-title{margin:0 0 var(--viking-space-2);color:var(--viking-text);font-size:var(--viking-font-size-2xl);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-tight)}.error-message,.success-message{margin:0 0 var(--viking-space-4);color:var(--viking-text-muted);font-size:var(--viking-font-size-md);line-height:var(--viking-line-height-relaxed)}.syncing-state,.success-state,.error-state,.action-box{display:flex;flex-direction:column;align-items:center}.success-icon{margin-bottom:var(--viking-space-3);color:var(--viking-success);font-size:var(--viking-font-size-5xl);font-weight:var(--viking-font-weight-bold);line-height:var(--viking-line-height-none);letter-spacing:var(--viking-letter-spacing-tight)}.action-box .home-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.landing-container:not(.suite-landing){position:relative;display:flex;flex-direction:column;gap:var(--viking-space-4);min-height:calc(100vh - 64px);padding-block:var(--viking-space-6) var(--viking-space-4);overflow:visible;font-family:var(--viking-font-family);isolation:isolate}.landing-container:not(.suite-landing)::before{content:"";position:absolute;inset:-12% -10% auto -10%;height:min(70vh,40rem);z-index:0;pointer-events:none;background:radial-gradient(65% 75% at 12% 18%, color-mix(in srgb, var(--viking-accent) 22%, transparent), transparent 68%),radial-gradient(45% 55% at 92% 8%, color-mix(in srgb, var(--viking-accent-secondary) 12%, transparent), transparent 62%)}.landing-container:not(.suite-landing)::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.22;background-image:linear-gradient(color-mix(in srgb, var(--viking-border) 70%, transparent) 1px, transparent 1px),linear-gradient(90deg, color-mix(in srgb, var(--viking-border) 70%, transparent) 1px, transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 30% 0%, black 0%, transparent 72%)}.landing-container:not(.suite-landing)>*{position:relative;z-index:1}@media(min-width: 768px){.landing-container:not(.suite-landing){padding-block:var(--viking-space-9) var(--viking-space-8);gap:var(--viking-space-6)}}@media(prefers-reduced-motion: reduce){.landing-container:not(.suite-landing)::before,.landing-container:not(.suite-landing)::after{opacity:.15}}.landing-container:not(.suite-landing) .hero-brand{margin:0;font-family:var(--viking-font-family-mono, var(--viking-font-family));font-size:var(--viking-font-size-title);font-weight:var(--viking-font-weight-bold, 700);letter-spacing:var(--viking-letter-spacing-caps, 0.06em);text-transform:uppercase;color:var(--viking-accent);line-height:var(--viking-line-height-tight, 1.1)}.landing-container:not(.suite-landing) .title{font-size:var(--viking-font-size-display-lg);font-weight:900;line-height:1.05;letter-spacing:-0.02em;margin:0;color:var(--hero-title-color, var(--viking-text));text-transform:uppercase}.landing-container:not(.suite-landing) .subtitle{font-size:var(--viking-font-size-lead-fluid);color:var(--viking-text-muted);line-height:1.6;margin:0;max-width:520px}.landing-container.suite-landing{overflow:hidden}.landing-container.suite-landing :is(.quick-start-band,.showcase-band,.security-pillars-band,.pricing-showcase){padding-block:0;margin-bottom:0;border-bottom:none}.showcase-layout{max-width:var(--viking-container-max-width, var(--viking-container-max-width, 1260px));margin:0 auto;overflow:visible}.landing-container svg[aria-hidden=true]{overflow:visible;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle}@media(prefers-reduced-motion: reduce){.pulse-dot{animation:none}}.community-home{display:flex;flex-direction:column;gap:var(--viking-page-section-gap, var(--viking-space-7))}.community-hero-copy{display:flex;flex-direction:column;gap:var(--viking-space-3)}.community-eyebrow{align-self:flex-start}.community-showcases,.community-resources{display:flex;flex-direction:column;gap:var(--viking-space-4)}.community-showcase-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);align-items:stretch}@media(min-width: 768px){.community-showcase-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}.community-showcase-card{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-card-padding);text-decoration:none;color:inherit;min-height:100%;position:relative;overflow:hidden;box-shadow:var(--viking-shadow-sm);transition:border-color var(--viking-duration-fast) var(--viking-ease-default),transform var(--viking-duration-fast) var(--viking-ease-default),box-shadow var(--viking-duration-fast) var(--viking-ease-default)}.community-showcase-card::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg, color-mix(in srgb, var(--viking-accent) 45%, transparent), transparent 75%);pointer-events:none}.community-showcase-card:hover{border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.community-showcase-card:focus-visible{outline:2px solid var(--viking-ring);outline-offset:2px}.community-showcase-card h3{margin:0;font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-semibold)}.community-showcase-card p{margin:0;flex:1;color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed)}.community-showcase-card-title{display:flex;align-items:center;gap:var(--viking-space-2)}.community-showcase-cta{display:inline-flex;align-items:center;gap:var(--viking-space-1);margin-top:var(--viking-space-2);color:var(--viking-accent);font-weight:var(--viking-font-weight-medium)}.community-resource-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--viking-space-2)}.community-resource-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--viking-space-2);padding:var(--viking-card-padding);text-decoration:none;color:inherit}.community-resource-link strong{display:block;font-size:var(--viking-font-size-lg)}.community-resource-link span{display:block;color:var(--viking-text-muted);margin-top:var(--viking-space-0-5)}.community-resource-link:hover{border-color:var(--viking-border-strong)}.community-resource-link:focus-visible{outline:2px solid var(--viking-ring);outline-offset:2px}.community-resource-arrow{color:var(--viking-text-muted)}

/*!
 * SUITE TOKENS — Pass 1 canonical design system (DEML + FORJD)
 * ----------------------------------------------------------------------------
 * AUTHORITATIVE SOURCE (edit only here):
 *   packages/viking-ui/src/tokens/suite-tokens.css
 *
 * Docs:     packages/viking-ui/src/tokens/SUITE_TOKENS.md
 * Lock:     packages/viking-ui/src/tokens/suite-tokens.lock.json
 * Law:      docs/SUITE_UI_UNIFICATION.md
 *
 * Consumers (no external style packages for the look):
 *   - viking-ui (build prepends into design-tokens / viking-ui / viking-app)
 *   - forjd-ui  (vendored via `npm run sync:suite` — sibling copy, not npm)
 *   - deml.app · marketing · backend.deml.app · ui.deml.app
 *   - forjd.co · backend.forjd.co · ui.forjd.co
 *
 * Strategy:
 *   High-end **dark-first** void austerity (forjd.co + SpaceX restraint).
 *   Light is **opt-in only** via <html data-theme="light"> (same roles, lightness shift).
 *
 * Roles (do not collapse):
 *   A — Product chrome (surfaces, ink, primary, institutional gold, status)
 *   B — Chart series palette (--suite-series-*) — may evolve independently of chrome
 *   C — PDF / print report tokens live outside this file (fjord-report-tokens.json; suite-aligned chrome)
 *
 * Provenance (existing hexes only — no new brand hues):
 *   Void surfaces ← forjd.co · Electric command ← DEML · Gold ← FORJD institutional
 *
 * RULE: Everything downstream consumes only these variables.
 *       No hard-coded product colors/spacing outside this file (brand SVG assets ok).
 */

/* =============================================================================
   DARK (default) — product suite identity
   ============================================================================= */
:root,
html[data-theme="dark"] {
  color-scheme: dark;

  /* --- Brand artwork only (logos / favicons / OG — not product chrome) --- */
  --suite-brand-navy: #070c20;
  --suite-brand-blue: #0078ff;

  /* --- Surface levels (Role A) --- */
  --suite-bg: #0a0a0a;
  --suite-bg-subtle: #050505;
  --suite-surface: #111111;
  --suite-surface-2: #1a1a1a;
  --suite-surface-elevated: #141414;
  --suite-surface-inset: #050505;
  --suite-overlay: color-mix(in srgb, var(--suite-bg) 72%, transparent);

  /* --- Ink / text --- */
  --suite-ink: #f5f5f5;
  --suite-ink-muted: #aaaaaa;
  --suite-ink-subtle: #999999;
  --suite-ink-disabled: #777777;
  --suite-ink-on-primary: #ffffff;
  --suite-ink-inverse: #0a0a0a;

  /* --- Borders (strong ≥3:1 UI contrast on void surfaces — WCAG 1.4.11) --- */
  --suite-border: #222222;
  --suite-border-strong: #666666;
  --suite-border-control: var(--suite-border-strong);
  --suite-border-subtle: color-mix(
    in srgb,
    var(--suite-border) 70%,
    transparent
  );
  --suite-hairline: color-mix(in srgb, var(--suite-primary) 28%, transparent);

  /* --- Primary / accent (electric command) ---
     Fill/hover are darkened for ≥4.5:1 white-on-fill. Brand hue kept on series-1.
     --suite-primary-strong is the AA text/link color on dark surfaces. */
  --suite-primary: #1565f0;
  --suite-primary-hover: #0f5ae0;
  --suite-primary-active: #0a4fd4;
  --suite-primary-soft: color-mix(
    in srgb,
    var(--suite-primary) 18%,
    transparent
  );
  --suite-primary-strong: #7ab0ff;
  --suite-accent: var(--suite-primary);
  --suite-accent-hover: var(--suite-primary-strong);
  /* Institutional gold — chrome / prestige moments (not chart series by default) */
  --suite-gold: #d4af37;
  --suite-gold-soft: color-mix(in srgb, var(--suite-gold) 16%, transparent);
  --suite-gold-text: #e8c96a;

  /* --- Status (fills keep brand chroma; *-text is AA foreground on surfaces) --- */
  --suite-success: #2a9d8f;
  --suite-success-soft: color-mix(
    in srgb,
    var(--suite-success) 16%,
    transparent
  );
  --suite-success-text: #5ec4b6;
  --suite-success-fill: #1a7066;
  --suite-warning: #d69e2e;
  --suite-warning-soft: color-mix(
    in srgb,
    var(--suite-warning) 16%,
    transparent
  );
  --suite-warning-text: #e8c25a;
  --suite-danger: #a83344;
  --suite-danger-soft: color-mix(in srgb, var(--suite-danger) 16%, transparent);
  --suite-danger-text: #dc6b78;
  --suite-info: var(--suite-primary-strong);

  /* --- Focus / ring (bright for visibility — not the darkened fill hover) --- */
  --suite-focus: #4d94ff;
  --suite-ring: #4d94ff;
  --suite-ring-width: 2px;
  --suite-ring-offset: 2px;

  /* --- Chart series (Role B) — tokenized; prefer these over hard-coded hexes --- */
  --suite-series-1: #2176ff;
  --suite-series-2: #922b3e;
  --suite-series-3: var(--suite-success);
  --suite-series-4: var(--suite-gold);
  --suite-series-5: var(--suite-danger);
  --suite-series-6: #4d94ff;
  --suite-series-7: #162544;
  --suite-series-8: #666666;
  --suite-series-default: var(--suite-series-1);

  /* --- Typography (industrial Inter + clean modern stack) --- */
  --suite-font-sans:
    "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
  --suite-font-mono:
    ui-monospace, "JetBrains Mono", "SF Mono", "Cascadia Code", Consolas,
    monospace;

  --suite-text-2xs: 0.6875rem; /* 11px */
  --suite-text-xs: 0.75rem; /* 12px */
  --suite-text-sm: 0.875rem; /* 14px */
  --suite-text-md: 0.875rem; /* 14px UI chrome */
  --suite-text-base: 1rem; /* 16px body */
  --suite-text-lg: 1.125rem; /* 18px */
  --suite-text-xl: 1.5rem; /* 24px */
  --suite-text-2xl: 1.875rem; /* 30px */
  --suite-text-3xl: 2.25rem; /* 36px */
  --suite-text-4xl: 3rem; /* 48px */
  --suite-text-display: clamp(2.5rem, 7vw, 3rem);
  --suite-text-display-lg: clamp(2.25rem, 5vw, 3.75rem);
  --suite-text-display-md: clamp(2rem, 4.5vw, 3rem);
  /* Hero industrial titles — fluid, tokenized clamps */
  --suite-text-headline: clamp(1.35rem, 3.2vw, 2rem);
  --suite-text-headline-quiet: clamp(1.2rem, 2.6vw, 1.65rem);
  --suite-text-title: clamp(1.5rem, 3.5vw, 2rem);
  --suite-text-title-lg: clamp(1.75rem, 5vw, 2.5rem);
  --suite-text-title-sm: clamp(1.35rem, 3vw, 1.75rem);
  --suite-text-lead: 1.25rem; /* 20px section lead */
  --suite-text-lead-fluid: clamp(1.05rem, 2vw, 1.25rem);

  --suite-weight-regular: 400;
  --suite-weight-medium: 500;
  --suite-weight-semibold: 600;
  --suite-weight-bold: 700;
  --suite-weight-extrabold: 800;

  --suite-leading-none: 1;
  --suite-leading-tight: 1.2;
  --suite-leading-snug: 1.35;
  --suite-leading-normal: 1.5;
  --suite-leading-relaxed: 1.6;

  --suite-tracking-tight: -0.03em;
  --suite-tracking-normal: 0;
  --suite-tracking-wide: 0.08em;
  --suite-tracking-caps: 0.1em;
  --suite-tracking-brand: 0.14em;

  /* --- Spacing (THEME.md: 8px primary grid; 4px tight exception) --- */
  --suite-space-unit: 8px;
  --suite-space-0: 0;
  --suite-space-px: 1px;
  --suite-space-0-5: 4px;
  --suite-space-1: 8px;
  --suite-space-2: 16px;
  --suite-space-3: 24px;
  --suite-space-4: 32px;
  --suite-space-5: 40px;
  --suite-space-6: 48px;
  --suite-space-7: 56px;
  --suite-space-8: 64px;
  --suite-space-9: 80px;
  --suite-space-10: 96px;
  --suite-space-11: 112px;
  --suite-space-12: 128px;
  --suite-space-14: 160px;
  --suite-space-16: 192px;

  --suite-space-compact: 12px;
  --suite-page-gutter: clamp(1rem, 4vw, 1.5rem);
  /* Major section rhythm — more air between stages; not card/list density */
  --suite-section-gap: clamp(3rem, 7vw, 5rem);
  /* Related blocks inside a section (header→grid, band stack) */
  --suite-block-gap: clamp(1.75rem, 3.5vw, 2.5rem);
  /* Dense operational rows (tables, status, meta) */
  --suite-density-gap: var(--suite-space-1);
  --suite-cluster-gap: var(--suite-space-2);
  --suite-content-max: 78.75rem; /* 1260px */
  --suite-readable-max: 48rem;
  /* Mobile touch target (WCAG AA / SaaS) */
  --suite-touch: 2.75rem; /* 44px */
  /* Dense desktop control frame; mobile interactive targets use --suite-touch */
  --suite-control-height: 2.5rem; /* 40px */
  --suite-control-height-sm: 2rem; /* 32px */
  --suite-control-height-lg: var(--suite-touch);
  /* Shared control chrome — buttons, inputs, selects align to this grid */
  --suite-control-px: var(--suite-space-2);
  --suite-control-px-lg: var(--suite-space-3);
  --suite-control-fs: var(--suite-text-md);
  --suite-control-fs-sm: var(--suite-text-sm);
  --suite-control-check: 1.25rem; /* checkbox / radio glyph */
  /* Soft inner focus for fields (pairs with :focus-visible outline) */
  --suite-control-focus-ring: 0 0 0 1px
    color-mix(in srgb, var(--suite-primary) 42%, transparent);

  /* --- Radius --- */
  --suite-radius-xs: 4px;
  --suite-radius-sm: 6px;
  --suite-radius: 8px;
  --suite-radius-lg: 12px;
  --suite-radius-xl: 16px;
  --suite-radius-pill: 999px;
  --suite-radius-control: var(--suite-radius);
  --suite-radius-surface: var(--suite-radius-lg);

  /* --- Elevation (machined, stepped — never decorative glow stacks) --- */
  /* Drop shadows: short/hard near-edge + soft ambient; keep opacity low */
  --suite-shadow-xs: 0 1px 1px rgba(0, 0, 0, 0.28);
  --suite-shadow-sm:
    0 1px 2px rgba(0, 0, 0, 0.28), 0 3px 10px rgba(0, 0, 0, 0.14);
  --suite-shadow-md:
    0 2px 4px rgba(0, 0, 0, 0.26), 0 8px 20px rgba(0, 0, 0, 0.16);
  --suite-shadow-lg:
    0 4px 8px rgba(0, 0, 0, 0.28), 0 16px 36px rgba(0, 0, 0, 0.22);
  --suite-shadow-hover:
    0 2px 4px rgba(0, 0, 0, 0.28), 0 10px 22px rgba(0, 0, 0, 0.18);
  /* Top-edge specular — primary depth cue on dark steel */
  --suite-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  /* Recessed wells (tables, tablists, metric panels) */
  --suite-shadow-inset:
    inset 0 1px 2px rgba(0, 0, 0, 0.35), inset 0 0 0 1px rgba(0, 0, 0, 0.12);
  /* Overlay glass — modals / loading only; not base cards */
  --suite-glass: color-mix(
    in srgb,
    var(--suite-surface-elevated) 82%,
    transparent
  );
  --suite-glass-strong: color-mix(
    in srgb,
    var(--suite-surface-elevated) 92%,
    transparent
  );
  --suite-glass-blur: 8px;
  /* Composed elevation recipes (prefer these in chrome) */
  --suite-elevation-1: var(--suite-highlight);
  --suite-elevation-2: var(--suite-shadow-sm), var(--suite-highlight);
  --suite-elevation-3: var(--suite-shadow-md), var(--suite-highlight);
  --suite-elevation-4: var(--suite-shadow-lg), var(--suite-highlight);
  --suite-elevation-hover: var(--suite-shadow-hover), var(--suite-highlight);
  --suite-elevation-inset: var(--suite-shadow-inset);

  /* --- Z-index scale --- */
  --suite-z-base: 0;
  --suite-z-dropdown: 1000;
  --suite-z-sticky: 1100;
  --suite-z-overlay: 1200;
  --suite-z-modal: 1300;
  --suite-z-toast: 1400;
  --suite-z-max: 1500;

  /* --- Motion (aerospace: short, decisive, no bounce) --- */
  --suite-ease: cubic-bezier(0.2, 0, 0, 1);
  --suite-ease-out: cubic-bezier(0, 0, 0.2, 1);
  --suite-ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
  --suite-duration-instant: 75ms;
  --suite-duration-fast: 150ms;
  --suite-duration: 250ms;
  --suite-duration-slow: 350ms;
  /* Geometry: 1px lift / press — perceptible, never theatrical */
  --suite-hover-lift: -1px;
  --suite-press-sink: 1px;
  --suite-nudge: 2px;
  --suite-reveal-distance: 0.5rem;
  --suite-active-scale: 0.985;
  --suite-transition:
    background-color var(--suite-duration-fast) var(--suite-ease),
    border-color var(--suite-duration-fast) var(--suite-ease),
    color var(--suite-duration-fast) var(--suite-ease),
    opacity var(--suite-duration-fast) var(--suite-ease),
    box-shadow var(--suite-duration-fast) var(--suite-ease),
    transform var(--suite-duration-fast) var(--suite-ease);
  --suite-transition-transform: transform var(--suite-duration-fast)
    var(--suite-ease-emphasized);
  --suite-transition-colors:
    background-color var(--suite-duration-fast) var(--suite-ease),
    border-color var(--suite-duration-fast) var(--suite-ease),
    color var(--suite-duration-fast) var(--suite-ease),
    box-shadow var(--suite-duration-fast) var(--suite-ease);

  /* --- Breakpoints (THEME.md mobile-first contract) --- */
  --suite-bp-sm: 600px;
  --suite-bp-md: 768px;
  --suite-bp-sidebar: 901px;
  --suite-bp-lg: 1024px;
  --suite-bp-xl: 1440px;
  --suite-bp-2xl: 1920px;

  /* =========================================================================
     Compatibility aliases — viking-ui + forjd-ui
     Prefer --suite-* in new code. Aliases must stay byte-identical via var().
     ========================================================================= */

  /* Viking semantic */
  --viking-bg: var(--suite-bg);
  --viking-bg-subtle: var(--suite-bg-subtle);
  --viking-surface: var(--suite-surface);
  --viking-surface-alt: var(--suite-surface-2);
  --viking-surface-raised: var(--suite-surface-elevated);
  --viking-surface-inset: var(--suite-surface-inset);
  --viking-surface-overlay: var(--suite-surface);
  --viking-surface-recipe: var(--suite-surface);
  --viking-surface-recipe-elevated: var(--suite-surface-elevated);
  --viking-border: var(--suite-border);
  --viking-border-strong: var(--suite-border-strong);
  --viking-border-subtle: var(--suite-border-subtle);
  --viking-border-control: var(--suite-border-control);
  --viking-border-container: var(--suite-border);
  --viking-border-accent: var(--suite-hairline);
  --viking-text: var(--suite-ink);
  --viking-text-muted: var(--suite-ink-muted);
  --viking-text-subtle: var(--suite-ink-subtle);
  --viking-text-disabled: var(--suite-ink-disabled);
  --viking-accent: var(--suite-primary);
  --viking-accent-hover: var(--suite-primary-hover);
  --viking-accent-active: var(--suite-primary-active);
  --viking-accent-soft: var(--suite-primary-soft);
  --viking-accent-strong: var(--suite-primary-strong);
  --viking-accent-content: var(--suite-ink-on-primary);
  --viking-gold-500: var(--suite-gold);
  --viking-gold-text: var(--suite-gold-text);
  --viking-success: var(--suite-success);
  --viking-success-text: var(--suite-success-text);
  --viking-warning: var(--suite-warning);
  --viking-warning-text: var(--suite-warning-text);
  --viking-danger: var(--suite-danger);
  --viking-danger-text: var(--suite-danger-text);
  --viking-ring: var(--suite-ring);
  --viking-ring-width: var(--suite-ring-width);
  --viking-ring-offset: var(--suite-ring-offset);
  --viking-font-family: var(--suite-font-sans);
  --viking-font-family-mono: var(--suite-font-mono);
  --viking-font-size-2xs: var(--suite-text-2xs);
  --viking-font-size-xs: var(--suite-text-xs);
  --viking-font-size-sm: var(--suite-text-sm);
  --viking-font-size-ui: var(--suite-text-md);
  --viking-font-size-base: var(--suite-text-base);
  --viking-font-size-md: var(--suite-text-lg);
  --viking-font-size-lg: var(--suite-text-xl);
  --viking-font-size-xl: var(--suite-text-xl);
  --viking-font-size-2xl: var(--suite-text-2xl);
  --viking-font-size-3xl: var(--suite-text-3xl);
  --viking-font-size-4xl: var(--suite-text-4xl);
  --viking-font-size-5xl: 3.75rem;
  --viking-font-size-6xl: 4.5rem;
  --viking-font-size-display: var(--suite-text-display);
  --viking-font-size-display-lg: var(--suite-text-display-lg);
  --viking-font-size-display-md: var(--suite-text-display-md);
  --viking-font-size-headline: var(--suite-text-headline);
  --viking-font-size-headline-quiet: var(--suite-text-headline-quiet);
  --viking-font-size-title: var(--suite-text-title);
  --viking-font-size-title-lg: var(--suite-text-title-lg);
  --viking-font-size-title-sm: var(--suite-text-title-sm);
  --viking-font-size-lead: var(--suite-text-lead);
  --viking-font-size-lead-fluid: var(--suite-text-lead-fluid);
  --viking-font-weight-regular: var(--suite-weight-regular);
  --viking-font-weight-medium: var(--suite-weight-medium);
  --viking-font-weight-semibold: var(--suite-weight-semibold);
  --viking-font-weight-bold: var(--suite-weight-bold);
  --viking-font-weight-extrabold: var(--suite-weight-extrabold);
  --viking-line-height-none: var(--suite-leading-none);
  --viking-line-height-tight: var(--suite-leading-tight);
  --viking-line-height-snug: var(--suite-leading-snug);
  --viking-line-height-normal: var(--suite-leading-normal);
  --viking-line-height-relaxed: var(--suite-leading-relaxed);
  --viking-letter-spacing-tight: var(--suite-tracking-tight);
  --viking-letter-spacing-normal: var(--suite-tracking-normal);
  --viking-letter-spacing-wide: var(--suite-tracking-wide);
  --viking-letter-spacing-caps: var(--suite-tracking-caps);
  --viking-letter-spacing-display: var(--suite-tracking-brand);
  --viking-space-0: var(--suite-space-0);
  --viking-space-px: var(--suite-space-px);
  --viking-space-0-5: var(--suite-space-0-5);
  --viking-space-1: var(--suite-space-1);
  --viking-space-2: var(--suite-space-2);
  --viking-space-3: var(--suite-space-3);
  --viking-space-4: var(--suite-space-4);
  --viking-space-5: var(--suite-space-5);
  --viking-space-6: var(--suite-space-6);
  --viking-space-7: var(--suite-space-7);
  --viking-space-8: var(--suite-space-8);
  --viking-space-9: var(--suite-space-9);
  --viking-space-10: var(--suite-space-10);
  --viking-space-11: var(--suite-space-11);
  --viking-space-12: var(--suite-space-12);
  --viking-space-14: var(--suite-space-14);
  --viking-space-16: var(--suite-space-16);
  --viking-space-compact-gap: var(--suite-space-compact);
  --viking-touch-target-min: var(--suite-touch);
  --viking-radius-xs: var(--suite-radius-xs);
  --viking-radius-sm: var(--suite-radius-sm);
  --viking-radius: var(--suite-radius);
  --viking-radius-lg: var(--suite-radius-lg);
  --viking-radius-xl: var(--suite-radius-xl);
  --viking-radius-pill: var(--suite-radius-pill);
  --viking-shadow-xs: var(--suite-shadow-xs);
  --viking-shadow-sm: var(--suite-shadow-sm);
  --viking-shadow-md: var(--suite-shadow-md);
  --viking-shadow-lg: var(--suite-shadow-lg);
  --viking-shadow-hover: var(--suite-shadow-hover);
  --viking-shadow-inner: var(--suite-shadow-inset);
  --viking-surface-highlight: var(--suite-highlight);
  --viking-elevation-1: var(--suite-elevation-1);
  --viking-elevation-2: var(--suite-elevation-2);
  --viking-elevation-3: var(--suite-elevation-3);
  --viking-elevation-4: var(--suite-elevation-4);
  --viking-elevation-hover: var(--suite-elevation-hover);
  --viking-elevation-inset: var(--suite-elevation-inset);
  --viking-glass: var(--suite-glass);
  --viking-glass-strong: var(--suite-glass-strong);
  --viking-glass-blur: var(--suite-glass-blur);
  --viking-duration-instant: var(--suite-duration-instant);
  --viking-duration-fast: var(--suite-duration-fast);
  --viking-duration: var(--suite-duration);
  --viking-duration-slow: var(--suite-duration-slow);
  --viking-ease-out: var(--suite-ease-out);
  --viking-ease-emphasized: var(--suite-ease-emphasized);
  --viking-state-hover-lift: var(--suite-hover-lift);
  --viking-state-press-sink: var(--suite-press-sink);
  --viking-state-nudge: var(--suite-nudge);
  --viking-state-reveal-distance: var(--suite-reveal-distance);
  --viking-state-active-scale: var(--suite-active-scale);
  --viking-transition-interactive: var(--suite-transition);
  --viking-transition-colors: var(--suite-transition-colors);
  --viking-transition-transform: var(--suite-transition-transform);
  --viking-control-height: var(--suite-control-height);
  --viking-control-height-sm: var(--suite-control-height-sm);
  --viking-control-height-lg: var(--suite-control-height-lg);
  --viking-control-px: var(--suite-control-px);
  --viking-control-fs: var(--suite-control-fs);
  --viking-control-check: var(--suite-control-check);
  --viking-control-focus-ring: var(--suite-control-focus-ring);
  --viking-page-gutter: var(--suite-page-gutter);
  --viking-page-section-gap: var(--suite-section-gap);
  --viking-page-stack-gap: var(--suite-block-gap);
  --viking-block-gap: var(--suite-block-gap);
  --viking-density-gap: var(--suite-density-gap);
  --viking-container-max-width: var(--suite-content-max);
  --viking-content-readable-max-width: var(--suite-readable-max);
  --viking-bp-sm: var(--suite-bp-sm);
  --viking-bp-md: var(--suite-bp-md);
  --viking-bp-sidebar: var(--suite-bp-sidebar);
  --viking-bp-lg: var(--suite-bp-lg);
  --viking-bp-xl: var(--suite-bp-xl);
  --viking-bp-2xl: var(--suite-bp-2xl);
  --viking-brand-navy: var(--suite-brand-navy);
  --viking-brand-blue: var(--suite-brand-blue);
  --viking-series-1: var(--suite-series-1);
  --viking-series-2: var(--suite-series-2);
  --viking-series-3: var(--suite-series-3);
  --viking-series-4: var(--suite-series-4);
  --viking-series-5: var(--suite-series-5);
  --viking-series-6: var(--suite-series-6);
  --viking-series-7: var(--suite-series-7);
  --viking-series-8: var(--suite-series-8);
  --viking-series-default: var(--suite-series-default);
  --viking-z-dropdown: var(--suite-z-dropdown);
  --viking-z-modal: var(--suite-z-modal);
  --viking-z-toast: var(--suite-z-toast);

  /* FORJD aliases
     --fj-space-* map is FROZEN (legacy compact scale). Prefer --suite-space-*.
     Do not invent new --fj-space-* in product code. */
  --fj-bg: var(--suite-bg);
  --fj-surface: var(--suite-surface);
  --fj-surface-2: var(--suite-surface-2);
  --fj-surface-elevated: var(--suite-surface-elevated);
  --fj-border: var(--suite-border);
  --fj-border-strong: var(--suite-border-strong);
  --fj-border-control: var(--suite-border-control);
  --fj-hairline: var(--suite-hairline);
  --fj-overlay: var(--suite-overlay);
  --fj-primary: var(--suite-primary);
  --fj-primary-hover: var(--suite-primary-hover);
  --fj-primary-active: var(--suite-primary-active);
  --fj-primary-soft: var(--suite-primary-soft);
  --fj-primary-strong: var(--suite-primary-strong);
  --fj-focus: var(--suite-focus);
  --fj-ring: var(--suite-ring);
  --fj-ring-width: var(--suite-ring-width);
  --fj-ring-offset: var(--suite-ring-offset);
  --fj-gold: var(--suite-gold);
  --fj-gold-soft: var(--suite-gold-soft);
  --fj-gold-text: var(--suite-gold-text);
  --fj-accent: var(--suite-accent);
  --fj-accent-hover: var(--suite-accent-hover);
  --fj-warning: var(--suite-warning);
  --fj-warning-text: var(--suite-warning-text);
  --fj-danger: var(--suite-danger);
  --fj-danger-text: var(--suite-danger-text);
  --fj-success: var(--suite-success);
  --fj-success-text: var(--suite-success-text);
  --fj-text: var(--suite-ink);
  --fj-text-muted: var(--suite-ink-muted);
  --fj-text-subtle: var(--suite-ink-subtle);
  --fj-text-disabled: var(--suite-ink-disabled);
  --fj-text-on-primary: var(--suite-ink-on-primary);
  --fj-font-sans: var(--suite-font-sans);
  --fj-font-mono: var(--suite-font-mono);
  --fj-text-xs: var(--suite-text-xs);
  --fj-text-sm: var(--suite-text-sm);
  --fj-text-md: var(--suite-text-md);
  --fj-text-base: var(--suite-text-base);
  --fj-text-lg: var(--suite-text-lg);
  --fj-text-xl: var(--suite-text-xl);
  --fj-text-2xl: var(--suite-text-2xl);
  --fj-text-display: var(--suite-text-display);
  --fj-text-headline: var(--suite-text-headline);
  --fj-text-headline-quiet: var(--suite-text-headline-quiet);
  --fj-text-lead: var(--suite-text-lead);
  --fj-leading-tight: var(--suite-leading-tight);
  --fj-leading-snug: var(--suite-leading-snug);
  --fj-leading-normal: var(--suite-leading-normal);
  --fj-tracking-tight: var(--suite-tracking-tight);
  --fj-tracking-wide: var(--suite-tracking-wide);
  --fj-tracking-brand: var(--suite-tracking-brand);
  --fj-tracking-caps: var(--suite-tracking-caps);
  --fj-radius: var(--suite-radius);
  --fj-radius-xs: var(--suite-radius-xs);
  --fj-radius-sm: var(--suite-radius-sm);
  --fj-radius-lg: var(--suite-radius-lg);
  --fj-radius-xl: var(--suite-radius-xl);
  --fj-radius-pill: var(--suite-radius-pill);
  --fj-radius-control: var(--suite-radius-control);
  --fj-radius-surface: var(--suite-radius-surface);
  --fj-space-1: var(--suite-space-0-5);
  --fj-space-2: var(--suite-space-1);
  --fj-space-3: var(--suite-space-compact);
  --fj-space-4: var(--suite-space-2);
  --fj-space-5: var(--suite-space-2);
  --fj-space-6: var(--suite-space-3);
  --fj-space-7: var(--suite-space-3);
  --fj-space-8: var(--suite-space-4);
  --fj-space-10: var(--suite-space-5);
  --fj-space-12: var(--suite-space-6);
  --fj-touch-target: var(--suite-touch);
  --fj-control-height: var(--suite-control-height);
  --fj-control-height-sm: var(--suite-control-height-sm);
  --fj-control-height-lg: var(--suite-control-height-lg);
  --fj-control-px: var(--suite-control-px);
  --fj-control-fs: var(--suite-control-fs);
  --fj-control-check: var(--suite-control-check);
  --fj-control-focus-ring: var(--suite-control-focus-ring);
  --fj-page-gutter: var(--suite-page-gutter);
  --fj-section-gap: var(--suite-section-gap);
  --fj-block-gap: var(--suite-block-gap);
  --fj-density-gap: var(--suite-density-gap);
  --fj-content-max: var(--suite-content-max);
  --fj-readable-max: var(--suite-readable-max);
  --fj-bp-md: var(--suite-bp-md);
  --fj-bp-lg: var(--suite-bp-lg);
  --fj-ease: var(--suite-ease);
  --fj-ease-out: var(--suite-ease-out);
  --fj-ease-emphasized: var(--suite-ease-emphasized);
  --fj-duration-instant: var(--suite-duration-instant);
  --fj-duration-fast: var(--suite-duration-fast);
  --fj-duration: var(--suite-duration);
  --fj-duration-slow: var(--suite-duration-slow);
  --fj-transition: var(--suite-transition);
  --fj-transition-transform: var(--suite-transition-transform);
  --fj-hover-lift: var(--suite-hover-lift);
  --fj-active-scale: var(--suite-active-scale);
  --fj-press-sink: var(--suite-press-sink);
  --fj-nudge: var(--suite-nudge);
  --fj-reveal-distance: var(--suite-reveal-distance);
  --fj-highlight: var(--suite-highlight);
  --fj-elevation-1: var(--suite-elevation-1);
  --fj-elevation-2: var(--suite-elevation-2);
  --fj-elevation-3: var(--suite-elevation-3);
  --fj-elevation-4: var(--suite-elevation-4);
  --fj-elevation-hover: var(--suite-elevation-hover);
  --fj-elevation-inset: var(--suite-elevation-inset);
  --fj-glass: var(--suite-glass);
  --fj-glass-strong: var(--suite-glass-strong);
  --fj-glass-blur: var(--suite-glass-blur);
  --fj-transition-interactive: var(--suite-transition);
  --fj-transition-colors: var(--suite-transition-colors);
  --fj-z-dropdown: var(--suite-z-dropdown);
  --fj-z-modal: var(--suite-z-modal);
  --fj-z-toast: var(--suite-z-toast);
}

/* =============================================================================
   LIGHT (opt-in) — same roles, shifted lightness only (no hue inversion)
   Activate: <html data-theme="light">
   Product default remains dark; light is for marketing/docs that support it.
   ============================================================================= */
html[data-theme="light"] {
  color-scheme: light;

  --suite-bg: #fbfcfe;
  --suite-bg-subtle: #f4f7fb;
  --suite-surface: #ffffff;
  --suite-surface-2: #f4f7fb;
  --suite-surface-elevated: #ffffff;
  --suite-surface-inset: #f4f7fb;
  --suite-overlay: color-mix(in srgb, #ffffff 72%, transparent);

  --suite-ink: #080d1f;
  --suite-ink-muted: #555555;
  --suite-ink-subtle: #666666;
  --suite-ink-disabled: #666666;
  --suite-ink-on-primary: #ffffff;
  --suite-ink-inverse: #f5f5f5;

  --suite-border: #d7e0ef;
  --suite-border-strong: #58719e;
  --suite-border-control: var(--suite-border-strong);
  --suite-border-subtle: color-mix(
    in srgb,
    var(--suite-border) 70%,
    transparent
  );

  --suite-primary: #1565f0;
  --suite-primary-hover: #0a4fd4;
  --suite-primary-active: #073a99;
  --suite-primary-soft: color-mix(
    in srgb,
    var(--suite-primary) 12%,
    transparent
  );
  --suite-primary-strong: #073a99;
  --suite-accent-hover: var(--suite-primary-strong);
  --suite-focus: var(--suite-primary);
  --suite-ring: var(--suite-primary);

  /* Status text on light surfaces (fills keep brand chroma for soft/chart use) */
  --suite-gold-text: #7a6410;
  --suite-success-text: #187066;
  --suite-success-fill: #1a7066;
  --suite-warning-text: #7a580e;
  --suite-danger-text: #a83344;

  /* Series stay chromatically stable; only series-7 (muted baseline) lightens */
  --suite-series-7: #8fa2c2;
  --suite-series-8: #999999;

  --suite-shadow-xs: 0 1px 1px rgba(8, 13, 31, 0.05);
  --suite-shadow-sm:
    0 1px 2px rgba(8, 13, 31, 0.05), 0 3px 10px rgba(8, 13, 31, 0.05);
  --suite-shadow-md:
    0 2px 4px rgba(8, 13, 31, 0.06), 0 8px 20px rgba(8, 13, 31, 0.07);
  --suite-shadow-lg:
    0 4px 8px rgba(8, 13, 31, 0.07), 0 16px 36px rgba(8, 13, 31, 0.09);
  --suite-shadow-hover:
    0 2px 4px rgba(8, 13, 31, 0.07), 0 10px 22px rgba(8, 13, 31, 0.08);
  --suite-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.85);
  --suite-shadow-inset:
    inset 0 1px 2px rgba(8, 13, 31, 0.06), inset 0 0 0 1px rgba(8, 13, 31, 0.04);
  --suite-glass: color-mix(in srgb, #ffffff 78%, transparent);
  --suite-glass-strong: color-mix(in srgb, #ffffff 90%, transparent);
  --suite-elevation-1: var(--suite-highlight);
  --suite-elevation-2: var(--suite-shadow-sm), var(--suite-highlight);
  --suite-elevation-3: var(--suite-shadow-md), var(--suite-highlight);
  --suite-elevation-4: var(--suite-shadow-lg), var(--suite-highlight);
  --suite-elevation-hover: var(--suite-shadow-hover), var(--suite-highlight);
  --suite-elevation-inset: var(--suite-shadow-inset);
}

/* WCAG 2.3.3 — zero motion tokens; consumers must not invent alternate timings */
@media (prefers-reduced-motion: reduce) {
  :root {
    --suite-duration-instant: 0ms;
    --suite-duration-fast: 0ms;
    --suite-duration: 0ms;
    --suite-duration-slow: 0ms;
    --suite-hover-lift: 0px;
    --suite-press-sink: 0px;
    --suite-nudge: 0px;
    --suite-reveal-distance: 0px;
    --suite-active-scale: 1;
    --suite-transition: none;
    --suite-transition-transform: none;
    --suite-transition-colors: none;
  }
}

/* Opaque fallbacks — glass blur is hierarchy aid, not required */
@media (prefers-reduced-transparency: reduce) {
  :root {
    --suite-glass-blur: 0px;
    --suite-glass: var(--suite-surface-elevated);
    --suite-glass-strong: var(--suite-surface-elevated);
  }
}

/*!
 * SUITE COMPONENTS — Pass 2 owned primitive chrome (DEML + FORJD)
 * ----------------------------------------------------------------------------
 * Tokens: suite-tokens.css only. Zero external UI theme packages.
 * Selectors accept .suite-*, .viking-*, .fj-* — identical look everywhere.
 * Pattern: headless Angular/WC behavior + these classes.
 * Docs: SUITE_COMPONENTS.md · Law: docs/SUITE_UI_UNIFICATION.md
 *
 * Aesthetic: SpaceX restraint · Palantir density · Porsche precision ·
 *            Spartan/Flux composability · mobile-first touch ≥ --suite-touch
 *
 * Interaction language (all interactive primitives):
 *   · Motion: transition var(--suite-transition); lift/press via --suite-hover-lift / --suite-press-sink
 *   · Focus: :focus-visible → --suite-ring (+ width/offset); never mouse :focus rings
 *   · Disabled: opacity ~0.55 + cursor:not-allowed; no hover/active transforms
 *   · Spacing: control grid --suite-touch (mobile) → --suite-control-height (≥768px)
 *   · Reduced motion: kill-switch at file end (prefers-reduced-motion)
 */

/* =============================================================================
   Focus management + keyboard a11y (suite-wide contract — WCAG 2.2 AA)
   Ring: --suite-ring / width / offset. Prefer :focus-visible (keyboard), not mouse.
   ============================================================================= */

/* WCAG 2.4.11 Focus Not Obscured — sticky nav/footer clearance */
html {
  scroll-padding-top: var(--suite-space-7, 56px);
  scroll-padding-bottom: var(--suite-space-4);
}

:focus-visible {
  scroll-margin-top: var(--suite-space-7, 56px);
  scroll-margin-bottom: var(--suite-space-3);
}

/* Screen-reader only — keep in tab order with .suite-sr-only-focusable */
:is(.suite-sr-only, .viking-sr-only, .fj-sr-only, .sr-only, .visually-hidden) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: calc(-1 * var(--suite-space-px)) !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Skip link — first focusable in document; reveals on keyboard focus only */
:is(.suite-skip-link, .viking-skip-link, .fj-skip-link, .skip-link) {
  position: absolute;
  top: var(--suite-space-2);
  left: var(--suite-space-2);
  z-index: var(--suite-z-max);
  display: inline-flex;
  align-items: center;
  min-height: var(--suite-touch);
  padding: 0 var(--suite-space-2);
  border: 1px solid var(--suite-border-strong);
  border-radius: var(--suite-radius-control);
  background: var(--suite-surface-elevated);
  color: var(--suite-ink);
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  text-decoration: none;
  box-shadow: var(--suite-elevation-3);
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
}

:is(.suite-skip-link, .viking-skip-link, .fj-skip-link, .skip-link):focus,
:is(
  .suite-skip-link,
  .viking-skip-link,
  .fj-skip-link,
  .skip-link
):focus-visible {
  clip: auto;
  clip-path: none;
  width: auto;
  height: auto;
  overflow: visible;
  white-space: nowrap;
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

/*
 * Landmark that receives skip-link / SPA route focus must not paint a page-sized
 * ring. Scripted .focus() often matches :focus-visible in Chromium — suppress both.
 * Interactive children keep their own :focus-visible rings.
 */
:is(#main-content, [data-suite-main], .suite-main):focus,
:is(#main-content, [data-suite-main], .suite-main):focus-visible {
  outline: none;
}

/* Shared ring token helper */
:is(.suite-focus-ring, .viking-focus-ring, .fj-focus-ring):focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

/* Mouse focus: no outline; keyboard :focus-visible keeps the ring */
:is(
    .suite-btn,
    .viking-btn,
    .fj-btn,
    .suite-tab,
    .viking-tab,
    .fj-tab,
    .suite-nav-link,
    .viking-nav-link,
    .fj-nav-link,
    .suite-link,
    .viking-link,
    .fj-link,
    .suite-card,
    .viking-card,
    .fj-card
  ):focus:not(:focus-visible) {
  outline: none;
}

/* Interactive suite controls + ARIA widgets (visible keyboard focus — WCAG 2.4.7 / 2.4.11) */
:is(
  .suite-btn,
  .viking-btn,
  .fj-btn,
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-textarea,
  .viking-textarea,
  .fj-textarea,
  .suite-select,
  .viking-select,
  .fj-select,
  .suite-checkbox,
  .viking-checkbox,
  .fj-checkbox,
  .suite-switch,
  .viking-switch,
  .fj-switch,
  .suite-radio,
  .viking-radio,
  .fj-radio,
  .suite-tab,
  .viking-tab,
  .fj-tab,
  .suite-nav-link,
  .viking-nav-link,
  .fj-nav-link,
  .suite-link,
  .viking-link,
  .fj-link,
  .suite-toast,
  .viking-toast,
  .fj-toast,
  .suite-callout,
  .viking-callout,
  .fj-callout
):focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
[role="tab"]:focus-visible,
[role="menuitem"]:focus-visible,
[role="menuitemcheckbox"]:focus-visible,
[role="menuitemradio"]:focus-visible,
[role="option"]:focus-visible,
[role="switch"]:focus-visible,
[role="link"]:focus-visible,
[role="checkbox"]:focus-visible,
[role="radio"]:focus-visible,
[role="combobox"]:focus-visible,
[role="listbox"]:focus-visible,
[role="slider"]:focus-visible,
[role="spinbutton"]:focus-visible,
[role="separator"][tabindex]:focus-visible,
[role="treeitem"]:focus-visible,
[role="gridcell"]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

/* Shells own the ring — suppress inner native outline, paint ring on the shell */
:is(.suite-input-shell, .viking-input-shell, .fj-input-shell)
  :is(input, textarea, select):focus,
:is(.suite-input-shell, .viking-input-shell, .fj-input-shell)
  :is(input, textarea, select):focus-visible {
  outline: none;
}

:is(
  .suite-input-shell,
  .viking-input-shell,
  .fj-input-shell,
  .suite-textarea-shell,
  .viking-textarea-shell,
  .fj-textarea-shell
):focus-within {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

/* Dialog / sheet: ensure keyboard users see focus inside modal layer */
:is(
  .suite-dialog,
  .viking-dialog,
  .fj-dialog,
  .suite-sheet,
  .viking-sheet,
  .fj-sheet
):focus,
:is(
  .suite-dialog,
  .viking-dialog,
  .fj-dialog,
  .suite-sheet,
  .viking-sheet,
  .fj-sheet
):focus-visible {
  outline: none;
}

:is(
    .suite-dialog,
    .viking-dialog,
    .fj-dialog,
    .suite-sheet,
    .viking-sheet,
    .fj-sheet
  )
  :focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

@media (forced-colors: active) {
  :is(
    .suite-btn,
    .viking-btn,
    .fj-btn,
    .suite-tab,
    .viking-tab,
    .fj-tab,
    .suite-nav-link,
    .viking-nav-link,
    .fj-nav-link,
    .suite-link,
    .viking-link,
    .fj-link
  ):focus-visible,
  a:focus-visible,
  button:focus-visible,
  input:focus-visible,
  textarea:focus-visible,
  select:focus-visible {
    outline: 3px solid CanvasText;
    outline-offset: var(--suite-ring-offset);
  }
}

/* =============================================================================
   Button
   ============================================================================= */
:is(.suite-btn, .viking-btn, .fj-btn) {
  /* Shared control grid — matches inputs / selects / tabs */
  --_control-h: var(--suite-touch);
  --_control-px: var(--suite-control-px-lg);
  --_control-fs: var(--suite-control-fs);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--suite-space-1);
  height: var(--_control-h);
  min-height: var(--_control-h);
  min-width: var(--_control-h);
  padding: 0 var(--_control-px);
  border: 1px solid transparent;
  border-radius: var(--suite-radius-control);
  font-family: var(--suite-font-sans);
  font-size: var(--_control-fs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-caps);
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: var(--suite-transition);
  box-sizing: border-box;
  vertical-align: middle;
}

/* Dense desktop controls; keep 44px touch on small screens */
@media (min-width: 768px) {
  :is(.suite-btn, .viking-btn, .fj-btn):not([data-size="sm"]):not(
      [data-size="lg"]
    ):not(.viking-btn-sm):not(.viking-btn-lg):not(.suite-btn-sm):not(
      .suite-btn-lg
    ):not(.fj-btn-sm):not(.fj-btn-lg) {
    --_control-h: var(--suite-control-height);
  }
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-size="sm"],
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-sm,
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-sm,
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-sm {
  /* Mobile: keep WCAG touch floor; dense height from tablet up */
  --_control-h: var(--suite-touch);
  --_control-px: var(--suite-control-px);
  --_control-fs: var(--suite-control-fs-sm);
}

@media (min-width: 768px) {
  :is(.suite-btn, .viking-btn, .fj-btn)[data-size="sm"],
  :is(.suite-btn, .viking-btn, .fj-btn).viking-btn-sm,
  :is(.suite-btn, .viking-btn, .fj-btn).suite-btn-sm,
  :is(.suite-btn, .viking-btn, .fj-btn).fj-btn-sm {
    --_control-h: var(--suite-control-height-sm);
  }
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-size="lg"],
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-lg,
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-lg,
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-lg {
  --_control-h: var(--suite-control-height-lg);
  --_control-px: var(--suite-space-4);
  --_control-fs: var(--suite-text-base);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-square="true"],
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-square,
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-square {
  /* Keep icon toggles at the suite touch floor for switch / voice targeting */
  --_square: max(var(--_control-h), var(--suite-touch));
  width: var(--_square);
  min-width: var(--_square);
  height: var(--_square);
  min-height: var(--_square);
  padding-inline: 0;
}

:is(.suite-btn, .viking-btn, .fj-btn).viking-full,
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-full,
:is(.suite-btn, .viking-btn, .fj-btn).fj-full {
  width: 100%;
}

/* Shared lift / press — all variants */
:is(.suite-btn, .viking-btn, .fj-btn):hover:not(:disabled):not(
    [aria-disabled="true"]
  ) {
  transform: translateY(var(--suite-hover-lift));
}

:is(.suite-btn, .viking-btn, .fj-btn):active:not(:disabled):not(
    [aria-disabled="true"]
  ) {
  transform: translateY(var(--suite-press-sink));
}

:is(.suite-btn, .viking-btn, .fj-btn):disabled,
:is(.suite-btn, .viking-btn, .fj-btn)[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
  transform: none;
  box-shadow: none;
}

/* Primary — electric command */
:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="primary"],
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-primary,
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-primary,
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-filled,
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-primary {
  background: var(--suite-primary);
  color: var(--suite-ink-on-primary);
  border-color: var(--suite-primary);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="primary"]:hover:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-primary:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-primary:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-filled:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-primary:hover:not(:disabled) {
  background: var(--suite-primary-hover);
  border-color: var(--suite-primary-hover);
  box-shadow: var(--suite-elevation-2);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="primary"]:active:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-primary:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-primary:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-filled:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-primary:active:not(:disabled) {
  background: var(--suite-primary-active);
  border-color: var(--suite-primary-active);
  box-shadow: var(--suite-elevation-inset);
}

/* Secondary — raised machine surface */
:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="secondary"],
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-secondary,
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-secondary,
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-secondary {
  background: var(--suite-surface-2);
  color: var(--suite-ink);
  border-color: var(--suite-border-strong);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="secondary"]:hover:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-secondary:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-secondary:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-secondary:hover:not(:disabled) {
  border-color: var(--suite-primary);
  color: var(--suite-primary-strong);
  background: var(--suite-surface-elevated);
  box-shadow: var(--suite-elevation-2);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="secondary"]:active:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-secondary:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-secondary:active:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-secondary:active:not(:disabled) {
  background: var(--suite-surface);
  box-shadow: var(--suite-elevation-inset);
}

/* Outline — severe geometry */
:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="outline"],
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-outline,
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-outline,
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-outline {
  background: transparent;
  color: var(--suite-ink);
  border-color: var(--suite-border-strong);
  box-shadow: none;
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="outline"]:hover:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-outline:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-outline:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-outline:hover:not(:disabled) {
  background: var(--suite-surface);
  border-color: var(--suite-primary-strong);
  color: var(--suite-primary-strong);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="outline"]:active:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-outline:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-outline:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-outline:active:not(:disabled) {
  background: var(--suite-surface-2);
  box-shadow: var(--suite-elevation-inset);
}

/* Ghost / subtle — quiet chrome */
:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="ghost"],
:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="subtle"],
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-ghost,
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-ghost,
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-subtle,
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-ghost {
  background: transparent;
  color: var(--suite-ink-muted);
  border-color: transparent;
  box-shadow: none;
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="ghost"]:hover:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="subtle"]:hover:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-ghost:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-ghost:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-subtle:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-ghost:hover:not(:disabled) {
  background: var(--suite-surface-2);
  color: var(--suite-ink);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="ghost"]:active:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="subtle"]:active:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-ghost:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-ghost:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-subtle:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-ghost:active:not(:disabled) {
  background: var(--suite-surface);
  box-shadow: var(--suite-elevation-inset);
}

/* Danger */
:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="danger"],
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-danger,
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-danger,
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-danger {
  background: var(--suite-danger);
  color: var(--suite-ink-on-primary);
  border-color: var(--suite-danger);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="danger"]:hover:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-danger:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-danger:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-danger:hover:not(:disabled) {
  background: color-mix(in srgb, var(--suite-danger) 88%, var(--suite-ink));
  border-color: color-mix(in srgb, var(--suite-danger) 88%, var(--suite-ink));
  box-shadow: var(--suite-elevation-2);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="danger"]:active:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-danger:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-danger:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-danger:active:not(:disabled) {
  box-shadow: var(--suite-elevation-inset);
}

/* Button spinner (loading) */
:is(.suite-btn-spinner, .viking-btn-spinner, .fj-btn-spinner) {
  width: 1rem;
  height: 1rem;
  border: 2px solid color-mix(in srgb, currentColor 30%, transparent);
  border-top-color: currentColor;
  border-radius: var(--suite-radius-pill);
  animation: suite-spin var(--suite-duration) linear infinite;
  flex-shrink: 0;
}

:is(.suite-btn-kbd, .viking-btn-kbd, .fj-btn-kbd) {
  margin-inline-start: var(--suite-space-1);
  padding: 0 var(--suite-space-1);
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
  border-radius: var(--suite-radius-xs);
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-2xs);
  font-weight: var(--suite-weight-medium);
  opacity: 0.85;
}

/* Text link (inline, not button) */
:is(.suite-link, .viking-link, .fj-link) {
  color: var(--suite-primary);
  font-family: var(--suite-font-sans);
  font-weight: var(--suite-weight-medium);
  text-decoration: none;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition:
    var(--suite-transition-colors),
    background-size var(--suite-duration-fast) var(--suite-ease);
  cursor: pointer;
}

:is(.suite-link, .viking-link, .fj-link):hover,
:is(.suite-link, .viking-link, .fj-link):focus-visible {
  color: var(--suite-primary-hover);
  background-size: 100% 1px;
}

/* =============================================================================
   Theme toggle (light / dark / system preference)
   ============================================================================= */
:is(
  .suite-theme-toggle,
  .viking-theme-toggle,
  .fj-theme-toggle,
  .theme-toggle-btn
) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: var(--suite-touch);
  height: var(--suite-touch);
  min-width: var(--suite-touch);
  min-height: var(--suite-touch);
  padding: 0;
  border: 1px solid
    color-mix(in srgb, var(--suite-primary) 32%, var(--suite-border-strong));
  border-radius: var(--suite-radius-control);
  background: color-mix(in srgb, var(--suite-primary) 8%, var(--suite-surface));
  color: var(--suite-primary);
  box-shadow: var(--suite-elevation-1);
  cursor: pointer;
  transition: var(--suite-transition);
  -webkit-tap-highlight-color: transparent;
  font-family: var(--suite-font-sans);
}

@media (min-width: 768px) {
  :is(
    .suite-theme-toggle,
    .viking-theme-toggle,
    .fj-theme-toggle,
    .theme-toggle-btn
  ) {
    width: var(--suite-control-height);
    height: var(--suite-control-height);
    min-width: var(--suite-control-height);
    min-height: var(--suite-control-height);
  }
}

:is(
  .suite-theme-toggle,
  .viking-theme-toggle,
  .fj-theme-toggle,
  .theme-toggle-btn
):hover {
  border-color: var(--suite-primary-hover);
  background: color-mix(
    in srgb,
    var(--suite-primary) 14%,
    var(--suite-surface-2)
  );
  box-shadow: var(--suite-elevation-2);
  transform: translateY(var(--suite-hover-lift));
}

:is(
  .suite-theme-toggle,
  .viking-theme-toggle,
  .fj-theme-toggle,
  .theme-toggle-btn
):active {
  transform: translateY(var(--suite-press-sink));
  box-shadow: var(--suite-elevation-inset);
}

:is(
  .suite-theme-toggle,
  .viking-theme-toggle,
  .fj-theme-toggle,
  .theme-toggle-btn
):active {
  transform: translateY(var(--suite-press-sink));
}

:is(
  .suite-theme-toggle,
  .viking-theme-toggle,
  .fj-theme-toggle,
  .theme-toggle-btn
):focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

:is(
    .suite-theme-toggle,
    .viking-theme-toggle,
    .fj-theme-toggle,
    .theme-toggle-btn
  )
  svg {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
}

/* =============================================================================
   Field + Input / Textarea / Select
   ============================================================================= */
:is(.suite-field, .viking-field, .fj-field) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-density-gap);
  font-family: var(--suite-font-sans);
  width: 100%;
}

:is(.suite-field-label-wrap, .viking-field-label-wrap, .fj-field-label-wrap) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-0-5);
}

:is(
  .suite-label,
  .viking-label,
  .fj-label,
  .suite-field-label,
  .viking-field-label,
  .fj-field-label
) {
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  color: var(--suite-ink);
}

:is(
  .suite-field-description,
  .viking-field-description,
  .fj-field-description
) {
  margin: 0;
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal);
}

:is(.suite-field-error, .viking-field-error, .fj-field-error) {
  margin: 0;
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-danger);
}

:is(
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-textarea,
  .viking-textarea,
  .fj-textarea,
  .suite-select,
  .viking-select,
  .fj-select
) {
  /* Same control grid as .suite-btn */
  --_control-h: var(--suite-touch);
  --_control-px: var(--suite-control-px);
  --_control-fs: var(--suite-control-fs);
  display: block;
  width: 100%;
  height: var(--_control-h);
  min-height: var(--_control-h);
  box-sizing: border-box;
  margin: 0;
  padding: 0 var(--_control-px);
  border: 1px solid var(--suite-border-control, var(--suite-border-strong));
  border-radius: var(--suite-radius-control);
  background-color: var(--suite-surface-inset);
  color: var(--suite-ink);
  font-family: var(--suite-font-sans);
  font-size: var(--_control-fs);
  line-height: 1.25;
  /* Recessed well — tactile “machined” field */
  box-shadow: var(--suite-elevation-inset);
  transition: var(--suite-transition);
  appearance: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
}

@media (min-width: 768px) {
  :is(
      .suite-input,
      .viking-input,
      .fj-input,
      .suite-select,
      .viking-select,
      .fj-select
    ):not([data-size="sm"]):not([data-size="lg"]) {
    --_control-h: var(--suite-control-height);
  }
}

:is(
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-select,
  .viking-select,
  .fj-select
)[data-size="sm"] {
  --_control-h: var(--suite-touch);
  --_control-fs: var(--suite-control-fs-sm);
}

@media (min-width: 768px) {
  :is(
    .suite-input,
    .viking-input,
    .fj-input,
    .suite-select,
    .viking-select,
    .fj-select
  )[data-size="sm"] {
    --_control-h: var(--suite-control-height-sm);
  }
}

:is(
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-select,
  .viking-select,
  .fj-select
)[data-size="lg"] {
  --_control-h: var(--suite-control-height-lg);
  --_control-px: var(--suite-control-px-lg);
}

:is(.suite-textarea, .viking-textarea, .fj-textarea) {
  height: auto;
  min-height: calc(var(--suite-touch) * 2.5);
  resize: vertical;
  padding-block: var(--suite-space-2);
  line-height: var(--suite-leading-normal);
}

:is(
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-textarea,
  .viking-textarea,
  .fj-textarea,
  .suite-select,
  .viking-select,
  .fj-select
)::placeholder {
  color: var(--suite-ink-subtle);
}

:is(
    .suite-input,
    .viking-input,
    .fj-input,
    .suite-textarea,
    .viking-textarea,
    .fj-textarea,
    .suite-select,
    .viking-select,
    .fj-select
  ):hover:not(:disabled):not(:focus) {
  border-color: var(--suite-border-strong);
  background-color: var(--suite-surface-2);
  box-shadow: var(--suite-elevation-1);
}

:is(
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-textarea,
  .viking-textarea,
  .fj-textarea,
  .suite-select,
  .viking-select,
  .fj-select
):focus {
  border-color: var(--suite-primary);
  background-color: var(--suite-surface);
  box-shadow: var(--suite-control-focus-ring), var(--suite-elevation-1);
}

:is(
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-textarea,
  .viking-textarea,
  .fj-textarea,
  .suite-select,
  .viking-select,
  .fj-select
):focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

:is(
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-textarea,
  .viking-textarea,
  .fj-textarea,
  .suite-select,
  .viking-select,
  .fj-select
):disabled {
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none;
}

:is(
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-textarea,
  .viking-textarea,
  .fj-textarea,
  .suite-select,
  .viking-select,
  .fj-select
)[aria-invalid="true"],
:is(.suite-field, .viking-field, .fj-field)[data-invalid="true"]
  :is(
    .suite-input,
    .viking-input,
    .fj-input,
    .suite-textarea,
    .viking-textarea,
    .fj-textarea,
    .suite-select,
    .viking-select,
    .fj-select
  ) {
  border-color: var(--suite-danger);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--suite-danger) 40%, transparent),
    var(--suite-elevation-inset);
}

:is(.suite-select, .viking-select, .fj-select) {
  background-image:
    linear-gradient(45deg, transparent 50%, var(--suite-ink-muted) 50%),
    linear-gradient(135deg, var(--suite-ink-muted) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size:
    6px 6px,
    6px 6px;
  background-repeat: no-repeat;
  padding-inline-end: var(--suite-space-5);
  cursor: pointer;
}

/* =============================================================================
   Checkbox + Radio + Switch
   ============================================================================= */
:is(
  .suite-checkbox,
  .viking-checkbox,
  .fj-checkbox,
  .suite-radio,
  .viking-radio,
  .fj-radio
) {
  display: inline-flex;
  align-items: center;
  gap: var(--suite-space-2);
  min-height: var(--suite-touch);
  font-family: var(--suite-font-sans);
  font-size: var(--suite-control-fs-sm);
  color: var(--suite-ink);
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: var(--suite-transition-colors);
}

:is(
    .suite-checkbox,
    .viking-checkbox,
    .fj-checkbox,
    .suite-radio,
    .viking-radio,
    .fj-radio
  ):hover:not(:has(input:disabled)) {
  color: var(--suite-ink);
}

:is(
    .suite-checkbox,
    .viking-checkbox,
    .fj-checkbox,
    .suite-radio,
    .viking-radio,
    .fj-radio
  )
  input {
  width: var(--suite-control-check);
  height: var(--suite-control-check);
  margin: 0;
  accent-color: var(--suite-primary);
  flex-shrink: 0;
  cursor: pointer;
  transition: var(--suite-transition-transform);
}

:is(
    .suite-checkbox,
    .viking-checkbox,
    .fj-checkbox,
    .suite-radio,
    .viking-radio,
    .fj-radio
  ):active:not(:has(input:disabled))
  input {
  transform: scale(0.92);
}

/* Focus lands on the native input — surface the suite ring on the control. */
:is(
    .suite-checkbox,
    .viking-checkbox,
    .fj-checkbox,
    .suite-radio,
    .viking-radio,
    .fj-radio
  )
  input:focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

:is(
  .suite-checkbox,
  .viking-checkbox,
  .fj-checkbox,
  .suite-radio,
  .viking-radio,
  .fj-radio
):has(input:disabled) {
  opacity: 0.55;
  cursor: not-allowed;
}

:is(.suite-switch, .viking-switch, .fj-switch) {
  --_track-w: 2.75rem;
  --_track-h: 1.5rem;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--suite-space-2);
  min-height: var(--suite-touch);
  cursor: pointer;
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-sm);
  color: var(--suite-ink);
  user-select: none;
}

:is(.suite-switch, .viking-switch, .fj-switch) input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
}

:is(.suite-switch-track, .viking-switch-track, .fj-switch-track) {
  width: var(--_track-w);
  height: var(--_track-h);
  border-radius: var(--suite-radius-pill);
  background: var(--suite-surface-inset);
  border: 1px solid var(--suite-border-strong);
  position: relative;
  transition: var(--suite-transition);
  flex-shrink: 0;
  box-shadow: var(--suite-elevation-inset);
}

:is(.suite-switch, .viking-switch, .fj-switch):hover
  :is(.suite-switch-track, .viking-switch-track, .fj-switch-track) {
  border-color: var(--suite-border-strong);
  background: var(--suite-surface-2);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-switch, .viking-switch, .fj-switch):active
  :is(.suite-switch-track, .viking-switch-track, .fj-switch-track) {
  transform: scale(0.96);
  box-shadow: var(--suite-elevation-inset);
}

:is(.suite-switch-track, .viking-switch-track, .fj-switch-track)::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(var(--_track-h) - 6px);
  height: calc(var(--_track-h) - 6px);
  border-radius: var(--suite-radius-pill);
  background: var(--suite-ink);
  transition: var(--suite-transition);
  box-shadow: var(--suite-shadow-xs);
}

:is(.suite-switch, .viking-switch, .fj-switch)
  input:checked
  + :is(.suite-switch-track, .viking-switch-track, .fj-switch-track) {
  background: var(--suite-primary);
  border-color: var(--suite-primary);
}

:is(.suite-switch, .viking-switch, .fj-switch)
  input:checked
  + :is(.suite-switch-track, .viking-switch-track, .fj-switch-track)::after {
  left: calc(100% - (var(--_track-h) - 4px));
  background: var(--suite-ink-on-primary);
}

:is(.suite-switch, .viking-switch, .fj-switch)
  input:focus-visible
  + :is(.suite-switch-track, .viking-switch-track, .fj-switch-track) {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

:is(.suite-switch, .viking-switch, .fj-switch):has(input:disabled) {
  opacity: 0.55;
  cursor: not-allowed;
}

/* =============================================================================
   Card / Badge / Separator / Avatar
   ============================================================================= */
:is(.suite-card, .viking-card, .fj-card) {
  display: grid;
  gap: var(--suite-space-2);
  width: 100%;
  box-sizing: border-box;
  background: var(--suite-surface);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  padding: var(--suite-space-3);
  color: var(--suite-ink);
  /* Resting: border + top hairline only — drop shadow reserved for raised/hover */
  box-shadow: var(--suite-elevation-1);
  transition: var(--suite-transition);
}

:is(.suite-card, .viking-card, .fj-card)[data-density="compact"] {
  gap: var(--suite-density-gap);
  padding: var(--suite-space-2);
}

:is(.suite-card, .viking-card, .fj-card)[data-interactive="true"] {
  cursor: pointer;
}

:is(.suite-card, .viking-card, .fj-card)[data-interactive="true"]:hover {
  border-color: var(--suite-border-strong);
  background: var(--suite-surface-elevated);
  box-shadow: var(--suite-elevation-hover);
  transform: translateY(var(--suite-hover-lift));
}

:is(.suite-card, .viking-card, .fj-card)[data-interactive="true"]:active {
  transform: translateY(0);
  box-shadow: var(--suite-elevation-1);
}

:is(
    .suite-card,
    .viking-card,
    .fj-card
  )[data-interactive="true"]:focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

:is(.suite-card, .viking-card, .fj-card)[data-elevated="true"] {
  background: var(--suite-surface-elevated);
  border-color: var(--suite-border-strong);
  box-shadow: var(--suite-elevation-3);
}

/* Panel titles — live in components (not landing-only) so Storybook + adapters match */
:is(.suite-panel-title, .viking-panel-title, .fj-panel-title) {
  margin: 0 0 var(--suite-space-2);
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-lg);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-tight);
  line-height: var(--suite-leading-snug);
  color: var(--suite-ink);
}

:is(.suite-badge, .viking-badge, .fj-badge) {
  display: inline-flex;
  align-items: center;
  gap: var(--suite-space-0-5);
  min-height: 1.5rem;
  padding: 0 var(--suite-space-1);
  border-radius: var(--suite-radius-pill);
  border: 1px solid var(--suite-border);
  background: var(--suite-surface-2);
  color: var(--suite-ink);
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  white-space: nowrap;
  line-height: 1;
  box-sizing: border-box;
}

:is(.suite-badge, .viking-badge, .fj-badge)[data-tone="accent"],
:is(.suite-badge, .viking-badge, .fj-badge).suite-badge-accent,
:is(.suite-badge, .viking-badge, .fj-badge).viking-badge-accent,
:is(.suite-badge, .viking-badge, .fj-badge).fj-badge-accent {
  background: var(--suite-primary-soft);
  border-color: color-mix(in srgb, var(--suite-primary) 32%, transparent);
  color: var(--suite-primary-strong);
}

:is(.suite-badge, .viking-badge, .fj-badge)[data-tone="success"],
:is(.suite-badge, .viking-badge, .fj-badge).suite-badge-success,
:is(.suite-badge, .viking-badge, .fj-badge).viking-badge-success,
:is(.suite-badge, .viking-badge, .fj-badge).fj-badge-success {
  background: var(--suite-success-soft);
  border-color: color-mix(in srgb, var(--suite-success) 32%, transparent);
  color: var(--suite-success-text);
}

:is(.suite-badge, .viking-badge, .fj-badge)[data-tone="warning"],
:is(.suite-badge, .viking-badge, .fj-badge).suite-badge-warning,
:is(.suite-badge, .viking-badge, .fj-badge).viking-badge-warning,
:is(.suite-badge, .viking-badge, .fj-badge).fj-badge-warning {
  background: var(--suite-warning-soft);
  border-color: color-mix(in srgb, var(--suite-warning) 32%, transparent);
  color: var(--suite-warning-text);
}

:is(.suite-badge, .viking-badge, .fj-badge)[data-tone="danger"],
:is(.suite-badge, .viking-badge, .fj-badge).suite-badge-danger,
:is(.suite-badge, .viking-badge, .fj-badge).viking-badge-danger,
:is(.suite-badge, .viking-badge, .fj-badge).fj-badge-danger {
  background: var(--suite-danger-soft);
  border-color: color-mix(in srgb, var(--suite-danger) 32%, transparent);
  color: var(--suite-danger-text);
}

:is(.suite-badge, .viking-badge, .fj-badge)[data-tone="gold"],
:is(.suite-badge, .viking-badge, .fj-badge).suite-badge-gold {
  background: var(--suite-gold-soft);
  border-color: color-mix(in srgb, var(--suite-gold) 36%, transparent);
  color: var(--suite-gold-text);
}

:is(.suite-separator, .viking-separator, .fj-separator) {
  border: 0;
  border-top: 1px solid var(--suite-border);
  margin: var(--suite-space-3) 0;
  display: block;
  width: 100%;
  background: transparent;
}

:is(
  .suite-separator,
  .viking-separator,
  .fj-separator
)[data-orientation="vertical"],
:is(
  .suite-separator,
  .viking-separator,
  .fj-separator
)[aria-orientation="vertical"] {
  border-top: 0;
  border-left: 1px solid var(--suite-border);
  width: 1px;
  height: auto;
  min-height: 1em;
  align-self: stretch;
  margin: 0 var(--suite-space-2);
}

:is(.suite-avatar, .viking-avatar, .fj-avatar) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--suite-space-5);
  height: var(--suite-space-5);
  border-radius: var(--suite-radius-pill);
  background: var(--suite-surface-2);
  border: 1px solid var(--suite-border);
  color: var(--suite-ink-muted);
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  overflow: hidden;
  flex-shrink: 0;
  box-sizing: border-box;
}

:is(.suite-avatar, .viking-avatar, .fj-avatar)[data-size="sm"] {
  width: var(--suite-space-4);
  height: var(--suite-space-4);
  font-size: var(--suite-text-2xs);
}

:is(.suite-avatar, .viking-avatar, .fj-avatar)[data-size="lg"] {
  width: var(--suite-space-6);
  height: var(--suite-space-6);
  font-size: var(--suite-text-sm);
}

:is(.suite-avatar, .viking-avatar, .fj-avatar) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  /* Markup should set width/height + decoding="async"; lazy unless above-fold */
}

/* =============================================================================
   Tabs / Nav
   ============================================================================= */
:is(.suite-tabs, .viking-tabs, .fj-tabs) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-3);
  width: 100%;
}

:is(.suite-tabs-list, .viking-tabs-list, .fj-tabs-list) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--suite-space-0-5);
  padding: var(--suite-space-0-5);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface-inset);
  /* Recessed well — selected tab reads as raised within */
  box-shadow: var(--suite-elevation-inset);
}

:is(.suite-tab, .viking-tab, .fj-tab) {
  --_control-h: var(--suite-touch);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--_control-h);
  min-height: var(--_control-h);
  padding: 0 var(--suite-control-px);
  border: 1px solid transparent;
  border-radius: var(--suite-radius-control);
  background: transparent;
  color: var(--suite-ink-muted);
  font-family: var(--suite-font-sans);
  font-size: var(--suite-control-fs-sm);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  line-height: 1;
  cursor: pointer;
  transition: var(--suite-transition);
  -webkit-tap-highlight-color: transparent;
}

@media (min-width: 768px) {
  :is(.suite-tab, .viking-tab, .fj-tab) {
    --_control-h: var(--suite-control-height);
  }
}

:is(.suite-tab, .viking-tab, .fj-tab):hover:not([aria-selected="true"]):not(
    [data-active="true"]
  ):not(:disabled):not([aria-disabled="true"]) {
  color: var(--suite-ink);
  background: var(--suite-bg-subtle);
  box-shadow: var(--suite-elevation-1);
  transform: translateY(var(--suite-hover-lift));
}

:is(.suite-tab, .viking-tab, .fj-tab):active:not([aria-selected="true"]):not(
    :disabled
  ):not([aria-disabled="true"]) {
  transform: translateY(var(--suite-press-sink));
}

:is(.suite-tab, .viking-tab, .fj-tab)[aria-selected="true"],
:is(.suite-tab, .viking-tab, .fj-tab)[data-active="true"] {
  background: var(--suite-surface-elevated);
  color: var(--suite-ink);
  border-color: var(--suite-border-strong);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-tab, .viking-tab, .fj-tab):disabled,
:is(.suite-tab, .viking-tab, .fj-tab)[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

:is(.suite-tab, .viking-tab, .fj-tab):focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

:is(.suite-tab-panel, .viking-tab-panel, .fj-tab-panel)[hidden] {
  display: none;
}

:is(.suite-nav, .viking-nav, .fj-nav),
:is(.suite-nav-inner, .viking-nav-inner, .fj-nav-inner) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--suite-space-1);
  align-items: center;
}

:is(.suite-nav-link, .viking-nav-link, .fj-nav-link) {
  --_control-h: var(--suite-touch);
  display: inline-flex;
  align-items: center;
  height: var(--_control-h);
  min-height: var(--_control-h);
  padding: 0 var(--suite-control-px);
  border-radius: var(--suite-radius-control);
  color: var(--suite-ink-muted);
  font-family: var(--suite-font-mono);
  font-size: var(--suite-control-fs-sm);
  letter-spacing: var(--suite-tracking-caps);
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: var(--suite-transition);
  -webkit-tap-highlight-color: transparent;
}

@media (min-width: 768px) {
  :is(.suite-nav-link, .viking-nav-link, .fj-nav-link) {
    --_control-h: var(--suite-control-height);
  }
}

:is(.suite-nav-link, .viking-nav-link, .fj-nav-link):hover,
:is(.suite-nav-link, .viking-nav-link, .fj-nav-link):focus-visible {
  color: var(--suite-primary);
  background: var(--suite-primary-soft);
  transform: translateY(var(--suite-hover-lift));
}

:is(.suite-nav-link, .viking-nav-link, .fj-nav-link):active {
  transform: translateY(var(--suite-press-sink));
}

:is(.suite-nav-link, .viking-nav-link, .fj-nav-link)[aria-current="page"],
:is(.suite-nav-link, .viking-nav-link, .fj-nav-link)[data-active="true"] {
  color: var(--suite-primary);
  background: var(--suite-primary-soft);
  box-shadow: var(--suite-elevation-1);
}

/* =============================================================================
   Dialog / Sheet
   ============================================================================= */
:is(
  .suite-dialog,
  .viking-dialog,
  .fj-dialog,
  .suite-sheet,
  .viking-sheet,
  .fj-sheet
) {
  border: 1px solid var(--suite-border-strong);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-glass-strong);
  color: var(--suite-ink);
  box-shadow: var(--suite-elevation-4);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
  padding: 0;
  max-width: min(32rem, calc(100vw - var(--suite-space-4)));
  width: 100%;
  font-family: var(--suite-font-sans);
}

:is(
  .suite-dialog,
  .viking-dialog,
  .fj-dialog,
  .suite-sheet,
  .viking-sheet,
  .fj-sheet
)::backdrop {
  background: var(--suite-overlay);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
}

:is(
  .suite-dialog-header,
  .viking-dialog-header,
  .fj-dialog-header,
  .suite-sheet-header,
  .viking-sheet-header,
  .fj-sheet-header
) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--suite-space-2);
  padding: var(--suite-space-3);
  border-bottom: 1px solid var(--suite-border);
}

:is(
  .suite-dialog-title,
  .viking-dialog-title,
  .fj-dialog-title,
  .suite-sheet-title,
  .viking-sheet-title,
  .fj-sheet-title
) {
  margin: 0;
  font-size: var(--suite-text-lg);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-tight);
  line-height: var(--suite-leading-tight);
}

:is(
  .suite-dialog-body,
  .viking-dialog-body,
  .fj-dialog-body,
  .suite-sheet-body,
  .viking-sheet-body,
  .fj-sheet-body
) {
  padding: var(--suite-space-3);
  line-height: var(--suite-leading-normal);
  color: var(--suite-ink);
}

:is(
  .suite-dialog-footer,
  .viking-dialog-footer,
  .fj-dialog-footer,
  .suite-sheet-footer,
  .viking-sheet-footer,
  .fj-sheet-footer
) {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--suite-space-2);
  padding: var(--suite-space-3);
  border-top: 1px solid var(--suite-border);
}

/* =============================================================================
   Search / command palette (⌘K · /)
   ============================================================================= */
/* Closed <dialog> must stay display:none — author display:flex overrides UA rules. */
:is(
  .suite-search-palette-backdrop,
  .viking-search-palette-backdrop,
  .fj-search-palette-backdrop
):not([open]) {
  display: none;
}

:is(
  .suite-search-palette-backdrop,
  .viking-search-palette-backdrop,
  .fj-search-palette-backdrop
)[open] {
  position: fixed;
  inset: 0;
  z-index: var(--suite-z-overlay, 10001);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 10vh var(--suite-space-2) var(--suite-space-2);
  border: none;
  max-width: none;
  width: 100%;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

:is(
  .suite-search-palette-backdrop,
  .viking-search-palette-backdrop,
  .fj-search-palette-backdrop
)::backdrop {
  background: var(--suite-overlay);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
}

:is(.suite-search-palette, .viking-search-palette, .fj-search-palette) {
  display: flex;
  flex-direction: column;
  width: min(100%, 37.5rem);
  max-width: min(37.5rem, calc(100vw - var(--suite-space-4)));
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid var(--suite-border-strong);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-glass-strong);
  color: var(--suite-ink);
  box-shadow: var(--suite-elevation-4);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
  font-family: var(--suite-font-sans);
  position: relative;
  isolation: isolate;
}

:is(.suite-search-palette, .viking-search-palette, .fj-search-palette)::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    color-mix(in srgb, var(--suite-border-strong) 55%, transparent),
    transparent
  );
  pointer-events: none;
  z-index: 1;
}

:is(
  .suite-search-palette-header,
  .viking-search-palette-header,
  .fj-search-palette-header
) {
  display: flex;
  align-items: center;
  gap: var(--suite-space-1);
  padding: var(--suite-space-2);
  border-bottom: 1px solid var(--suite-border);
  background: color-mix(
    in srgb,
    var(--suite-bg) 26%,
    var(--suite-surface-elevated)
  );
}

:is(
  .suite-search-palette-header,
  .viking-search-palette-header,
  .fj-search-palette-header
):focus-within {
  border-bottom-color: var(--suite-accent);
  box-shadow: inset 0 -2px 0
    color-mix(in srgb, var(--suite-accent) 28%, transparent);
}

:is(
  .suite-search-palette-input,
  .viking-search-palette-input,
  .fj-search-palette-input
) {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  color: var(--suite-ink);
  font: inherit;
  font-size: var(--suite-text-md);
  box-shadow: none;
  padding: var(--suite-space-1) 0;
  min-height: var(--suite-touch, 44px);
}

:is(
  .suite-search-palette-input,
  .viking-search-palette-input,
  .fj-search-palette-input
)::placeholder {
  color: var(--suite-ink-muted);
}

:is(
  .suite-search-palette-close,
  .viking-search-palette-close,
  .fj-search-palette-close
) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--suite-touch, 44px);
  min-height: var(--suite-touch, 44px);
  border: none;
  border-radius: var(--suite-radius-control);
  background: transparent;
  color: var(--suite-ink-muted);
  cursor: pointer;
  font: inherit;
}

:is(
  .suite-search-palette-close,
  .viking-search-palette-close,
  .fj-search-palette-close
):hover {
  color: var(--suite-ink);
  background: color-mix(in srgb, var(--suite-accent) 12%, transparent);
}

:is(
  .suite-search-palette-close,
  .viking-search-palette-close,
  .fj-search-palette-close
):focus-visible {
  outline: var(--suite-ring-width, 2px) solid
    var(--suite-ring, var(--suite-accent));
  outline-offset: var(--suite-ring-offset, 2px);
}

:is(
  .suite-search-palette-body,
  .viking-search-palette-body,
  .fj-search-palette-body
) {
  max-height: 50vh;
  overflow-y: auto;
  padding: var(--suite-space-2);
}

:is(
  .suite-search-palette-footer,
  .viking-search-palette-footer,
  .fj-search-palette-footer
) {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--suite-space-1);
  padding: var(--suite-space-1) var(--suite-space-2);
  border-top: 1px solid var(--suite-border);
  font-size: var(--suite-text-xs);
  color: var(--suite-ink-muted);
}

:is(.suite-kbd, .viking-kbd, .fj-kbd) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  padding: var(--suite-space-0-5) var(--suite-space-1);
  border: 1px solid var(--suite-border);
  border-radius: calc(var(--suite-radius-control) / 2);
  background: var(--suite-surface);
  font-family: inherit;
  font-size: var(--suite-text-2xs, var(--suite-text-xs));
  color: var(--suite-ink-muted);
}

:is(.suite-search-results, .viking-search-results, .fj-search-results) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-1);
}

:is(
  .suite-search-group-header,
  .viking-search-group-header,
  .fj-search-group-header
) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--suite-space-1);
  margin: var(--suite-space-1) 0 var(--suite-space-0-5);
  padding: 0 var(--suite-space-1);
}

:is(
  .suite-search-group-label,
  .viking-search-group-label,
  .fj-search-group-label
) {
  margin: 0;
  padding: 0;
  font-size: var(--suite-text-2xs, var(--suite-text-xs));
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-caps, 0.06em);
  text-transform: uppercase;
  color: var(--suite-ink-muted);
}

:is(
  .suite-search-clear-recent,
  .viking-search-clear-recent,
  .fj-search-clear-recent
) {
  border: none;
  background: transparent;
  color: var(--suite-ink-muted);
  font: inherit;
  font-size: var(--suite-text-2xs, var(--suite-text-xs));
  letter-spacing: var(--suite-tracking-caps, 0.06em);
  text-transform: uppercase;
  cursor: pointer;
  padding: var(--suite-space-0-5) var(--suite-space-1);
  border-radius: var(--suite-radius-control);
  min-height: var(--suite-touch, 44px);
}

:is(
  .suite-search-clear-recent,
  .viking-search-clear-recent,
  .fj-search-clear-recent
):hover {
  color: var(--suite-ink);
  background: color-mix(in srgb, var(--suite-accent) 12%, transparent);
}

:is(.suite-search-result, .viking-search-result, .fj-search-result) {
  display: flex;
  align-items: center;
  gap: var(--suite-space-1);
  min-height: var(--suite-control-height, 40px);
  padding: var(--suite-space-1) var(--suite-space-2);
  border: 1px solid var(--suite-border-subtle, var(--suite-border));
  border-radius: var(--suite-radius-control);
  background: var(--suite-surface);
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

:is(.suite-search-result, .viking-search-result, .fj-search-result):hover,
:is(.suite-search-result, .viking-search-result, .fj-search-result).is-selected,
:is(
  .suite-search-result,
  .viking-search-result,
  .fj-search-result
)[aria-selected="true"] {
  background: color-mix(in srgb, var(--suite-accent) 10%, var(--suite-surface));
  border-color: color-mix(
    in srgb,
    var(--suite-accent) 42%,
    var(--suite-border-strong)
  );
  box-shadow: var(--suite-elevation-1, var(--suite-elevation-2));
}

:is(
  .suite-search-result,
  .viking-search-result,
  .fj-search-result
):focus-visible {
  outline: var(--suite-ring-width, 2px) solid
    var(--suite-ring, var(--suite-accent));
  outline-offset: var(--suite-ring-offset, 2px);
}

:is(
  .suite-search-result-title,
  .viking-search-result-title,
  .fj-search-result-title
) {
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-ink);
}

:is(
  .suite-search-result-snippet,
  .viking-search-result-snippet,
  .fj-search-result-snippet
) {
  font-size: var(--suite-text-xs);
  color: var(--suite-ink-muted);
}

:is(.suite-search-empty, .viking-search-empty, .fj-search-empty) {
  margin: 0;
  padding: var(--suite-space-3);
  text-align: center;
  color: var(--suite-ink-muted);
  font-size: var(--suite-text-sm);
}

:is(.suite-sheet, .viking-sheet, .fj-sheet) {
  margin: 0;
  height: 100%;
  max-height: 100dvh;
  max-width: min(24rem, 100vw);
  border-radius: 0;
}

:is(.suite-sheet, .viking-sheet, .fj-sheet)[data-side="right"] {
  margin-left: auto;
  border-left: 1px solid var(--suite-border);
}

:is(.suite-sheet, .viking-sheet, .fj-sheet)[data-side="left"] {
  margin-right: auto;
  border-right: 1px solid var(--suite-border);
}

/* =============================================================================
   Table
   ============================================================================= */
:is(.suite-table-wrap, .viking-table-wrap, .fj-table-wrap) {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface);
  /* Recessed data well — content, not floating chrome */
  box-shadow: var(--suite-elevation-inset);
}

:is(.suite-table, .viking-table, .fj-table) {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-sm);
  color: var(--suite-ink);
}

:is(.suite-table, .viking-table, .fj-table) th,
:is(.suite-table, .viking-table, .fj-table) td {
  padding: var(--suite-space-1) var(--suite-space-2);
  text-align: left;
  border-bottom: 1px solid var(--suite-border);
  vertical-align: middle;
}

:is(.suite-table, .viking-table, .fj-table) th {
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  text-transform: uppercase;
  color: var(--suite-ink-muted);
  background: var(--suite-bg-subtle);
  white-space: nowrap;
}

:is(.suite-table, .viking-table, .fj-table) tbody tr:last-child td {
  border-bottom: 0;
}

:is(.suite-table, .viking-table, .fj-table) tbody tr:hover td {
  background: color-mix(in srgb, var(--suite-primary) 6%, transparent);
}

:is(.suite-table, .viking-table, .fj-table) tbody tr.is-selected td,
:is(.suite-table, .viking-table, .fj-table) tbody tr[data-selected="true"] td {
  background: color-mix(in srgb, var(--suite-accent) 10%, var(--suite-surface));
}

:is(.suite-table-select, .viking-table-select, .fj-table-select) {
  width: var(--suite-touch, 44px);
  text-align: center;
  vertical-align: middle;
}

/* Bulk action bar (ADR-0021) — same surface language as elevated cards */
:is(.suite-bulk-toolbar, .viking-bulk-toolbar, .fj-bulk-toolbar) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--suite-space-2);
  padding: var(--suite-space-2) var(--suite-space-3);
  margin-bottom: var(--suite-space-2);
  border: 1px solid var(--suite-border-strong);
  border-radius: var(--suite-radius-surface);
  background: color-mix(
    in srgb,
    var(--suite-accent) 8%,
    var(--suite-surface-elevated)
  );
  color: var(--suite-ink);
  box-shadow: var(--suite-elevation-2);
  transition: var(--suite-transition);
}

:is(
  .suite-bulk-toolbar-count,
  .viking-bulk-toolbar-count,
  .fj-bulk-toolbar-count
) {
  margin: 0;
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
}

:is(
  .suite-bulk-toolbar-actions,
  .viking-bulk-toolbar-actions,
  .fj-bulk-toolbar-actions
) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--suite-space-1);
}

/* Progressive disclosure (ADR-0022) — advanced sections collapsed by default */
:is(.suite-disclosure, .viking-disclosure, .fj-disclosure) {
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface);
  overflow: hidden;
}

:is(.suite-disclosure, .viking-disclosure, .fj-disclosure)[data-level="inset"] {
  border-style: dashed;
  background: color-mix(in srgb, var(--suite-surface) 92%, var(--suite-bg));
}

:is(
  .suite-disclosure-trigger,
  .viking-disclosure-trigger,
  .fj-disclosure-trigger
) {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--suite-space-2);
  width: 100%;
  min-height: var(--suite-touch);
  margin: 0;
  padding: var(--suite-space-2) var(--suite-space-3);
  border: 0;
  background: transparent;
  color: var(--suite-ink);
  font-family: var(--suite-font-sans);
  text-align: left;
  cursor: pointer;
  transition: var(--suite-transition);
  -webkit-tap-highlight-color: transparent;
}

:is(
    .suite-disclosure-trigger,
    .viking-disclosure-trigger,
    .fj-disclosure-trigger
  ):hover:not(:disabled):not([aria-disabled="true"]) {
  background: color-mix(in srgb, var(--suite-accent) 6%, transparent);
}

:is(
    .suite-disclosure-trigger,
    .viking-disclosure-trigger,
    .fj-disclosure-trigger
  ):active:not(:disabled):not([aria-disabled="true"]) {
  background: color-mix(in srgb, var(--suite-accent) 10%, transparent);
}

:is(
  .suite-disclosure-trigger,
  .viking-disclosure-trigger,
  .fj-disclosure-trigger
):disabled,
:is(
  .suite-disclosure-trigger,
  .viking-disclosure-trigger,
  .fj-disclosure-trigger
)[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
}

:is(
  .suite-disclosure-trigger,
  .viking-disclosure-trigger,
  .fj-disclosure-trigger
):focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: calc(-1 * var(--suite-ring-offset));
}

:is(.suite-disclosure-copy, .viking-disclosure-copy, .fj-disclosure-copy) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--suite-space-0-5);
  min-width: 0;
}

:is(.suite-disclosure-badge, .viking-disclosure-badge, .fj-disclosure-badge) {
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  text-transform: uppercase;
  color: var(--suite-ink-muted);
}

:is(
  .suite-disclosure-heading,
  .viking-disclosure-heading,
  .fj-disclosure-heading
) {
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-ink);
}

:is(
  .suite-disclosure-description,
  .viking-disclosure-description,
  .fj-disclosure-description
) {
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal, 1.5);
}

:is(
  .suite-disclosure-chevron,
  .viking-disclosure-chevron,
  .fj-disclosure-chevron
) {
  flex: 0 0 auto;
  margin-top: 0.15rem;
  color: var(--suite-ink-muted);
}

/* CSS chevron for forjd-disclosure (no icon package) */
span:is(
  .suite-disclosure-chevron,
  .viking-disclosure-chevron,
  .fj-disclosure-chevron
) {
  width: 0.55rem;
  height: 0.55rem;
  margin-top: 0.35rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--suite-duration-fast, 120ms) ease;
}

:is(.suite-disclosure, .viking-disclosure, .fj-disclosure)[data-open="true"]
  span:is(
    .suite-disclosure-chevron,
    .viking-disclosure-chevron,
    .fj-disclosure-chevron
  ) {
  transform: rotate(225deg);
  margin-top: 0.55rem;
}

:is(.suite-disclosure-panel, .viking-disclosure-panel, .fj-disclosure-panel) {
  padding: 0 var(--suite-space-3) var(--suite-space-3);
  border-top: 1px solid var(--suite-border);
}

/* Keyboard shortcut help (ADR-0023) */
:is(.suite-shortcut-help, .viking-shortcut-help, .fj-shortcut-help) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-3);
}

:is(
  .suite-shortcut-help-lede,
  .viking-shortcut-help-lede,
  .fj-shortcut-help-lede
) {
  margin: 0;
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal, 1.5);
}

:is(
  .suite-shortcut-help-group,
  .viking-shortcut-help-group,
  .fj-shortcut-help-group
) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-1);
}

:is(
  .suite-shortcut-help-group-title,
  .viking-shortcut-help-group-title,
  .fj-shortcut-help-group-title
) {
  margin: 0;
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  text-transform: uppercase;
  color: var(--suite-ink-muted);
}

:is(
  .suite-shortcut-help-list,
  .viking-shortcut-help-list,
  .fj-shortcut-help-list
) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-1);
}

:is(
  .suite-shortcut-help-row,
  .viking-shortcut-help-row,
  .fj-shortcut-help-row
) {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--suite-space-2);
  padding: var(--suite-space-1) 0;
  border-bottom: 1px solid var(--suite-border);
}

:is(
    .suite-shortcut-help-list,
    .viking-shortcut-help-list,
    .fj-shortcut-help-list
  )
  > li:last-child
  :is(
    .suite-shortcut-help-row,
    .viking-shortcut-help-row,
    .fj-shortcut-help-row
  ) {
  border-bottom: 0;
}

:is(
  .suite-shortcut-help-label,
  .viking-shortcut-help-label,
  .fj-shortcut-help-label
) {
  margin: 0;
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-ink);
}

:is(
  .suite-shortcut-help-desc,
  .viking-shortcut-help-desc,
  .fj-shortcut-help-desc
) {
  margin: var(--suite-space-0-5) 0 0;
  font-size: var(--suite-text-xs);
  color: var(--suite-ink-muted);
}

:is(
  .suite-shortcut-help-keys,
  .viking-shortcut-help-keys,
  .fj-shortcut-help-keys
) {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--suite-space-0-5);
  flex: 0 0 auto;
}

/* Preferences panel (ADR-0024) */
:is(.suite-preferences, .viking-preferences, .fj-preferences) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-3);
}

:is(.suite-preferences-lede, .viking-preferences-lede, .fj-preferences-lede) {
  margin: 0;
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal, 1.5);
}

:is(
  .suite-preferences-section,
  .viking-preferences-section,
  .fj-preferences-section
) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-2);
}

:is(
  .suite-preferences-heading,
  .viking-preferences-heading,
  .fj-preferences-heading
) {
  margin: 0;
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  text-transform: uppercase;
  color: var(--suite-ink-muted);
}

:is(
  .suite-preferences-theme,
  .viking-preferences-theme,
  .fj-preferences-theme,
  .suite-preferences-actions,
  .viking-preferences-actions,
  .fj-preferences-actions
) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--suite-space-1);
}

/* Activity log list (ADR-0027) */
:is(.suite-activity, .viking-activity, .fj-activity) {
  display: block;
  min-width: 0;
}

:is(.suite-activity-empty, .viking-activity-empty, .fj-activity-empty) {
  margin: 0;
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal, 1.5);
}

:is(.suite-activity-list, .viking-activity-list, .fj-activity-list) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  max-height: 16rem;
  overflow: auto;
  border: 1px solid var(--suite-border-subtle);
  border-radius: var(--suite-radius);
  background: var(--suite-bg);
}

:is(.suite-activity-item, .viking-activity-item, .fj-activity-item) {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--suite-space-1) var(--suite-space-2);
  padding: var(--suite-space-1) var(--suite-space-2);
  border-block-end: 1px solid var(--suite-border-subtle);
}

:is(.suite-activity-item, .viking-activity-item, .fj-activity-item):last-child {
  border-block-end: none;
}

:is(.suite-activity-main, .viking-activity-main, .fj-activity-main) {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  flex: 1 1 12rem;
}

:is(.suite-activity-label, .viking-activity-label, .fj-activity-label) {
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-medium);
  color: var(--suite-ink);
  line-height: var(--suite-leading-tight, 1.25);
}

:is(.suite-activity-detail, .viking-activity-detail, .fj-activity-detail) {
  font-size: var(--suite-text-xs);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal, 1.5);
}

:is(.suite-activity-time, .viking-activity-time, .fj-activity-time) {
  font-size: var(--suite-text-xs);
  color: var(--suite-ink-muted);
  white-space: nowrap;
  flex: 0 0 auto;
}

/* Onboarding checklist (ADR-0025) */
:is(.suite-onboarding, .viking-onboarding, .fj-onboarding) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-3);
  padding: var(--suite-space-3);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface);
  box-shadow: var(--suite-elevation-1);
}

:is(
  .suite-onboarding-header,
  .viking-onboarding-header,
  .fj-onboarding-header
) {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--suite-space-2);
}

:is(.suite-onboarding-copy, .viking-onboarding-copy, .fj-onboarding-copy) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-0-5);
  min-width: 0;
  flex: 1 1 16rem;
}

:is(
  .suite-onboarding-eyebrow,
  .viking-onboarding-eyebrow,
  .fj-onboarding-eyebrow
) {
  margin: 0;
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  text-transform: uppercase;
  color: var(--suite-accent);
}

:is(.suite-onboarding-title, .viking-onboarding-title, .fj-onboarding-title) {
  margin: 0;
  font-size: var(--suite-text-lg);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-ink);
  line-height: var(--suite-leading-tight, 1.25);
}

:is(
  .suite-onboarding-description,
  .viking-onboarding-description,
  .fj-onboarding-description
) {
  margin: 0;
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal, 1.5);
  max-width: 42rem;
}

:is(
  .suite-onboarding-progress,
  .viking-onboarding-progress,
  .fj-onboarding-progress
) {
  margin: 0;
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-medium);
  color: var(--suite-ink-muted);
  white-space: nowrap;
}

:is(.suite-onboarding-list, .viking-onboarding-list, .fj-onboarding-list) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-1);
}

:is(.suite-onboarding-item, .viking-onboarding-item, .fj-onboarding-item) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--suite-space-2);
  padding: var(--suite-space-2);
  border: 1px solid var(--suite-border-subtle);
  border-radius: var(--suite-radius);
  background: var(--suite-bg);
}

:is(
  .suite-onboarding-item,
  .viking-onboarding-item,
  .fj-onboarding-item
)[data-done="true"] {
  border-color: var(--suite-border);
}

:is(.suite-onboarding-row, .viking-onboarding-row, .fj-onboarding-row) {
  display: flex;
  align-items: flex-start;
  gap: var(--suite-space-2);
  flex: 1 1 12rem;
  min-width: 0;
  cursor: pointer;
}

:is(.suite-onboarding-check, .viking-onboarding-check, .fj-onboarding-check) {
  margin-block-start: 0.2rem;
  width: 1rem;
  height: 1rem;
  accent-color: var(--suite-accent);
  flex: 0 0 auto;
}

:is(.suite-onboarding-body, .viking-onboarding-body, .fj-onboarding-body) {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

:is(
  .suite-onboarding-step-title,
  .viking-onboarding-step-title,
  .fj-onboarding-step-title
) {
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-ink);
}

:is(
  .suite-onboarding-step-detail,
  .viking-onboarding-step-detail,
  .fj-onboarding-step-detail
) {
  font-size: var(--suite-text-xs);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal, 1.5);
}

:is(
  .suite-onboarding-action,
  .viking-onboarding-action,
  .fj-onboarding-action
) {
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-medium);
  color: var(--suite-accent);
  text-decoration: none;
  white-space: nowrap;
}

:is(
  .suite-onboarding-action,
  .viking-onboarding-action,
  .fj-onboarding-action
):hover {
  text-decoration: underline;
}

:is(
  .suite-onboarding-action,
  .viking-onboarding-action,
  .fj-onboarding-action
):focus-visible {
  outline: 2px solid var(--suite-ring);
  outline-offset: 2px;
  border-radius: var(--suite-radius-sm, 4px);
}

:is(
  .suite-onboarding-footer,
  .viking-onboarding-footer,
  .fj-onboarding-footer
) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--suite-space-1);
  align-items: center;
}

/* Dense operational tables (Palantir-adjacent) */
:is(.suite-table, .viking-table, .fj-table)[data-density="compact"] th,
:is(.suite-table, .viking-table, .fj-table)[data-density="compact"] td {
  padding: var(--suite-space-0-5) var(--suite-space-2);
  font-size: var(--suite-text-xs);
}

/* =============================================================================
   Toast (Sonner-style host)
   ============================================================================= */
:is(.suite-toast-host, .viking-toast-host, .fj-toast-host) {
  position: fixed;
  inset-block-end: var(--suite-space-3);
  inset-inline-end: var(--suite-space-3);
  z-index: var(--suite-z-toast);
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-2);
  width: min(22rem, calc(100vw - var(--suite-space-4)));
  pointer-events: none;
}

:is(
  .suite-toast-host,
  .viking-toast-host,
  .fj-toast-host
)[data-position="top-right"] {
  inset-block-end: auto;
  inset-block-start: var(--suite-space-3);
}

:is(
  .suite-toast-host,
  .viking-toast-host,
  .fj-toast-host
)[data-position="bottom-center"] {
  inset-inline: 50% auto auto 50%;
  transform: translateX(-50%);
}

:is(.suite-toast, .viking-toast, .fj-toast) {
  pointer-events: auto;
  display: flex;
  align-items: flex-start;
  gap: var(--suite-space-2);
  padding: var(--suite-space-2) var(--suite-space-3);
  border: 1px solid var(--suite-border-strong);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-glass-strong);
  color: var(--suite-ink);
  box-shadow: var(--suite-elevation-3);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-sm);
  animation: suite-toast-in var(--suite-duration-fast) var(--suite-ease);
}

:is(.suite-toast-action, .viking-toast-action, .fj-toast-action) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--suite-touch, 44px);
  padding: var(--suite-space-0-5) var(--suite-space-1);
  border: none;
  border-radius: var(--suite-radius-control);
  background: transparent;
  color: var(--suite-accent);
  font: inherit;
  font-weight: var(--suite-weight-semibold);
  cursor: pointer;
}

:is(.suite-toast-action, .viking-toast-action, .fj-toast-action):hover {
  background: color-mix(in srgb, var(--suite-accent) 12%, transparent);
}

:is(.suite-toast-action, .viking-toast-action, .fj-toast-action):focus-visible {
  outline: var(--suite-ring-width, 2px) solid
    var(--suite-ring, var(--suite-accent));
  outline-offset: var(--suite-ring-offset, 2px);
}

:is(.suite-toast-body, .viking-toast-body, .fj-toast-body) {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: var(--suite-space-0-5);
}

:is(.suite-toast-title, .viking-toast-title, .fj-toast-title) {
  margin: 0;
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-ink);
}

:is(
  .suite-toast-description,
  .viking-toast-description,
  .fj-toast-description
) {
  margin: 0;
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal);
}

:is(.suite-toast, .viking-toast, .fj-toast)[data-tone="success"] {
  border-color: color-mix(in srgb, var(--suite-success) 40%, transparent);
}

:is(.suite-toast, .viking-toast, .fj-toast)[data-tone="danger"] {
  border-color: color-mix(in srgb, var(--suite-danger) 40%, transparent);
}

:is(.suite-toast, .viking-toast, .fj-toast)[data-tone="warning"] {
  border-color: color-mix(in srgb, var(--suite-warning) 40%, transparent);
}

:is(.suite-toast, .viking-toast, .fj-toast)[data-tone="info"],
:is(.suite-toast, .viking-toast, .fj-toast)[data-tone="accent"] {
  border-color: color-mix(in srgb, var(--suite-primary) 40%, transparent);
}

/* Priority: quieter lows, sticky criticals (ADR-0020) */
:is(.suite-toast, .viking-toast, .fj-toast)[data-priority="low"] {
  box-shadow: var(--suite-elevation-1);
  opacity: 0.96;
}

:is(.suite-toast, .viking-toast, .fj-toast)[data-priority="high"] {
  box-shadow: var(--suite-elevation-3);
}

:is(.suite-toast, .viking-toast, .fj-toast)[data-priority="critical"] {
  box-shadow: var(--suite-elevation-4);
  border-width: 1px;
}

:is(.suite-toast, .viking-toast, .fj-toast)[data-priority="critical"]
  :is(.suite-toast-title, .viking-toast-title, .fj-toast-title) {
  font-weight: var(--suite-weight-bold, 700);
}

/* =============================================================================
   Skeleton / Empty / Loading / Error / Progress / Spinner
   Feedback surfaces: helpful copy hierarchy + machined chrome (not generic gray)
   ============================================================================= */
:is(.suite-skeleton, .viking-skeleton, .fj-skeleton) {
  display: block;
  border-radius: var(--suite-radius-control);
  background: linear-gradient(
    105deg,
    var(--suite-surface-2) 0%,
    var(--suite-surface-2) 40%,
    color-mix(in srgb, var(--suite-primary) 12%, var(--suite-surface-elevated))
      50%,
    var(--suite-surface-2) 60%,
    var(--suite-surface-2) 100%
  );
  background-size: 220% 100%;
  animation: suite-shimmer 1.6s var(--suite-ease) infinite;
  border: 1px solid color-mix(in srgb, var(--suite-border) 70%, transparent);
}

:is(.suite-skeleton, .viking-skeleton, .fj-skeleton)[data-variant="text"] {
  height: var(--suite-text-sm);
  max-width: 16rem;
}

:is(.suite-skeleton, .viking-skeleton, .fj-skeleton)[data-variant="rect"] {
  min-height: 4rem;
}

:is(.suite-skeleton, .viking-skeleton, .fj-skeleton)[data-variant="circle"] {
  width: var(--suite-space-5);
  height: var(--suite-space-5);
  border-radius: var(--suite-radius-pill);
}

/* Stacked skeleton recipe — lists / cards while hydrating */
:is(.suite-skeleton-stack, .viking-skeleton-stack, .fj-skeleton-stack) {
  display: grid;
  gap: var(--suite-space-2);
  width: 100%;
  padding: var(--suite-space-3);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface);
  box-shadow: var(--suite-highlight);
}

:is(.suite-skeleton-stack, .viking-skeleton-stack, .fj-skeleton-stack)
  > :is(
    .suite-skeleton,
    .viking-skeleton,
    .fj-skeleton
  )[data-variant="text"]:nth-child(odd) {
  max-width: 72%;
}

:is(.suite-skeleton-stack, .viking-skeleton-stack, .fj-skeleton-stack)
  > :is(
    .suite-skeleton,
    .viking-skeleton,
    .fj-skeleton
  )[data-variant="text"]:nth-child(even) {
  max-width: 48%;
}

/* Virtual list — fixed-height windowing for unbounded queues/feeds */
:is(.suite-virtual-list, .viking-virtual-list, .fj-virtual-list) {
  display: block;
  min-width: 0;
  width: 100%;
}

:is(
  .suite-virtual-list__viewport,
  .viking-virtual-list__viewport,
  .fj-virtual-list__viewport
) {
  overflow: auto;
  overscroll-behavior: contain;
  contain: strict;
  width: 100%;
  min-height: 0;
  scrollbar-width: thin;
  scrollbar-color: var(--suite-primary) var(--suite-surface-2);
}

:is(
  .suite-virtual-list__item,
  .viking-virtual-list__item,
  .fj-virtual-list__item
) {
  box-sizing: border-box;
  width: 100%;
}

/* Explore / card grids — browser-native containment when not windowed */
:is(.viking-explore-card, .suite-explore-card) {
  content-visibility: auto;
  contain-intrinsic-size: auto 17.5rem;
}

/* Page shell — progressive loading so routes never feel blank */
:is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton) {
  display: grid;
  gap: var(--suite-space-4);
  width: 100%;
  min-width: 0;
}

:is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
  .suite-page-skeleton__metrics {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--suite-space-3);
}

:is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
  .suite-page-skeleton__charts,
:is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
  .suite-page-skeleton__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--suite-space-3);
}

:is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
  .suite-page-skeleton__nav {
  display: grid;
  gap: var(--suite-space-2);
  padding: var(--suite-space-2);
}

:is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
  .suite-page-skeleton__list,
:is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
  .suite-page-skeleton__form {
  min-height: 12rem;
}

@media (min-width: 768px) {
  :is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
    .suite-page-skeleton__metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
    .suite-page-skeleton__charts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
    .suite-page-skeleton__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* --- Empty state --- */
:is(.suite-empty, .viking-empty, .fj-empty) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--suite-space-2);
  padding: var(--suite-space-6) var(--suite-space-4);
  text-align: center;
  color: var(--suite-ink-muted);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--suite-primary) 4%, var(--suite-surface)) 0%,
    var(--suite-surface) 48%
  );
  box-shadow: var(--suite-elevation-1);
  font-family: var(--suite-font-sans);
  animation: suite-fade-in var(--suite-duration) var(--suite-ease) both;
}

:is(.suite-empty, .viking-empty, .fj-empty)[data-density="compact"] {
  padding: var(--suite-space-4) var(--suite-space-3);
  gap: var(--suite-space-1);
}

:is(.suite-empty, .viking-empty, .fj-empty)[data-variant="inset"] {
  border-style: dashed;
  background: var(--suite-bg-subtle);
  box-shadow: var(--suite-elevation-inset);
}

:is(.suite-empty-icon, .viking-empty-icon, .fj-empty-icon) {
  display: grid;
  place-items: center;
  width: var(--suite-space-7);
  height: var(--suite-space-7);
  margin-bottom: var(--suite-space-1);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-primary-soft);
  color: var(--suite-primary);
  border: 1px solid color-mix(in srgb, var(--suite-primary) 22%, transparent);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-empty-icon, .viking-empty-icon, .fj-empty-icon) svg {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
}

:is(.suite-empty-eyebrow, .viking-empty-eyebrow, .fj-empty-eyebrow) {
  margin: 0;
  font-size: var(--suite-text-2xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-caps);
  text-transform: uppercase;
  color: var(--suite-ink-subtle);
}

:is(.suite-empty-title, .viking-empty-title, .fj-empty-title) {
  margin: 0;
  color: var(--suite-ink);
  font-size: var(--suite-text-lg);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-tight);
  line-height: var(--suite-leading-snug);
}

:is(
  .suite-empty-text,
  .viking-empty-text,
  .fj-empty-text,
  .suite-empty-description,
  .viking-empty-description,
  .fj-empty-description
) {
  margin: 0;
  max-width: 28rem;
  line-height: var(--suite-leading-relaxed, var(--suite-leading-normal));
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
}

:is(.suite-empty-hint, .viking-empty-hint, .fj-empty-hint) {
  margin: 0;
  max-width: 26rem;
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-2xs);
  line-height: var(--suite-leading-normal);
  letter-spacing: var(--suite-tracking-wide);
  color: var(--suite-ink-subtle);
}

:is(.suite-empty-actions, .viking-empty-actions, .fj-empty-actions) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--suite-space-2);
  justify-content: center;
  margin-block-start: var(--suite-space-1);
}

:is(.suite-empty-actions, .viking-empty-actions, .fj-empty-actions):empty {
  display: none;
}

/* --- Loading (inline panel + overlay) --- */
:is(.suite-loading, .viking-loading, .fj-loading) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--suite-space-2);
  padding: var(--suite-space-6) var(--suite-space-4);
  text-align: center;
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface);
  box-shadow: var(--suite-highlight);
  font-family: var(--suite-font-sans);
  color: var(--suite-ink-muted);
  animation: suite-fade-in var(--suite-duration-fast) var(--suite-ease) both;
}

:is(.suite-loading-title, .viking-loading-title, .fj-loading-title) {
  margin: 0;
  color: var(--suite-ink);
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
}

:is(.suite-loading-text, .viking-loading-text, .fj-loading-text) {
  margin: 0;
  max-width: 24rem;
  font-size: var(--suite-text-sm);
  line-height: var(--suite-leading-normal);
  color: var(--suite-ink-muted);
}

:is(.suite-loading-overlay, .viking-loading-overlay, .fj-loading-overlay) {
  position: absolute;
  inset: 0;
  z-index: var(--suite-z-overlay);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: inherit;
  animation: suite-fade-in var(--suite-duration-fast) var(--suite-ease-out) both;
}

:is(.suite-loading-overlay, .viking-loading-overlay, .fj-loading-overlay)
  > .suite-loading-backdrop {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: color-mix(in srgb, var(--suite-bg) 62%, transparent);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
}

:is(.suite-loading-panel, .viking-loading-panel, .fj-loading-panel) {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--suite-space-2);
  padding: var(--suite-space-3) var(--suite-space-4);
  border: 1px solid var(--suite-border-strong);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-glass-strong);
  box-shadow: var(--suite-elevation-3);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
  max-width: min(20rem, 90%);
}

/* --- Error state panel (recovery-oriented; not field-level .suite-error-text) --- */
:is(.suite-error-state, .viking-error-state, .fj-error-state) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--suite-space-2);
  padding: var(--suite-space-6) var(--suite-space-4);
  text-align: center;
  border: 1px solid
    color-mix(in srgb, var(--suite-danger) 28%, var(--suite-border));
  border-radius: var(--suite-radius-surface);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--suite-danger) 8%, var(--suite-surface)) 0%,
    var(--suite-surface) 52%
  );
  box-shadow: var(--suite-elevation-1);
  font-family: var(--suite-font-sans);
  color: var(--suite-ink-muted);
  animation: suite-fade-in var(--suite-duration) var(--suite-ease) both;
}

:is(.suite-error-state-icon, .viking-error-state-icon, .fj-error-state-icon) {
  display: grid;
  place-items: center;
  width: var(--suite-space-7);
  height: var(--suite-space-7);
  margin-bottom: var(--suite-space-1);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-danger-soft);
  color: var(--suite-danger);
  border: 1px solid color-mix(in srgb, var(--suite-danger) 28%, transparent);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-error-state-icon, .viking-error-state-icon, .fj-error-state-icon)
  svg {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
}

:is(
  .suite-error-state-title,
  .viking-error-state-title,
  .fj-error-state-title
) {
  margin: 0;
  color: var(--suite-ink);
  font-size: var(--suite-text-lg);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-tight);
  line-height: var(--suite-leading-snug);
}

:is(
  .suite-error-state-text,
  .viking-error-state-text,
  .fj-error-state-text,
  .suite-error-state-description,
  .viking-error-state-description,
  .fj-error-state-description
) {
  margin: 0;
  max-width: 28rem;
  font-size: var(--suite-text-sm);
  line-height: var(--suite-leading-relaxed, var(--suite-leading-normal));
  color: var(--suite-ink-muted);
}

:is(.suite-error-state-hint, .viking-error-state-hint, .fj-error-state-hint) {
  margin: 0;
  max-width: 26rem;
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-2xs);
  letter-spacing: var(--suite-tracking-wide);
  color: var(--suite-ink-subtle);
}

:is(
  .suite-error-state-actions,
  .viking-error-state-actions,
  .fj-error-state-actions
) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--suite-space-2);
  justify-content: center;
  margin-block-start: var(--suite-space-1);
}

:is(
  .suite-error-state-actions,
  .viking-error-state-actions,
  .fj-error-state-actions
):empty {
  display: none;
}

:is(.suite-progress, .viking-progress, .fj-progress) {
  display: block;
  width: 100%;
  height: 0.375rem;
  border-radius: var(--suite-radius-pill);
  background: var(--suite-surface-2);
  border: 1px solid var(--suite-border);
  overflow: hidden;
}

:is(.suite-progress-bar, .viking-progress-bar, .fj-progress-bar) {
  display: block;
  height: 100%;
  width: var(--_progress, 0%);
  background: var(--suite-primary);
  border-radius: inherit;
  transition: width var(--suite-duration) var(--suite-ease);
}

:is(.suite-spinner, .viking-spinner, .fj-spinner) {
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--suite-border-strong);
  border-top-color: var(--suite-primary);
  border-radius: var(--suite-radius-pill);
  animation: suite-spin var(--suite-duration) linear infinite;
  flex-shrink: 0;
}

:is(.suite-spinner, .viking-spinner, .fj-spinner)[data-size="lg"] {
  width: 1.75rem;
  height: 1.75rem;
  border-width: 2.5px;
}

/* =============================================================================
   Callout
   ============================================================================= */
:is(.suite-callout, .viking-callout, .fj-callout) {
  --_callout-rail: color-mix(in srgb, var(--suite-primary) 55%, transparent);
  display: flex;
  gap: var(--suite-space-2);
  padding: var(--suite-space-3);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface);
  color: var(--suite-ink);
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-sm);
  line-height: var(--suite-leading-normal);
  /* Machined left rail — expensive ops alert, not a flat banner */
  box-shadow:
    var(--suite-elevation-1),
    inset 3px 0 0 var(--_callout-rail);
}

:is(.suite-callout, .viking-callout, .fj-callout)[data-tone="accent"] {
  --_callout-rail: color-mix(in srgb, var(--suite-primary) 70%, transparent);
  background: var(--suite-primary-soft);
  border-color: color-mix(in srgb, var(--suite-primary) 28%, transparent);
}

:is(.suite-callout, .viking-callout, .fj-callout)[data-tone="warning"] {
  --_callout-rail: color-mix(in srgb, var(--suite-warning) 75%, transparent);
  background: var(--suite-warning-soft);
  border-color: color-mix(in srgb, var(--suite-warning) 32%, transparent);
}

:is(.suite-callout, .viking-callout, .fj-callout)[data-tone="danger"] {
  --_callout-rail: color-mix(in srgb, var(--suite-danger) 75%, transparent);
  background: var(--suite-danger-soft);
  border-color: color-mix(in srgb, var(--suite-danger) 32%, transparent);
  color: var(--suite-ink);
}

:is(.suite-callout, .viking-callout, .fj-callout)[data-tone="success"] {
  --_callout-rail: color-mix(in srgb, var(--suite-success) 75%, transparent);
  background: var(--suite-success-soft);
  border-color: color-mix(in srgb, var(--suite-success) 32%, transparent);
}

:is(.suite-callout-heading, .viking-callout-heading, .fj-callout-heading) {
  margin: 0 0 var(--suite-space-0-5);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  color: var(--suite-ink);
}

:is(.suite-callout-text, .viking-callout-text, .fj-callout-text) {
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal);
}

/* =============================================================================
   Status list
   ============================================================================= */
:is(.suite-status-list, .viking-status-list, .fj-status-list) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}

:is(.suite-status-list, .viking-status-list, .fj-status-list) li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--suite-space-2);
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-sm);
  padding: var(--suite-space-0-5) 0;
  border-bottom: 1px solid var(--suite-border);
  min-height: var(--suite-touch);
}

@media (min-width: 768px) {
  :is(.suite-status-list, .viking-status-list, .fj-status-list) li {
    min-height: var(--suite-control-height-sm);
  }
}

:is(.suite-status-list, .viking-status-list, .fj-status-list) li:last-child {
  border-bottom: 0;
}

:is(
  .suite-status-list__name,
  .viking-status-list__name,
  .fj-status-list__name
) {
  color: var(--suite-ink);
}

:is(
  .suite-status-list__state,
  .viking-status-list__state,
  .fj-status-list__state
) {
  color: var(--suite-ink-muted);
}

:is(.suite-status-list, .viking-status-list, .fj-status-list)
  li[data-ok="true"]
  :is(
    .suite-status-list__state,
    .viking-status-list__state,
    .fj-status-list__state
  ) {
  color: var(--suite-success);
}

:is(.suite-status-list, .viking-status-list, .fj-status-list)
  li[data-ok="false"]
  :is(
    .suite-status-list__state,
    .viking-status-list__state,
    .fj-status-list__state
  ) {
  color: var(--suite-danger);
}

/* =============================================================================
   Pipeline flow (read-only workflow steps)
   ============================================================================= */
:is(.suite-pipeline-flow, .viking-pipeline-flow, .fj-pipeline-flow) {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
  font-family: var(--suite-font-sans);
}

@media (min-width: 768px) {
  :is(
    .suite-pipeline-flow,
    .viking-pipeline-flow,
    .fj-pipeline-flow
  )[data-orientation="horizontal"] {
    flex-direction: row;
    align-items: stretch;
    gap: 0;
  }
}

:is(
  .suite-pipeline-flow__step,
  .viking-pipeline-flow__step,
  .fj-pipeline-flow__step
) {
  display: flex;
  gap: var(--suite-space-2);
  min-width: 0;
  flex: 1 1 auto;
}

@media (min-width: 768px) {
  :is(
      .suite-pipeline-flow,
      .viking-pipeline-flow,
      .fj-pipeline-flow
    )[data-orientation="horizontal"]
    :is(
      .suite-pipeline-flow__step,
      .viking-pipeline-flow__step,
      .fj-pipeline-flow__step
    ) {
    flex-direction: column;
    gap: var(--suite-space-1);
  }
}

:is(
  .suite-pipeline-flow__rail,
  .viking-pipeline-flow__rail,
  .fj-pipeline-flow__rail
) {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  :is(
      .suite-pipeline-flow,
      .viking-pipeline-flow,
      .fj-pipeline-flow
    )[data-orientation="horizontal"]
    :is(
      .suite-pipeline-flow__rail,
      .viking-pipeline-flow__rail,
      .fj-pipeline-flow__rail
    ) {
    flex-direction: row;
    width: 100%;
    align-items: center;
  }
}

:is(
  .suite-pipeline-flow__marker,
  .viking-pipeline-flow__marker,
  .fj-pipeline-flow__marker
) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--suite-space-3);
  height: var(--suite-space-3);
  border-radius: var(--suite-radius-pill);
  border: 1px solid var(--suite-border-strong);
  background: var(--suite-surface);
  color: var(--suite-ink-muted);
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  flex-shrink: 0;
}

:is(
    .suite-pipeline-flow__step,
    .viking-pipeline-flow__step,
    .fj-pipeline-flow__step
  )[data-kind="process"]
  :is(
    .suite-pipeline-flow__marker,
    .viking-pipeline-flow__marker,
    .fj-pipeline-flow__marker
  ) {
  border-color: var(--suite-accent);
  color: var(--suite-accent);
}

:is(
    .suite-pipeline-flow__step,
    .viking-pipeline-flow__step,
    .fj-pipeline-flow__step
  )[data-kind="detect"]
  :is(
    .suite-pipeline-flow__marker,
    .viking-pipeline-flow__marker,
    .fj-pipeline-flow__marker
  ) {
  border-color: var(--suite-warning);
  color: var(--suite-warning);
}

:is(
  .suite-pipeline-flow__connector,
  .viking-pipeline-flow__connector,
  .fj-pipeline-flow__connector
) {
  flex: 1;
  width: 2px;
  min-height: var(--suite-space-2);
  background: var(--suite-border);
}

@media (min-width: 768px) {
  :is(
      .suite-pipeline-flow,
      .viking-pipeline-flow,
      .fj-pipeline-flow
    )[data-orientation="horizontal"]
    :is(
      .suite-pipeline-flow__connector,
      .viking-pipeline-flow__connector,
      .fj-pipeline-flow__connector
    ) {
    width: auto;
    height: 2px;
    min-height: 0;
    min-width: var(--suite-space-2);
  }
}

:is(
  .suite-pipeline-flow__body,
  .viking-pipeline-flow__body,
  .fj-pipeline-flow__body
) {
  flex: 1;
  min-width: 0;
  padding-bottom: var(--suite-space-3);
}

@media (min-width: 768px) {
  :is(
      .suite-pipeline-flow,
      .viking-pipeline-flow,
      .fj-pipeline-flow
    )[data-orientation="horizontal"]
    :is(
      .suite-pipeline-flow__body,
      .viking-pipeline-flow__body,
      .fj-pipeline-flow__body
    ) {
    padding-bottom: 0;
    padding-inline-end: var(--suite-space-2);
  }
}

:is(
  .suite-pipeline-flow__title,
  .viking-pipeline-flow__title,
  .fj-pipeline-flow__title
) {
  margin: 0;
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-ink);
  line-height: var(--suite-leading-tight);
}

:is(
  .suite-pipeline-flow__detail,
  .viking-pipeline-flow__detail,
  .fj-pipeline-flow__detail
) {
  margin: var(--suite-space-0-5) 0 0;
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal);
}

:is(
  .suite-pipeline-flow__empty,
  .viking-pipeline-flow__empty,
  .fj-pipeline-flow__empty
) {
  margin: 0;
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
}

/* =============================================================================
   Stream status (near-real-time; never claims "Live")
   ============================================================================= */
:is(.suite-stream-status, .viking-stream-status, .fj-stream-status) {
  display: inline-flex;
  align-items: center;
  gap: var(--suite-space-1);
  min-height: var(--suite-control-height-sm);
  padding: 0 var(--suite-space-2);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-pill);
  background: var(--suite-surface);
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  color: var(--suite-ink-muted);
  box-sizing: border-box;
}

:is(
  .suite-stream-status,
  .viking-stream-status,
  .fj-stream-status
)[data-tone="accent"] {
  color: var(--suite-accent);
  border-color: color-mix(
    in srgb,
    var(--suite-accent) 40%,
    var(--suite-border)
  );
}

:is(
  .suite-stream-status,
  .viking-stream-status,
  .fj-stream-status
)[data-tone="warning"] {
  color: var(--suite-warning-text);
  border-color: color-mix(
    in srgb,
    var(--suite-warning) 40%,
    var(--suite-border)
  );
}

:is(
  .suite-stream-status__dot,
  .viking-stream-status__dot,
  .fj-stream-status__dot
) {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--suite-radius-pill);
  background: currentColor;
  flex-shrink: 0;
}

:is(
  .suite-stream-status__label,
  .viking-stream-status__label,
  .fj-stream-status__label
) {
  line-height: var(--suite-leading-tight);
  white-space: nowrap;
}

/* =============================================================================
   Page shell / section / stack
   ============================================================================= */
:is(.suite-page-shell, .viking-page-shell, .fj-page-shell) {
  display: block;
  width: 100%;
  max-width: var(--suite-content-max);
  margin-inline: auto;
  padding-inline: var(--suite-page-gutter);
  box-sizing: border-box;
}

:is(.suite-section, .viking-section, .fj-section) {
  display: block;
  margin-block: var(--suite-section-gap);
}

:is(.suite-section, .viking-section, .fj-section):first-child {
  margin-block-start: 0;
}

:is(.suite-stack, .viking-stack, .fj-stack) {
  display: flex;
  flex-direction: column;
  gap: var(--_stack-gap, var(--suite-block-gap));
}

:is(
  .suite-stack,
  .viking-stack,
  .fj-stack,
  .suite-page-shell,
  .viking-page-shell,
  .fj-page-shell
).suite-stack--tight,
:is(
  .suite-stack,
  .viking-stack,
  .fj-stack,
  .suite-page-shell,
  .viking-page-shell,
  .fj-page-shell
).fj-stack--tight,
:is(.suite-stack, .viking-stack, .fj-stack).viking-stack--tight {
  --_stack-gap: var(--suite-space-2);
}

:is(
  .suite-stack,
  .viking-stack,
  .fj-stack,
  .suite-page-shell,
  .viking-page-shell,
  .fj-page-shell
).suite-stack--compact,
:is(
  .suite-stack,
  .viking-stack,
  .fj-stack,
  .suite-page-shell,
  .viking-page-shell,
  .fj-page-shell
).fj-stack--compact {
  --_stack-gap: var(--suite-space-3);
}

:is(
  .suite-stack,
  .viking-stack,
  .fj-stack,
  .suite-page-shell,
  .viking-page-shell,
  .fj-page-shell
).suite-stack--loose,
:is(
  .suite-stack,
  .viking-stack,
  .fj-stack,
  .suite-page-shell,
  .viking-page-shell,
  .fj-page-shell
).fj-stack--loose {
  --_stack-gap: var(--suite-section-gap);
}

:is(.suite-stack, .viking-stack, .fj-stack).suite-stack--center,
:is(.suite-stack, .viking-stack, .fj-stack).fj-stack--center,
:is(.suite-stack, .viking-stack, .fj-stack).viking-stack--center {
  align-items: center;
  text-align: center;
}

:is(.suite-stack, .viking-stack, .fj-stack)[data-direction="row"] {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}

/* =============================================================================
   Media (images) — responsive by default; pair with loading/decoding/fetchpriority
   Hero / LCP: data-priority="high" + fetchpriority="high" + loading="eager"
   Content: loading="lazy" decoding="async" (set on <img> — CSS cannot set these)
   ============================================================================= */
:is(.suite-media, .viking-media, .fj-media) {
  display: block;
  max-width: 100%;
}

:is(.suite-media, .viking-media, .fj-media) img,
:is(.suite-media, .viking-media, .fj-media) picture {
  display: block;
  max-width: 100%;
  height: auto;
}

:is(.suite-media, .viking-media, .fj-media)[data-priority="high"] img {
  content-visibility: visible;
}

:is(.suite-landing-mark, .landing__hero-mark) {
  display: block;
  width: 4rem;
  height: 4rem;
  max-width: 100%;
  object-fit: contain;
  content-visibility: visible;
}

/* =============================================================================
   Motion
   ============================================================================= */
@keyframes suite-shimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}

@keyframes suite-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes suite-fade-in {
  from {
    opacity: 0;
    transform: translateY(var(--suite-reveal-distance, 0.5rem));
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes suite-toast-in {
  from {
    opacity: 0;
    transform: translateY(0.5rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* WCAG 2.3.3 Animation from Interactions — suite-wide reduced-motion contract.
   Tokens zero durations; this kill-switch covers hardcoded keyframes (shimmer/spin)
   and smooth scrolling so FORJD (suite CSS only) matches DEML a11y.scss. */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  :is(.suite-skeleton, .viking-skeleton, .fj-skeleton) {
    animation: none !important;
    background: var(--suite-surface-2);
  }

  :is(
    .suite-empty,
    .viking-empty,
    .fj-empty,
    .suite-loading,
    .viking-loading,
    .fj-loading,
    .suite-loading-overlay,
    .viking-loading-overlay,
    .fj-loading-overlay,
    .suite-error-state,
    .viking-error-state,
    .fj-error-state,
    .suite-dialog,
    .viking-dialog,
    .fj-dialog,
    .suite-sheet,
    .viking-sheet,
    .fj-sheet,
    .suite-toast,
    .viking-toast,
    .fj-toast
  ) {
    animation: none !important;
  }

  :is(
    .suite-btn-spinner,
    .viking-btn-spinner,
    .fj-btn-spinner,
    .suite-spinner,
    .viking-spinner,
    .fj-spinner
  ) {
    animation: none !important;
    border-top-color: var(--suite-primary);
  }

  :is(.suite-btn, .viking-btn, .fj-btn):hover:not(:disabled),
  :is(.suite-btn, .viking-btn, .fj-btn):active:not(:disabled),
  :is(.suite-card, .viking-card, .fj-card)[data-interactive="true"]:hover,
  :is(.suite-card, .viking-card, .fj-card)[data-interactive="true"]:active,
  :is(.suite-tab, .viking-tab, .fj-tab):hover,
  :is(.suite-tab, .viking-tab, .fj-tab):active,
  :is(.suite-nav-link, .viking-nav-link, .fj-nav-link):hover,
  :is(.suite-nav-link, .viking-nav-link, .fj-nav-link):active,
  :is(
    .suite-theme-toggle,
    .viking-theme-toggle,
    .fj-theme-toggle,
    .theme-toggle-btn
  ):hover,
  :is(
    .suite-theme-toggle,
    .viking-theme-toggle,
    .fj-theme-toggle,
    .theme-toggle-btn
  ):active,
  :is(
    .suite-disclosure-trigger,
    .viking-disclosure-trigger,
    .fj-disclosure-trigger
  ):hover,
  :is(
    .suite-disclosure-trigger,
    .viking-disclosure-trigger,
    .fj-disclosure-trigger
  ):active {
    transform: none;
  }
}

/* =============================================================================
   Elevation utilities — hierarchy only (never decorative stacks)
   1 flat hairline · 2 raised panel · 3 floating · 4 modal · inset wells
   ============================================================================= */
:is(.suite-elevation-1, .viking-elevation-1, .fj-elevation-1) {
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-elevation-2, .viking-elevation-2, .fj-elevation-2) {
  box-shadow: var(--suite-elevation-2);
}

:is(.suite-elevation-3, .viking-elevation-3, .fj-elevation-3) {
  box-shadow: var(--suite-elevation-3);
}

:is(.suite-elevation-4, .viking-elevation-4, .fj-elevation-4) {
  box-shadow: var(--suite-elevation-4);
}

:is(.suite-elevation-inset, .viking-elevation-inset, .fj-elevation-inset) {
  box-shadow: var(--suite-elevation-inset);
}

/* Glass only on floating chrome — pair with elevation-3/4 */
:is(.suite-glass, .viking-glass, .fj-glass) {
  background: var(--suite-glass);
  border-color: var(--suite-border-strong);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
}

:is(.suite-glass-strong, .viking-glass-strong, .fj-glass-strong) {
  background: var(--suite-glass-strong);
  border-color: var(--suite-border-strong);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
}

@media (prefers-reduced-transparency: reduce) {
  :is(
    .suite-dialog,
    .viking-dialog,
    .fj-dialog,
    .suite-sheet,
    .viking-sheet,
    .fj-sheet,
    .suite-search-palette,
    .viking-search-palette,
    .fj-search-palette,
    .suite-toast,
    .viking-toast,
    .fj-toast,
    .suite-loading-panel,
    .viking-loading-panel,
    .fj-loading-panel,
    .suite-glass,
    .viking-glass,
    .fj-glass,
    .suite-glass-strong,
    .viking-glass-strong,
    .fj-glass-strong
  ) {
    background: var(--suite-surface-elevated);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  :is(
    .suite-dialog,
    .viking-dialog,
    .fj-dialog,
    .suite-sheet,
    .viking-sheet,
    .fj-sheet,
    .suite-search-palette-backdrop,
    .viking-search-palette-backdrop,
    .fj-search-palette-backdrop
  )::backdrop,
  :is(.suite-loading-overlay, .viking-loading-overlay, .fj-loading-overlay)
    > .suite-loading-backdrop {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

/*!
 * SUITE LANDING — Pass 3 product-family stage (DEML + FORJD + community)
 * ----------------------------------------------------------------------------
 * forjd.co · deml.app / · dataengineeringformachinelearning.com
 * Atmosphere + hero + section rhythm only. Tokens + suite-components for chrome.
 * Dual/triple class aliases keep historical markup working during lockstep.
 * Docs: SUITE_LANDING.md
 */

/* =============================================================================
   Stage — void atmosphere (SpaceX power + Porsche precision + electric command)
   ============================================================================= */
:is(.suite-landing, .fj-landing, .landing-container, .community-home) {
  /* Restrained command atmosphere — no neon orbs; stepped light only. */
  /* Single electric wash — calm confidence over layered theater */
  --_suite-landing-glow: color-mix(
    in srgb,
    var(--suite-primary) 11%,
    transparent
  );
  position: relative;
  isolation: isolate;
  min-height: 100%;
  font-family: var(--suite-font-sans);
  color: var(--suite-ink);
}

/*
 * Atmosphere uses absolute (not fixed) so it works inside Angular app shells
 * that apply transform/containment on main content. Covers full landing height.
 */
:is(.suite-landing, .fj-landing)::before,
.landing-container.suite-landing::before,
.community-home.suite-landing::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(
      100% 70% at 12% -10%,
      var(--_suite-landing-glow),
      transparent 62%
    ),
    var(--suite-bg);
}

:is(.suite-landing, .fj-landing)::after,
.landing-container.suite-landing::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.03;
  background-image:
    linear-gradient(
      color-mix(in srgb, var(--suite-border) 40%, transparent) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      color-mix(in srgb, var(--suite-border) 40%, transparent) 1px,
      transparent 1px
    );
  background-size: var(--suite-space-10) var(--suite-space-10);
  mask-image: radial-gradient(ellipse at 30% 0%, black 0%, transparent 48%);
}

/* Children above atmosphere */
:is(.suite-landing, .fj-landing, .landing-container.suite-landing) > * {
  position: relative;
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  :is(.suite-landing, .fj-landing)::after,
  .landing-container.suite-landing::after {
    opacity: 0.04;
  }
}

/*
 * Constrained delivery — solid void, skip grid mask + paint-heavy hairlines.
 * High-end / wide viewports keep the electric wash + grid.
 * prefers-reduced-data is progressive (unsupported browsers ignore the clause).
 */
@media (max-width: 600px), (prefers-reduced-data: reduce) {
  :is(.suite-landing, .fj-landing)::before,
  .landing-container.suite-landing::before,
  .community-home.suite-landing::before {
    background: var(--suite-bg);
  }

  :is(.suite-landing, .fj-landing)::after,
  .landing-container.suite-landing::after {
    content: none;
    display: none;
  }

  :is(.suite-landing-feature, .landing__feature)
    :is(.suite-card, .viking-card, .fj-card)::before,
  :is(.suite-landing-steps, .landing__steps)
    :is(.suite-landing-feature, .landing__feature)
    :is(.suite-card, .viking-card, .fj-card)::before,
  :is(.landing__band-panel) :is(.suite-card, .viking-card, .fj-card)::before {
    content: none;
    display: none;
  }
}

/* --- Page stack --- */
:is(.suite-landing, .fj-landing, .landing, .showcase-layout.suite-landing) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-section-gap);
  padding-block: var(--suite-space-8) var(--suite-space-14);
  min-height: min(100dvh, 100%);
  max-width: var(--suite-content-max);
  margin-inline: auto;
  padding-inline: var(--suite-page-gutter);
  box-sizing: border-box;
}

/* When nested inside forjd-page-shell which already gutters */
forjd-page-shell :is(.suite-landing, .fj-landing, .landing) {
  max-width: none;
  padding-inline: 0;
}

/*
 * deml.app product-home uses .page-inner-wrapper (layout-shell) AND suite-landing.
 * Collapse double gutters / grid so the stage owns the column rhythm.
 */
.page-inner-wrapper.suite-landing,
.page-inner-wrapper.showcase-layout.suite-landing {
  display: flex;
  flex-direction: column;
  gap: var(--suite-section-gap);
  max-width: var(--suite-content-max);
  margin-inline: auto;
  padding-inline: var(--suite-page-gutter);
  padding-block: var(--suite-space-6) var(--suite-space-10);
  min-height: 0;
  grid-template-columns: unset;
}

.page-inner-wrapper.suite-landing .suite-landing-hero,
.page-inner-wrapper.suite-landing .viking-unified-hero,
.page-inner-wrapper.suite-landing .landing__hero {
  /* Leave room for navbar + footer — avoid 78dvh hero crushing the fold */
  min-height: min(52dvh, 26rem);
  padding-block: var(--suite-space-5) var(--suite-space-3);
  max-width: 40rem;
}

.page-inner-wrapper.suite-landing .suite-landing-brand,
.page-inner-wrapper.suite-landing .hero-brand {
  /* Match forjd.co display brand weight — no deml-only shrink */
  font-size: var(--suite-text-display);
  letter-spacing: var(--suite-tracking-brand);
  color: var(--suite-ink);
  text-shadow: none;
}

/* Quiet secondary mark on community marketing (not a competing display title) */
.suite-landing-mark-label {
  margin: 0;
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-medium);
  letter-spacing: var(--suite-tracking-caps);
  text-transform: uppercase;
  color: color-mix(in srgb, var(--suite-ink-muted) 85%, transparent);
}

/* suite-card already pads — don't double-pad step/pillar tiles */
.page-inner-wrapper.suite-landing
  :is(.quick-start-step, .security-pillar).suite-card {
  padding: var(--suite-space-3);
}

/* =============================================================================
   Hero — tall, vivid, industrial display type
   ============================================================================= */
:is(
  .suite-landing-hero,
  .fj-landing-hero,
  .landing__hero,
  .viking-unified-hero
) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-3);
  max-width: 52rem;
  /* Mobile-first: keep steps in the first scroll; grow tall only on large viewports */
  min-height: min(52dvh, 26rem);
  justify-content: center;
  padding-block: var(--suite-space-7) var(--suite-space-5);
}

/* Expensive type rhythm — tighten brand↔headline; open lede→actions */
:is(.suite-landing-mark, .landing__hero-mark)
  + :is(.suite-landing-brand, .fj-brand, .landing__brand) {
  margin-top: calc(-1 * var(--suite-space-0-5));
}

:is(.suite-landing-brand, .fj-brand, .landing__brand)
  + :is(.suite-landing-headline, .landing__hero-line, .fj-headline) {
  margin-top: calc(-1 * var(--suite-space-1));
}

:is(.suite-landing-lede, .landing__lede, .fj-lede)
  + :is(.suite-landing-actions, .landing__actions) {
  margin-top: var(--suite-space-2);
}

/* Instant hero — no staggered reveal (calm confidence over clever motion) */

@media (min-width: 768px) {
  :is(
    .suite-landing-hero,
    .fj-landing-hero,
    .landing__hero,
    .viking-unified-hero
  ) {
    gap: var(--suite-space-4);
    min-height: min(58dvh, 30rem);
    padding-block: var(--suite-space-9) var(--suite-space-6);
  }
}

@media (min-width: 1024px) {
  :is(
    .suite-landing-hero,
    .fj-landing-hero,
    .landing__hero,
    .viking-unified-hero
  ) {
    min-height: min(64dvh, 34rem);
    padding-block: var(--suite-space-10) var(--suite-space-6);
  }
}

/* Short / landscape viewports — keep brand + CTAs in the first screen */
@media (max-height: 500px), (max-height: 420px) and (orientation: landscape) {
  :is(
    .suite-landing-hero,
    .fj-landing-hero,
    .landing__hero,
    .viking-unified-hero
  ) {
    min-height: 0;
    justify-content: flex-start;
    padding-block: var(--suite-space-4) var(--suite-space-3);
    gap: var(--suite-space-2);
  }
}

/* Status pill — 80% quiet Production; 20% data-tone + in-badge Retry */
:is(
  .suite-landing-badge,
  .hero-badge,
  .viking-unified-hero-badge,
  .community-eyebrow
) {
  display: inline-flex;
  align-items: center;
  gap: var(--suite-space-1);
  width: fit-content;
  max-width: min(100%, 32rem);
  margin: 0;
  padding: var(--suite-space-1) var(--suite-space-2);
  border: 1px solid color-mix(in srgb, var(--suite-primary) 28%, transparent);
  border-radius: var(--suite-radius-pill);
  background: color-mix(in srgb, var(--suite-primary) 10%, transparent);
  color: var(--suite-primary-strong);
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-caps);
  text-transform: uppercase;
  box-shadow: var(--suite-highlight);
}

/* Loading chapter — muted confirming, not success green yet */
:is(
  .suite-landing-badge,
  .hero-badge,
  .viking-unified-hero-badge
)[data-phase="loading"] {
  border-color: color-mix(in srgb, var(--suite-border-strong) 80%, transparent);
  background: color-mix(in srgb, var(--suite-surface-2) 80%, transparent);
  color: var(--suite-ink-muted);
}

:is(
    .suite-landing-badge,
    .hero-badge,
    .viking-unified-hero-badge
  )[data-phase="loading"]
  .badge-dot {
  background: var(--suite-ink-muted);
  animation: suite-confirm 1.4s var(--suite-ease) infinite;
}

:is(
  .suite-landing-badge,
  .hero-badge,
  .viking-unified-hero-badge
)[data-tone="warning"] {
  border-color: color-mix(in srgb, var(--suite-warning) 45%, transparent);
  background: color-mix(in srgb, var(--suite-warning) 12%, transparent);
  color: var(--suite-warning);
}

:is(
  .suite-landing-badge,
  .hero-badge,
  .viking-unified-hero-badge
)[data-tone="danger"] {
  border-color: color-mix(in srgb, var(--suite-danger) 45%, transparent);
  background: color-mix(in srgb, var(--suite-danger) 12%, transparent);
  color: var(--suite-danger);
}

:is(
    .suite-landing-badge,
    .hero-badge,
    .viking-unified-hero-badge
  )[data-tone="warning"]
  .badge-dot,
:is(
    .suite-landing-badge,
    .hero-badge,
    .viking-unified-hero-badge
  )[data-tone="danger"]
  .badge-dot {
  background: currentColor;
}

:is(.badge-dot, .pulse-dot) {
  width: var(--suite-space-0-5);
  height: var(--suite-space-0-5);
  border-radius: var(--suite-radius-pill);
  background: var(--suite-success);
  flex-shrink: 0;
}

/* Pulse only when explicitly marked live — static otherwise */
:is(.badge-dot).pulse-dot {
  animation: suite-pulse 3.6s var(--suite-ease) infinite;
}

:is(.badge-text) {
  color: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

/* Compact edge retry — 44px touch floor; lives in the badge, not a callout */
:is(.suite-landing-badge-retry) {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  margin-inline-start: var(--suite-space-0-5);
  min-height: var(--suite-touch);
  min-width: var(--suite-touch);
  padding: 0 var(--suite-space-2);
  border: 1px solid color-mix(in srgb, currentColor 45%, transparent);
  border-radius: var(--suite-radius-pill);
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
  transition: var(--suite-transition-colors);
}

:is(.suite-landing-badge-retry):hover,
:is(.suite-landing-badge-retry):focus-visible {
  background: color-mix(in srgb, currentColor 14%, transparent);
  outline: none;
}

:is(.suite-landing-badge-retry):focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

/* One quiet edge line under the badge — never displaces hero → CTAs → sequence */
:is(.suite-landing-edge, .landing__ready-edge) {
  margin: calc(var(--suite-space-1) * -1) 0 0;
  max-width: 36rem;
  color: var(--suite-ink-muted);
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-regular);
  letter-spacing: var(--suite-tracking-normal);
  line-height: var(--suite-leading-snug);
  text-transform: none;
}

:is(.suite-landing-mark, .landing__hero-mark) {
  width: min(3.75rem, 16vw);
  height: auto;
  margin-bottom: 0;
  filter: none;
}

/* Display brand wordmark */
:is(.suite-landing-brand, .landing__brand, .hero-brand, .fj-brand) {
  margin: 0;
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-display);
  font-weight: var(--suite-weight-extrabold);
  letter-spacing: var(--suite-tracking-brand);
  line-height: var(--suite-leading-tight);
  color: var(--suite-ink);
  text-transform: uppercase;
  text-wrap: balance;
  text-shadow: none;
}

/* Primary headline under brand (or standalone title on marketing) */
:is(
  .suite-landing-headline,
  .landing__hero-line,
  .fj-headline,
  .title,
  .viking-unified-hero-title
) {
  margin: 0;
  font-size: var(--suite-text-headline);
  font-weight: var(--suite-weight-medium);
  letter-spacing: var(--suite-tracking-tight);
  max-width: 36rem;
  color: var(--suite-ink);
  line-height: var(--suite-leading-tight);
  text-wrap: balance;
}

/* When brand + title coexist, title is slightly quieter industrial sub */
.suite-landing-brand
  + :is(.title, .viking-unified-hero-title, .suite-landing-headline),
.hero-brand + :is(.title, .viking-unified-hero-title) {
  font-size: var(--suite-text-headline-quiet);
  color: color-mix(in srgb, var(--suite-ink) 92%, var(--suite-primary) 8%);
  max-width: 32rem;
}

:is(
  .suite-landing-lede,
  .landing__lede,
  .fj-lede,
  .subtitle,
  .viking-unified-hero-lead
) {
  margin: 0;
  max-width: var(--suite-readable-max);
  font-size: var(--suite-text-lg);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-relaxed);
  text-wrap: pretty;
}

:is(
  .suite-landing-actions,
  .landing__actions,
  .viking-unified-hero-actions,
  .cta-group
) {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: var(--suite-space-3);
  width: 100%;
  margin-top: var(--suite-space-1);
}

/* Flat CTA row (marketing / deml) — children are suite-btn */
:is(
    .suite-landing-actions,
    .landing__actions,
    .viking-unified-hero-actions,
    .cta-group
  )
  > :is(.suite-btn, .viking-btn, .fj-btn, forjd-button, viking-button) {
  width: 100%;
  box-sizing: border-box;
  justify-content: center;
}

:is(
    .suite-landing-actions,
    .landing__actions,
    .viking-unified-hero-actions,
    .cta-group
  )
  > :is(forjd-button, viking-button)
  :is(.suite-btn, .viking-btn, .fj-btn) {
  width: 100%;
  justify-content: center;
}

/* Tiered CTAs — primary command row + quiet secondary instrument strip */
:is(.suite-landing-actions-primary, .landing__actions-primary) {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: var(--suite-cluster-gap);
  width: 100%;
}

:is(.suite-landing-actions-secondary, .landing__actions-secondary) {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: stretch;
  gap: var(--suite-space-1);
  width: 100%;
  padding-top: var(--suite-space-1);
  border-top: 1px solid color-mix(in srgb, var(--suite-border) 80%, transparent);
}

:is(.suite-landing-actions-primary, .landing__actions-primary)
  > :is(forjd-button, viking-button, .suite-btn, .viking-btn, .fj-btn),
:is(.suite-landing-actions-secondary, .landing__actions-secondary)
  > :is(
    forjd-button,
    viking-button,
    .suite-btn,
    .viking-btn,
    .fj-btn,
    forjd-theme-toggle,
    viking-theme-toggle
  ) {
  width: 100%;
  box-sizing: border-box;
}

:is(.suite-landing-actions-primary, .landing__actions-primary)
  :is(.suite-btn, .viking-btn, .fj-btn),
:is(.suite-landing-actions-secondary, .landing__actions-secondary)
  :is(.suite-btn, .viking-btn, .fj-btn) {
  width: 100%;
  justify-content: center;
}

/* Secondary ghosts — color only (no lift) so the toolbar stays calm */
:is(.suite-landing-actions-secondary, .landing__actions-secondary)
  :is(.suite-btn, .viking-btn, .fj-btn)[data-variant="ghost"]:hover:not(
    :disabled
  ):not([aria-disabled="true"]),
:is(.suite-landing-actions-secondary, .landing__actions-secondary)
  :is(.suite-btn, .viking-btn, .fj-btn)[data-variant="ghost"]:active:not(
    :disabled
  ) {
  transform: none;
}

@media (min-width: 600px) {
  :is(
      .suite-landing-actions,
      .landing__actions,
      .viking-unified-hero-actions,
      .cta-group
    ):not(:has(.suite-landing-actions-primary)):not(
      :has(.landing__actions-primary)
    ) {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: auto;
    gap: var(--suite-cluster-gap);
  }

  :is(
      .suite-landing-actions,
      .landing__actions,
      .viking-unified-hero-actions,
      .cta-group
    ):not(:has(.suite-landing-actions-primary)):not(
      :has(.landing__actions-primary)
    )
    > :is(.suite-btn, .viking-btn, .fj-btn, forjd-button, viking-button) {
    width: auto;
  }

  :is(
      .suite-landing-actions,
      .landing__actions,
      .viking-unified-hero-actions,
      .cta-group
    ):not(:has(.suite-landing-actions-primary)):not(
      :has(.landing__actions-primary)
    )
    > :is(forjd-button, viking-button)
    :is(.suite-btn, .viking-btn, .fj-btn) {
    width: auto;
  }

  :is(.suite-landing-actions-primary, .landing__actions-primary) {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: auto;
  }

  :is(.suite-landing-actions-primary, .landing__actions-primary)
    > :is(forjd-button, viking-button, .suite-btn, .viking-btn, .fj-btn),
  :is(.suite-landing-actions-primary, .landing__actions-primary)
    :is(.suite-btn, .viking-btn, .fj-btn) {
    width: auto;
  }

  :is(.suite-landing-actions-secondary, .landing__actions-secondary) {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: auto;
    gap: var(--suite-space-1);
  }

  :is(.suite-landing-actions-secondary, .landing__actions-secondary)
    > :is(
      forjd-button,
      viking-button,
      .suite-btn,
      .viking-btn,
      .fj-btn,
      forjd-theme-toggle,
      viking-theme-toggle
    ),
  :is(.suite-landing-actions-secondary, .landing__actions-secondary)
    :is(.suite-btn, .viking-btn, .fj-btn) {
    width: auto;
  }
}

/* CTA content helpers inside suite-btn */
:is(.cta-content) {
  display: inline-flex;
  align-items: center;
  gap: var(--suite-space-1);
}

:is(.cta-label) {
  font: inherit;
  color: inherit;
}

:is(.cta-button) {
  /* structural alias only — chrome from suite-btn */
}

@keyframes suite-pulse {
  0% {
    box-shadow: 0 0 0 0
      color-mix(in srgb, var(--suite-success) 50%, transparent);
  }
  70% {
    box-shadow: 0 0 0 0.45rem transparent;
  }
  100% {
    box-shadow: 0 0 0 0 transparent;
  }
}

/* Soft confirm breath — loading chapter (opacity only) */
@keyframes suite-confirm {
  0%,
  100% {
    opacity: 0.35;
  }
  50% {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.badge-dot).pulse-dot,
  :is(
      .suite-landing-badge,
      .hero-badge,
      .viking-unified-hero-badge
    )[data-phase="loading"]
    .badge-dot {
    animation: none;
    opacity: 1;
  }

  :is(.showcase-link, .community-showcase-cta):hover {
    transform: none;
  }
}

/* =============================================================================
   Section headers / tags
   ============================================================================= */
:is(
  .suite-landing-section-header,
  .landing__section-header,
  .viking-unified-section-header,
  .quick-start-header,
  .security-pillars-header,
  .pricing-header
) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-2);
  max-width: var(--suite-readable-max);
  margin-bottom: var(--suite-block-gap);
}

:is(.suite-landing-tag, .landing__tag, .section-tag, .strip-label) {
  margin: 0;
  color: var(--suite-ink-muted);
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-sm);
  letter-spacing: var(--suite-tracking-caps);
  text-transform: uppercase;
  font-weight: var(--suite-weight-medium);
}

:is(
  .suite-landing-section-title,
  .landing__section-title,
  .suite-landing-section-header h2,
  .viking-unified-section-header h2,
  .quick-start-header h2,
  .security-pillars-header h2,
  .pricing-header h2
) {
  margin: 0;
  font-size: var(--suite-text-2xl);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-tight);
  color: var(--suite-ink);
  line-height: var(--suite-leading-tight);
  text-wrap: balance;
}

:is(
  .suite-landing-section-lede,
  .landing__section-lede,
  .suite-landing-section-header p,
  .viking-unified-section-header p,
  .quick-start-header p,
  .security-pillars-header p,
  .pricing-header p
) {
  margin: 0;
  color: var(--suite-ink-muted);
  font-size: var(--suite-text-md);
  line-height: var(--suite-leading-normal);
  max-width: var(--suite-readable-max);
}

/* Shared type roles */
:is(.suite-eyebrow, .fj-eyebrow) {
  margin: 0;
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-sm);
  letter-spacing: var(--suite-tracking-caps);
  text-transform: uppercase;
  color: var(--suite-gold);
  font-weight: var(--suite-weight-medium);
}

:is(.suite-display, .fj-display) {
  margin: 0;
  font-size: var(--suite-text-display);
  font-weight: var(--suite-weight-bold);
  letter-spacing: var(--suite-tracking-tight);
  line-height: var(--suite-leading-tight);
  color: var(--suite-ink);
  text-transform: uppercase;
  text-wrap: balance;
}

:is(.suite-meta, .fj-meta, .suite-muted, .fj-muted) {
  margin: 0;
  color: var(--suite-ink-muted);
  font-size: var(--suite-text-md);
}

:is(.suite-error-text, .fj-error) {
  margin: 0;
  color: var(--suite-danger);
  font-size: var(--suite-text-md);
}

/* Panel titles: owned by suite-components.css (triple .suite- / .viking- / .fj-) */

/* =============================================================================
   Steps / grids / features
   ============================================================================= */
:is(.suite-landing-steps, .landing__steps, .quick-start-steps) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--suite-space-2);
}

@media (min-width: 768px) {
  :is(.suite-landing-steps, .landing__steps, .quick-start-steps) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--suite-space-3);
  }
}

/* 4-up only when each step can stay readable — avoid skinny desktop shrink */
@media (min-width: 1440px) {
  :is(.suite-landing-steps, .landing__steps, .quick-start-steps) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

:is(.suite-landing-step-num, .landing__step-num, .step-number) {
  margin: 0 0 var(--suite-space-2);
  color: var(--suite-primary);
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-sm);
  letter-spacing: var(--suite-tracking-wide);
  font-weight: var(--suite-weight-semibold);
}

:is(.suite-landing-grid, .landing__grid, .community-showcase-grid) {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--suite-space-2);
}

@media (min-width: 768px) {
  :is(.suite-landing-grid, .landing__grid, .community-showcase-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  :is(.suite-landing-grid, .landing__grid) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

:is(
  .suite-landing-feature,
  .landing__feature,
  .quick-start-step,
  .security-pillar,
  .community-showcase-card,
  .community-resource-link
) {
  display: block;
  min-height: 100%;
}

:is(.suite-landing-feature, .landing__feature, .quick-start-step) p,
:is(.quick-start-step) p,
:is(.security-pillar) span {
  margin: 0;
  color: var(--suite-ink-muted);
  font-size: var(--suite-text-md);
  line-height: var(--suite-leading-normal);
}

:is(.quick-start-step) h3,
:is(.security-pillar) strong,
:is(.community-showcase-card) h3 {
  margin: 0 0 var(--suite-space-1);
  color: var(--suite-ink);
  font-size: var(--suite-text-lg);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-tight);
}

/* Cards used as steps get suite card padding if only viking-card */
:is(.quick-start-step, .security-pillar).viking-card:not(.suite-card) {
  /* suite-card already applied when dual-classed */
}

.quick-start-step,
.security-pillar {
  padding: var(--suite-space-3) var(--suite-space-3) var(--suite-space-2);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface);
  box-shadow: var(--suite-elevation-1);
  transition: var(--suite-transition);
}

.quick-start-step:hover,
.quick-start-step:focus-visible,
.security-pillar:hover,
.security-pillar:focus-visible {
  border-color: var(--suite-border-strong);
  background: var(--suite-surface-elevated);
  /* Border/surface only — no lift on dense landing grids */
}

/* forjd-panel / viking-card tiles — hairline + quiet border hover (no lift) */
:is(.suite-landing-feature, .landing__feature)
  :is(.suite-card, .viking-card, .fj-card),
:is(.suite-landing-steps, .landing__steps)
  :is(.suite-landing-feature, .landing__feature)
  :is(.suite-card, .viking-card, .fj-card),
:is(.landing__band-panel) :is(.suite-card, .viking-card, .fj-card) {
  position: relative;
  height: 100%;
  overflow: hidden;
  transition: var(--suite-transition-colors);
}

:is(.suite-landing-feature, .landing__feature)
  :is(.suite-card, .viking-card, .fj-card)::before,
:is(.suite-landing-steps, .landing__steps)
  :is(.suite-landing-feature, .landing__feature)
  :is(.suite-card, .viking-card, .fj-card)::before,
:is(.landing__band-panel) :is(.suite-card, .viking-card, .fj-card)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--suite-primary) 28%, transparent),
    color-mix(in srgb, var(--suite-highlight) 55%, transparent) 40%,
    transparent 85%
  );
  opacity: 0.55;
}

:is(.suite-landing-feature, .landing__feature):hover
  :is(.suite-card, .viking-card, .fj-card),
:is(.suite-landing-steps, .landing__steps)
  :is(.suite-landing-feature, .landing__feature):hover
  :is(.suite-card, .viking-card, .fj-card) {
  border-color: var(--suite-border-strong);
  background: var(--suite-surface-elevated);
}

/* =============================================================================
   Capability bands (copy + metric panel)
   ============================================================================= */
:is(.suite-landing-bands, .landing__bands) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-section-gap);
}

:is(.suite-landing-band, .landing__band, .showcase-band) {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--suite-block-gap);
  align-items: stretch;
}

@media (min-width: 768px) {
  :is(.suite-landing-band, .landing__band, .showcase-band) {
    grid-template-columns: 1.1fr 0.9fr;
    gap: var(--suite-space-8);
  }

  :is(.suite-landing-band, .landing__band)[data-reversed="true"],
  .landing__band--reversed,
  .showcase-band.reversed {
    direction: rtl;
  }

  :is(.suite-landing-band, .landing__band)[data-reversed="true"] > *,
  .landing__band--reversed > *,
  .showcase-band.reversed > * {
    direction: ltr;
  }
}

:is(.suite-landing-band-copy, .landing__band-copy, .showcase-band-copy) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-2);
  justify-content: center;
}

:is(.suite-landing-band-title, .landing__band-title, .showcase-band-copy h2) {
  margin: 0;
  font-size: var(--suite-text-xl);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-ink);
  letter-spacing: var(--suite-tracking-tight);
}

:is(.showcase-band-copy) p {
  margin: 0;
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal);
}

:is(.showcase-link, .community-showcase-cta) {
  display: inline-flex;
  align-items: center;
  gap: var(--suite-space-1);
  margin-top: var(--suite-space-1);
  color: var(--suite-primary);
  font-weight: var(--suite-weight-semibold);
  font-size: var(--suite-text-sm);
  text-decoration: none;
  letter-spacing: var(--suite-tracking-wide);
  transition: var(--suite-transition);
}

:is(.showcase-link, .community-showcase-cta):hover,
:is(.showcase-link, .community-showcase-cta):focus-visible {
  color: var(--suite-primary-hover);
  transform: translateX(var(--suite-nudge));
}

:is(.showcase-link-row) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--suite-space-3);
}

/* Metric panel inside bands */
:is(.suite-landing-metric-list, .landing__metric-list, .visual-metrics) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--suite-density-gap);
}

:is(.suite-landing-metric-list, .landing__metric-list) li,
:is(.visual-metric) {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--suite-space-3);
  border-bottom: 1px solid var(--suite-border);
  padding-block: var(--suite-space-1);
  font-size: var(--suite-text-md);
}

:is(.suite-landing-metric-list, .landing__metric-list) li:first-child,
:is(.visual-metric):first-child {
  padding-top: var(--suite-space-0-5);
}

:is(.suite-landing-metric-list, .landing__metric-list) li:last-child,
:is(.visual-metric):last-child {
  border-bottom: 0;
  padding-bottom: var(--suite-space-0-5);
}

:is(.suite-landing-metric-list, .landing__metric-list) span,
:is(.metric-label) {
  color: var(--suite-ink-muted);
  font-family: var(--suite-font-mono);
  letter-spacing: var(--suite-tracking-wide);
  text-transform: uppercase;
  font-size: var(--suite-text-xs);
}

:is(.suite-landing-metric-list, .landing__metric-list) strong,
:is(.metric-value) {
  color: var(--suite-ink);
  font-weight: var(--suite-weight-semibold);
  font-variant-numeric: tabular-nums;
}

:is(.visual-panel, .landing__band-panel) {
  min-height: 100%;
}

:is(.visual-panel-header) {
  display: flex;
  align-items: center;
  gap: var(--suite-space-2);
  margin-bottom: var(--suite-space-3);
  color: var(--suite-ink);
  font-weight: var(--suite-weight-semibold);
  font-size: var(--suite-text-sm);
}

/* =============================================================================
   Widget / pricing / community extras (suite DNA)
   ============================================================================= */
:is(.widget-showcase, .pricing-showcase, .security-pillars-band) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-block-gap);
}

:is(.widget-showcase-inner) {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--suite-space-5);
  align-items: center;
}

@media (min-width: 768px) {
  :is(.widget-showcase-inner) {
    grid-template-columns: 1fr 1fr;
  }
}

:is(.widget-copy) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-3);
}

:is(.embed-code) {
  margin: 0;
  padding: var(--suite-space-3);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-bg-subtle);
  overflow-x: auto;
}

:is(.embed-code) code {
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-xs);
  color: var(--suite-success);
  word-break: break-all;
}

/* Center copy with the single free-plan card */
:is(.pricing-showcase) {
  align-items: center;
}

:is(.pricing-showcase) .pricing-header {
  align-items: center;
  text-align: center;
  width: 100%;
  max-width: 28rem;
  margin-inline: auto;
}

:is(.pricing-showcase) .pricing-header p {
  max-width: none;
}

:is(.pricing-cards-container) {
  display: grid;
  justify-items: center;
  width: 100%;
}

:is(.pricing-card) {
  padding: var(--suite-space-5);
  border: 1px solid var(--suite-border-strong);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface-elevated);
  /* Focal commercial surface — one step above peer cards */
  box-shadow: var(--suite-elevation-3);
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-3);
  width: 100%;
  max-width: 28rem;
  justify-self: center;
  margin-inline: auto;
}

:is(.pricing-card) h3 {
  margin: 0;
  font-size: var(--suite-text-xl);
  color: var(--suite-ink);
}

:is(.pricing-card) .price {
  font-size: var(--suite-text-4xl);
  font-weight: var(--suite-weight-bold);
  letter-spacing: var(--suite-tracking-tight);
  color: var(--suite-ink);
  font-variant-numeric: tabular-nums;
}

:is(.features-list) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--suite-space-2);
  color: var(--suite-ink-muted);
  font-size: var(--suite-text-md);
}

:is(.features-list) li {
  display: flex;
  align-items: center;
  gap: var(--suite-space-2);
}

:is(.security-pillars-grid) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--suite-space-2);
}

@media (min-width: 768px) {
  :is(.security-pillars-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

:is(.security-pillar) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-1);
}

/* Community cards */
:is(.community-showcase-card, .community-resource-link) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-density-gap);
  padding: var(--suite-space-3) var(--suite-space-3) var(--suite-space-2);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface);
  color: inherit;
  text-decoration: none;
  box-shadow: var(--suite-elevation-1);
  transition: var(--suite-transition);
  min-height: 100%;
}

:is(.community-showcase-card):hover,
:is(.community-showcase-card):focus-visible,
:is(.community-resource-link):hover,
:is(.community-resource-link):focus-visible {
  border-color: var(--suite-border-strong);
  box-shadow: var(--suite-elevation-hover);
  background: var(--suite-surface-elevated);
  transform: translateY(var(--suite-hover-lift));
}

:is(.community-showcase-card) p,
:is(.community-resource-link) span {
  margin: 0;
  color: var(--suite-ink-muted);
  font-size: var(--suite-text-md);
  line-height: var(--suite-leading-normal);
}

:is(.community-showcase-card-title) {
  display: flex;
  align-items: center;
  gap: var(--suite-space-2);
}

:is(.community-resource-link) {
  flex-direction: row;
  align-items: center;
}

:is(.community-resource-link) > div {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-0-5);
}

:is(.community-resource-link) strong {
  color: var(--suite-ink);
  font-size: var(--suite-text-md);
}

:is(.community-resource-list) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--suite-space-2);
}

/* =============================================================================
   Meta footer strip — instrument ledger
   ============================================================================= */
:is(.suite-landing-meta, .landing__meta) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--suite-space-3) var(--suite-space-4);
  border-top: 1px solid var(--suite-border);
  padding-top: var(--suite-space-5);
  margin-top: var(--suite-space-3);
  font-size: var(--suite-text-sm);
  position: relative;
  align-items: start;
}

@media (min-width: 600px) {
  :is(.suite-landing-meta, .landing__meta) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--suite-space-3) var(--suite-space-5);
    padding-top: var(--suite-space-6);
  }
}

@media (min-width: 1024px) {
  :is(.suite-landing-meta, .landing__meta) {
    grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr));
  }

  :is(.suite-landing-meta, .landing__meta) > div + div {
    border-inline-start: 1px solid
      color-mix(in srgb, var(--suite-border) 70%, transparent);
    padding-inline-start: var(--suite-space-4);
  }
}

:is(.suite-landing-meta, .landing__meta)::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: min(100%, 12rem);
  height: 1px;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--suite-primary) 55%, transparent),
    transparent
  );
  opacity: 0.5;
}

:is(.suite-landing-meta, .landing__meta) span {
  display: block;
  color: var(--suite-ink-muted);
  font-family: var(--suite-font-mono);
  letter-spacing: var(--suite-tracking-caps);
  text-transform: uppercase;
  font-size: var(--suite-text-xs);
  margin-bottom: var(--suite-space-0-5);
}

:is(.suite-landing-meta, .landing__meta) a,
:is(.suite-landing-meta, .landing__meta) .suite-link,
:is(.suite-landing-meta, .landing__meta) .viking-link,
:is(.suite-landing-meta, .landing__meta) .fj-link {
  display: inline-flex;
  align-items: center;
  min-height: var(--suite-touch);
  color: inherit;
  text-decoration: none;
  border-radius: var(--suite-radius-control);
  transition: var(--suite-transition-colors);
}

:is(.suite-landing-meta, .landing__meta) a:hover code,
:is(.suite-landing-meta, .landing__meta) a:focus-visible code,
:is(.suite-landing-meta, .landing__meta) .suite-link:hover code,
:is(.suite-landing-meta, .landing__meta) .suite-link:focus-visible code,
:is(.suite-landing-meta, .landing__meta) .viking-link:hover code,
:is(.suite-landing-meta, .landing__meta) .viking-link:focus-visible code,
:is(.suite-landing-meta, .landing__meta) .fj-link:hover code,
:is(.suite-landing-meta, .landing__meta) .fj-link:focus-visible code {
  color: var(--suite-primary);
}

:is(.suite-landing-meta, .landing__meta) code {
  color: var(--suite-ink);
  font-family: var(--suite-font-mono);
  word-break: break-all;
}

/*!
 * SUITE BACKEND — Pass 4 operational twin (backend.forjd.co + backend.deml.app)
 * ----------------------------------------------------------------------------
 * Quiet · centered · authoritative. Same tokens as product; no marketing chrome.
 * Dual selectors: .suite-backend-* / .backend-* / .fj-*
 * Docs: SUITE_BACKEND.md
 */

/* =============================================================================
   Document base — void, Inter, zero chrome noise
   ============================================================================= */
:is(
  html:has(.suite-backend-shell),
  html:has(.backend-splash-shell),
  body.suite-backend-splash,
  body.backend-splash,
  body.suite-backend-docs,
  body.backend-swagger,
  body.backend-redoc
) {
  margin: 0;
  min-height: 100%;
  background: var(--suite-bg);
  color: var(--suite-ink);
  font-family: var(--suite-font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Splash: single soft electric bloom — quieter than product landing */
:is(body.suite-backend-splash, body.backend-splash) {
  margin: 0;
  min-height: 100%;
  min-height: 100dvh;
  background:
    radial-gradient(
      55% 42% at 50% 48%,
      color-mix(in srgb, var(--suite-primary) 7%, transparent),
      transparent 68%
    ),
    var(--suite-bg);
  color-scheme: dark;
}

:is(body.suite-backend-docs, body.backend-swagger, body.backend-redoc) {
  margin: 0;
  min-height: 100%;
  background: var(--suite-bg);
  color-scheme: dark;
}

/* =============================================================================
   Splash — perfectly centered logo only
   ============================================================================= */
:is(.suite-backend-shell, .backend-splash-shell) {
  box-sizing: border-box;
  min-height: 100dvh;
  min-height: 100vh;
  width: 100%;
  margin: 0;
  padding: var(--suite-space-6);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* Explicit dual-axis center for all engines */
  place-content: center;
  place-items: center;
  text-align: center;
}

:is(.suite-backend-logo, .backend-splash-logo) {
  display: block;
  width: min(7.5rem, 36vw);
  max-width: 100%;
  height: auto;
  margin-inline: auto;
  margin-block: 0;
  border: 0;
  padding: 0;
  text-decoration: none;
  line-height: 0;
  /* Optical center: logo mark sits dead-center of the viewport */
  transform: translateZ(0);
  filter: drop-shadow(
    0 0 20px color-mix(in srgb, var(--suite-primary) 12%, transparent)
  );
  transition:
    transform var(--suite-duration-fast) var(--suite-ease),
    filter var(--suite-duration-fast) var(--suite-ease);
}

:is(.suite-backend-logo, .backend-splash-logo):hover {
  transform: translateY(var(--suite-hover-lift));
  filter: drop-shadow(
    0 0 26px color-mix(in srgb, var(--suite-primary) 18%, transparent)
  );
}

:is(.suite-backend-logo, .backend-splash-logo):focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
  border-radius: var(--suite-radius);
}

:is(.suite-backend-logo, .backend-splash-logo) img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  border: 0;
  vertical-align: middle;
}

/* Optional quiet product wordmark under mark (when present) */
:is(.suite-backend-wordmark, .backend-splash-wordmark) {
  margin: var(--suite-space-4) 0 0;
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-brand);
  text-transform: uppercase;
  color: var(--suite-ink-muted);
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  :is(.suite-backend-logo, .backend-splash-logo) {
    transition: none;
  }

  :is(.suite-backend-logo, .backend-splash-logo):hover {
    transform: none;
  }
}

/* =============================================================================
   Docs topbar — thin operational chrome (Swagger / ReDoc)
   ============================================================================= */
:is(.suite-backend-topbar, .backend-docs-topbar, .fj-topbar) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--suite-space-3);
  flex-wrap: wrap;
  box-sizing: border-box;
  min-height: var(--suite-control-height-lg);
  padding: 0 var(--suite-space-4);
  background: var(--suite-surface);
  border-bottom: 1px solid var(--suite-border);
  font-family: var(--suite-font-sans);
  box-shadow: var(--suite-highlight);
  position: sticky;
  top: 0;
  z-index: var(--suite-z-sticky);
}

:is(.suite-backend-topbar, .backend-docs-topbar, .fj-topbar) > a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  min-height: var(--suite-touch);
}

:is(
  .suite-backend-brand,
  .backend-docs-brand,
  .fj-topbar .fj-brand,
  .suite-backend-topbar .fj-brand
) {
  font-family: var(--suite-font-mono);
  letter-spacing: var(--suite-tracking-caps);
  text-transform: uppercase;
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-primary);
  line-height: 1;
}

:is(.suite-backend-topbar, .backend-docs-topbar, .fj-topbar) nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--suite-space-1) var(--suite-space-3);
}

:is(.suite-backend-topbar, .backend-docs-topbar, .fj-topbar) nav a {
  color: var(--suite-ink-muted);
  font-size: var(--suite-text-xs);
  font-family: var(--suite-font-mono);
  letter-spacing: var(--suite-tracking-caps);
  text-transform: uppercase;
  text-decoration: none;
  min-height: var(--suite-touch);
  display: inline-flex;
  align-items: center;
  padding: 0 var(--suite-space-1);
  border-radius: var(--suite-radius);
  transition: color var(--suite-duration-fast) var(--suite-ease);
}

:is(.suite-backend-topbar, .backend-docs-topbar, .fj-topbar) nav a:hover,
:is(.suite-backend-topbar, .backend-docs-topbar, .fj-topbar)
  nav
  a:focus-visible {
  color: var(--suite-primary);
}

:is(.suite-backend-topbar, .backend-docs-topbar, .fj-topbar)
  nav
  a:focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

/* Docs content well — calm vertical rhythm */
:is(body.suite-backend-docs, body.backend-swagger, body.backend-redoc)
  #swagger-ui,
:is(body.suite-backend-docs, body.backend-swagger, body.backend-redoc) redoc {
  display: block;
  max-width: var(--suite-content-max);
  margin-inline: auto;
  padding: var(--suite-space-4) var(--suite-page-gutter) var(--suite-space-8);
  box-sizing: border-box;
}

/* Swagger opblock chrome — full skin lives in suite-apidocs.css */
:is(body.backend-swagger, body.suite-backend-docs) .swagger-ui .opblock {
  border-radius: var(--suite-radius);
  box-shadow: none;
}
