/* @sgeo/ui-kit@4.8.0; upstream f89e0e7d2d0c4fdd8239151b417b3903cfce3d56; generated static adapter */
/* AV DS 4 design tokens.
   Единый источник правды для цветов, теней, шрифтов.
   Подключение: @import '@sgeo/ui-kit/tokens/variables.css'; */

/* LIGHT MODE (по умолчанию) */
:root {
  --button-outline: rgba(0,0,0, .10);
  --badge-outline: rgba(0,0,0, .05);
  --opaque-button-border-intensity: -8;
  --elevate-1: rgba(0,0,0, .03);
  --elevate-2: rgba(0,0,0, .08);
  --background: 216 20% 97%;
  --foreground: 220 25% 10%;
  --border: 216 12% 88%;
  --card: 216 18% 98%;
  --card-foreground: 220 25% 10%;
  --card-border: 216 12% 92%;
  --sidebar: 218 22% 95%;
  --sidebar-foreground: 220 25% 10%;
  --sidebar-border: 216 12% 90%;
  --sidebar-primary: 210 70% 42%;
  --sidebar-primary-foreground: 0 0% 99%;
  --sidebar-accent: 216 14% 88%;
  --sidebar-accent-foreground: 220 25% 10%;
  --sidebar-ring: 210 70% 42%;
  --popover: 216 18% 96%;
  --popover-foreground: 220 25% 10%;
  --popover-border: 216 12% 88%;
  --primary: 210 70% 42%;
  --primary-foreground: 0 0% 99%;
  --secondary: 216 14% 91%;
  --secondary-foreground: 220 25% 10%;
  --muted: 216 12% 92%;
  --muted-foreground: 216 10% 45%;
  --accent: 210 16% 90%;
  --accent-foreground: 220 25% 10%;
  --destructive: 0 72% 48%;
  --destructive-foreground: 0 0% 99%;
  --input: 216 12% 78%;
  --ring: 210 70% 42%;
  --chart-1: 210 70% 42%;
  --chart-2: 170 55% 38%;
  --chart-3: 38 75% 50%;
  --chart-4: 280 55% 50%;
  --chart-5: 0 65% 50%;
  --status-success-text: 170 62% 27%;
  --status-attention-text: 34 82% 30%;
  --font-sans: 'IBM Plex Sans', 'Inter', 'Onest', 'Helvetica Neue', Arial, sans-serif;
  --font-serif: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
  --font-mono: 'IBM Plex Mono', 'JetBrains Mono', 'Fira Code', Menlo, monospace;
  --font-display: 'IBM Plex Sans', 'Inter', 'Onest', 'Helvetica Neue', Arial, sans-serif;
  --font-micro: 'Inter', 'IBM Plex Sans', 'Onest', 'Helvetica Neue', Arial, sans-serif;
  --font-dashboard: 'IBM Plex Sans', 'Inter', 'Onest', 'Helvetica Neue', Arial, sans-serif;
  --radius: .4375rem;
  --shadow-2xs: 0px 1px 1px hsl(220 25% 10% / 0.03);
  --shadow-xs: 0px 1px 2px hsl(220 25% 10% / 0.04);
  --shadow-sm: 0px 1px 3px hsl(220 25% 10% / 0.06), 0px 1px 2px hsl(220 25% 10% / 0.04);
  --shadow: 0px 2px 4px hsl(220 25% 10% / 0.06), 0px 1px 2px hsl(220 25% 10% / 0.04);
  --shadow-md: 0px 4px 8px hsl(220 25% 10% / 0.06), 0px 2px 4px hsl(220 25% 10% / 0.04);
  --shadow-lg: 0px 8px 16px hsl(220 25% 10% / 0.08), 0px 4px 8px hsl(220 25% 10% / 0.04);
  --shadow-xl: 0px 12px 24px hsl(220 25% 10% / 0.10), 0px 8px 12px hsl(220 25% 10% / 0.04);
  --shadow-2xl: 0px 20px 40px hsl(220 25% 10% / 0.12);
  --tracking-normal: 0em;
  --spacing: 0.25rem;
  /* Shared composition rhythm. Product layouts consume these semantic values
     instead of recreating card padding, block gaps and section boundaries. */
  --avds-space-cluster: 0.5rem;
  --avds-space-content: 0.75rem;
  --avds-space-card: 0.75rem;
  --avds-space-section: 1.5rem;
  --avds-surface-padding: 1rem;
  --avds-surface-padding-compact: 0.75rem;
  --avds-boundary-width: 1px;
  --avds-boundary-color: hsl(var(--border));
  --avds-boundary-gap: 1rem;
  --avds-mobile-page-gutter: 0.75rem;
  --avds-mobile-section-gap: 1.25rem;
  --avds-mobile-row-padding: 0.75rem;
  --avds-mobile-matrix-gap: 1px;
  --avds-mobile-touch-target: 2.75rem;
  --avds-mobile-font-size-label: 0.75rem;
  --avds-mobile-font-size-body: 0.875rem;
  --avds-mobile-line-height-min: 1.35;
  --avds-mobile-title-max: 2.5rem;
  --avds-mobile-compact-container: 22rem;

  --sidebar-primary-border: hsl(var(--sidebar-primary));
  --sidebar-primary-border: hsl(from hsl(var(--sidebar-primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --sidebar-accent-border: hsl(var(--sidebar-accent));
  --sidebar-accent-border: hsl(from hsl(var(--sidebar-accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --primary-border: hsl(var(--primary));
  --primary-border: hsl(from hsl(var(--primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --secondary-border: hsl(var(--secondary));
  --secondary-border: hsl(from hsl(var(--secondary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --muted-border: hsl(var(--muted));
  --muted-border: hsl(from hsl(var(--muted)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --accent-border: hsl(var(--accent));
  --accent-border: hsl(from hsl(var(--accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --destructive-border: hsl(var(--destructive));
  --destructive-border: hsl(from hsl(var(--destructive)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
}

@media (min-width: 640px) {
  html {
    /* `:root` is retained as the generator source. These responsive values
       use important so the lower-specificity `html` selector wins at runtime
       without creating a second `:root` block that breaks native exports. */
    --avds-space-card: 1rem !important;
    --avds-space-section: 2rem !important;
    --avds-surface-padding: 1.25rem !important;
    --avds-boundary-gap: 1.25rem !important;
  }
}

/* Framework-neutral spacing and boundary primitives. A junction has exactly
   one owner: either the previous block's bottom edge or the stack separator. */
.avds-section-stack {
  display: grid;
  gap: var(--avds-space-section);
}

.avds-content-stack {
  display: grid;
  gap: var(--avds-space-content);
}

.avds-card-grid {
  display: grid;
  gap: var(--avds-space-card);
}

:is(.avds-section-stack, .avds-content-stack, .avds-card-grid) > * {
  min-width: 0;
}

.avds-surface-inset {
  padding: var(--avds-surface-padding);
}

.avds-surface-inset-compact {
  padding: var(--avds-surface-padding-compact);
}

.avds-boundary-stack {
  display: grid;
  gap: 0;
}

.avds-boundary-stack > * {
  min-width: 0;
}

.avds-boundary-stack > * + * {
  margin-block-start: var(--avds-boundary-gap);
  padding-block-start: var(--avds-boundary-gap);
  border-block-start: var(--avds-boundary-width) solid var(--avds-boundary-color);
}

.avds-divider {
  inline-size: 100%;
  block-size: 0;
  margin-block: var(--avds-boundary-gap);
  border: 0;
  border-block-start: var(--avds-boundary-width) solid var(--avds-boundary-color);
}

/* AVDS 4.8 responsive primitives adapt to their containing surface, not only
   the viewport. This keeps the same component readable in sidebars/dialogs. */
.avds-metric-grid-container,
.avds-data-table,
.avds-bar-chart,
.avds-filter-chip-row,
.avds-page-header,
.avds-admin-shell {
  container-type: inline-size;
}

.avds-metric-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--avds-mobile-matrix-gap);
}

.avds-metric-grid > * {
  min-width: 0;
}

.avds-metric-grid > [data-prominence="primary"] {
  grid-column: 1 / -1;
}

.avds-filter-chip-row {
  position: relative;
  min-width: 0;
}

.avds-filter-chip-scroller {
  display: flex;
  gap: 0.5rem;
  min-width: 0;
}

.avds-filter-chip-row[data-mobile-behavior="scroll"] .avds-filter-chip-scroller {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  padding-block-end: 0.25rem;
}

.avds-filter-chip-row[data-mobile-behavior="scroll"]::after,
.avds-admin-mobile-nav::after {
  position: sticky;
  inset-inline-end: 0;
  display: block;
  width: 1.5rem;
  min-width: 1.5rem;
  margin-inline-start: auto;
  background: linear-gradient(to right, transparent, hsl(var(--background)));
  content: "";
  pointer-events: none;
}

.avds-filter-chip-row[data-mobile-behavior="wrap"] .avds-filter-chip-scroller {
  flex-wrap: wrap;
}

.avds-bar-chart-list {
  display: none;
  margin: 0;
}

.avds-bar-chart-list-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  min-height: var(--avds-mobile-touch-target);
  border-block-end: 1px solid hsl(var(--border) / 0.7);
  font-size: var(--avds-mobile-font-size-body);
  line-height: var(--avds-mobile-line-height-min);
}

.avds-bar-chart-list-row dd {
  margin: 0;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

@container (max-width: 351px) {
  .avds-metric-grid .avds-metric-card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    min-height: var(--avds-mobile-touch-target);
    padding-block: 0.625rem;
  }

  .avds-metric-grid .avds-metric-card [data-slot="value"] {
    grid-column: 2;
    grid-row: 1 / span 2;
    text-align: end;
  }

  .avds-metric-grid .avds-metric-card [data-slot="subtext"] {
    grid-column: 1;
  }

  .avds-bar-chart[data-compact-mode="auto-list"] .avds-bar-chart-plot,
  .avds-bar-chart[data-compact-mode="auto-list"] .avds-bar-chart-labels,
  .avds-bar-chart[data-compact-mode="list"] .avds-bar-chart-plot,
  .avds-bar-chart[data-compact-mode="list"] .avds-bar-chart-labels {
    display: none;
  }

  .avds-bar-chart[data-compact-mode="auto-list"] .avds-bar-chart-list,
  .avds-bar-chart[data-compact-mode="list"] .avds-bar-chart-list {
    display: block;
  }

  .avds-page-header :is(button, [role="button"], [role="tab"]),
  .avds-admin-shell :is(button, input, select, textarea, [role="button"], [role="tab"], [role="menuitem"]) {
    min-inline-size: var(--avds-mobile-touch-target);
    min-block-size: var(--avds-mobile-touch-target);
    font-size: var(--avds-mobile-font-size-body);
    line-height: var(--avds-mobile-line-height-min);
  }
}

.avds-admin-shell :where([class*="text-[9px]"], [class*="text-[10px]"], [class*="text-[11px]"]) {
  font-size: var(--avds-mobile-font-size-label) !important;
  line-height: var(--avds-mobile-line-height-min) !important;
}

.avds-page-header [data-slot="meta"] :where(*) {
  font-size: max(var(--avds-mobile-font-size-label), 1em);
  line-height: var(--avds-mobile-line-height-min);
}

@container (min-width: 352px) {
  .avds-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@container (min-width: 720px) {
  .avds-metric-grid {
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  }

  .avds-filter-chip-row[data-mobile-behavior="scroll"] .avds-filter-chip-scroller {
    flex-wrap: wrap;
    overflow-x: visible;
  }

  .avds-filter-chip-row[data-mobile-behavior="scroll"]::after {
    display: none;
  }
}

@media (max-width: 430px) {
  [data-avds-component] :where([class*="text-[9px]"], [class*="text-[10px]"], [class*="text-[11px]"]) {
    font-size: var(--avds-mobile-font-size-label) !important;
    line-height: var(--avds-mobile-line-height-min) !important;
  }

  [data-avds-component] :where(.text-xs) {
    line-height: var(--avds-mobile-line-height-min) !important;
  }

  [data-avds-component] :is(button, input, select, textarea, [role="button"], [role="tab"], [role="menuitem"]) {
    min-inline-size: var(--avds-mobile-touch-target);
    min-block-size: var(--avds-mobile-touch-target);
    font-size: var(--avds-mobile-font-size-body) !important;
    line-height: var(--avds-mobile-line-height-min) !important;
  }

  .avds-page-header :is(button, [role="button"], [role="tab"]),
  .avds-admin-shell :is(button, input, select, textarea, [role="button"], [role="tab"], [role="menuitem"]) {
    min-inline-size: var(--avds-mobile-touch-target);
    min-block-size: var(--avds-mobile-touch-target);
    font-size: var(--avds-mobile-font-size-body);
    line-height: var(--avds-mobile-line-height-min);
  }
}

:is([data-avds-boundary~="bottom"], .avds-boundary-bottom)
  + :is(hr, [role="separator"]:not([aria-orientation="vertical"]), [data-avds-divider], .avds-divider),
.avds-boundary-stack > :is([data-avds-boundary~="bottom"], .avds-boundary-bottom) + * {
  border-block-start-width: 0;
}

.theme-golden-paper {
  --background: 40 38% 95%;
  --foreground: 28 28% 18%;
  --border: 34 24% 82%;
  --card: 42 42% 97%;
  --card-foreground: 28 28% 18%;
  --card-border: 34 22% 86%;
  --sidebar: 40 40% 93%;
  --sidebar-foreground: 28 28% 18%;
  --sidebar-border: 34 24% 84%;
  --sidebar-primary: 24 62% 38%;
  --sidebar-primary-foreground: 42 60% 97%;
  --sidebar-accent: 38 30% 88%;
  --sidebar-accent-foreground: 28 28% 18%;
  --sidebar-ring: 24 62% 38%;
  --popover: 42 42% 96%;
  --popover-foreground: 28 28% 18%;
  --popover-border: 34 22% 84%;
  --primary: 24 62% 38%;
  --primary-foreground: 42 60% 97%;
  --secondary: 40 28% 89%;
  --secondary-foreground: 28 28% 18%;
  --muted: 38 24% 90%;
  --muted-foreground: 28 16% 40%;
  --accent: 46 34% 86%;
  --accent-foreground: 28 28% 18%;
  --input: 34 20% 74%;
  --ring: 24 62% 38%;
  --chart-1: 24 62% 38%;
  --chart-2: 142 36% 36%;
  --chart-3: 42 74% 48%;
  --chart-4: 12 58% 52%;
  --chart-5: 348 54% 48%;
  --font-sans: 'Inter', 'IBM Plex Sans', 'Onest', 'Helvetica Neue', Arial, sans-serif;
  --font-serif: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
  --font-display: 'IBM Plex Serif', 'IBM Plex Sans', Georgia, serif;
  --font-micro: 'Inter', 'IBM Plex Sans', 'Onest', 'Helvetica Neue', Arial, sans-serif;
}

.theme-institutional {
  --background: 210 30% 96%;
  --foreground: 218 34% 16%;
  --border: 214 24% 85%;
  --card: 0 0% 100%;
  --card-foreground: 218 34% 16%;
  --card-border: 214 22% 88%;
  --sidebar: 210 28% 94%;
  --sidebar-foreground: 218 34% 16%;
  --sidebar-border: 214 24% 86%;
  --sidebar-primary: 221 68% 36%;
  --sidebar-primary-foreground: 210 40% 98%;
  --sidebar-accent: 210 22% 89%;
  --sidebar-accent-foreground: 218 34% 16%;
  --sidebar-ring: 221 68% 36%;
  --popover: 0 0% 100%;
  --popover-foreground: 218 34% 16%;
  --popover-border: 214 22% 88%;
  --primary: 221 68% 36%;
  --primary-foreground: 210 40% 98%;
  --secondary: 212 28% 90%;
  --secondary-foreground: 218 34% 16%;
  --muted: 212 22% 91%;
  --muted-foreground: 217 16% 42%;
  --accent: 206 36% 88%;
  --accent-foreground: 218 34% 16%;
  --input: 214 18% 76%;
  --ring: 221 68% 36%;
  --chart-1: 221 68% 36%;
  --chart-2: 191 62% 34%;
  --chart-3: 36 78% 46%;
  --chart-4: 268 42% 48%;
  --chart-5: 352 60% 46%;
  --font-sans: 'IBM Plex Sans', 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --font-serif: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
  --font-display: 'IBM Plex Sans', 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --font-micro: 'Inter', 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
}

.theme-cyber-dark {
  --button-outline: rgba(125,211,252, .16);
  --badge-outline: rgba(125,211,252, .10);
  --opaque-button-border-intensity: 10;
  --elevate-1: rgba(125,211,252, .05);
  --elevate-2: rgba(125,211,252, .11);
  --background: 222 34% 9%;
  --foreground: 193 72% 92%;
  --border: 217 26% 18%;
  --card: 223 30% 11%;
  --card-foreground: 193 72% 92%;
  --card-border: 217 24% 16%;
  --sidebar: 223 30% 12%;
  --sidebar-foreground: 193 72% 92%;
  --sidebar-border: 217 24% 16%;
  --sidebar-primary: 191 87% 46%;
  --sidebar-primary-foreground: 222 34% 9%;
  --sidebar-accent: 218 24% 18%;
  --sidebar-accent-foreground: 193 72% 92%;
  --sidebar-ring: 191 87% 46%;
  --popover: 223 30% 12%;
  --popover-foreground: 193 72% 92%;
  --popover-border: 217 24% 18%;
  --primary: 191 87% 46%;
  --primary-foreground: 222 34% 9%;
  --secondary: 218 24% 20%;
  --secondary-foreground: 193 72% 92%;
  --muted: 218 22% 22%;
  --muted-foreground: 194 26% 66%;
  --accent: 214 22% 18%;
  --accent-foreground: 193 72% 92%;
  --input: 218 20% 28%;
  --ring: 191 87% 46%;
  --chart-1: 191 87% 46%;
  --chart-2: 164 78% 42%;
  --chart-3: 43 92% 56%;
  --chart-4: 272 84% 72%;
  --chart-5: 350 85% 60%;
  --font-sans: 'IBM Plex Sans', 'Onest', 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --font-serif: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
  --font-display: 'Onest', 'IBM Plex Sans', 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --font-micro: 'Onest', 'Inter', 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
}

/* DARK MODE */
.dark {
  --button-outline: rgba(255,255,255, .10);
  --badge-outline: rgba(255,255,255, .05);
  --opaque-button-border-intensity: 9;
  --elevate-1: rgba(255,255,255, .04);
  --elevate-2: rgba(255,255,255, .09);
  --background: 220 18% 8%;
  --foreground: 216 12% 92%;
  --border: 220 12% 18%;
  --card: 220 16% 10%;
  --card-foreground: 216 12% 92%;
  --card-border: 220 12% 14%;
  --sidebar: 220 18% 11%;
  --sidebar-foreground: 216 12% 92%;
  --sidebar-border: 220 12% 16%;
  --sidebar-primary: 210 65% 55%;
  --sidebar-primary-foreground: 0 0% 99%;
  --sidebar-accent: 220 12% 18%;
  --sidebar-accent-foreground: 216 12% 92%;
  --sidebar-ring: 210 65% 55%;
  --popover: 220 16% 13%;
  --popover-foreground: 216 12% 92%;
  --popover-border: 220 12% 18%;
  --primary: 210 65% 55%;
  --primary-foreground: 220 25% 10%;
  --secondary: 220 12% 20%;
  --secondary-foreground: 216 12% 92%;
  --muted: 220 10% 22%;
  --muted-foreground: 216 8% 55%;
  --accent: 210 12% 19%;
  --accent-foreground: 216 12% 92%;
  --destructive: 0 72% 48%;
  --destructive-foreground: 0 0% 99%;
  --input: 220 12% 28%;
  --ring: 210 65% 55%;
  --chart-1: 210 65% 60%;
  --chart-2: 170 50% 50%;
  --chart-3: 38 70% 58%;
  --chart-4: 280 50% 62%;
  --chart-5: 0 60% 58%;
  --status-success-text: 170 55% 62%;
  --status-attention-text: 38 78% 67%;
  --font-sans: 'IBM Plex Sans', 'Inter', 'Onest', 'Helvetica Neue', Arial, sans-serif;
  --font-serif: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
  --font-mono: 'IBM Plex Mono', 'JetBrains Mono', 'Fira Code', Menlo, monospace;
  --font-display: 'IBM Plex Sans', 'Inter', 'Onest', 'Helvetica Neue', Arial, sans-serif;
  --font-micro: 'Inter', 'IBM Plex Sans', 'Onest', 'Helvetica Neue', Arial, sans-serif;
  --shadow-2xs: 0px 1px 1px hsl(0 0% 0% / 0.15);
  --shadow-xs: 0px 1px 2px hsl(0 0% 0% / 0.20);
  --shadow-sm: 0px 1px 3px hsl(0 0% 0% / 0.25), 0px 1px 2px hsl(0 0% 0% / 0.15);
  --shadow: 0px 2px 4px hsl(0 0% 0% / 0.25), 0px 1px 2px hsl(0 0% 0% / 0.15);
  --shadow-md: 0px 4px 8px hsl(0 0% 0% / 0.25), 0px 2px 4px hsl(0 0% 0% / 0.15);
  --shadow-lg: 0px 8px 16px hsl(0 0% 0% / 0.30), 0px 4px 8px hsl(0 0% 0% / 0.15);
  --shadow-xl: 0px 12px 24px hsl(0 0% 0% / 0.35), 0px 8px 12px hsl(0 0% 0% / 0.15);
  --shadow-2xl: 0px 20px 40px hsl(0 0% 0% / 0.40);

  --sidebar-primary-border: hsl(var(--sidebar-primary));
  --sidebar-primary-border: hsl(from hsl(var(--sidebar-primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --sidebar-accent-border: hsl(var(--sidebar-accent));
  --sidebar-accent-border: hsl(from hsl(var(--sidebar-accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --primary-border: hsl(var(--primary));
  --primary-border: hsl(from hsl(var(--primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --secondary-border: hsl(var(--secondary));
  --secondary-border: hsl(from hsl(var(--secondary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --muted-border: hsl(var(--muted));
  --muted-border: hsl(from hsl(var(--muted)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --accent-border: hsl(var(--accent));
  --accent-border: hsl(from hsl(var(--accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --destructive-border: hsl(var(--destructive));
  --destructive-border: hsl(from hsl(var(--destructive)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
}

/*
 * AVDS consumer primitives for server-rendered and non-React products.
 * Import variables.css first. The class contract deliberately keeps actions,
 * process steps and readiness evidence as rows and rules, not card mosaics.
 */

.avds-action-list,
.avds-workflow-steps,
.avds-readiness-gate {
  color: hsl(var(--foreground));
  font-family: var(--font-sans);
}

.avds-action-list {
  margin: 0;
  padding: 0;
  border-block: 1px solid hsl(var(--border));
  list-style: none;
}

.avds-action-list > li + li {
  border-top: 1px solid hsl(var(--border) / 0.7);
}

.avds-action-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: start;
  min-height: var(--avds-mobile-touch-target);
  padding: 0.75rem 0;
  color: inherit;
  text-align: start;
  text-decoration: none;
}

button.avds-action-row {
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
}

a.avds-action-row:hover,
button.avds-action-row:hover {
  background: hsl(var(--muted) / 0.35);
}

.avds-action-row:focus-visible,
.avds-workflow-step:focus-visible,
.avds-readiness-action:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

.avds-action-title,
.avds-workflow-title {
  color: hsl(var(--foreground));
  font-weight: 600;
}

.avds-action-description,
.avds-action-meta,
.avds-workflow-description,
.avds-readiness-summary,
.avds-readiness-evidence dt {
  color: hsl(var(--muted-foreground));
}

.avds-action-description,
.avds-workflow-description,
.avds-readiness-summary {
  display: block;
  margin: 0.25rem 0 0;
  font-size: 0.875rem;
  line-height: 1.5;
}

.avds-action-meta {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1.45;
}

.avds-action-status,
.avds-workflow-status,
.avds-readiness-status {
  font-size: 0.8125rem;
  font-weight: 600;
}

.avds-action-status[data-state="attention"],
.avds-workflow-status[data-state="attention"],
.avds-readiness-status[data-state="attention"] {
  color: hsl(var(--chart-3));
}

.avds-action-status[data-state="complete"],
.avds-workflow-status[data-state="complete"],
.avds-readiness-status[data-state="ready"] {
  color: hsl(var(--chart-2));
}

.avds-readiness-status[data-state="blocked"] {
  color: hsl(var(--destructive));
}

.avds-workflow-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid hsl(var(--border));
  list-style: none;
}

.avds-workflow-step {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr) auto;
  gap: 0.625rem;
  min-width: 0;
  min-height: var(--avds-mobile-touch-target);
  padding: 0.875rem 0.75rem;
  color: inherit;
  border: 0;
  border-bottom: 1px solid hsl(var(--border));
  background: transparent;
  font: inherit;
  text-align: start;
  text-decoration: none;
}

.avds-workflow-step:first-child {
  padding-inline-start: 0;
}

.avds-workflow-step:last-child {
  padding-inline-end: 0;
}

.avds-workflow-step:hover:not([aria-disabled="true"]),
.avds-workflow-step[data-active="true"] {
  background: hsl(var(--muted) / 0.25);
}

.avds-workflow-marker {
  display: grid;
  width: 1.25rem;
  height: 1.25rem;
  place-items: center;
  color: hsl(var(--muted-foreground));
  border: 1px solid hsl(var(--border));
  background: hsl(var(--background));
  font-size: 0.625rem;
  font-weight: 600;
}

.avds-workflow-step[data-state="complete"] .avds-workflow-marker {
  border-color: hsl(var(--chart-2) / 0.55);
  background: hsl(var(--chart-2) / 0.1);
  color: hsl(var(--foreground));
}

.avds-workflow-step[data-state="current"] .avds-workflow-marker {
  border-color: hsl(var(--primary));
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
}

.avds-workflow-step[data-state="attention"] .avds-workflow-marker {
  border-color: hsl(var(--chart-3) / 0.65);
  background: hsl(var(--chart-3) / 0.1);
  color: hsl(var(--foreground));
}

.avds-readiness-gate {
  padding-block: 1rem;
  border-block: 1px solid hsl(var(--border));
}

.avds-readiness-header {
  display: flex;
  gap: 1rem;
  align-items: start;
  justify-content: space-between;
}

.avds-readiness-title {
  margin: 0;
  color: hsl(var(--foreground));
  font-size: 1rem;
}

.avds-readiness-progress {
  margin-top: 1rem;
}

.avds-readiness-progress-label {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  color: hsl(var(--muted-foreground));
  font-size: 0.875rem;
}

.avds-readiness-progress-track {
  height: 0.25rem;
  margin-top: 0.5rem;
  overflow: hidden;
  background: hsl(var(--muted));
}

.avds-readiness-progress-value {
  height: 100%;
  background: hsl(var(--primary));
}

.avds-readiness-progress-value[data-state="ready"] { background: hsl(var(--chart-2)); }
.avds-readiness-progress-value[data-state="attention"] { background: hsl(var(--chart-3)); }
.avds-readiness-progress-value[data-state="blocked"] { background: hsl(var(--destructive)); }

.avds-readiness-evidence {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 0.5rem 1rem;
  margin: 1rem 0 0;
  padding-top: 0.75rem;
  border-top: 1px solid hsl(var(--border) / 0.7);
  font-size: 0.875rem;
}

.avds-readiness-evidence dd {
  min-width: 0;
  margin: 0;
}

.avds-readiness-evidence a,
.avds-readiness-action {
  color: hsl(var(--primary));
  font-weight: 500;
}

.avds-readiness-action {
  display: inline-block;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid hsl(var(--border) / 0.7);
  text-decoration: none;
}

@media (max-width: 767px) {
  .avds-workflow-steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .avds-workflow-step,
  .avds-workflow-step:first-child,
  .avds-workflow-step:last-child {
    padding-inline: 0;
  }

  .avds-readiness-header {
    display: grid;
  }

  .avds-readiness-evidence {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.25rem;
  }

  .avds-readiness-evidence dd {
    margin-bottom: 0.5rem;
  }
}
