﻿/**
 * DATAHUB — Design systém gov.cz (Roboto, JVS barvy).
 * Tmavý motiv: data-theme="dark" / data-palette="minimal".
 * Světlý motiv: data-theme="light" / data-palette="light".
 */

:root {
  color-scheme: dark;
  --accent: var(--color-primary-300);
  --accent-deep: var(--color-primary-900);
  --green: var(--color-error-200);
  --yellow: var(--color-neutral-400);
  --cyan: var(--color-primary-500);
  --bg: var(--color-primary-1050);
  --panel: var(--color-primary-1050);
  --bg-elevated: var(--panel);
  --surface: var(--panel);
  --surface-2: var(--panel);
  --text: var(--text-primary);
  --muted: var(--text-tertiary);
  --line: color-mix(in srgb, var(--color-neutral-0) 8%, transparent);
  --font: var(--font-family);
  --font-display: var(--font);
  --radius: var(--corner-radius-m);
  --radius-sm: var(--corner-radius-s);
  --maxw: 76rem;
  --frame-border: var(--border-subtle);
  --banner-fill: var(--color-primary-950);
  --wordmark-green: var(--color-error-200);
  --wordmark-accent: var(--color-primary-300);
  --digi-val-muted: var(--color-primary-300);
  --digi-val-accent: var(--color-primary-300);
  --digi-bar-muted: var(--color-primary-300);
  --digi-bar-accent: var(--color-primary-300);
  --eyebrow-fg: color-mix(in srgb, var(--color-neutral-0) 55%, transparent);
  --header-sub: color-mix(in srgb, var(--color-neutral-0) 90%, transparent);
  --header-lead: color-mix(in srgb, var(--color-neutral-0) 68%, transparent);
  --body-muted: color-mix(in srgb, var(--color-neutral-0) 82%, transparent);
  --kpi-prose: color-mix(in srgb, var(--color-neutral-0) 72%, transparent);
  --kpi-prose-mute: color-mix(in srgb, var(--color-neutral-0) 48%, transparent);
  --kanaly-sub: color-mix(in srgb, var(--color-neutral-0) 95%, transparent);
  --digi-tick: var(--color-primary-300);
  --zap-li-fg: color-mix(in srgb, var(--color-neutral-0) 78%, transparent);
}

/* Světlý motiv — tokeny gov design systemu */
html[data-palette="light"],
html[data-theme="light"] {
  color-scheme: light;
  --accent: var(--color-primary-700);
  --frame-border: var(--border-subtle);
  --banner-fill: var(--color-primary-200);
  --bg: var(--color-neutral-50);
  --bg-elevated: var(--color-neutral-0);
  --surface: var(--color-neutral-0);
  --surface-2: var(--color-neutral-100);
  --text: var(--color-neutral-950);
  --muted: var(--color-neutral-600);
  --line: color-mix(in srgb, var(--color-neutral-950) 10%, transparent);
  --green: var(--color-error-900);
  --wordmark-green: var(--color-error-900);
  --wordmark-accent: var(--color-primary-700);
  --eyebrow-fg: var(--color-neutral-500);
  --header-sub: var(--text-primary);
  --header-lead: var(--text-secondary);
  --body-muted: var(--text-secondary);
  --kpi-prose: var(--text-secondary);
  --kpi-prose-mute: var(--color-neutral-400);
  --kanaly-sub: var(--text-primary);
  --digi-tick: var(--color-primary-700);
  --digi-val-muted: var(--color-primary-700);
  --digi-val-accent: var(--color-primary-700);
  --digi-bar-muted: var(--color-primary-700);
  --digi-bar-accent: var(--color-primary-700);
  --zap-li-fg: var(--text-secondary);
}

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

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font);
  font-size: var(--font-size-body-m);
  line-height: 1.5;
  color: var(--text);
  background: var(--bg);
  position: relative;
}

/* Pozadí: mesh + šum (výchozí = tmavý Minimal). Nižší krytí = základ #03070F vizuálně „drží“ silněji. */
.bg-mesh {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 0;
  background: radial-gradient(ellipse 100% 80% at 50% -20%, color-mix(in srgb, var(--color-primary-700) 3.5%, transparent), transparent 55%),
    radial-gradient(ellipse 70% 50% at 100% 0%, color-mix(in srgb, var(--color-error-200) 3.5%, transparent), transparent 50%),
    var(--bg);
}

html[data-palette="light"] .bg-mesh {
  background: var(--bg);
}

.bg-noise {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 0;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.skip-link {
  position: absolute;
  left: -9999px;
  z-index: 999;
  padding: var(--spacing-s) var(--spacing-m);
  background: var(--accent-deep);
  color: var(--color-neutral-0);
  text-decoration: none;
  border-radius: var(--radius-sm);
  font-weight: 500;
}

.skip-link:focus-visible {
  left: var(--spacing-m);
  top: var(--spacing-m);
  outline: 2px solid var(--status-focus);
  outline-offset: 2px;
}

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

.site-container,
gov-container.site-container {
  --container-width: var(--maxw);
  --container-padding-top: 0;
  --container-padding-bottom: 0;
  --container-padding-horizontal: clamp(var(--spacing-m), 3vw, var(--spacing-xl));
  position: relative;
  z-index: 1;
}

main .site-container {
  padding-bottom: var(--spacing-4xl);
}

/* ——— Záhlaví: zaoblený banner (tmavý #0A2450, světlý #CEE3F4) ——— */
.site-header {
  position: relative;
  z-index: 1;
  padding: var(--spacing-m) 0 var(--spacing-l);
  margin-bottom: var(--spacing-l);
  background: transparent;
  border: none;
  box-shadow: none;
  overflow: visible;
}

.site-header__banner {
  position: relative;
  overflow: hidden;
  padding: var(--spacing-l) var(--spacing-m-nudge) var(--spacing-l);
  background: var(--banner-fill);
  border-radius: var(--corner-radius-m-nudge);
}

.site-header__banner::before {
  display: none;
}

/* Stripes vzor z gov.cz design systému (gov-banner[background=stripes]) */
.site-header__banner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQ0MCIgaGVpZ2h0PSIzOTAiIHZpZXdCb3g9IjAgMCAxNDQwIDM5MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0tMTQzLjA5MiA5NjAuNjM3Qy0xNzEuNzA3IDk0OC43NjUgLTE4NS4yOCA5MTUuOTQ0IC0xNzMuNDA4IDg4Ny4zMjhMMTA1LjQ3NiAyMTUuMTVDMTE3LjM0OCAxODYuNTM1IDE1MC4xNjkgMTcyLjk2MyAxNzguNzg1IDE4NC44MzVDMjA3LjQgMTk2LjcwNyAyMjAuOTcyIDIyOS41MjkgMjA5LjEgMjU4LjE0NEwtNjkuNzgzNCA5MzAuMzIyQy04MS42NTU2IDk1OC45MzcgLTExNC40NzcgOTcyLjUwOSAtMTQzLjA5MiA5NjAuNjM3WiIgZmlsbD0idXJsKCNhKSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMzk3LjQ3MiA4NjMuODI2QzMxNC40NjUgODI5LjM4NyAyNzUuMDkyIDczNC4xNzggMzA5LjUzMiA2NTEuMTdMNjkyLjkzNCAtMjcyLjkyM0M3MjcuMzczIC0zNTUuOTMgODIyLjU4MiAtMzk1LjMwMyA5MDUuNTkgLTM2MC44NjNDOTg4LjU5NyAtMzI2LjQyNCAxMDI3Ljk3IC0yMzEuMjE1IDk5My41MyAtMTQ4LjIwN0w2MTAuMTI4IDc3NS44ODZDNTc1LjY4OSA4NTguODkzIDQ4MC40NzkgODk4LjI2NiAzOTcuNDcyIDg2My44MjZaIiBmaWxsPSJ1cmwoI2IpIiBmaWxsLW9wYWNpdHk9IjAuMDQiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03NTguODg0IDQ4MC4zMTVDNjk0Ljc5NiA0NTMuNzI1IDY2NC4zOTcgMzgwLjIxNSA2OTAuOTg3IDMxNi4xMjdMODUzLjc5NSAtNzYuMjc5NkM4ODAuMzg1IC0xNDAuMzY4IDk1My44OTQgLTE3MC43NjYgMTAxNy45OCAtMTQ0LjE3NkMxMDgyLjA3IC0xMTcuNTg2IDExMTIuNDcgLTQ0LjA3NzIgMTA4NS44OCAyMC4wMTExTDkyMy4wNzEgNDEyLjQxOEM4OTYuNDgxIDQ3Ni41MDYgODIyLjk3MiA1MDYuOTA0IDc1OC44ODQgNDgwLjMxNVoiIGZpbGw9InVybCgjYykiIGZpbGwtb3BhY2l0eT0iMC4wNCIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEwMjQuNzcgMjI5LjU4N0MxMDIyLjg3IDIzMC4zNyAxMDIxLjk3IDIzMi41MzkgMTAyMi43NiAyMzQuNDMxQzEwMjMuNTQgMjM2LjMyNCAxMDI1LjcxIDIzNy4yMjQgMTAyNy42IDIzNi40NDFDMTAyOS40OSAyMzUuNjU5IDEwMzAuMzkgMjMzLjQ5IDEwMjkuNjEgMjMxLjU5N0MxMDI4LjgzIDIyOS43MDQgMTAyNi42NiAyMjguODA0IDEwMjQuNzcgMjI5LjU4N1pNOTUzLjM1MyAyNjMuMTMxQzkzNi43MiAyMjIuOTA5IDk1NS44NDMgMTc2LjgxOCA5OTYuMDY1IDE2MC4xODVDMTAzNi4yOSAxNDMuNTUyIDEwODIuMzggMTYyLjY3NSAxMDk5LjAxIDIwMi44OTdDMTExNS42NCAyNDMuMTE5IDEwOTYuNTIgMjg5LjIxIDEwNTYuMyAzMDUuODQzQzEwMTYuMDggMzIyLjQ3NiA5NjkuOTg3IDMwMy4zNTQgOTUzLjM1MyAyNjMuMTMxWiIgZmlsbD0idXJsKCNkKSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNODcxLjI0MiAzOTkuNDEzQzg2MS41NDYgMzk1LjM5MSA4NTYuOTQ3IDM4NC4yNjkgODYwLjk3IDM3NC41NzNMMTAyNS43OSAtMjIuNjc4QzEwMjkuODEgLTMyLjM3NCAxMDQwLjkzIC0zNi45NzMgMTA1MC42MyAtMzIuOTUwMkMxMDYwLjMyIC0yOC45MjczIDEwNjQuOTIgLTE3LjgwNiAxMDYwLjkgLTguMTFMODk2LjA4MiAzODkuMTQxQzg5Mi4wNTkgMzk4LjgzNyA4ODAuOTM4IDQwMy40MzYgODcxLjI0MiAzOTkuNDEzWiIgZmlsbD0idXJsKCNlKSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTA2Ni4xOSAyNTEuMjA1QzEwNjQuNzcgMjUwLjYxNiAxMDY0LjA5IDI0OC45ODkgMTA2NC42OCAyNDcuNTdMMTE2MS42NiAxMy44MjEzQzExNjIuMjUgMTIuNDAyNCAxMTYzLjg4IDExLjcyOTQgMTE2NS4zIDEyLjMxODFDMTE2Ni43MiAxMi45MDY4IDExNjcuMzkgMTQuNTM0MyAxMTY2LjggMTUuOTUzMkwxMDY5LjgyIDI0OS43MDJDMTA2OS4yMyAyNTEuMTIxIDEwNjcuNjEgMjUxLjc5NCAxMDY2LjE5IDI1MS4yMDVaIiBmaWxsPSJ1cmwoI2YpIiBmaWxsLW9wYWNpdHk9IjAuMDUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04OTIuNzYyIDE2Mi43MzlDODkxLjEwNyAxNjIuMDUzIDg5MC4zMjEgMTYwLjE1NCA4OTEuMDA4IDE1OC40OThMMTA1NS44MyAtMjM4Ljc1M0MxMDU2LjUxIC0yNDAuNDA4IDEwNTguNDEgLTI0MS4xOTMgMTA2MC4wNyAtMjQwLjUwNkMxMDYxLjcyIC0yMzkuODIgMTA2Mi41MSAtMjM3LjkyMSAxMDYxLjgyIC0yMzYuMjY2TDg5Ny4wMDMgMTYwLjk4NkM4OTYuMzE2IDE2Mi42NDEgODk0LjQxNyAxNjMuNDI2IDg5Mi43NjIgMTYyLjczOVoiIGZpbGw9InVybCgjZykiIGZpbGwtb3BhY2l0eT0iMC4wNSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTg2NC41NjggNDMyLjU1MkM4MzUuOTUzIDQyMC42OCA4MjIuMzggMzg3Ljg1OSA4MzQuMjUyIDM1OS4yNDRMOTk5LjA3IC0zOC4wMDc3QzEwMTAuOTQgLTY2LjYyMjcgMTA0My43NiAtODAuMTk1NCAxMDcyLjM4IC02OC4zMjMxQzExMDAuOTkgLTU2LjQ1MDkgMTExNC41NyAtMjMuNjI5NSAxMTAyLjY5IDQuOTg1NThMOTM3Ljg3NyA0MDIuMjM3QzkyNi4wMDUgNDMwLjg1MiA4OTMuMTgzIDQ0NC40MjUgODY0LjU2OCA0MzIuNTUyWiIgZmlsbD0idXJsKCNoKSIgZmlsbC1vcGFjaXR5PSIwLjAyIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNLTE5Mi41MjggOTQzLjgyNkMtMjc1LjUzNSA5MDkuMzg3IC0zMTQuOTA4IDgxNC4xNzggLTI4MC40NjggNzMxLjE3TDEwMi45MzQgLTE5Mi45MjNDMTM3LjM3MyAtMjc1LjkzIDIzMi41ODIgLTMxNS4zMDMgMzE1LjU5IC0yODAuODYzQzM5OC41OTcgLTI0Ni40MjQgNDM3Ljk2OSAtMTUxLjIxNSA0MDMuNTMgLTY4LjIwNzJMMjAuMTI3OSA4NTUuODg2Qy0xNC4zMTE0IDkzOC44OTMgLTEwOS41MjEgOTc4LjI2NiAtMTkyLjUyOCA5NDMuODI2WiIgZmlsbD0idXJsKCNpKSIgZmlsbC1vcGFjaXR5PSIwLjA0Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTA5LjE4OCA3MTIuNTk2QzQ1LjAyMTIgNjg2LjE5NSAxNC40MDU3IDYxMi43NzYgNDAuODA2MiA1NDguNjA5TDI5My42NTMgLTY1LjkzNjRDMzIwLjA1MyAtMTMwLjEwMyAzOTMuNDcyIC0xNjAuNzE4IDQ1Ny42MzkgLTEzNC4zMThDNTIxLjgwNiAtMTA3LjkxOCA1NTIuNDIxIC0zNC40OTg0IDUyNi4wMjEgMjkuNjY4MUwyNzMuMTc0IDY0NC4yMTRDMjQ2Ljc3MyA3MDguMzgxIDE3My4zNTQgNzM4Ljk5NiAxMDkuMTg4IDcxMi41OTZaIiBmaWxsPSJ1cmwoI2opIiBmaWxsLW9wYWNpdHk9IjAuMDUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MzQuNzY1IDMwOS41ODdDNDMyLjg3MiAzMTAuMzcgNDMxLjk3MyAzMTIuNTM5IDQzMi43NTUgMzE0LjQzMUM0MzMuNTM4IDMxNi4zMjQgNDM1LjcwNyAzMTcuMjI0IDQzNy42IDMxNi40NDFDNDM5LjQ5MyAzMTUuNjU5IDQ0MC4zOTIgMzEzLjQ5IDQzOS42MSAzMTEuNTk3QzQzOC44MjcgMzA5LjcwNCA0MzYuNjU4IDMwOC44MDQgNDM0Ljc2NSAzMDkuNTg3Wk0zNjMuMzUzIDM0My4xMzFDMzQ2LjcyIDMwMi45MDkgMzY1Ljg0MyAyNTYuODE4IDQwNi4wNjUgMjQwLjE4NUM0NDYuMjg4IDIyMy41NTIgNDkyLjM3OCAyNDIuNjc1IDUwOS4wMTIgMjgyLjg5N0M1MjUuNjQ1IDMyMy4xMTkgNTA2LjUyMiAzNjkuMjEgNDY2LjMgMzg1Ljg0M0M0MjYuMDc3IDQwMi40NzYgMzc5Ljk4NyAzODMuMzU0IDM2My4zNTMgMzQzLjEzMVoiIGZpbGw9InVybCgjaykiIGZpbGwtb3BhY2l0eT0iMC4wNCIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTI4MS4yNDIgNDc5LjQxM0MyNzEuNTQ2IDQ3NS4zOTEgMjY2Ljk0NyA0NjQuMjY5IDI3MC45NyA0NTQuNTczTDQzNS43ODcgNTcuMzIyQzQzOS44MSA0Ny42MjYgNDUwLjkzMSA0My4wMjcgNDYwLjYyNyA0Ny4wNDk4QzQ3MC4zMjMgNTEuMDcyNyA0NzQuOTIyIDYyLjE5NCA0NzAuODk5IDcxLjg5TDMwNi4wODIgNDY5LjE0MUMzMDIuMDU5IDQ3OC44MzcgMjkwLjkzOCA0ODMuNDM2IDI4MS4yNDIgNDc5LjQxM1oiIGZpbGw9InVybCgjbCkiIGZpbGwtb3BhY2l0eT0iMC4wNCIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQ3Ni4xODYgMzMxLjIwNUM0NzQuNzY3IDMzMC42MTYgNDc0LjA5NCAzMjguOTg5IDQ3NC42ODMgMzI3LjU3TDU3MS42NjQgOTMuODIxM0M1NzIuMjUzIDkyLjQwMjQgNTczLjg4IDkxLjcyOTQgNTc1LjI5OSA5Mi4zMTgxQzU3Ni43MTggOTIuOTA2OCA1NzcuMzkxIDk0LjUzNDMgNTc2LjgwMyA5NS45NTMyTDQ3OS44MjIgMzI5LjcwMkM0NzkuMjMzIDMzMS4xMjEgNDc3LjYwNSAzMzEuNzk0IDQ3Ni4xODYgMzMxLjIwNVoiIGZpbGw9InVybCgjbSkiIGZpbGwtb3BhY2l0eT0iMC4wNSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMwMi43NjIgMjQyLjczOUMzMDEuMTA3IDI0Mi4wNTMgMzAwLjMyMSAyNDAuMTU0IDMwMS4wMDggMjM4LjQ5OEw0NjUuODI2IC0xNTguNzUzQzQ2Ni41MTMgLTE2MC40MDggNDY4LjQxMSAtMTYxLjE5MyA0NzAuMDY3IC0xNjAuNTA2QzQ3MS43MjIgLTE1OS44MiA0NzIuNTA3IC0xNTcuOTIxIDQ3MS44MjEgLTE1Ni4yNjZMMzA3LjAwMyAyNDAuOTg2QzMwNi4zMTYgMjQyLjY0MSAzMDQuNDE3IDI0My40MjYgMzAyLjc2MiAyNDIuNzM5WiIgZmlsbD0idXJsKCNuKSIgZmlsbC1vcGFjaXR5PSIwLjA1Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjc0LjU2OCA1MTIuNTUyQzI0NS45NTMgNTAwLjY4IDIzMi4zOCA0NjcuODU5IDI0NC4yNTIgNDM5LjI0NEw0MDkuMDcgNDEuOTkyM0M0MjAuOTQyIDEzLjM3NzMgNDUzLjc2NCAtMC4xOTU0MDEgNDgyLjM3OSAxMS42NzY5QzUxMC45OTQgMjMuNTQ5MSA1MjQuNTY3IDU2LjM3MDUgNTEyLjY5NCA4NC45ODU2TDM0Ny44NzcgNDgyLjIzN0MzMzYuMDA1IDUxMC44NTIgMzAzLjE4MyA1MjQuNDI1IDI3NC41NjggNTEyLjU1MloiIGZpbGw9InVybCgjbykiIGZpbGwtb3BhY2l0eT0iMC4wMyIvPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iLTEyMS4xMzQiIHkxPSI5MDkuMDE3IiB4Mj0iMTU3Ljc1IiB5Mj0iMjM2LjgzOSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjMUQ0NTZGIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzkzQkRFNiIvPgo8L2xpbmVhckdyYWRpZW50Pgo8bGluZWFyR3JhZGllbnQgaWQ9ImIiIHgxPSI0NjAuMjkyIiB5MT0iNzEzLjcyIiB4Mj0iODQzLjY5NCIgeTI9Ii0yMTAuMzc0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiMxRDQ1NkYiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjOTNCREU2Ii8+CjwvbGluZWFyR3JhZGllbnQ+CjxsaW5lYXJHcmFkaWVudCBpZD0iYyIgeDE9Ijc0NiIgeTE9IjQ4OCIgeDI9Ijk3MC4yOTkiIHkyPSItMjcuOTQyNiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjMUQ0NTZGIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzkzQkRFNiIvPgo8L2xpbmVhckdyYWRpZW50Pgo8bGluZWFyR3JhZGllbnQgaWQ9ImQiIHgxPSI5ODguMDU0IiB5MT0iMjQ4Ljc4MSIgeDI9IjEwNjQuMzEiIHkyPSIyMTcuMjQ3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiMxRDQ1NkYiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjOTNCREU2Ii8+CjwvbGluZWFyR3JhZGllbnQ+CjxsaW5lYXJHcmFkaWVudCBpZD0iZSIgeDE9Ijg3OC45ODgiIHkxPSIzODIuMDQ5IiB4Mj0iMTA0My44MSIgeTI9Ii0xNS4yMDI0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiM5M0JERTYiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMUQ0NTZGIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxsaW5lYXJHcmFkaWVudCBpZD0iZiIgeDE9IjEwNjcuNzEiIHkxPSIyNDguODI3IiB4Mj0iMTE2NC43IiB5Mj0iMTUuMDc4OSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjOTNCREU2Ii8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzFENDU2RiIvPgo8L2xpbmVhckdyYWRpZW50Pgo8bGluZWFyR3JhZGllbnQgaWQ9ImciIHgxPSI4OTQuNDY4IiB5MT0iMTU5LjkzNCIgeDI9IjEwNTkuMjkiIHkyPSItMjM3LjMxNyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjOTNCREU2Ii8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzFENDU2RiIvPgo8L2xpbmVhckdyYWRpZW50Pgo8bGluZWFyR3JhZGllbnQgaWQ9ImgiIHgxPSI4ODYuNTI2IiB5MT0iMzgwLjkzMiIgeDI9IjExMDIuNSIgeTI9Ii0xODEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzkzQkRFNiIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMxRDQ1NkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPGxpbmVhckdyYWRpZW50IGlkPSJpIiB4MT0iLTEyOS43MDgiIHkxPSI3OTMuNzIiIHgyPSIyMDYuNSIgeTI9Ii0yLjQ5OTk3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiMxRDQ1NkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPGxpbmVhckdyYWRpZW50IGlkPSJqIiB4MT0iMjMzIiB5MT0iNDM3IiB4Mj0iNDI5LjUiIHkyPSItNjkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzFENDU2RiIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM5M0JERTYiLz4KPC9saW5lYXJHcmFkaWVudD4KPGxpbmVhckdyYWRpZW50IGlkPSJrIiB4MT0iMzk4LjA1NCIgeTE9IjMyOC43ODEiIHgyPSI0NzQuMzExIiB5Mj0iMjk3LjI0NyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjMUQ0NTZGIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzkzQkRFNiIvPgo8L2xpbmVhckdyYWRpZW50Pgo8bGluZWFyR3JhZGllbnQgaWQ9ImwiIHgxPSIyODguOTg4IiB5MT0iNDYyLjA0OSIgeDI9IjQ1My44MDUiIHkyPSI2NC43OTc2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiM5M0JERTYiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMUQ0NTZGIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxsaW5lYXJHcmFkaWVudCBpZD0ibSIgeDE9IjQ3Ny43MTQiIHkxPSIzMjguODI3IiB4Mj0iNTc0LjY5NSIgeTI9Ijk1LjA3ODkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzkzQkRFNiIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMxRDQ1NkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPGxpbmVhckdyYWRpZW50IGlkPSJuIiB4MT0iMzA0LjQ2OCIgeTE9IjIzOS45MzQiIHgyPSI0NjkuMjg1IiB5Mj0iLTE1Ny4zMTciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzkzQkRFNiIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMxRDQ1NkYiLz4KPC9saW5lYXJHcmFkaWVudD4KPGxpbmVhckdyYWRpZW50IGlkPSJvIiB4MT0iMjk2LjUyNiIgeTE9IjQ2MC45MzIiIHgyPSI1MDEuNSIgeTI9Ii05OS41IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiM5M0JERTYiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMUQ0NTZGIi8+CjwvbGluZWFyR3JhZGllbnQ+CjwvZGVmcz4KPC9zdmc+Cg==");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  opacity: 1;
}

html[data-palette="light"] .site-header__banner {
  background: var(--banner-fill);
  border: none;
}

html[data-palette="light"] .site-header__banner .subtitle {
  color: var(--header-sub);
}

html[data-palette="light"] .site-header__banner .lead {
  color: var(--header-lead);
}

.header-inner {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
}

.site-header__topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-s-nudge) var(--spacing-m);
  padding: var(--spacing-xs-nudge) 0 var(--spacing-s-nudge);
}

.site-header__logo-slot {
  flex: 0 0 auto;
  min-width: 0;
}

.site-header__rule {
  height: 0;
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--color-neutral-0) 12%, transparent);
  margin: 0 0 var(--spacing-s-nudge);
}

html[data-palette="light"] .site-header__rule {
  border-top-color: var(--frame-border);
}

.site-header__banner-inner {
  position: relative;
  z-index: 1;
}

.dia-logo-link {
  display: block;
  flex-shrink: 0;
  line-height: 0;
}

.dia-logo-link:focus-visible {
  outline: 2px solid var(--status-focus);
  outline-offset: 4px;
  border-radius: 0;
}

.dia-logo-img {
  display: block;
  /* Záhlaví portálů SSČ: --height-component-l = 3rem = 48 px */
  height: var(--height-component-l);
  width: auto;
  max-width: 180px;
  object-fit: contain;
}

html[data-palette="light"] .dia-logo-link:focus-visible {
  outline-color: var(--status-focus);
}

.header-tools {
  flex: 0 0 auto;
  margin-left: auto;
}

.header-copy {
  flex: 1;
  min-width: 0;
  margin-top: var(--spacing-s-nudge);
  padding-top: 0;
  border-top: none;
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: var(--spacing-s);
  margin: 0 0 var(--spacing-s-nudge);
  font-size: var(--font-size-body-xs);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--eyebrow-fg);
}

.eyebrow-dot {
  width: var(--spacing-s);
  height: var(--spacing-s);
  border-radius: 0;
  background: linear-gradient(135deg, var(--green), var(--color-primary-500));
  box-shadow: 0 0 12px color-mix(in srgb, var(--green) 65%, transparent);
  animation: pulse-dot 2s ease-in-out infinite;
}

@keyframes pulse-dot {
  50% {
    box-shadow: 0 0 20px color-mix(in srgb, var(--green) 60%, transparent);
    transform: scale(1.1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .eyebrow-dot {
    animation: none;
  }
}

.site-wordmark {
  margin: 0;
  /* Záměrné rozšíření DS display-m: clamp pro responsivní velikost */
  font-size: clamp(var(--font-size-headline-xl), 6vw, var(--font-size-display-m));
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.site-wordmark__dh {
  color: var(--wordmark-accent);
  text-shadow: none;
}

.site-wordmark__dia {
  color: var(--wordmark-green);
  text-shadow: none;
}

html[data-palette="light"] .site-wordmark__dh {
  color: var(--wordmark-accent);
  text-shadow: none;
}

html[data-palette="light"] .site-wordmark__dia {
  color: var(--wordmark-green);
  text-shadow: none;
}

html[data-palette="light"] .site-wordmark {
  font-weight: 500;
  letter-spacing: -0.04em;
}

.site-header .subtitle {
  margin: 0 0 var(--spacing-s-nudge);
  color: var(--header-sub);
  letter-spacing: -0.02em;
}

.site-header .lead {
  margin: 0 0 var(--spacing-m-nudge);
  max-width: 36rem;
  font-size: var(--font-size-body-m);
  line-height: 1.5;
  color: var(--header-lead);
}

.site-header .lead[hidden] {
  display: none !important;
  margin: 0;
}

/* ——— Úvod o projektu ——— */
.project-intro__body {
  margin: 0;
}

.project-intro__body p {
  margin: 0 0 var(--spacing-s-nudge);
  font-size: var(--font-size-body-m);
  color: var(--body-muted);
  line-height: 1.5;
  max-width: 40rem;
}

.project-intro__body p:last-child {
  margin-bottom: 0;
}

/* ——— Story / bento ——— */
.story {
  margin-bottom: var(--spacing-xl);
}

.story + .story {
  margin-top: var(--spacing-2xl);
}

.story .project-intro__body {
  margin-top: var(--spacing-xs-nudge);
}

.story-intro {
  margin-bottom: var(--spacing-m-nudge);
}

.story-title {
  margin: 0;
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: var(--text);
}

/* Pět důvodů — vedle sebe na širší obrazovce, na úzké pod sebou */
.bento-row {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s-nudge);
  margin: var(--spacing-s-nudge) 0 var(--spacing-xl);
}

@media (min-width: 960px) {
  .bento-row {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: stretch;
    gap: var(--spacing-s-nudge);
  }

  .bento-row > gov-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
  }

  .bento-row gov-card .bento-headline {
    font-size: var(--font-size-body-l);
  }

  .bento-row gov-card p {
    font-size: var(--font-size-body-s);
  }
}

.bento-row > gov-card {
  /* height: auto — flex align-items: stretch zajistí stejnou výšku */
  --spacing-l: var(--spacing-m);
}

.bento-row gov-card .bento-headline {
  margin: 0 0 var(--spacing-xs);
}

.bento-row gov-card p {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.5;
}

.period-segmented {
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--spacing-s);
  align-items: center;
}

.btn-wrap {
  text-align: left;
}

.header-tools gov-theme-switch {
  display: block;
}

/* ——— Cards data ——— */
.section-title {
  margin: 0 0 var(--spacing-m);
  letter-spacing: -0.02em;
  color: var(--text);
}

gov-card.card--data,
gov-card.card--chart,
gov-card.card--snapshot {
  border-radius: var(--radius);
  margin-bottom: var(--spacing-m);
  position: relative;
}

gov-card.card--data,
gov-card.card--chart {
  background: linear-gradient(165deg, var(--panel) 0%, var(--bg) 100%);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.42);
}

gov-card.card--data,
gov-card.card--snapshot {
  background: linear-gradient(165deg, var(--panel) 0%, var(--bg) 100%);
  box-shadow: none;
}

gov-card.card--chart {
  background: linear-gradient(180deg, var(--bg-elevated) 0%, var(--surface) 100%);
}

html[data-palette="light"] gov-card.card--data,
html[data-palette="light"] gov-card.card--chart,
html[data-palette="light"] gov-card.card--snapshot {
  border: none;
  background: var(--background-block-primary);
  box-shadow: none;
}

.hint {
  margin: 0 0 var(--spacing-m);
  font-size: var(--font-size-body-s);
  color: var(--muted);
  line-height: 1.5;
}

.hint code {
  font-size: var(--font-size-body-s);
  background: var(--bg);
  padding: 0.12em 0.4em;
  border-radius: 0;
  border: 1px solid var(--line);
  color: var(--text);
}

.period-head h2,
.period-head .section-title {
  margin-bottom: var(--spacing-xs-nudge);
}

.period-label {
  margin: var(--spacing-s) 0 0;
  font-family: var(--font-display);
  font-weight: 500;
  color: var(--green);
  font-size: var(--font-size-body-m);
}

.kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
  gap: var(--spacing-s-nudge);
}

.kpi-card {
  padding: var(--spacing-m);
  border-radius: var(--radius-sm);
  background: var(--surface-2);
}

.kpi-card .label {
  margin: 0 0 var(--spacing-xs);
  font-size: var(--font-size-body-xs);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
}

.kpi-card .value {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--font-size-headline-m);
  font-weight: 700;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  color: var(--text);
}

.kpi-grid--two {
  grid-template-columns: 1fr;
  gap: var(--spacing-m);
}

@media (min-width: 720px) {
  .kpi-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
}

.kpi-card--prose {
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-m) var(--spacing-m-nudge);
  border-radius: var(--corner-radius-m);
  text-align: center;
}

/* Tmavý motiv: KPI boxy — neutrální tmavě šedá = stejná jako gov-card */
html:not([data-palette="light"]) .kpi-card {
  background: var(--background-block-secondary);
  border: none;
}

.kpi-prose-stack {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-2xs);
}

.kpi-prose {
  margin: 0;
  font-size: var(--font-size-body-s);
  line-height: 1.5;
  color: var(--kpi-prose);
  font-weight: 400;
}

.kpi-card--prose .kpi-prose {
  font-size: var(--font-size-body-m);
}

.kpi-num-line {
  margin: 0.2rem 0 0.25rem;
}

.kpi-prose-stack .kpi-num {
  margin: 0;
  vertical-align: baseline;
}

.kpi-prose--mute {
  color: var(--kpi-prose-mute);
}

.kpi-num {
  display: inline-block;
  font-size: var(--font-size-headline-l);
  font-weight: 700;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
  vertical-align: -0.12em;
  margin: 0 0.08em;
}

.kpi-num--yellow,
.kpi-num--primary {
  color: var(--green);
  text-shadow: none;
  filter: none;
}

/* KPI přehled transakcí — světlý motiv: světle šedá */
html[data-palette="light"] .kpi-card,
html[data-theme="light"] .kpi-card {
  background: var(--color-neutral-100);
  border: none;
}

/* Jedna úroveň rámečku — pozadí na gov-card, ne na vnořeném bloku */
gov-card.snapshot-block--solo {
  margin-bottom: var(--spacing-m);
}

.snapshot-filtered {
  margin-top: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.snapshot-filtered .snapshot-block__period {
  margin-bottom: var(--spacing-s-nudge);
  padding: 0 0 var(--spacing-s-nudge);
  border: none;
  background: transparent;
  border-radius: 0;
}

.snapshot-filtered .kpi-grid {
  margin-bottom: var(--spacing-m-nudge);
  padding: 0;
  border: none;
}

/* Top 5 agend / služeb — graf bez vnitřního rámečku */
.snapshot-filtered .chart-wrap {
  margin-top: var(--spacing-xs-nudge);
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

html[data-palette="light"] .snapshot-filtered .chart-wrap {
  background: transparent;
  border: none;
  box-shadow: none;
}

.snapshot-sluzby {
  padding-top: 0.1rem;
}

.snapshot-sluzby__title {
  margin: 0 0 var(--spacing-xs);
  letter-spacing: -0.02em;
  color: var(--text);
}

.snapshot-sluzby__hint {
  margin: 0 0 var(--spacing-s-nudge) !important;
  font-size: var(--font-size-body-s);
  color: var(--muted);
  line-height: 1.5;
}

.snapshot-top-dual {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-l);
  align-items: start;
}

@media (min-width: 768px) {
  .snapshot-top-dual {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-m-nudge) var(--spacing-xl);
  }
}

.snapshot-sluzby--agendy .snapshot-sluzby__title {
  margin-top: 0;
}

.zapojeni-infographic {
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

.zapojeni-infographic__intro {
  margin: 0 0 var(--spacing-s-nudge);
  font-size: var(--font-size-body-l);
  line-height: 1.5;
  color: var(--text);
  letter-spacing: -0.01em;
}

.zapojeni-infographic__dh {
  font-weight: 500;
  color: var(--color-primary-300);
  letter-spacing: -0.02em;
}

html[data-palette="light"] .zapojeni-infographic__dh,
html[data-theme="light"] .zapojeni-infographic__dh {
  color: var(--color-primary-700);
}

.zapojeni-infographic__dia {
  font-weight: 500;
  color: var(--green);
  letter-spacing: -0.02em;
}

.zapojeni-infographic__stack {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
}

.zapojeni-stat {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--spacing-xs-nudge) var(--spacing-s);
  min-width: 0;
}

.zapojeni-stat__value {
  flex-shrink: 0;
  font-family: var(--font-display);
  font-size: var(--font-size-display-s);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: var(--green);
  font-variant-numeric: tabular-nums;
}

.zapojeni-stat__unit {
  font-size: var(--font-size-body-m);
  line-height: 1.5;
  color: var(--muted);
}

/* Docasne: skrytý počet zapojených institucí — odstraněním třídy / tohoto bloku zase zobrazit */
.zapojeni-stat--temp-hidden {
  display: none !important;
}

.snapshot-block__period {
  padding: var(--spacing-m) var(--spacing-m-nudge);
  margin-bottom: var(--spacing-m-nudge);
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-subtlest);
  background: color-mix(in srgb, var(--color-neutral-950) 3%, transparent);
}

.period-head--inline {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--spacing-s) var(--spacing-m);
  margin-bottom: var(--spacing-s-nudge);
}

.period-subtitle {
  margin: 0;
  color: var(--text);
  letter-spacing: -0.02em;
}

.hint--inline {
  margin: 0 !important;
  flex: 1;
  min-width: min(100%, 14rem);
}

.period-scope-note {
  margin: 0 0 var(--spacing-s-nudge);
  line-height: 1.45;
  color: var(--text-muted, var(--muted));
}

.zapojeni-split {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-l);
  align-items: start;
}

@media (min-width: 720px) {
  .zapojeni-split {
    grid-template-columns: minmax(0, min(28rem, 44vw)) minmax(0, 1fr);
    gap: var(--spacing-l) var(--spacing-m-nudge);
    align-items: start;
  }
}

.zapojeni-split__chart {
  min-width: 0;
}

.zapojeni-grid {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
}

.zapojeni-is {
  margin: 0;
  padding: 0;
  border: none;
  min-width: 0;
}

.zapojeni-is__title {
  margin: 0 0 var(--spacing-xs-nudge);
  letter-spacing: -0.02em;
  color: var(--text);
}

.zapojeni-is__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2xs) var(--spacing-s-nudge);
}

@media (min-width: 640px) {
  .zapojeni-is__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--spacing-m);
    row-gap: var(--spacing-2xs);
  }
}

.zapojeni-is__list li {
  font-size: var(--font-size-body-s);
  line-height: 1.5;
  padding: 0;
  padding-left: var(--spacing-s-nudge);
  position: relative;
  background: none;
  border: none;
}

.zapojeni-is__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.42em;
  width: 0.28rem;
  height: 0.28rem;
  border-radius: 0;
  background: var(--color-primary-300);
}

html:not([data-palette="light"]) .zapojeni-is__list li {
  color: var(--zap-li-fg);
}

html[data-palette="light"] .zapojeni-is__list li::before,
html[data-theme="light"] .zapojeni-is__list li::before {
  background: var(--color-primary-700);
}

html[data-palette="light"] .zapojeni-is__list li {
  color: var(--body-muted);
}

.progress {
  height: var(--height-s);
  border-radius: var(--corner-radius-xs);
  background: var(--bg);
  overflow: hidden;
}

.progress > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--color-primary-900), var(--color-primary-600), var(--color-primary-300));
  transition: width 0.35s ease;
}

html[data-palette="light"] .progress > span,
html[data-theme="light"] .progress > span {
  background: linear-gradient(90deg, var(--color-primary-900), var(--color-error-900), var(--color-primary-500));
}

.chart-empty {
  margin: 0 0 var(--spacing-s-nudge);
  font-size: var(--font-size-body-s);
  color: var(--muted);
}

.chart-wrap {
  position: relative;
  margin-top: var(--spacing-xs-nudge);
  width: 100%;
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--color-neutral-1000) 25%, transparent);
  padding: var(--spacing-s);
}

html[data-palette="light"] .chart-wrap {
  background: var(--background-block-secondary);
}

.chart-wrap--share {
  min-height: 0;
  height: auto;
}

/* Dva grafy: mobil = nadpis, graf, nadpis, graf; desktop = mřížka řádek nadpisů / řádek grafů (bez mezery flex:1) */
.kanaly-dual {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs-nudge);
  align-items: stretch;
}

@media (min-width: 960px) {
  .kanaly-dual {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    column-gap: var(--spacing-l);
    row-gap: var(--spacing-xs);
    /* start: bez „díry“ nad nižším grafem (end posouval obsah dolů v buňce) */
    align-items: start;
  }

  #kanaly-dig-head {
    grid-column: 1;
    grid-row: 1;
  }

  #kanaly-mix-heading {
    grid-column: 2;
    grid-row: 1;
  }

  .kanaly-dual__chart--dig {
    grid-column: 1;
    grid-row: 2;
  }

  .kanaly-dual__chart--mix {
    grid-column: 2;
    grid-row: 2;
  }
}

.kanaly-dual__chart {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

.kanaly-dual__chart .chart-wrap {
  flex: 0 0 auto;
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

.kanaly-dual__head {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.kanaly-dual__sub {
  margin: 0;
  letter-spacing: -0.02em;
  line-height: 1.5;
  color: var(--kanaly-sub);
}

.kanaly-dual__channel-note {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--text-muted, var(--kanaly-sub));
  opacity: 0.88;
}

/* Mobil: větší odstup mezi dvěma bloky kanálů */
@media (max-width: 959px) {
  #kanaly-mix-heading {
    margin-top: var(--spacing-s-nudge);
  }
}

.section-title.kanaly-section__title {
  font-size: clamp(var(--font-size-headline-xs), 2.9vw, var(--font-size-headline-s));
  line-height: 1.5;
  max-width: 44rem;
  margin-bottom: var(--spacing-xs-nudge);
}

/* Sloupce podílu digitální formy — minimalistické, bez osy Y a mřížky */
.digi-col-chart {
  width: 100%;
  /* Rezerva pro velké % nad trackem (jinak překrývají nadpis nad grafem) */
  padding: clamp(var(--spacing-l), 4vw, var(--spacing-2xl)) 0 0;
  margin: 0;
  font-family: var(--font);
}

.digi-col-chart__cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--spacing-s-nudge) var(--spacing-m);
  align-items: start;
  max-width: 24rem;
  margin: 0 auto;
}

.digi-col-chart__col {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  min-width: 0;
}

/* Číslo je uvnitř tracku, bottom = horní okraj sloupce (+ malý odstup) — žádná „díra“ nad nízkým sloupcem */
.digi-col-chart__track {
  position: relative;
  width: 100%;
  max-width: 5.25rem;
  /* Výšky sloupců škálované k max. v řadě (viz app.js); trochu nižší kvůli přehledu */
  height: clamp(7.75rem, 20vh, 11.25rem);
  margin-bottom: var(--spacing-xs-nudge);
  flex-shrink: 0;
}

.digi-col-chart__val {
  position: absolute;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%);
  bottom: calc(var(--pct) * 1% + 0.08rem);
  margin: 0;
  padding: 0;
  font-family: var(--font);
  font-weight: 700;
  font-size: clamp(var(--font-size-body-l), 3.4vw, var(--font-size-headline-m));
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
  pointer-events: none;
}

.digi-col-chart__val--muted {
  color: var(--digi-val-muted);
}

.digi-col-chart__val--accent {
  color: var(--digi-val-accent);
  text-shadow: none;
}

.digi-col-chart__bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  min-height: 0;
  border-radius: var(--corner-radius-s) var(--corner-radius-s) 0 0;
  transition: height 0.35s ease;
}

.digi-col-chart__bar--muted {
  background: var(--digi-bar-muted);
}

.digi-col-chart__bar--accent {
  background: var(--digi-bar-accent);
}

.digi-col-chart__bar--empty {
  background: transparent;
  box-shadow: none;
}

.digi-col-chart__tick {
  margin: 0;
  font-family: var(--font);
  font-size: var(--font-size-body-s);
  font-weight: 400;
  color: var(--digi-tick);
  letter-spacing: 0.02em;
}

.chart-wrap--share.chart-wrap--digi-share,
.chart-wrap--mix.chart-wrap--kanaly-bare {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-top: 0 !important;
}

.chart-wrap--mix,
.chart-wrap--services {
  min-height: 0;
  height: auto;
  padding: var(--spacing-s-nudge) var(--spacing-s-nudge) var(--spacing-s-nudge);
}

.chart-sluzby-root {
  width: 100%;
}

/* Horizontální přehled podílu kanálů (agregace) */
.channel-mix {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-s-nudge);
}

.channel-mix__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--spacing-xs-nudge) var(--spacing-s-nudge);
  align-items: center;
}

.channel-mix__title-line {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-s);
  min-width: 0;
}

.channel-mix__icon {
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  margin-top: 0.06rem;
  color: var(--green);
}

.channel-mix__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

[data-palette="minimal"] .channel-mix__icon {
  color: var(--green);
}

.channel-mix__label {
  font-size: var(--font-size-body-s);
  color: var(--text);
  line-height: 1.5;
  min-width: 0;
  word-break: break-word;
}

.channel-mix__pct {
  font-size: var(--font-size-body-s);
  font-weight: 500;
  color: var(--green);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.channel-mix__track {
  grid-column: 1 / -1;
  height: var(--spacing-s);
  border-radius: var(--corner-radius-xs);
  background: color-mix(in srgb, var(--color-neutral-300) 24%, transparent);
  overflow: hidden;
}

html[data-palette="light"] .channel-mix__track {
  background: var(--color-neutral-200);
  border: none;
}

.channel-mix__fill {
  height: 100%;
  border-radius: inherit;
  min-width: 2px;
  transition: width 0.35s ease;
  background: var(--accent);
}

.chart-wrap.is-hidden {
  display: none;
}

.site-footer {
  padding: var(--spacing-l) 0 var(--spacing-xl);
  font-size: var(--font-size-body-s);
  color: var(--muted);
}

.site-footer p {
  margin: 0 0 var(--spacing-s-nudge);
}

.footer-links {
  margin: 0 0 var(--spacing-s-nudge);
}

.footer-cta {
  margin: var(--spacing-xl) 0 0;
  text-align: left;
}

.footer-cta gov-button {
  display: inline-block;
}

.footer-eu {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: var(--spacing-xl);
  padding-top: var(--spacing-l);
  border-top: 1px solid var(--line);
  text-align: center;
}

.footer-eu__logo-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--spacing-s-nudge) var(--spacing-m-nudge);
  margin-bottom: 0;
  width: 100%;
}

.footer-eu__logo {
  display: block;
  max-width: min(100%, 22rem);
  width: auto;
  height: auto;
}

.footer-eu__text {
  margin: var(--spacing-xs) 0 0;
  padding: 0;
  width: min(100%, 40rem);
  box-sizing: border-box;
  font-size: var(--font-size-body-s);
  line-height: 1.5;
  color: var(--muted);
  text-align: center;
}

.site-footer .footer-eu__text {
  margin-bottom: 0 !important;
}

@media (min-width: 640px) {
  .site-header__banner {
    padding: var(--spacing-xl) clamp(var(--spacing-l), 3.5vw, var(--spacing-3xl)) var(--spacing-xl);
  }
}

/* === Paleta: Minimal (tmavý motiv — gov DS modrá / žlutá) === */
[data-palette="minimal"] {
  --accent: var(--color-primary-300);
  --accent-deep: var(--color-primary-900);
  --green: var(--color-error-200);
  --yellow: var(--color-neutral-400);
  --cyan: var(--color-primary-500);
  --wordmark-green: var(--color-error-200);
  --wordmark-accent: var(--color-primary-300);
}

[data-palette="minimal"] .eyebrow-dot {
  background: linear-gradient(135deg, var(--green), var(--color-primary-500));
  box-shadow: 0 0 12px color-mix(in srgb, var(--green) 65%, transparent);
}

[data-palette="minimal"] .progress > span {
  background: linear-gradient(90deg, var(--color-error-700), var(--color-primary-500), var(--color-error-200));
}

[data-palette="minimal"] .channel-mix__pct {
  color: var(--green);
  text-shadow: none;
}

[data-palette="minimal"] .channel-mix__fill {
  background: var(--accent);
  box-shadow: none;
}

[data-palette="minimal"] .digi-col-chart__val--muted {
  color: var(--digi-val-muted);
  text-shadow: none;
}

[data-palette="minimal"] .digi-col-chart__val--accent {
  color: var(--digi-val-accent);
  text-shadow: none;
}

[data-palette="minimal"] .digi-col-chart__bar--muted {
  background: var(--digi-bar-muted);
  box-shadow: none;
}

[data-palette="minimal"] .digi-col-chart__bar--accent {
  background: var(--digi-bar-accent);
  box-shadow: none;
}

/* ——— Paleta „Minimal“ — stejné barvy jako design system, čistší plochy, hloubka stínem ——— */
[data-palette="minimal"] {
  --line: color-mix(in srgb, var(--color-neutral-0) 12%, transparent);
}

[data-palette="minimal"] .bg-mesh {
  background: radial-gradient(ellipse 100% 80% at 50% -20%, color-mix(in srgb, var(--color-primary-700) 3.5%, transparent), transparent 55%),
    radial-gradient(ellipse 70% 50% at 100% 0%, color-mix(in srgb, var(--color-error-200) 3.5%, transparent), transparent 50%),
    var(--bg);
}

[data-palette="minimal"] .eyebrow-dot {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35), 0 0 0 1px color-mix(in srgb, var(--color-neutral-0) 6%, transparent);
}

[data-palette="minimal"] .site-wordmark__dh,
[data-palette="minimal"] .site-wordmark__dia {
  text-shadow: none;
}

[data-palette="minimal"] gov-card.card--data,
[data-palette="minimal"] gov-card.card--chart,
[data-palette="minimal"] gov-card.card--snapshot {
  border-radius: var(--radius);
  border: none;
  background: var(--background-block-primary);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

[data-palette="minimal"] .channel-mix__track {
  background: color-mix(in srgb, var(--color-neutral-300) 22%, transparent);
  border: none;
  box-shadow: none;
}
/* ——— Bento karty — světlý motiv: světle šedé pozadí (gov-card čte --background) ——— */
html[data-palette="light"] .bento-row > gov-card,
html[data-theme="light"] .bento-row > gov-card {
  --background: var(--color-neutral-100);
}

/* ——— Bento karty „Proč ho potřebujeme" — střídání primary modré a secondary žluté ——— */

/* Tmavý motiv: liché karty = primary modrá, sudé = secondary žlutá */
.bento-row > gov-card:nth-child(odd) svg[slot="icon"] {
  color: var(--color-primary-300);
}
.bento-row > gov-card:nth-child(even) svg[slot="icon"] {
  color: var(--color-error-200);
}
.bento-row > gov-card:nth-child(odd) .bento-headline {
  color: var(--color-primary-300);
}
.bento-row > gov-card:nth-child(even) .bento-headline {
  color: var(--color-error-200);
}

/* Světlý motiv: sytější odstíny pro dostatečný kontrast */
html[data-palette="light"] .bento-row > gov-card:nth-child(odd) svg[slot="icon"],
html[data-theme="light"] .bento-row > gov-card:nth-child(odd) svg[slot="icon"] {
  color: var(--color-primary-700);
}
html[data-palette="light"] .bento-row > gov-card:nth-child(even) svg[slot="icon"],
html[data-theme="light"] .bento-row > gov-card:nth-child(even) svg[slot="icon"] {
  color: var(--color-error-900);
}
html[data-palette="light"] .bento-row > gov-card:nth-child(odd) .bento-headline,
html[data-theme="light"] .bento-row > gov-card:nth-child(odd) .bento-headline {
  color: var(--color-primary-700);
}
html[data-palette="light"] .bento-row > gov-card:nth-child(even) .bento-headline,
html[data-theme="light"] .bento-row > gov-card:nth-child(even) .bento-headline {
  color: var(--color-error-900);
}

/* ——— Portál reportů (report-portal-v2.html) ——— */
body.portal-page {
  --portal-layout-min-h: max(36rem, calc(100dvh - 15rem));
  --portal-report-min-h: max(32rem, calc(100dvh - 18rem));
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}

.portal-panel {
  border-radius: var(--corner-radius-m);
  border: 1px solid var(--border-subtle);
  background: var(--background-block-primary);
  overflow: hidden;
}

.portal-page .site-header {
  flex-shrink: 0;
  margin-bottom: 0;
  padding-bottom: var(--spacing-m);
}

.portal-page main.portal-main {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.portal-page main.portal-main .site-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding-bottom: var(--spacing-m);
}

.portal-layout {
  flex: 1;
  display: grid;
  grid-template-columns: min(18rem, 100%) minmax(0, 1fr);
  gap: var(--spacing-m);
  align-items: stretch;
  min-height: var(--portal-layout-min-h);
}

.portal-sidebar {
  display: flex;
  flex-direction: column;
  padding: var(--spacing-m);
}

.portal-sidebar__title {
  margin: 0 0 var(--spacing-s-nudge);
  flex-shrink: 0;
}

.portal-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-inline-start: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs-nudge);
}

.portal-nav > li,
.portal-nav > .gov-list__item {
  list-style: none;
  margin: 0;
  padding: 0;
  position: static;
}

.portal-nav > li::before,
.portal-nav > li::marker,
.portal-nav > .gov-list__item::before {
  content: none !important;
  display: none !important;
}

.portal-report-link {
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: var(--spacing-s-nudge) var(--spacing-s);
  border: 1px solid var(--border-subtle);
  border-radius: var(--corner-radius-s);
  background: var(--background-block-secondary);
  color: var(--text);
  font-family: var(--font);
  font-size: var(--font-size-body-s);
  line-height: 1.45;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.portal-report-link:hover {
  background: var(--background-primary-subtle);
  border-color: var(--border-primary);
}

.portal-report-link:focus-visible {
  outline: 2px solid var(--status-focus);
  outline-offset: 2px;
}

.portal-report-link.is-active,
.portal-report-link[aria-current="page"] {
  background: var(--background-primary);
  border-color: var(--background-primary);
  color: var(--text-white-fixed);
}

.portal-report-link.is-disabled {
  opacity: 0.65;
  cursor: wait;
  pointer-events: none;
}

.portal-content {
  position: relative;
  min-width: 0;
  min-height: var(--portal-layout-min-h);
  display: flex;
  flex-direction: column;
}

.portal-status {
  position: absolute;
  z-index: 10;
  top: var(--spacing-s);
  left: var(--spacing-s);
  max-width: min(90%, 40rem);
  margin: 0;
  padding: var(--spacing-xs-nudge) var(--spacing-s);
  border: 1px solid var(--border-subtle);
  border-radius: var(--corner-radius-s);
  background: var(--background-block-primary);
  color: var(--text);
  font-size: var(--font-size-body-s);
  white-space: pre-wrap;
}

.portal-status--error {
  color: var(--text-status-error);
  border-color: var(--border-error);
}

.portal-report-wrapper {
  flex: 1 1 auto;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  box-sizing: border-box;
  min-height: var(--portal-report-min-h);
  padding: var(--spacing-s-nudge);
  background: var(--bg);
  overflow: hidden;
}

.portal-page #reportContainer {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: var(--portal-report-min-h);
  background: var(--bg);
  border: none;
  box-shadow: none;
  overflow: hidden;
  border-radius: var(--corner-radius-s);
}

.portal-page #reportContainer iframe {
  border: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.portal-page .site-footer {
  flex-shrink: 0;
  padding-top: var(--spacing-s);
  padding-bottom: var(--spacing-m);
}

.portal-header-actions {
  margin-top: var(--spacing-s-nudge);
}

@media (max-width: 48em) {
  body.portal-page {
    --portal-layout-min-h: max(28rem, calc(100dvh - 12rem));
    --portal-report-min-h: max(24rem, calc(100dvh - 14rem));
  }

  .portal-layout {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    min-height: auto;
  }
}

