      :root {
        color-scheme: light;
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        --color-bg: #ffffff;
        --color-border: #000000;
        --color-text: #000000;
        --color-accent: #9b1c31;
        --accent: var(--color-accent);
        --accent-hover: var(--color-accent);
        --accent-soft: var(--color-bg);
        --accent-softer: var(--color-bg);
        --accent-border: var(--color-border);
        --accent-text: var(--color-text);
        --heading-color: var(--color-text);
        --page-tint: var(--color-bg);
        --page-bg: var(--color-bg);
        --page-mid: var(--color-bg);
        --surface: var(--color-bg);
        --surface-card: var(--color-bg);
        --border: var(--color-border);
        --border-light: var(--color-border);
        --text: var(--color-text);
        --text-muted: var(--color-text);
        --hud-edge: clamp(6px, 0.8dvh, 10px);
        --hud-right-leaflet-gap: min(320px, 40vw);
        /* Výšky se řídí viewportem (dvh), ne natvrdo */
        --hud-header-block-h: clamp(60px, 9.2dvh, 88px);
        --hud-after-header-gap: clamp(8px, 1.4dvh, 16px);
        /* Široké okno: stejná mezera pod horní lištou jako u mapových FAB vpravo (Zobrazit všechny obce). */
        --hud-desktop-below-header-gap: 16px;
        /* Rezervovaný pruh pro logo — hledání v dalším sloupci nesmí zajet do loga. */
        --hud-desktop-brand-slot: clamp(170px, 16.15vw, 228px);
        --hud-desktop-search-max-w: min(720px, 100%);
        /* Horní hledání obce + modal „Všechny obce“ — téměř hranaté rohy (ne pilulky). */
        --header-search-control-radius: 2px;
        --hud-footer-ribbon-h: clamp(62px, 10.5dvh, 92px);
        /* Stejné jako šířka `.hud-column-left` — měřítko mapy posuneme vpravo od filtrů. */
        --hud-left-filter-column-w: min(286px, calc(100vw - 2 * var(--hud-edge) - var(--hud-right-leaflet-gap) - 96px));
        /* „?“ průvodce: desktop nad HUD; mobil těsně nad mapou (viz @media max-width 1199px). */
        --mp-z-map-tour-help: 4050;
        --mp-z-map-tour-help-compact: 1;
        /* Modální okna — poměrová šířka/výška vůči viewportu (bez pevných px limitů). */
        --mp-modal-gutter: max(16px, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
        --mp-modal-fluid-w: min(72vw, calc(100vw - 2 * var(--mp-modal-gutter)));
        --mp-modal-fluid-h: min(88dvh, calc(100dvh - 2 * var(--mp-modal-gutter)));
        --hud-ink: var(--color-text);
        --hud-ink-soft: var(--color-text);
        --hud-panel-top: var(--color-bg);
        --hud-panel-side: var(--color-bg);
        --hud-panel-bottom: var(--color-bg);
        --hud-panel-cta: var(--color-accent);
        --hud-panel-cta-border: var(--color-accent);
        --hud-on-dark: var(--color-text);
        --hud-on-dark-muted: var(--color-text);
        --hud-input-bg: var(--color-bg);
        --hud-input-border: var(--color-border);
        --hud-gold: var(--color-text);
        --hud-gold-hover: var(--color-text);
        --hud-btn-secondary: var(--color-bg);
        --hud-btn-secondary-hover: var(--color-bg);
        --hud-shadow: none;
      }
      body.site-mistopribeh {
        --accent: var(--color-accent);
        --accent-hover: var(--color-accent);
        --accent-soft: var(--color-bg);
        --accent-softer: var(--color-bg);
        --accent-border: var(--color-border);
        --accent-text: var(--color-text);
        --heading-color: var(--color-text);
        --page-tint: var(--color-bg);
        --page-bg: var(--color-bg);
        --page-mid: var(--color-bg);
        --surface-card: var(--color-bg);
        --border: var(--color-border);
        --border-light: var(--color-border);
        --hud-panel-top: var(--color-bg);
        --hud-panel-side: var(--color-bg);
        --hud-panel-bottom: var(--color-bg);
        --hud-panel-cta: var(--color-accent);
        --hud-panel-cta-border: var(--color-accent);
        --hud-ink: var(--color-text);
        --hud-ink-soft: var(--color-text);
        --hud-on-dark: var(--color-text);
        --hud-on-dark-muted: var(--color-text);
        --hud-input-bg: var(--color-bg);
        --hud-input-border: var(--color-border);
        --hud-gold: var(--color-text);
        --hud-gold-hover: var(--color-text);
        --hud-btn-secondary: var(--color-bg);
        --hud-btn-secondary-hover: var(--color-bg);
        --hud-shadow: none;
      }
      @media (max-width: 520px) {
        :root {
          --hud-right-leaflet-gap: 58px;
        }
      }
      html,
      body {
        min-height: 100dvh;
        height: 100dvh;
        width: 100vw;
        margin: 0;
        overflow: hidden;
      }
      body {
        position: relative;
        color: var(--text);
        background-color: var(--page-bg);
      }
      .map-stage {
        position: fixed;
        inset: 0;
        width: 100vw;
        height: 100dvh;
        z-index: 0;
        margin: 0;
        padding: 0;
        background: #dfe5ed;
      }
      #map {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        border-radius: 0;
        border: none;
        box-shadow: none;
        background: var(--surface);
      }
      .leaflet-container .leaflet-control-container {
        z-index: 4300;
      }
      .leaflet-container .leaflet-top.leaflet-right {
        top: calc(var(--hud-edge) + var(--hud-header-block-h) + var(--hud-after-header-gap));
        right: var(--hud-edge);
      }
      .leaflet-container .leaflet-top.leaflet-right .leaflet-control {
        margin-top: 0;
        margin-right: 0;
      }
      /* Měřítko + readout Zoom + Střed — vlevo nad spodní lištou u okraje (tlačítka +/− zůstávají v rohu mapy). */
      :root {
        --hud-map-bottom-controls-gap: 6px;
      }
      body.site-global .leaflet-container .leaflet-bottom.leaflet-left,
      body.site-mistopribeh .leaflet-container .leaflet-bottom.leaflet-left {
        bottom: calc(env(safe-area-inset-bottom) + var(--hud-footer-ribbon-h) + var(--hud-map-bottom-controls-gap));
        left: var(--hud-edge);
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--hud-map-bottom-controls-gap);
        z-index: 4310;
      }
      /* Leaflet defaultně přidává margin pod spodní ovladače — bez toho sedí měřítko těsně nad lištou. */
      body.site-global .leaflet-container .leaflet-bottom.leaflet-left .leaflet-control,
      body.site-mistopribeh .leaflet-container .leaflet-bottom.leaflet-left .leaflet-control {
        margin-bottom: 0 !important;
      }
      body.site-global .leaflet-container .leaflet-bottom.leaflet-left .leaflet-control-scale,
      body.site-mistopribeh .leaflet-container .leaflet-bottom.leaflet-left .leaflet-control-scale {
        margin-bottom: 0 !important;
        margin-left: 0 !important;
      }
      @media (min-width: 1200px) {
        body.site-global:not(.desktop-left-open),
        body.site-mistopribeh:not(.desktop-left-open) {
          --hud-left-filter-column-w: 118px;
        }
        /* Měřítko + Zoom + Střed: vlevo u okraje nad spodní lištou (ne posun pod filtr). */
        body.site-global .leaflet-container .leaflet-bottom.leaflet-left,
        body.site-mistopribeh .leaflet-container .leaflet-bottom.leaflet-left {
          left: var(--hud-edge);
        }
      }
      @media (max-width: 1199px) {
        body.site-global .leaflet-container .leaflet-bottom.leaflet-left,
        body.site-mistopribeh .leaflet-container .leaflet-bottom.leaflet-left {
          left: var(--hud-edge);
        }
        /* Na mobilu měřítko dočasně schovat — uvolní spodek vlevo (žádost UX). */
        body.site-global .leaflet-container .leaflet-bottom.leaflet-left .leaflet-control-scale,
        body.site-mistopribeh .leaflet-container .leaflet-bottom.leaflet-left .leaflet-control-scale {
          display: none !important;
        }
      }
      body.site-global .leaflet-control-scale,
      body.site-mistopribeh .leaflet-control-scale {
        margin: 0;
        padding: 4px 8px 5px;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.94);
        border: 1px solid rgba(15, 30, 60, 0.16);
        box-shadow: 0 4px 14px rgba(15, 30, 60, 0.12);
        font-size: 11px;
        line-height: 1.2;
        color: #1e293b;
      }
      body.site-global .leaflet-control-scale-line,
      body.site-mistopribeh .leaflet-control-scale-line {
        border-color: rgba(30, 58, 95, 0.55);
        border-top-color: rgba(30, 58, 95, 0.55);
      }
      /* Aktuální zoom — desktop pod měřítkem; mobil uprostřed nad spodní lištou. */
      body.site-global .leaflet-control-map-zoom-readout,
      body.site-mistopribeh .leaflet-control-map-zoom-readout {
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        pointer-events: none;
      }
      body.site-global .map-zoom-readout__text,
      body.site-mistopribeh .map-zoom-readout__text {
        display: inline-block;
        font-size: 9px;
        font-weight: 600;
        line-height: 1.15;
        letter-spacing: 0.01em;
        color: #f8fafc;
        padding: 1px 5px 2px;
        border-radius: 6px;
        background: rgba(15, 23, 42, 0.42);
        -webkit-text-stroke: 0.35px rgba(15, 23, 42, 0.75);
        text-shadow:
          0 0 2px rgba(15, 23, 42, 0.95),
          0 1px 2px rgba(15, 23, 42, 0.9),
          1px 0 1px rgba(15, 23, 42, 0.85),
          -1px 0 1px rgba(15, 23, 42, 0.85),
          0 -1px 1px rgba(255, 255, 255, 0.35);
      }
      body.site-global .map-zoom-readout__center-btn,
      body.site-mistopribeh .map-zoom-readout__center-btn {
        pointer-events: auto;
        display: inline;
        margin: 0 0 0 3px;
        padding: 1px 4px 2px;
        border: none;
        border-radius: 6px;
        background: rgba(15, 23, 42, 0.42);
        font: inherit;
        font-size: 9px;
        font-weight: 600;
        line-height: 1.15;
        letter-spacing: 0.01em;
        color: #fde68a;
        cursor: pointer;
        text-decoration: underline;
        text-underline-offset: 2px;
        vertical-align: baseline;
        -webkit-text-stroke: 0.35px rgba(15, 23, 42, 0.75);
        text-shadow:
          0 0 2px rgba(15, 23, 42, 0.95),
          0 1px 2px rgba(15, 23, 42, 0.9);
      }
      body.site-global .map-zoom-readout__center-btn.is-active,
      body.site-mistopribeh .map-zoom-readout__center-btn.is-active {
        color: #fef9c3;
        font-weight: 700;
      }
      body.site-global .map-zoom-readout__center-btn.hidden,
      body.site-mistopribeh .map-zoom-readout__center-btn.hidden {
        display: none !important;
      }
      body.site-global .leaflet-popup.map-center-coords-popup .leaflet-popup-content,
      body.site-mistopribeh .leaflet-popup.map-center-coords-popup .leaflet-popup-content {
        margin: 6px 8px;
        font-size: 11px;
        line-height: 1.35;
      }
      body.site-global .map-center-coords-popup__inner code,
      body.site-mistopribeh .map-center-coords-popup__inner code {
        display: block;
        font-size: 12px;
        font-weight: 600;
        user-select: all;
        white-space: nowrap;
      }
      @media (min-width: 1200px) {
        body.site-global .leaflet-container .leaflet-bottom.leaflet-left .leaflet-control-map-zoom-readout,
        body.site-mistopribeh .leaflet-container .leaflet-bottom.leaflet-left .leaflet-control-map-zoom-readout {
          margin-top: 3px !important;
          margin-left: 0 !important;
        }
      }
      @media (max-width: 1199px) {
        body.site-global .leaflet-control-map-zoom-readout,
        body.site-mistopribeh .leaflet-control-map-zoom-readout {
          position: fixed !important;
          left: var(--hud-edge) !important;
          right: auto !important;
          top: auto !important;
          transform: none !important;
          bottom: calc(var(--hud-footer-ribbon-h) + env(safe-area-inset-bottom, 0px) + 8px) !important;
          z-index: 4310;
        }
        body.site-global .map-zoom-readout__text,
        body.site-mistopribeh .map-zoom-readout__text {
          font-size: 8px;
          padding: 1px 4px 2px;
        }
        body.site-global .map-zoom-readout__center-btn,
        body.site-mistopribeh .map-zoom-readout__center-btn {
          font-size: 8px;
          padding: 1px 3px 2px;
          margin-left: 2px;
        }
      }
      /* Čitelnost doplněných názvů nad satelitem (jemný obrys a kontrast). */
      .leaflet-pane.photo-labels-pane img {
        transform: scale(1.06);
        transform-origin: center center;
        filter:
          drop-shadow(0 0 1.5px rgba(0, 0, 0, 0.95))
          drop-shadow(0 0 3px rgba(0, 0, 0, 0.85))
          contrast(1.1);
        opacity: 0.98;
      }
      .hud-root {
        pointer-events: none;
        z-index: 10;
      }
      .hud-root > * {
        pointer-events: auto;
      }
      .hud-root--top {
        position: fixed;
        z-index: 4100;
        top: var(--hud-edge);
        left: var(--hud-edge);
        right: var(--hud-edge);
        width: auto;
        max-width: none;
        overflow: visible;
      }
      .hud-column-left {
        position: fixed;
        z-index: 4100;
        top: calc(var(--hud-edge) + var(--hud-header-block-h) + var(--hud-after-header-gap));
        bottom: calc(var(--hud-edge) + var(--hud-footer-ribbon-h) + var(--hud-edge));
        left: var(--hud-edge);
        width: min(286px, calc(100vw - 2 * var(--hud-edge) - var(--hud-right-leaflet-gap) - 96px));
        display: flex;
        flex-direction: column;
        gap: 8px;
        align-items: stretch;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
      }
      /* Bez flex-shrink:0 se při omezené výšce sloupce panely smrsknou pod obsah a překrývají se */
      .hud-column-left > .hud-card {
        flex-shrink: 0;
      }
      .hud-left-backdrop {
        position: fixed;
        inset: 0;
        z-index: 4090;
        background: rgba(0, 0, 0, 0.28);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.18s ease;
      }
      .hud-add-story {
        position: fixed;
        z-index: 10060;
        right: auto;
        bottom: auto;
        left: 0;
        top: 0;
        width: auto;
        max-width: min(320px, calc(100vw - 2 * var(--hud-edge)));
        box-sizing: border-box;
        transition: all 0.3s ease-in-out;
        transform: translateZ(0);
        will-change: left, top, transform;
      }
      .hud-add-story--under-modals {
        transition: none;
        z-index: 3800 !important;
        pointer-events: none;
      }
      .hud-add-story--docked {
        max-width: min(240px, calc(100vw - 2 * var(--hud-edge)));
      }
      .hud-add-story--at-point {
        max-width: min(300px, calc(100vw - 16px));
        transform: translateZ(0) scale(1.04);
        filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.18));
      }
      .hud-add-story-card {
        position: relative;
        padding: 0;
        width: 100%;
        box-sizing: border-box;
      }
      .hud-add-story-dismiss {
        position: absolute;
        top: 6px;
        right: 6px;
        z-index: 3;
        width: 30px;
        height: 30px;
        margin: 0;
        padding: 0;
        display: none;
        align-items: center;
        justify-content: center;
        border: var(--mp-window-close-border, 1px solid rgba(17, 24, 39, 0.16));
        border-radius: 999px;
        font-size: 1.1rem;
        line-height: 1;
        font-weight: 700;
        cursor: pointer;
        color: var(--mp-window-close-fg, #111827);
        background: var(--mp-window-close-bg, #ffffff);
        box-shadow: var(--mp-window-close-shadow, 0 2px 12px rgba(0, 0, 0, 0.22));
      }
      .hud-add-story-dismiss:hover {
        filter: brightness(0.94);
      }
      .hud-add-story--at-point .hud-add-story-dismiss {
        display: flex;
      }
      .map-point-actions {
        display: none;
        margin-top: 8px;
        gap: 6px;
        grid-template-columns: 1fr;
      }
      .hud-add-story--at-point .map-point-actions {
        display: grid;
      }
      .map-point-actions .secondary {
        width: 100%;
        justify-content: center;
        font-size: 12px;
        padding: 7px 10px;
        color: #1f2937 !important;
        border-color: rgba(31, 41, 55, 0.18) !important;
      }
      .map-point-actions .secondary:hover,
      .map-point-actions .secondary:focus-visible {
        color: var(--color-accent, #9b1c31) !important;
        background: #eef2f7 !important;
        border-color: rgba(155, 28, 49, 0.45) !important;
      }
      /* Zavřít — záměrně slabší než akční tlačítka (omyl kliknutím do mapy). */
      .map-point-actions .map-point-action--clear.map-point-action--dismiss {
        margin-top: 8px;
        padding: 9px 12px !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        color: #64748b !important;
        border: 1px dashed rgba(100, 116, 139, 0.55) !important;
        background: rgba(241, 245, 249, 0.95) !important;
        box-shadow: none;
      }
      .map-point-actions .map-point-action--clear.map-point-action--dismiss:hover,
      .map-point-actions .map-point-action--clear.map-point-action--dismiss:focus-visible {
        color: #334155 !important;
        background: #e2e8f0 !important;
        border-color: rgba(71, 85, 105, 0.55) !important;
      }
      .watch-consent-required {
        color: var(--color-accent, #9b1c31);
        font-weight: 700;
      }
      .watch-consent-recommend {
        color: var(--color-accent, #9b1c31);
        font-weight: 400;
      }
      .nearby-stories-modal {
        width: min(940px, 95vw);
        margin-inline: auto;
        box-sizing: border-box;
      }
      /* Horní lišta: sdílení + akce (na široké obrazovce vedle sebe) */
      .nearby-search-toolbar {
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 10px;
        box-sizing: border-box;
      }
      .nearby-search-toolbar__btns {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        align-items: center;
      }
      #nearbyStoriesList .story-item {
        cursor: default;
      }
      #nearbyStoriesList .story-item-meta-row {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        flex-wrap: wrap;
        overflow: visible;
      }
      #nearbyStoriesList {
        margin-top: 8px;
        padding-right: 2px;
      }
      .nearby-result-line {
        display: flex;
        flex-wrap: wrap;
        gap: 7px;
        align-items: center;
      }
      #nearbyStoriesList .story-item-line.nearby-result-line {
        display: flex !important;
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        gap: 4px;
      }
      #nearbyStoriesList .story-item-title {
        display: block;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        overflow-wrap: normal;
        word-break: normal;
        line-height: 1.25;
      }
      #nearbyStoriesList .my-story-row-actions {
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
      }
      #nearbyStoriesList .nearby-result-distance {
        white-space: nowrap;
        align-self: flex-start;
      }
      .nearby-sticky-close-actions {
        position: sticky;
        bottom: 0;
        z-index: 8;
        display: flex;
        justify-content: flex-end;
        padding: 10px 0 max(8px, env(safe-area-inset-bottom));
        margin-top: 8px;
        border-top: 1px solid rgba(0, 0, 0, 0.12);
        background: var(--color-bg);
        box-shadow: 0 -6px 14px rgba(0, 0, 0, 0.08);
      }
      .nearby-result-distance {
        font-weight: 700;
        color: #1d4ed8;
      }
      #nearbyStoriesModal #closeNearbyStoriesBtn,
      #nearbyStoriesModal #closeNearbyStoriesStickyBtn {
        background: var(--color-accent, #9b1c31) !important;
        border: 2px solid var(--color-accent, #9b1c31) !important;
        color: #ffffff !important;
        box-shadow: 0 2px 8px rgba(155, 28, 49, 0.28) !important;
      }
      #nearbyStoriesModal #closeNearbyStoriesBtn:hover,
      #nearbyStoriesModal #closeNearbyStoriesStickyBtn:hover {
        filter: brightness(0.92);
        color: #ffffff !important;
      }
      #shareNearbyListBtn {
        transform: translateY(-4px);
      }
      #mineOnlyFilterWrap {
        margin-top: 8px;
        margin-bottom: 8px;
      }
      /* Po odhlášení zmizí řádek „jen moje“ — bez tohoto by RESET lepil na kategorie (skrytý blok nedává margin). */
      #mineOnlyFilterWrap.hidden + .field {
        margin-top: 16px;
      }
      #mineOnlyFilterWrap:not(.hidden) + .field {
        margin-top: 0;
      }
      #resetTimeFilterBtn {
        margin-top: 0;
        background: #ececec !important;
        color: #1a1a1a !important;
        border: 1px solid rgba(17, 24, 39, 0.6) !important;
      }
      #resetTimeFilterBtn:hover,
      #resetTimeFilterBtn:focus-visible {
        background: #e2e2e2 !important;
        border-color: rgba(17, 24, 39, 0.75) !important;
      }
      .hud-cta-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 100%;
        box-sizing: border-box;
        min-height: 84px;
        padding: 20px 22px;
        font-size: clamp(1.08rem, 2.1vw, 1.42rem);
        font-weight: 800;
        letter-spacing: 0.03em;
        line-height: 1.2;
        border-radius: 12px;
        text-align: center;
        box-shadow:
          0 5px 0 rgba(0, 0, 0, 0.22),
          inset 0 1px 0 rgba(255, 255, 255, 0.22);
      }
      .hud-add-story--docked .hud-cta-btn {
        min-height: 0;
        padding: 12px 16px 12px 14px;
        font-size: clamp(0.95rem, 1.8vw, 1.12rem);
        font-weight: 700;
        letter-spacing: 0.02em;
      }
      .hud-add-story--at-point .hud-cta-btn {
        min-height: 76px;
        padding: 18px 36px 18px 20px;
        font-size: clamp(1.02rem, 2.2vw, 1.28rem);
        box-shadow:
          0 6px 0 rgba(0, 0, 0, 0.2),
          inset 0 1px 0 rgba(255, 255, 255, 0.24);
      }
      .hud-cta-btn__icon {
        display: grid;
        place-items: center;
        flex-shrink: 0;
        width: 1.35em;
        height: 1.35em;
        border-radius: 10px;
        font-size: 1.25em;
        font-weight: 800;
        line-height: 1;
        background: rgba(0, 0, 0, 0.12);
      }
      .hud-add-story--at-point .hud-cta-btn__icon {
        width: 1.45em;
        height: 1.45em;
        font-size: 1.3em;
      }
      .hud-cta-btn__label {
        flex: 1 1 auto;
        text-align: center;
      }
      .hud-add-story--docked .hud-cta-btn__label {
        text-align: left;
      }
      .hud-cta-btn:active {
        transform: translateY(2px);
        box-shadow:
          0 2px 0 rgba(0, 0, 0, 0.2),
          inset 0 1px 0 rgba(255, 255, 255, 0.18);
      }
      .hud-footer-ribbon {
        position: fixed;
        z-index: 4100;
        left: var(--hud-edge);
        right: var(--hud-edge);
        bottom: var(--hud-edge);
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: stretch;
        justify-content: space-between;
        gap: 10px;
      }
      .hud-footer-panel {
        padding: clamp(7px, 1dvh, 10px) clamp(9px, 1.3dvh, 12px);
        border-radius: 12px;
        box-shadow: var(--hud-shadow);
        border: 1px solid rgba(0, 0, 0, 0.2);
      }
      .hud-footer-panel--status {
        flex: 1 1 220px;
        max-width: min(360px, 42vw);
        min-width: 180px;
      }
      .hud-footer-panel--center {
        flex: 2 1 280px;
        min-width: 220px;
        text-align: center;
        align-self: center;
        padding: 4px 10px;
      }
      .hud-footer-panel--stats {
        flex: 1 1 240px;
        max-width: min(420px, 46vw);
        min-width: 200px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: clamp(8px, 1.2dvh, 14px) clamp(10px, 1.6dvh, 18px);
        min-height: clamp(2.9rem, 6.2dvh, 4.5rem);
      }
      .hud-footer-brand {
        margin-bottom: 8px;
      }
      .hud-footer-brand {
        display: none;
      }
      .hud-footer-brand strong {
        display: block;
        font-size: clamp(1.15rem, 2.6vw, 1.55rem);
        font-weight: 800;
        letter-spacing: 0.04em;
        color: var(--hud-on-dark);
        text-transform: uppercase;
      }
      .hud-footer-brand small {
        display: block;
        margin-top: 4px;
        font-size: 12px;
        font-weight: 600;
        color: var(--hud-on-dark-muted);
      }
      .hud-card {
        border-radius: 12px;
        box-shadow: var(--hud-shadow);
        border: 1px solid rgba(0, 0, 0, 0.22);
      }
      .hud-skin--top {
        background: var(--hud-panel-top);
        color: var(--hud-on-dark);
      }
      .hud-skin--side {
        background: var(--hud-panel-side);
        color: var(--hud-on-dark);
      }
      .hud-skin--bottom {
        background: var(--hud-panel-bottom);
        color: var(--hud-on-dark);
      }
      .hud-skin--cta {
        background: var(--hud-panel-cta);
        border-color: var(--hud-panel-cta-border);
        color: var(--hud-on-dark);
      }
      .hud-top-bar {
        display: grid;
        grid-template-columns: auto auto minmax(0, 1fr) auto auto;
        align-items: center;
        gap: 10px 14px;
        padding: 8px 12px;
      }
      .hud-top-bar .header-search {
        justify-self: stretch;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        flex: unset;
        overflow: hidden;
      }
      .hud-top-bar__end-actions {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-end;
        gap: 12px;
        flex-shrink: 0;
        min-width: 0;
      }
      @media (min-width: 1200px) {
        .hud-top-bar {
          position: static;
          /*
           * Logo | volno | hledání (uprostřed lišty, mírně vpravo) | volno | hláška | účet+menu
           * Dva flex sloupce kolem hledání drží blok uprostřed a mimo logo.
           */
          grid-template-columns:
            var(--hud-desktop-brand-slot) minmax(12px, 0.85fr) minmax(0, var(--hud-desktop-search-max-w))
            minmax(20px, 1.15fr) minmax(0, max-content) auto;
          grid-template-rows: auto;
          gap: 10px 10px;
          align-items: center;
        }
        .hud-top-bar #brandHomeBtn {
          grid-column: 1;
          grid-row: 1;
          justify-self: start;
          align-self: center;
          max-width: calc(var(--hud-desktop-brand-slot) - 4px);
        }
        .hud-top-bar #headerPrivilegedActions {
          display: none !important;
        }
        .hud-top-bar .header-session {
          display: none !important;
        }
        .hud-top-bar .header-search {
          position: static;
          grid-column: 3;
          grid-row: 1;
          width: 100%;
          max-width: var(--hud-desktop-search-max-w);
          justify-self: center;
          justify-content: center;
          align-self: center;
          padding-left: 0;
          margin-left: clamp(8px, 2.5vw, 40px);
          z-index: 1;
          min-width: 0;
          overflow: visible;
        }
        .hud-top-bar .header-search__col--find {
          flex: 0 1 auto;
          width: auto;
          max-width: 100%;
          align-items: center;
        }
        .hud-top-bar .header-search__findRow {
          flex-wrap: nowrap;
          width: auto;
          max-width: 100%;
          justify-content: center;
        }
        .hud-top-bar .header-search__filter-btn,
        .hud-top-bar .header-search__col--mun {
          display: none !important;
        }
        .hud-top-bar__announcement.map-announcement-panel {
          grid-column: 5;
          grid-row: 1;
          justify-self: end;
          align-self: center;
          max-width: min(240px, 26vw);
        }
        .hud-top-bar__end-actions {
          grid-column: 6;
          grid-row: 1;
          justify-self: end;
          align-self: center;
        }
        .hud-top-bar .nav-account-toggle {
          display: inline-flex;
          align-items: center;
          justify-content: center;
        }
        .hud-top-bar .nav-menu-toggle {
          display: inline-flex !important;
          align-items: center;
          justify-content: center;
        }
        .hud-top-bar #brandHomeBtn,
        .hud-top-bar .header-search,
        .hud-top-bar__announcement,
        .hud-top-bar__end-actions {
          position: relative;
          z-index: 2;
        }
        /* Pozadí lišty 50 % průhledné; logo, hledání, přepínače a menu zůstávají plně viditelné (vlastní pozadí). */
        body.site-global #appHeader > .hud-card.hud-top-bar.hud-skin--top,
        body.site-mistopribeh #appHeader > .hud-card.hud-top-bar.hud-skin--top {
          background: rgba(250, 250, 250, 0.5);
          border-color: rgba(0, 0, 0, 0.14);
        }
      }
      .desktop-filter-chrome {
        display: none;
      }
      .hud-filter-panel__head {
        display: none;
      }
      .hud-filter-panel__body {
        padding: 0;
      }
      .hud-filter-panel__foot {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding: 8px 10px 10px;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
      }
      .hud-filter-panel__close-btn {
        display: none;
      }
      .hud-filter-panel__reset-btn {
        flex: 1 1 auto;
      }
      /* Mobil: filtr zůstává svislý výsuv */
      .hud-filter-layout {
        display: flex;
        flex-direction: column;
        min-width: 0;
      }
      .hud-filter-row-top {
        display: contents;
      }
      .hud-filter-block-main {
        display: contents;
      }
      .hud-section-title--keyword {
        display: none;
      }
      #hudLeftColumn .hud-cat-filter-pill.category-card {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        width: 100%;
        min-height: 0;
        padding: 6px 10px;
        border-radius: 999px;
        text-align: left;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        font-size: 13px;
        font-weight: 700;
        border: 1px solid rgba(255, 255, 255, 0.38);
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
      }
      #hudLeftColumn .hud-cat-filter-pill__text {
        color: #ffffff !important;
      }
      #hudLeftColumn .hud-cat-filter-pill.hud-cat-filter-pill--off {
        opacity: 0.42;
        filter: grayscale(0.5) saturate(0.55);
      }
      .hud-top-bar .header-search select,
      .hud-top-bar .header-search input[type="text"],
      .hud-top-bar .header-search input[type="search"],
      .hud-top-bar .header-search button {
        min-height: 36px;
        height: auto;
        line-height: 1.25;
      }
      .hud-top-bar .nav-menu-toggle {
        justify-self: end;
      }
      .header-session {
        display: flex;
        align-items: center;
        gap: 6px;
        min-width: 0;
        justify-self: end;
      }
      .header-session .role-box {
        padding: 4px 6px;
        border-radius: 10px;
        gap: 6px;
      }
      .header-session .role-box strong {
        font-size: 10px;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: #3d342b;
        white-space: nowrap;
      }
      .header-session .role-box select {
        min-width: 122px;
        min-height: 36px;
        height: auto;
        line-height: 1.25;
      }
      .header-session .status-chip {
        display: inline-flex;
        align-items: center;
        padding: 4px 9px;
        font-size: 11px;
        line-height: 1.15;
        white-space: nowrap;
      }
      .header-session__userline {
        font-size: 13px;
        font-weight: 600;
        color: var(--hud-on-dark);
        max-width: min(42vw, 280px);
        min-width: 0;
      }
      .header-session__userline-inner {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-width: 0;
        max-width: 100%;
      }
      .header-session__userline-text {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .header-session-avatar {
        flex-shrink: 0;
        width: 26px;
        height: 26px;
        border-radius: 50%;
        overflow: hidden;
        border: 1px solid rgba(255, 255, 255, 0.35);
        box-sizing: border-box;
      }
      .header-session-avatar__img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      @media (max-width: 420px) {
        .header-session-avatar {
          display: none;
        }
      }
      .header-session__userline strong {
        font-weight: 800;
      }
      .hud-actions-row--top {
        margin-top: 0;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 4px;
      }
      .header-privileged-actions {
        min-width: 0;
        justify-self: center;
        overflow: hidden;
        margin-left: 0;
        padding: 0 8px;
        justify-content: center;
      }
      .header-session {
        gap: 8px;
      }
      .header-session .hud-actions-row--top {
        min-width: 0;
      }
      .hud-actions-row--top .secondary {
        padding: 7px 9px;
        font-size: 12px;
        white-space: nowrap;
      }
      #favoriteStoriesQuickBtn {
        min-width: 38px;
        width: 38px;
        height: 38px;
        padding: 0;
        line-height: 1;
        font-size: 22px;
        font-weight: 800;
        color: #b68a2a !important;
        background: transparent !important;
      }
      .hud-field-label {
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--hud-on-dark-muted);
        white-space: nowrap;
      }
      .hud-left-stack {
        padding: 10px 12px 12px;
      }
      .hud-left-section {
        margin-top: 12px;
        padding-top: 10px;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
      }
      .hud-left-section:first-child {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
      }
      .hud-section-title {
        margin: 0 0 6px;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--hud-on-dark-muted);
      }
      .hud-placeholder-hint {
        margin: 0;
        font-size: 12px;
        line-height: 1.45;
        color: var(--hud-on-dark-muted);
      }
      .hud-category-intro {
        margin: 0 0 10px;
        font-size: 12px;
        line-height: 1.45;
        color: var(--hud-on-dark-muted);
      }
      .hud-category-fieldset {
        border: 0;
        margin: 0;
        padding: 0;
        min-width: 0;
      }
      .hud-category-list {
        display: flex;
        flex-direction: column;
        gap: 6px;
      }
      .export-category-cb-label {
        display: inline-flex;
        flex-direction: row;
        align-items: center;
        gap: 6px;
        margin: 0;
        cursor: pointer;
      }
      .export-category-cb-label input[type="checkbox"] {
        margin: 0;
        flex-shrink: 0;
      }
      /* Admin: ruční export dat — kategorie vedle sebe, jeden řádek */
      #adminDataExportCategoryList.hud-category-list {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 4px 14px;
      }
      #adminDataExportCategoryList .export-category-cb-label {
        font-size: 12px;
        font-weight: 500;
        line-height: 1.3;
        color: #374151;
      }
      #adminDataExportCategoryList .export-category-cb-label input[type="checkbox"] {
        width: 15px;
        height: 15px;
      }
      #categoryFilterList {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 6px;
      }
      .hud-cat-item {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 6px 8px;
        border-radius: 8px;
        background: rgba(0, 0, 0, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.1);
        font-size: 13px;
        font-weight: 600;
        color: var(--hud-on-dark);
        cursor: pointer;
      }
      .hud-cat-item input {
        width: 17px;
        height: 17px;
        accent-color: var(--hud-gold);
        flex-shrink: 0;
      }
      .hud-footer-status-lines {
        display: flex;
        flex-direction: column;
        gap: 6px;
        font-size: 12px;
        line-height: 1.4;
        color: var(--hud-on-dark-muted);
        text-align: left;
      }
      .hud-footer-status-lines .geo-status {
        margin: 0;
        color: inherit;
      }
      .hud-footer-panel--stats .app-footer__stats {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.2em;
        color: var(--hud-on-dark);
        font-size: clamp(1.02rem, 2.4vw, 1.38rem);
        font-weight: 800;
        line-height: 1.3;
        white-space: normal;
        margin: 0;
      }
      .hud-footer-panel--stats .system-stats__line1,
      .hud-footer-panel--stats .system-stats__line2 {
        display: block;
        max-width: 100%;
      }
      .hud-footer-panel--stats .system-stats__line1 {
        font-size: 0.92em;
        font-weight: 700;
        opacity: 1;
      }
      .hud-footer-panel--stats .system-stats__line2 {
        font-size: 1.05em;
      }
      .hud-footer-panel--center .app-footer__links {
        justify-content: center;
        gap: 4px 8px;
      }
      .hud-footer-panel--center .app-footer__links button {
        color: var(--hud-gold);
        text-decoration: none;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 8px;
        padding: 3px 8px;
        font-size: 11px;
        line-height: 1.1;
        background: rgba(0, 0, 0, 0.12);
      }
      .hud-footer-panel--center .app-footer__links button:hover {
        color: var(--hud-gold-hover);
        background: rgba(0, 0, 0, 0.2);
      }
      footer.app-footer {
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
      }
      .hud-top-bar .brand-block {
        justify-self: start;
        background: rgba(0, 0, 0, 0.15);
        border: 1px solid rgba(255, 255, 255, 0.18);
        box-shadow: none;
        padding: 6px 10px;
        max-width: min(220px, 40vw);
        color: var(--hud-on-dark);
      }
      .hud-top-bar .brand-block strong {
        color: var(--hud-on-dark);
      }
      .hud-top-bar .brand-block small {
        color: var(--hud-on-dark-muted);
      }
      .hud-skin--side .role-box {
        flex-wrap: wrap;
        background: rgba(0, 0, 0, 0.12);
        border: 1px solid rgba(255, 255, 255, 0.14);
        color: var(--hud-on-dark);
        box-shadow: none;
      }
      .hud-skin--side .role-box strong {
        color: var(--hud-on-dark-muted);
      }
      .hud-skin--side .filter-panel {
        margin-top: 0;
        padding: 0;
        background: transparent;
        border: 0;
        box-shadow: none;
      }
      .hud-skin--side .filter-panel label,
      .hud-skin--side .field-note {
        color: var(--hud-on-dark-muted);
      }
      .hud-column-left .filter-panel--header {
        grid-template-columns: 1fr;
      }
      .hud-skin--side .filter-result {
        color: var(--hud-on-dark-muted);
      }
      .hud-card.notice {
        margin-top: 0;
      }
      .hud-skin--side.hud-card.notice,
      .hud-column-left .notice.hud-card {
        border-color: rgba(180, 120, 40, 0.55);
      }
      .hud-card select,
      .hud-card input[type="text"],
      .hud-card input[type="search"],
      .hud-card input[type="date"],
      .hud-card input[type="email"] {
        background: var(--hud-input-bg);
        color: var(--hud-ink);
        border: 1px solid var(--hud-input-border);
        border-radius: 8px;
      }
      .hud-skin--top .secondary,
      .hud-skin--side .secondary,
      .hud-skin--bottom .secondary {
        background: var(--hud-btn-secondary);
        color: var(--hud-ink);
        border: 1px solid rgba(0, 0, 0, 0.2);
        font-weight: 700;
      }
      .hud-skin--top .secondary:hover,
      .hud-skin--side .secondary:hover,
      .hud-skin--bottom .secondary:hover {
        background: var(--hud-btn-secondary-hover);
      }
      .hud-skin--top .primary,
      .hud-skin--cta .primary {
        background: var(--hud-gold);
        color: var(--hud-ink);
        border: 1px solid rgba(0, 0, 0, 0.15);
        font-weight: 800;
      }
      .hud-skin--top .primary:hover,
      .hud-skin--cta .primary:hover {
        background: var(--hud-gold-hover);
      }
      .hud-skin--side .status-chip {
        background: linear-gradient(135deg, var(--hud-gold) 0%, #c49a3a 100%);
        color: var(--hud-ink);
      }
      body.site-mistopribeh .hud-skin--side .status-chip {
        background: rgba(201, 203, 199, 0.2);
        color: #f0efea;
        border: 1px solid rgba(201, 203, 199, 0.36);
      }
      body.site-mistopribeh .header-session .status-chip {
        background: rgba(44, 47, 44, 0.88);
        color: #f0efea;
        border: 1px solid rgba(201, 203, 199, 0.34);
      }
      body.site-mistopribeh .hud-cat-item input {
        accent-color: #9ea19b;
      }
      #pickedCoords {
        color: var(--hud-on-dark-muted);
        font-size: 12px;
      }
      .hud-actions-row {
        margin-top: 8px;
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
      }
      @media (max-width: 760px) {
        :root {
          --hud-footer-ribbon-h: 220px;
        }
        .hud-add-story {
          max-width: min(300px, calc(100vw - 2 * var(--hud-edge)));
        }
        .hud-add-story--docked {
          max-width: min(220px, calc(100vw - 2 * var(--hud-edge)));
        }
        .hud-cta-btn {
          min-height: 68px;
          padding: 16px 18px;
        }
        .hud-add-story--docked .hud-cta-btn {
          min-height: 0;
          padding: 11px 14px;
        }
        .hud-add-story--at-point .hud-cta-btn {
          min-height: 64px;
          padding: 16px 34px 16px 16px;
        }
        .hud-column-left {
          max-height: min(42vh, 320px);
        }
        .hud-footer-ribbon {
          flex-direction: column;
        }
        .hud-footer-panel--status,
        .hud-footer-panel--center,
        .hud-footer-panel--stats {
          max-width: none;
          text-align: left;
        }
        .hud-footer-panel--center {
          text-align: center;
        }
        .hud-footer-panel--stats {
          text-align: center;
          justify-content: center;
          min-height: 0;
        }
        .hud-footer-panel--stats .app-footer__stats {
          font-size: clamp(0.98rem, 3.6vw, 1.22rem);
        }
        body.site-global #openStoryBtn.hud-cta-btn.primary {
          min-height: 0 !important;
          padding: 14px 22px !important;
          font-size: calc(0.8125rem + 2px);
        }
        body.site-global .hud-add-story-dismiss {
          width: 20px;
          height: 20px;
          top: 4px;
          right: 4px;
          font-size: 0.62rem;
        }
      }
      @media (max-width: 1260px) {
        .header-session .role-box strong {
          display: inline;
          font-size: 9px;
          letter-spacing: 0.04em;
        }
        .header-session .role-box {
          background: transparent;
          border: 0;
          padding: 0;
        }
        .header-session .role-box select {
          min-width: 110px;
        }
        .hud-actions-row--top #curatorProfileBtn {
          display: none !important;
        }
      }
      /* Striktní responsive flow: pod 1200px schovej levý panel pod hamburger */
      @media (max-width: 1199px) {
        :root {
          --hud-right-leaflet-gap: 58px;
          --hud-footer-ribbon-h: clamp(54px, 9dvh, 76px);
          --hud-after-header-gap: 8px;
        }
        .hud-root--top {
          right: var(--hud-edge);
        }
        .hud-column-left {
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          width: 100%;
          max-width: none;
          height: 100dvh;
          height: 100svh;
          max-height: none;
          padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom)
            env(safe-area-inset-left);
          box-sizing: border-box;
          transform: translate3d(-105%, 0, 0);
          transition: transform 0.22s ease;
          z-index: 10100;
        }
        body.compact-left-open .hud-column-left {
          transform: translate3d(0, 0, 0);
        }
        body.compact-left-open .hud-column-left .hud-left-stack {
          position: relative;
          min-height: 100%;
          height: 100%;
          padding-bottom: 0;
          border-radius: 0 !important;
        }
        body.compact-left-open .hud-column-left .hud-filter-panel-card {
          min-height: 100%;
          border-radius: 0 !important;
        }
        body.compact-left-open .hud-left-backdrop {
          z-index: 10095;
        }
        body.compact-left-open .hud-left-backdrop {
          opacity: 1;
          pointer-events: auto;
        }
        .hud-footer-ribbon {
          gap: 6px;
          justify-content: space-between;
          align-items: flex-end;
        }
        .hud-footer-panel {
          padding: 6px 8px;
        }
        .hud-footer-panel--status {
          display: none !important;
        }
        .hud-footer-panel--center {
          display: block;
          flex: 0 1 auto;
          order: 1;
          align-self: flex-end;
          max-width: min(58vw, 320px);
          min-width: 0;
          padding: 4px 10px;
        }
        .hud-footer-panel--stats {
          order: 2;
          flex: 0 0 auto;
          min-width: 150px;
          max-width: min(40vw, 220px);
          min-height: auto;
          padding: 6px 8px;
          align-self: flex-end;
        }
        .hud-footer-panel--stats .app-footer__stats {
          font-size: clamp(0.82rem, 1.4dvh, 0.95rem);
          line-height: 1.2;
        }
        /* Čítač příběhů vpravo dole — po timeoutu (viz JS) odjede dolů; FAB se současně posune tak, aby nesjel přes spodní lištu. */
        .hud-footer-panel--stats {
          transform: translate3d(0, 0, 0);
          transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
        }
        body.mobile-story-counter-dismissed .hud-footer-panel--stats {
          pointer-events: none;
          transform: translate3d(0, var(--mobile-stats-slide-distance, 120vh), 0);
        }
        body.mobile-story-counter-dismissed #hudAddStoryDock.hud-add-story--docked {
          transition:
            left 0.55s cubic-bezier(0.4, 0, 0.2, 1),
            top 0.55s cubic-bezier(0.4, 0, 0.2, 1),
            right 0.55s cubic-bezier(0.4, 0, 0.2, 1),
            bottom 0.55s cubic-bezier(0.4, 0, 0.2, 1),
            filter 0.55s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .hud-add-story--docked .hud-cta-btn {
          min-height: 0;
          padding: 9px 12px 9px 10px;
          font-size: clamp(0.9rem, 1.9vw, 1.02rem);
        }
      }
      @media (max-width: 1199px) and (prefers-reduced-motion: reduce) {
        .hud-footer-panel--stats {
          transition: none !important;
        }
        body.mobile-story-counter-dismissed .hud-footer-panel--stats {
          transition: none !important;
        }
        body.mobile-story-counter-dismissed #hudAddStoryDock.hud-add-story--docked {
          transition: none !important;
        }
      }
      /* Nízká výška: panel může scrollovat, footer se dál zmenší */
      @media (max-height: 900px) {
        :root {
          --hud-footer-ribbon-h: clamp(50px, 8.5dvh, 68px);
        }
        .hud-column-left {
          overflow-y: auto;
        }
        .hud-footer-panel--stats {
          min-height: clamp(2.5rem, 5.2dvh, 3.4rem);
        }
        .hud-footer-panel--stats .app-footer__stats {
          font-size: clamp(0.86rem, 1.4dvh, 1rem);
        }
      }
      .brand-block {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 6px;
        padding: 0;
        margin: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        cursor: pointer;
        text-align: left;
        color: var(--heading-color);
        max-width: min(320px, 38vw);
      }
      .brand-block__text {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        min-width: 0;
      }
      .brand-block strong,
      .brand-block small,
      .brand-block__text {
        display: none !important;
      }
      #brandHomeBtn.logo-fallback-text .brand-block__text {
        display: flex !important;
      }
      #brandHomeBtn.logo-fallback-text .brand-block strong,
      #brandHomeBtn.logo-fallback-text .brand-block small {
        display: block !important;
      }
      #brandLogoImg,
      #municipalityLogoImg {
        flex: 0 0 auto;
        display: block;
      }
      #brandHomeBtn #brandLogoImg {
        max-height: calc(var(--hud-header-block-h) - 18px) !important;
        max-width: min(335px, 42vw) !important;
        margin-right: 0 !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
        object-position: center center;
        flex-shrink: 0;
      }
      /*
       * Mobil: pevná výška lišty = --hud-header-block-h; logo vycentrované (viz mřížka 1fr auto 1fr + bez translate).
       * Logo ~5 % menší než max. mezera — šířka i výška podle proměnné, aby seděl „Filtr“ pod lištou.
       */
      @media (max-width: 1199px) {
        #appHeader .hud-card.hud-top-bar {
          height: var(--hud-header-block-h);
          min-height: var(--hud-header-block-h);
          max-height: var(--hud-header-block-h);
          box-sizing: border-box;
          align-items: center;
        }
        .hud-top-bar #brandHomeBtn.brand-block {
          max-width: min(260px, 52vw) !important;
          display: flex !important;
          align-items: center !important;
          justify-content: center !important;
        }
        #brandHomeBtn #brandLogoImg {
          max-height: calc((var(--hud-header-block-h) - 14px) * 0.95) !important;
          max-width: min(calc(340px * 0.95), calc(52vw * 0.95)) !important;
        }
      }
      @media (min-width: 1200px) {
        .hud-top-bar #brandHomeBtn.brand-block {
          max-width: min(calc(220px * 0.765), calc(40vw * 0.765)) !important;
        }
        #brandHomeBtn #brandLogoImg {
          max-height: calc((var(--hud-header-block-h) - 18px) * 0.765) !important;
          max-width: min(calc(335px * 0.765), calc(42vw * 0.765)) !important;
        }
      }
      /* Logo vlevo nahoře: nesmí ho useknout rozhraní karty; horní lišta bez zaoblených rohů. */
      #appHeader .hud-card.hud-top-bar {
        overflow: visible;
        border-radius: 0;
      }
      body.site-global #appHeader .hud-card.hud-top-bar,
      body.site-mistopribeh #appHeader .hud-card.hud-top-bar {
        border-radius: 0;
      }
      #brandHomeBtn.brand-block {
        overflow: visible;
      }
      #municipalityFloatingLogo {
        position: fixed;
        right: var(--hud-edge);
        top: calc(var(--hud-edge) + var(--hud-header-block-h) + 8px);
        z-index: 4099;
        background: rgba(255, 255, 255, 0.92);
        border: 1px solid rgba(0, 0, 0, 0.12);
        border-radius: 10px;
        padding: 6px 8px;
        box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
      }
      #municipalityFloatingLogo.hidden {
        display: none !important;
      }
      #municipalityFloatingLogoImg {
        display: block;
        max-height: 126px;
        max-width: 320px;
        object-fit: contain;
      }
      .map-announcement-panel {
        box-sizing: border-box;
        padding: 6px 10px;
        border-radius: 8px;
        border: 1px solid rgba(180, 83, 9, 0.32);
        background: rgba(255, 247, 237, 0.95);
        color: #7c2d12;
        font-size: 12px;
        line-height: 1.35;
        font-weight: 600;
      }
      .hud-top-bar__announcement.map-announcement-panel {
        position: static;
        z-index: 2;
        flex: 0 1 auto;
        min-width: 0;
        max-width: min(240px, 24vw);
        margin: 0;
        box-shadow: none;
        transform: translate3d(0, 0, 0);
        transition:
          opacity 0.45s ease,
          max-height 0.45s ease,
          padding 0.45s ease,
          margin 0.45s ease,
          transform 0.35s ease;
        overflow: hidden;
      }
      .hud-top-bar__announcement #mapAnnouncementText {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .map-announcement-panel.hidden {
        display: none !important;
      }
      .map-story-group-panel {
        position: fixed;
        right: max(18px, env(safe-area-inset-right, 0px));
        bottom: max(18px, env(safe-area-inset-bottom, 0px));
        z-index: 10120;
        width: min(380px, calc(100vw - 24px));
        padding: 14px;
        border-radius: 14px;
        border: 1px solid rgba(0, 0, 0, 0.22);
        background: rgba(250, 250, 250, 0.97);
        box-shadow: 0 12px 32px rgba(15, 23, 42, 0.22);
        color: #111827;
        display: grid;
        gap: 8px;
      }
      .map-story-group-panel.hidden {
        display: none !important;
      }
      .map-story-group-panel p {
        margin: 0;
        font-size: 12px;
        color: #374151;
      }
      .map-story-group-selected-list {
        display: grid;
        gap: 4px;
        max-height: 140px;
        overflow: auto;
        font-size: 12px;
      }
      .map-story-group-selected-row {
        display: flex;
        gap: 6px;
        align-items: center;
        justify-content: space-between;
        padding: 5px 7px;
        border-radius: 8px;
        background: rgba(155, 28, 49, 0.08);
      }
      .map-story-group-panel__actions {
        display: flex;
        justify-content: flex-end;
        gap: 8px;
        flex-wrap: wrap;
      }
      body.mobile-map-announcement-dismissed .hud-top-bar__announcement.map-announcement-panel {
        pointer-events: none;
        opacity: 0;
        max-height: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin: 0 !important;
        border-width: 0;
      }
      @media (prefers-reduced-motion: reduce) {
        .hud-top-bar__announcement.map-announcement-panel,
        body.mobile-map-announcement-dismissed .hud-top-bar__announcement.map-announcement-panel {
          transition: none !important;
        }
      }

      /* Uvítání uprostřed mapy jen na subdoméně obce */
      .map-subdomain-welcome-cluster {
        --map-welcome-extra-top: 0px;
        position: fixed;
        left: 50%;
        transform: translateX(-50%);
        top: calc(
          var(--hud-edge) + var(--hud-header-block-h) + var(--hud-after-header-gap) + 4px + var(--map-welcome-extra-top)
        );
        z-index: 4097;
        display: flex;
        flex-direction: row;
        align-items: stretch;
        justify-content: center;
        gap: 10px;
        max-width: min(560px, calc(100vw - 2 * var(--hud-edge) - 24px));
        pointer-events: none;
      }
      .map-subdomain-welcome-cluster.hidden {
        display: none !important;
      }
      .map-subdomain-welcome-panel {
        position: relative;
        flex: 0 1 auto;
        max-width: min(440px, 100%);
        pointer-events: none;
        text-align: center;
      }
      .map-subdomain-welcome-dismiss {
        position: absolute;
        top: 1px;
        right: 2px;
        z-index: 3;
        width: 24px;
        height: 24px;
        margin: 0;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(45, 35, 28, 0.35);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.65);
        color: rgba(35, 28, 22, 0.92);
        font-size: 16px;
        line-height: 1;
        font-weight: 700;
        cursor: pointer;
        pointer-events: auto;
      }
      .map-subdomain-welcome-dismiss:hover {
        background: rgba(255, 255, 255, 0.92);
      }
      .map-subdomain-welcome-panel__inner {
        display: inline-block;
        margin: 0 auto;
        padding: 9px 14px 10px;
        border-radius: 12px;
        border: 1px solid rgba(40, 30, 20, 0.14);
        background: rgba(255, 252, 245, 0.38);
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
        backdrop-filter: blur(9px);
        -webkit-backdrop-filter: blur(9px);
        color: #3d2f26;
        pointer-events: auto;
      }
      .map-subdomain-welcome-panel__lead {
        margin: 0 0 4px;
        font-size: 13px;
        line-height: 1.35;
        font-weight: 500;
      }
      .map-subdomain-welcome-panel__lead strong {
        font-weight: 700;
        color: #2a1f18;
      }
      .map-subdomain-welcome-panel__sub {
        margin: 0 0 5px;
        font-size: 12px;
        line-height: 1.35;
        font-weight: 400;
        color: rgba(45, 35, 28, 0.92);
      }
      .map-subdomain-welcome-panel__stats {
        margin: 0;
        font-size: 10px;
        line-height: 1.3;
        font-weight: 500;
        color: rgba(45, 35, 28, 0.72);
        letter-spacing: 0.01em;
      }
      .map-subdomain-welcome-panel__stats-row {
        display: inline-flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 8px 12px;
        margin: 0;
      }
      .map-subdomain-welcome-about-btn {
        margin: 0;
        padding: 2px 8px;
        border-radius: 999px;
        border: 1px solid rgba(45, 35, 28, 0.28);
        background: rgba(255, 255, 255, 0.55);
        font: inherit;
        font-size: 10px;
        font-weight: 700;
        color: rgba(35, 28, 22, 0.9);
        cursor: pointer;
      }
      .map-subdomain-welcome-about-btn:hover {
        border-color: rgba(45, 35, 28, 0.45);
        background: rgba(255, 255, 255, 0.75);
      }

      .curator-municipality-profile-modal .curator-muni-emblem-recommend-hint {
        margin: 2px 0 6px;
        font-size: 10px;
        line-height: 1.35;
        color: rgba(0, 0, 0, 0.52) !important;
      }
      .curator-municipality-profile-modal .curator-muni-profile-emblem-preview-wrap {
        margin: 8px 0;
      }
      .curator-municipality-profile-modal .curator-muni-profile-emblem-preview-wrap img {
        display: block;
        max-height: 120px;
        max-width: 120px;
        object-fit: contain;
        border-radius: 10px;
        border: 1px solid rgba(0, 0, 0, 0.12);
        background: rgba(255, 255, 255, 0.7);
      }
      /* Banner + uvítání: na užších šířkách posun dolů, na širokém monitoru zůstane banner vlevo a střed je volný */
      body.mp-subdomain-welcome-on.has-map-announcement-visible .map-subdomain-welcome-cluster {
        --map-welcome-extra-top: 56px;
      }
      @media (min-width: 900px) {
        body.mp-subdomain-welcome-on.has-map-announcement-visible .map-subdomain-welcome-cluster {
          --map-welcome-extra-top: 44px;
        }
      }
      @media (min-width: 1200px) {
        body.mp-subdomain-welcome-on.has-map-announcement-visible .map-subdomain-welcome-cluster {
          --map-welcome-extra-top: 0px;
        }
      }
      /* Levý panel filtrů na subdoméně: cca 50 % „průhlednosti“ pozadí karty */
      body.mp-subdomain-welcome-on.site-global #hudLeftColumn .hud-card.hud-skin--side {
        background: rgba(245, 245, 220, 0.5) !important;
      }
      body.mp-subdomain-welcome-on.site-mistopribeh #hudLeftColumn .hud-card.hud-skin--side {
        background: rgba(250, 250, 250, 0.5) !important;
      }
      body.mp-subdomain-welcome-on #hudLeftColumn .hud-skin--side .role-box {
        background: rgba(255, 255, 255, 0.45) !important;
      }
      body.mp-subdomain-welcome-on #hudLeftColumn .hud-cat-item {
        background: rgba(255, 255, 255, 0.42) !important;
      }

      @media (max-width: 1199px) and (min-width: 900px) {
        .hud-top-bar__announcement.map-announcement-panel {
          justify-self: start;
          margin-left: var(--hud-edge);
          width: 70%;
          max-width: 70%;
        }
      }
      .header-search {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px;
        flex: 1 1 200px;
        min-width: 0;
      }
      .header-search__col--mun {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px;
        min-width: 0;
      }
      .header-active-municipality-text {
        display: none;
      }
      .header-search__col--find {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        flex: 1 1 160px;
        min-width: 0;
      }
      .header-search__findRow {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 8px 10px;
        width: 100%;
        min-width: 0;
      }
      .header-search__findRow .header-search-field-wrap {
        flex: 1 1 140px;
        min-width: 0;
      }
      .map-search-mode-toggle {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: 0;
        border: 1px solid rgba(155, 28, 49, 0.38);
        border-radius: var(--header-search-control-radius, 2px);
        overflow: hidden;
        background: rgba(255, 255, 255, 0.88);
      }
      .map-search-mode-toggle__btn.secondary {
        min-height: 34px;
        border-radius: 0 !important;
        border: 0 !important;
        padding: 7px 10px !important;
        background: transparent !important;
        color: #6b1020 !important;
        -webkit-text-fill-color: #6b1020 !important;
        box-shadow: none !important;
        font-weight: 800;
      }
      .map-search-mode-toggle__btn.secondary.is-active,
      .map-search-mode-toggle__btn.secondary[aria-pressed="true"] {
        background: #961f33 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      .header-search__filter-btn {
        display: none;
      }
      .header-search input[type="text"],
      .header-search input[type="search"] {
        flex: 1 1 140px;
        min-width: 120px;
        max-width: 220px;
      }
      .header-search__col--find input[type="text"],
      .header-search__col--find input[type="search"] {
        max-width: none;
      }
      @media (min-width: 1200px) {
        .hud-top-bar {
          overflow: visible;
        }
      }
      /* Úzké desktopové okno: zmenšit pole hledání, ale držet ho v prostředním sloupci mimo logo. */
      @media (min-width: 1200px) and (max-width: 1420px) {
        :root {
          --hud-desktop-brand-slot: clamp(160px, 14.45vw, 211px);
          --hud-desktop-search-max-w: min(640px, calc(100vw - 360px));
        }
        .hud-top-bar .header-search__findRow {
          gap: 6px 8px;
        }
        .hud-top-bar .header-search__findRow .header-search-field-wrap {
          min-width: min(180px, 24vw);
          max-width: min(280px, 36vw);
        }
        .hud-top-bar .header-search__findRow #municipalitySearchBtn,
        .hud-top-bar .header-search__findRow #showAllMunicipalitiesMapBtn {
          padding-left: 10px;
          padding-right: 10px;
          font-size: 13px;
          white-space: nowrap;
        }
        .hud-top-bar__announcement.map-announcement-panel {
          max-width: min(200px, 22vw);
        }
      }
      .header-lang-picker {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        flex: 0 0 auto;
        min-width: 0;
        opacity: 0.92;
      }
      .header-lang-picker label {
        margin: 0;
        font-size: 11px;
        font-weight: 400;
        letter-spacing: 0.01em;
        color: rgba(15, 23, 42, 0.62);
        white-space: nowrap;
      }
      body.site-mistopribeh .header-lang-picker label {
        color: rgba(45, 48, 45, 0.62);
      }
      .header-lang-picker select {
        box-sizing: border-box;
        flex: 0 0 auto;
        min-width: 7.5rem;
        width: auto;
        max-width: 11rem;
        min-height: 30px;
        padding: 3px 26px 3px 7px;
        font-size: 12px;
        font-weight: 400;
        line-height: 1.25;
        font-family: inherit;
        color: rgba(15, 23, 42, 0.78);
        background: rgba(248, 250, 252, 0.95);
        border: 1px solid rgba(0, 0, 0, 0.12);
        border-radius: 6px;
        box-shadow: none;
        cursor: pointer;
        appearance: auto;
        -webkit-appearance: menulist;
      }
      body.site-mistopribeh .header-lang-picker select {
        background: rgba(253, 251, 247, 0.92);
        color: rgba(30, 35, 30, 0.82);
        border-color: rgba(45, 48, 45, 0.16);
      }
      .header-lang-picker select:focus-visible {
        outline: 1px solid rgba(0, 0, 0, 0.22);
        outline-offset: 1px;
      }
      .nav-drawer--account .account-drawer-lang-li {
        margin-top: 4px;
        padding-top: 10px;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
      }
      .nav-drawer--account .account-drawer-reload-li {
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
      }
      /* Účet / Informace — výsuv zprava: hlavička fixní, seznam scrolluje (admin má víc položek). */
      #accountDrawerPanel.nav-drawer__panel:not(.nav-drawer__panel--desktop-anchor),
      #navDrawerPanel.nav-drawer__panel:not(.nav-drawer__panel--desktop-anchor) {
        display: flex;
        flex-direction: column;
        min-height: 0;
        max-height: 100dvh;
        overflow: hidden;
        box-sizing: border-box;
      }
      #accountDrawerPanel.nav-drawer__panel:not(.nav-drawer__panel--desktop-anchor) > .nav-drawer__head,
      #accountDrawerPanel.nav-drawer__panel:not(.nav-drawer__panel--desktop-anchor) > #accountDrawerSessionInfo,
      #navDrawerPanel.nav-drawer__panel:not(.nav-drawer__panel--desktop-anchor) > .nav-drawer__head {
        flex: 0 0 auto;
      }
      #accountDrawerPanel:not(.nav-drawer__panel--desktop-anchor) #accountDrawerList,
      #navDrawerPanel:not(.nav-drawer__panel--desktop-anchor) #navDrawerList {
        flex: 1 1 0%;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        padding-right: 2px;
      }
      .nav-drawer--account .account-drawer-clear-test-li:not(.hidden) {
        margin-top: 8px;
      }
      @media (min-width: 1200px) {
        /* Obnovit / Smazat data — jen mobilní menu Účet */
        .nav-drawer--account .account-drawer-reload-li,
        .nav-drawer--account .account-drawer-clear-test-li {
          display: none !important;
        }
      }
      .hud-skin--top .header-search__col--find #municipalitySearchInput {
        min-height: 36px;
        padding: 8px 16px;
        border-radius: var(--header-search-control-radius, 2px);
        box-sizing: border-box;
        background: #fff;
        color: #111827;
        border: 2px solid var(--color-accent, #9b1c31);
        font-weight: 600;
        font-size: 13px;
        letter-spacing: 0.01em;
        caret-color: var(--color-accent, #9b1c31);
        -webkit-text-fill-color: #111827;
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 2px 10px rgba(155, 28, 49, 0.12);
      }
      .hud-skin--top .header-search__col--find #municipalitySearchInput::placeholder {
        color: rgba(17, 24, 39, 0.45);
        font-weight: 500;
        -webkit-text-fill-color: rgba(17, 24, 39, 0.45);
      }
      .hud-skin--top .header-search__col--find #municipalitySearchInput:hover {
        border-color: #851a28;
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.95) inset, 0 2px 12px rgba(155, 28, 49, 0.2);
      }
      .hud-skin--top .header-search__col--find #municipalitySearchInput:focus,
      .hud-skin--top .header-search__col--find #municipalitySearchInput:focus-visible {
        outline: none;
        border-color: #851a28;
        box-shadow:
          0 0 0 2px #fff,
          0 0 0 5px rgba(155, 28, 49, 0.38),
          0 2px 12px rgba(155, 28, 49, 0.22);
      }
      .hud-skin--top .header-search__col--find #municipalitySearchInput:-webkit-autofill,
      .hud-skin--top .header-search__col--find #municipalitySearchInput:-webkit-autofill:hover,
      .hud-skin--top .header-search__col--find #municipalitySearchInput:-webkit-autofill:focus {
        -webkit-text-fill-color: #111827 !important;
        caret-color: var(--color-accent, #9b1c31) !important;
        box-shadow: 0 0 0 1000px #fff inset !important;
        border: 2px solid var(--color-accent, #9b1c31) !important;
      }
      .hud-skin--top .header-search__col--find #municipalitySearchBtn {
        min-height: 36px;
        padding: 8px 18px;
        border-radius: var(--header-search-control-radius, 2px);
        box-sizing: border-box;
        background: linear-gradient(180deg, #b3243d 0%, var(--color-accent, #9b1c31) 52%, #851a28 100%);
        color: #fff !important;
        border: 2px solid rgba(0, 0, 0, 0.2);
        font-weight: 800;
        font-size: 13px;
        letter-spacing: 0.02em;
        -webkit-text-fill-color: #fff;
        box-shadow:
          0 1px 0 rgba(255, 255, 255, 0.2) inset,
          0 2px 10px rgba(155, 28, 49, 0.35);
      }
      .hud-skin--top .header-search__col--find #municipalitySearchBtn:hover,
      .hud-skin--top .header-search__col--find #municipalitySearchBtn:focus-visible {
        filter: brightness(1.06);
        color: #fff !important;
        -webkit-text-fill-color: #fff;
      }
      .hud-skin--top .header-search__col--find #municipalitySearchBtn:active {
        filter: brightness(0.96);
      }
      .hud-top-bar .header-search__findRow #showAllMunicipalitiesMapBtn,
      .hud-top-bar .header-search__findRow #showAllMunicipalitiesMobileBtn,
      .hud-top-bar .header-search__findRow .header-show-all-muni-btn.secondary {
        border-radius: var(--header-search-control-radius, 2px) !important;
      }
      .header-search-field-wrap {
        position: relative;
        flex: 1 1 140px;
        min-width: 0;
        display: flex;
        align-items: center;
      }
      .header-search-field-wrap__icon {
        display: none;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        color: rgba(107, 114, 128, 0.85);
        pointer-events: none;
      }
      .header-search-field-wrap #municipalitySearchInput {
        width: 100%;
        box-sizing: border-box;
      }
      .header-search-mode-switch__desktop-only {
        display: none;
      }
      @media (min-width: 1200px) {
        .header-search-mode-switch__desktop-only {
          display: inline-flex;
        }
        .header-search__findRow {
          align-items: center;
          gap: 8px 10px;
        }
        .header-search-field-wrap {
          flex: 0 1 auto;
          width: auto;
          min-width: min(200px, 26vw);
          max-width: min(320px, 40vw);
          gap: 8px;
          padding: 0 12px 0 10px;
          box-sizing: border-box;
          border: 1px solid rgba(0, 0, 0, 0.18);
          border-radius: var(--header-search-control-radius, 2px);
          background: #fff;
        }
        .header-search-field-wrap__icon {
          display: inline-flex;
          position: static;
          transform: none;
        }
        .header-search-field-wrap #municipalitySearchInput,
        .hud-skin--top .header-search__col--find .header-search-field-wrap #municipalitySearchInput,
        body.site-global .hud-card.hud-top-bar .header-search-field-wrap #municipalitySearchInput,
        body.site-mistopribeh .hud-card.hud-top-bar .header-search-field-wrap #municipalitySearchInput {
          flex: 1 1 auto;
          width: auto;
          min-width: 0;
          min-height: 36px;
          padding: 8px 0 !important;
          border: 0 !important;
          border-radius: 0 !important;
          background: transparent !important;
          color: #111827 !important;
          -webkit-text-fill-color: #111827 !important;
          font-weight: 500;
          font-size: 13px;
          letter-spacing: 0;
          box-shadow: none !important;
          caret-color: #111827;
        }
        .header-search-field-wrap #municipalitySearchInput::placeholder {
          color: rgba(107, 114, 128, 0.75);
          font-weight: 400;
          -webkit-text-fill-color: rgba(107, 114, 128, 0.75);
        }
        .header-search-field-wrap:hover {
          border-color: rgba(0, 0, 0, 0.28);
        }
        .header-search-field-wrap:focus-within {
          border-color: rgba(0, 0, 0, 0.35);
          box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06);
        }
        .header-search__findRow #municipalitySearchBtn.header-search-submit-btn {
          display: none !important;
        }
        .header-search-mode-switch {
          display: inline-flex;
          flex: 0 0 auto;
          align-items: center;
          gap: 0;
          min-width: 0;
        }
        .header-search-mode-switch__map-icon {
          margin-right: 6px;
          color: rgba(55, 65, 81, 0.92);
        }
        .header-search-mode-switch__btn {
          margin: 0;
          padding: 0;
          border: 0;
          background: transparent;
          box-shadow: none;
          font: inherit;
          font-size: 13px;
          font-weight: 600;
          line-height: 1.3;
          color: rgba(55, 65, 81, 0.72);
          cursor: pointer;
          -webkit-text-fill-color: rgba(55, 65, 81, 0.72);
        }
        .header-search-mode-switch__btn:hover,
        .header-search-mode-switch__btn:focus-visible {
          color: #111827;
          -webkit-text-fill-color: #111827;
          background: transparent;
          filter: none;
        }
        .header-search-mode-switch__btn.is-active,
        .header-search-mode-switch__btn[aria-pressed="true"] {
          color: var(--color-accent, #9b1c31) !important;
          -webkit-text-fill-color: var(--color-accent, #9b1c31) !important;
          font-weight: 800;
        }
        .header-search-mode-switch__sep {
          color: rgba(107, 114, 128, 0.5);
          font-size: 13px;
          font-weight: 400;
          user-select: none;
          margin: 0;
          padding: 0 2px;
          line-height: 1;
        }
        #showAllMunicipalitiesMapBtn.header-show-all-muni-link {
          display: inline-flex !important;
          visibility: visible !important;
          margin-left: 8px;
        }
        .header-show-all-muni-link {
          display: inline-flex;
          flex: 0 0 auto;
          align-items: center;
          gap: 5px;
          margin: 0;
          padding: 0;
          border: 0;
          background: transparent;
          box-shadow: none;
          font: inherit;
          font-size: 13px;
          font-weight: 600;
          line-height: 1.3;
          color: #111827;
          cursor: pointer;
          white-space: nowrap;
          max-width: min(220px, 32vw);
        }
        .header-show-all-muni-link__pin {
          display: inline-flex;
          color: rgba(55, 65, 81, 0.88);
        }
        .header-show-all-muni-link:hover,
        .header-show-all-muni-link:focus-visible {
          color: #000;
          background: transparent;
          filter: none;
        }
        .hud-top-bar .nav-account-toggle {
          min-width: 42px;
          min-height: 42px;
          width: 42px;
          height: 42px;
          padding: 0 !important;
          border-radius: 50% !important;
          background: transparent !important;
          border: none !important;
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.14) !important;
        }
        .hud-top-bar .nav-account-toggle__inner {
          gap: 0;
        }
        .hud-top-bar .nav-account-toggle__chevron {
          display: none !important;
        }
        .hud-top-bar .nav-account-toggle__avatar-wrap {
          width: 42px;
          height: 42px;
          border: 1px solid rgba(0, 0, 0, 0.12);
          background: rgba(255, 255, 255, 0.96);
        }
        .hud-top-bar .nav-account-toggle__fallback {
          color: rgba(55, 65, 81, 0.9) !important;
          -webkit-text-fill-color: rgba(55, 65, 81, 0.9) !important;
        }
        .hud-top-bar .nav-account-toggle__initials {
          color: #111827 !important;
          -webkit-text-fill-color: #111827 !important;
        }
        .hud-top-bar .nav-menu-toggle {
          min-width: 42px;
          min-height: 42px;
          width: 42px;
          height: 42px;
          padding: 0 !important;
          border-radius: 50% !important;
          background: #eceff3 !important;
          border: 1px solid rgba(0, 0, 0, 0.1) !important;
          color: #1a1a1a !important;
          -webkit-text-fill-color: #1a1a1a !important;
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12) !important;
        }
        .hud-top-bar .nav-menu-toggle:hover,
        .hud-top-bar .nav-menu-toggle:focus-visible {
          background: #e2e6ec !important;
          border-color: rgba(0, 0, 0, 0.16) !important;
          filter: none;
        }
        .hud-top-bar .nav-menu-toggle__icon > span {
          background: #1a1a1a;
        }
      }
      @media (max-width: 1199px) {
        .header-search-field-wrap__icon {
          display: none;
        }
        .header-search-mode-switch {
          display: grid;
          grid-template-columns: 1fr 1fr;
          width: 100%;
          border: 1px solid rgba(155, 28, 49, 0.38);
          border-radius: var(--header-search-control-radius, 2px);
          overflow: hidden;
          background: rgba(255, 255, 255, 0.88);
        }
        .header-search-mode-switch__btn {
          min-height: 44px;
          margin: 0;
          padding: 7px 10px;
          border: 0;
          border-radius: 0;
          background: transparent;
          font-weight: 800;
          font-size: 14px;
          color: #6b1020;
          -webkit-text-fill-color: #6b1020;
          box-shadow: none;
        }
        .header-search-mode-switch__btn.is-active,
        .header-search-mode-switch__btn[aria-pressed="true"] {
          background: #961f33;
          color: #fff;
          -webkit-text-fill-color: #fff;
        }
        .hud-top-bar .nav-account-toggle {
          min-width: 40px;
          min-height: 40px;
          width: 40px;
          height: 40px;
          padding: 0 !important;
          border-radius: 50% !important;
          background: transparent !important;
          border: none !important;
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.14) !important;
        }
        .hud-top-bar .nav-account-toggle__chevron {
          display: none !important;
        }
        .hud-top-bar .nav-account-toggle__avatar-wrap {
          width: 40px;
          height: 40px;
          border: 1px solid rgba(0, 0, 0, 0.12);
          background: rgba(255, 255, 255, 0.96);
        }
        .hud-top-bar .nav-account-toggle__fallback {
          color: rgba(55, 65, 81, 0.9) !important;
          -webkit-text-fill-color: rgba(55, 65, 81, 0.9) !important;
        }
        .hud-top-bar .nav-account-toggle__initials {
          color: #111827 !important;
          -webkit-text-fill-color: #111827 !important;
        }
        #siteInfoMenuToggle.nav-menu-toggle--corner-fab {
          width: var(--hud-map-corner-thumb);
          min-width: var(--hud-map-corner-thumb);
          height: var(--hud-map-corner-thumb);
          min-height: var(--hud-map-corner-thumb);
          border-radius: 50% !important;
          background: #eceff3 !important;
          border: 1px solid rgba(0, 0, 0, 0.1) !important;
          color: #1a1a1a !important;
          -webkit-text-fill-color: #1a1a1a !important;
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12) !important;
          font-size: 0;
          line-height: 0;
        }
        #siteInfoMenuToggle.nav-menu-toggle--corner-fab:hover,
        #siteInfoMenuToggle.nav-menu-toggle--corner-fab:focus-visible {
          background: #e2e6ec !important;
          border-color: rgba(0, 0, 0, 0.16) !important;
          filter: none;
        }
        #siteInfoMenuToggle .nav-menu-toggle__icon > span {
          background: #1a1a1a;
        }
      }
      /* Burger v horní liště / u mapy — šedé kolečko (ne červené tlačítko). */
      .hud-top-bar__end-actions .nav-menu-toggle,
      #siteInfoMenuToggle.nav-menu-toggle--corner-fab {
        min-width: 44px;
        min-height: 44px;
        padding: 0;
        font-size: 0;
        line-height: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #eceff3 !important;
        border: 1px solid rgba(0, 0, 0, 0.1) !important;
        color: #1a1a1a !important;
        -webkit-text-fill-color: #1a1a1a !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12) !important;
      }
      .hud-top-bar__end-actions .nav-menu-toggle:hover,
      .hud-top-bar__end-actions .nav-menu-toggle:focus-visible,
      #siteInfoMenuToggle.nav-menu-toggle--corner-fab:hover,
      #siteInfoMenuToggle.nav-menu-toggle--corner-fab:focus-visible {
        background: #e2e6ec !important;
        border-color: rgba(0, 0, 0, 0.16) !important;
        filter: none;
      }
      .nav-menu-toggle__icon {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: center;
        gap: 4px;
        width: 18px;
        height: 14px;
      }
      .hud-top-bar__end-actions .nav-menu-toggle__icon > span,
      #siteInfoMenuToggle.nav-menu-toggle--corner-fab .nav-menu-toggle__icon > span {
        display: block;
        height: 2px;
        width: 100%;
        border-radius: 1px;
        background: #1a1a1a;
      }
      .hud-top-bar .nav-account-toggle {
        background: transparent !important;
        border: none !important;
        color: #1a1a1a !important;
        -webkit-text-fill-color: #1a1a1a !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.14) !important;
      }
      .hud-top-bar .nav-account-toggle:hover,
      .hud-top-bar .nav-account-toggle:focus-visible {
        background: transparent !important;
        border: none !important;
        filter: none;
      }
      .hud-top-bar .nav-account-toggle__chevron {
        display: none !important;
      }
      .hud-top-bar .nav-account-toggle__fallback {
        color: rgba(55, 65, 81, 0.9) !important;
        -webkit-text-fill-color: rgba(55, 65, 81, 0.9) !important;
      }
      .hud-top-bar .nav-account-toggle__initials {
        color: #111827 !important;
        -webkit-text-fill-color: #111827 !important;
      }
      .hud-top-bar .nav-account-toggle__avatar-wrap {
        border: 1px solid rgba(0, 0, 0, 0.12) !important;
        background: rgba(255, 255, 255, 0.96) !important;
      }
      .nav-account-toggle__chevron {
        color: inherit;
        opacity: 1;
      }
      #accountDrawerPanel.nav-drawer__panel {
        background: linear-gradient(180deg, #1b4d72 0%, #163e5c 100%) !important;
        color: #ffffff !important;
        border-left-color: #12354f !important;
        box-shadow: -12px 0 40px rgba(0, 0, 0, 0.28) !important;
      }
      #accountDrawerPanel .nav-drawer__head {
        border-bottom-color: rgba(255, 255, 255, 0.22) !important;
      }
      #accountDrawerPanel .nav-drawer__head h2,
      #accountDrawerPanel #accountDrawerSessionInfo {
        color: rgba(255, 255, 255, 0.95) !important;
      }
      .nav-drawer--account .nav-drawer__list .account-proxy-btn:not(.account-proxy-btn--login):not(.account-proxy-btn--register):not(.account-proxy-btn--privileged) {
        background: rgba(255, 255, 255, 0.1) !important;
        border: 1px solid rgba(255, 255, 255, 0.28) !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      .nav-drawer--account .nav-drawer__list .account-proxy-btn:not(.account-proxy-btn--login):not(.account-proxy-btn--register):not(.account-proxy-btn--privileged):hover,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn:not(.account-proxy-btn--login):not(.account-proxy-btn--register):not(.account-proxy-btn--privileged):focus-visible {
        background: rgba(255, 255, 255, 0.18) !important;
        border-color: rgba(255, 255, 255, 0.42) !important;
      }
      /* Administrace, Obce / Nástroje obce, Profil obce — červená tlačítka, bílý text */
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--privileged,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn[data-account-proxy="superAdminBtn"],
      .nav-drawer--account .nav-drawer__list .account-proxy-btn[data-account-proxy="curatorProfileBtn"],
      .nav-drawer--account .nav-drawer__list .account-proxy-btn[data-account-proxy="headerMunicipalityPublicProfileBtn"] {
        background: linear-gradient(180deg, #961f33 0%, #7a1829 100%) !important;
        border: 1px solid #7a1829 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        font-weight: 700;
      }
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--privileged:hover,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--privileged:focus-visible,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn[data-account-proxy="superAdminBtn"]:hover,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn[data-account-proxy="superAdminBtn"]:focus-visible,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn[data-account-proxy="curatorProfileBtn"]:hover,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn[data-account-proxy="curatorProfileBtn"]:focus-visible,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn[data-account-proxy="headerMunicipalityPublicProfileBtn"]:hover,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn[data-account-proxy="headerMunicipalityPublicProfileBtn"]:focus-visible {
        background: linear-gradient(180deg, #7e1a2b 0%, #681524 100%) !important;
        border-color: #681524 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      /* Přihlásit — bílé tlačítko na modrém panelu (nesplývá s pozadím). Registrovat zůstává červené. */
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--login,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn[data-account-proxy="loginBtn"] {
        background: rgba(255, 255, 255, 0.96) !important;
        border: 2px solid #ffffff !important;
        color: #1b4d72 !important;
        -webkit-text-fill-color: #1b4d72 !important;
        font-weight: 700;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
      }
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--login:hover,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--login:focus-visible,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn[data-account-proxy="loginBtn"]:hover,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn[data-account-proxy="loginBtn"]:focus-visible {
        background: #ffffff !important;
        border-color: #ffffff !important;
        color: #12354f !important;
        -webkit-text-fill-color: #12354f !important;
        box-shadow: 0 3px 14px rgba(0, 0, 0, 0.22);
      }
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--register,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn[data-account-proxy="registerBtn"] {
        background: linear-gradient(180deg, #961f33 0%, #7a1829 100%) !important;
        border: 1px solid #7a1829 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        font-weight: 700;
      }
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--register:hover,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--register:focus-visible,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn[data-account-proxy="registerBtn"]:hover,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn[data-account-proxy="registerBtn"]:focus-visible {
        background: linear-gradient(180deg, #7e1a2b 0%, #681524 100%) !important;
        border-color: #681524 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      .nav-drawer--account .account-drawer-logout-li {
        border-top-color: rgba(255, 255, 255, 0.22) !important;
      }
      .nav-drawer--account .nav-drawer__list .account-drawer-logout-btn {
        background: rgba(255, 255, 255, 0.14) !important;
        border: 2px solid rgba(255, 255, 255, 0.45) !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      /* Pravidla statusů + Odhlásit — text Regular (ne tučně), ostatní položky menu Účet beze změny */
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--status-rules,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--pwa-install,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--logout,
      .nav-drawer--account .nav-drawer__list .account-drawer-logout-btn,
      #accountDrawerPanel .nav-drawer__list .account-proxy-btn--status-rules,
      #accountDrawerPanel .nav-drawer__list .account-proxy-btn--pwa-install,
      #accountDrawerPanel .nav-drawer__list .account-proxy-btn--logout,
      #accountDrawerPanel .nav-drawer__list .account-drawer-logout-btn,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--status-rules .account-proxy-btn__text,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--pwa-install .account-proxy-btn__text,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--logout .account-proxy-btn__text,
      .nav-drawer--account .nav-drawer__list .account-drawer-logout-btn .account-proxy-btn__text,
      #accountDrawerPanel .nav-drawer__list .account-proxy-btn--status-rules .account-proxy-btn__text,
      #accountDrawerPanel .nav-drawer__list .account-proxy-btn--pwa-install .account-proxy-btn__text,
      #accountDrawerPanel .nav-drawer__list .account-proxy-btn--logout .account-proxy-btn__text,
      #accountDrawerPanel .nav-drawer__list .account-drawer-logout-btn .account-proxy-btn__text {
        font-weight: 400 !important;
      }
      .nav-drawer--account .account-proxy-btn--messages .account-proxy-messages-icon svg,
      .nav-drawer--account .account-proxy-btn--messages .account-proxy-messages-icon svg path {
        fill: #ffffff !important;
        color: #ffffff !important;
      }
      /* Položky menu Účet: text vlevo, ikona vpravo. */
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--trail {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        width: 100%;
        box-sizing: border-box;
      }
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--trail .account-proxy-btn__text {
        flex: 1 1 auto;
        min-width: 0;
        text-align: left;
      }
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--trail .account-proxy-btn__trail {
        flex: 0 0 auto;
        margin-left: auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
      }
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--trail:not(.account-proxy-btn--logout):not(.account-proxy-btn--favorites) .account-proxy-btn__trail svg,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--trail:not(.account-proxy-btn--logout):not(.account-proxy-btn--favorites) .account-proxy-btn__trail svg path {
        display: block;
        fill: #ffffff !important;
        color: #ffffff !important;
      }
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--favorites .account-proxy-favorites-icon {
        color: #f5d565 !important;
        -webkit-text-fill-color: #f5d565 !important;
      }
      .nav-drawer--account .nav-drawer__list .account-drawer-logout-btn .account-proxy-trail--logout svg,
      .nav-drawer--account .nav-drawer__list .account-drawer-logout-btn .account-proxy-trail--logout svg path,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--logout .account-proxy-trail--logout svg,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--logout .account-proxy-trail--logout svg path {
        fill: #ef4444 !important;
        color: #ef4444 !important;
      }
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--trail:not(.account-proxy-btn--logout):not(.account-proxy-btn--favorites):hover .account-proxy-btn__trail svg,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--trail:not(.account-proxy-btn--logout):not(.account-proxy-btn--favorites):focus-visible .account-proxy-btn__trail svg,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--trail:not(.account-proxy-btn--logout):not(.account-proxy-btn--favorites):hover .account-proxy-btn__trail svg path,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--trail:not(.account-proxy-btn--logout):not(.account-proxy-btn--favorites):focus-visible .account-proxy-btn__trail svg path {
        fill: #ffffff !important;
        color: #ffffff !important;
      }
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--favorites:hover .account-proxy-favorites-icon,
      .nav-drawer--account .nav-drawer__list .account-proxy-btn--favorites:focus-visible .account-proxy-favorites-icon {
        color: #f5d565 !important;
        -webkit-text-fill-color: #f5d565 !important;
      }
      .nav-drawer--account .nav-drawer__list .account-drawer-logout-btn:hover .account-proxy-trail--logout svg,
      .nav-drawer--account .nav-drawer__list .account-drawer-logout-btn:focus-visible .account-proxy-trail--logout svg,
      .nav-drawer--account .nav-drawer__list .account-drawer-logout-btn:hover .account-proxy-trail--logout svg path,
      .nav-drawer--account .nav-drawer__list .account-drawer-logout-btn:focus-visible .account-proxy-trail--logout svg path {
        fill: #ef4444 !important;
        color: #ef4444 !important;
      }
      .nav-drawer--account .account-proxy-trail--avatar {
        width: 26px;
        height: 26px;
        min-width: 26px;
        min-height: 26px;
        border-radius: 50%;
        overflow: hidden;
        border: 1px solid rgba(255, 255, 255, 0.45);
        background: rgba(255, 255, 255, 0.14);
        box-sizing: border-box;
      }
      .nav-drawer--account .account-proxy-trail-avatar__img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .nav-drawer--account .account-proxy-trail-avatar__initials {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        font-size: 11px;
        font-weight: 800;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        text-transform: uppercase;
      }
      .nav-drawer--account .account-proxy-trail-avatar__img.hidden,
      .nav-drawer--account .account-proxy-trail-avatar__initials.hidden {
        display: none !important;
      }
      @media (min-width: 1200px) {
        .nav-drawer--account .nav-drawer__list .account-proxy-btn--trail .account-proxy-btn__trail svg {
          width: 18px !important;
          height: 18px !important;
          max-width: 18px;
          max-height: 18px;
        }
        .nav-drawer--account .account-proxy-trail--avatar {
          width: 22px;
          height: 22px;
          min-width: 22px;
          min-height: 22px;
        }
        .nav-drawer--account .account-proxy-trail-avatar__initials {
          font-size: 10px;
        }
        .nav-drawer--account .nav-drawer__list .account-proxy-btn--favorites .account-proxy-favorites-icon {
          font-size: 1.05rem;
          font-weight: 700;
        }
      }
      #accountDrawerPanel .account-drawer-reload-li .secondary,
      #accountDrawerPanel #accountDrawerReloadBtn {
        background: rgba(255, 255, 255, 0.1) !important;
        border: 1px solid rgba(255, 255, 255, 0.28) !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      #accountDrawerPanel .account-drawer-clear-test-li .secondary {
        background: rgba(255, 255, 255, 0.08) !important;
        border: 1px solid rgba(255, 255, 255, 0.22) !important;
        color: #ffffff !important;
      }
      #navDrawerPanel.nav-drawer__panel {
        background: linear-gradient(180deg, #961f33 0%, #7a1829 100%) !important;
        color: #ffffff !important;
        border-left-color: #681524 !important;
        box-shadow: -12px 0 40px rgba(0, 0, 0, 0.28) !important;
      }
      #navDrawerPanel .nav-drawer__head {
        border-bottom-color: rgba(255, 255, 255, 0.22) !important;
      }
      #navDrawerPanel .nav-drawer__head h2 {
        color: #ffffff !important;
      }
      #accountDrawerPanel .nav-drawer__head .secondary,
      #navDrawerPanel .nav-drawer__head .secondary {
        background: rgba(255, 255, 255, 0.12) !important;
        border: 1px solid rgba(255, 255, 255, 0.32) !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      #accountDrawerPanel .nav-drawer__head .secondary:hover,
      #accountDrawerPanel .nav-drawer__head .secondary:focus-visible,
      #navDrawerPanel .nav-drawer__head .secondary:hover,
      #navDrawerPanel .nav-drawer__head .secondary:focus-visible {
        background: rgba(255, 255, 255, 0.2) !important;
        border-color: rgba(255, 255, 255, 0.45) !important;
      }
      #navDrawerPanel .nav-drawer__list button {
        background: rgba(255, 255, 255, 0.1) !important;
        border: 1px solid rgba(255, 255, 255, 0.28) !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      #navDrawerPanel .nav-drawer__list button:hover,
      #navDrawerPanel .nav-drawer__list button:focus-visible {
        background: rgba(255, 255, 255, 0.18) !important;
        border-color: rgba(255, 255, 255, 0.42) !important;
      }
      #navDrawerPanel .nav-drawer-lang-li {
        border-top-color: rgba(255, 255, 255, 0.22) !important;
      }
      #navDrawerPanel .header-lang-picker--nav-drawer label {
        color: rgba(255, 255, 255, 0.85) !important;
      }
      body.site-global #accountDrawerPanel.nav-drawer__panel,
      body.site-global #navDrawerPanel.nav-drawer__panel {
        background-image: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
      }
      .app-footer__stats {
        color: var(--accent-text);
        font-weight: 600;
        white-space: nowrap;
      }
      .app-footer__links {
        display: flex;
        flex-wrap: wrap;
        gap: 6px 14px;
        align-items: center;
      }
      .app-footer__links button {
        padding: 6px 4px;
        background: transparent;
        color: var(--accent);
        font-weight: 600;
        font-size: 13px;
        text-decoration: underline;
        text-underline-offset: 3px;
      }
      .app-footer__links button:hover {
        color: var(--accent-hover);
      }
      /* Spojuje levý blok (Pravidla + © na desktopu) a pravý blok rychlých odkazů. */
      .hud-footer-center-toolbar {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-width: 0;
        gap: 8px;
      }
      .hud-footer-desktop-left-slot {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
      }
      .app-footer__status-rules-desktop-wrap {
        display: none;
      }
      .app-footer__status-rules-btn-desktop {
        margin: 0;
        padding: 0;
        border: none;
        background: transparent;
        cursor: pointer;
        font: inherit;
        font-weight: 600;
        font-size: 13px;
        color: var(--accent);
        text-decoration: underline;
        text-underline-offset: 3px;
        white-space: nowrap;
      }
      .app-footer__status-rules-btn-desktop:hover {
        color: var(--accent-hover);
      }

      .app-footer__center-links-block {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-width: 0;
      }
      /* „O místě …“ v patičce jen na široké obrazovce (nad 1199px); na mobilu se nevykreslí. */
      .app-footer__muni-about-cluster {
        display: none !important;
      }
      @media (min-width: 1200px) {
        .app-footer__muni-about-cluster.is-visible {
          display: inline-flex !important;
          flex-direction: row;
          align-items: center;
          gap: 12px;
          margin-right: 12px;
          flex: 0 0 auto;
        }
        .app-footer__muni-about-divider {
          width: 1px;
          align-self: stretch;
          max-height: 16px;
          background: rgba(0, 0, 0, 0.22);
          flex-shrink: 0;
        }
        .hud-footer-panel--center .app-footer__center-links-block {
          width: auto;
          max-width: 100%;
          flex: 0 1 auto;
          margin-left: auto;
          flex-wrap: nowrap;
          justify-content: flex-end;
        }
        .app-footer__muni-about-btn {
          margin: 0;
          padding: 6px 2px;
          background: transparent;
          border: 0;
          border-radius: 0;
          font: inherit;
          font-weight: 600;
          font-size: 13px;
          line-height: 1.2;
          cursor: pointer;
          color: var(--accent);
          text-decoration: underline;
          text-underline-offset: 3px;
        }
        .app-footer__muni-about-btn:hover {
          color: var(--accent-hover);
        }
        body.site-global .hud-footer-panel--center .app-footer__muni-about-btn {
          color: #4e3b31 !important;
          text-decoration: none !important;
          border: 1px solid rgba(78, 59, 49, 0.22) !important;
          border-radius: 8px !important;
          padding: 3px 8px !important;
          font-size: 11px !important;
          line-height: 1.1 !important;
          font-weight: 600 !important;
          background: rgba(255, 255, 255, 0.4) !important;
        }
        body.site-global .hud-footer-panel--center .app-footer__muni-about-btn:hover {
          color: #3d2e26 !important;
          background: rgba(255, 255, 255, 0.62) !important;
        }
        body.site-global .hud-footer-panel--center .app-footer__muni-about-divider {
          background: rgba(78, 59, 49, 0.28) !important;
        }
      }
      .filter-panel--header {
        margin: 0;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr auto;
        gap: 8px;
        align-items: end;
        padding: 0;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
      }
      .mobile-filter-close-btn {
        display: none;
      }
      .mobile-filter-done-btn {
        display: none;
      }
      .mobile-search-close-btn {
        display: none;
      }
      @media (max-width: 720px) {
        .filter-panel--header {
          grid-template-columns: 1fr;
        }
      }
      .nav-drawer {
        position: fixed;
        inset: 0;
        /* Nad mapovým UI (.hud-add-story 10060, rohové akce 4400), pod kritickými modaly (11k+). */
        z-index: 10090;
        pointer-events: none;
        visibility: hidden;
      }
      .nav-drawer.is-open {
        pointer-events: auto;
        visibility: visible;
      }
      .nav-drawer__backdrop {
        position: absolute;
        inset: 0;
        background: rgba(15, 23, 42, 0.4);
        opacity: 0;
        transition: opacity 0.2s ease;
      }
      .nav-drawer.is-open .nav-drawer__backdrop {
        opacity: 1;
      }
      .nav-drawer__panel {
        position: absolute;
        top: 0;
        right: 0;
        width: min(250px, var(--mp-modal-fluid-w));
        height: 100%;
        background: #f2e8d8;
        background: color-mix(in srgb, var(--hud-panel-side) 12%, #f2e8d8);
        color: var(--hud-ink);
        border-left: 1px solid rgba(0, 0, 0, 0.2);
        box-shadow: -12px 0 40px rgba(0, 0, 0, 0.25);
        transform: translateX(100%);
        transition: transform 0.22s ease;
        display: flex;
        flex-direction: column;
        padding: 12px 12px 20px;
      }
      .nav-drawer.is-open .nav-drawer__panel {
        transform: translateX(0);
      }
      .nav-drawer__head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 12px;
        padding-bottom: 10px;
        border-bottom: 1px solid var(--border-light);
      }
      .nav-drawer__head h2 {
        margin: 0;
        font-size: 1rem;
        color: var(--hud-ink);
      }
      .nav-drawer__list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 4px;
      }
      .nav-drawer__list li {
        margin: 0;
        padding: 0;
      }
      .nav-drawer__list button {
        width: 100%;
        text-align: left;
        padding: 12px 10px;
        border-radius: 10px;
        background: rgba(0, 0, 0, 0.06);
        border: 1px solid rgba(0, 0, 0, 0.1);
        color: var(--hud-ink);
        font-weight: 600;
        font-size: 14px;
      }
      .nav-drawer__list button:hover {
        border-color: rgba(0, 0, 0, 0.2);
        background: rgba(0, 0, 0, 0.1);
      }
      .nav-account-toggle {
        display: none;
        flex-shrink: 0;
        min-width: 44px;
        min-height: 44px;
        padding: 4px 8px 4px 4px;
        font-size: 20px;
        line-height: 1;
        border-radius: 12px;
        gap: 0;
      }
      .nav-account-toggle__inner {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        min-width: 0;
      }
      .nav-account-toggle__avatar-wrap {
        position: relative;
        flex-shrink: 0;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(255, 255, 255, 0.35);
        border: 1px solid rgba(0, 0, 0, 0.14);
        box-sizing: border-box;
      }
      .nav-account-toggle__avatar {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .nav-account-toggle__avatar.hidden {
        display: none !important;
      }
      .nav-account-toggle__initials {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        font-size: 14px;
        font-weight: 800;
        line-height: 1;
        color: inherit;
        letter-spacing: 0.02em;
      }
      .nav-account-toggle__initials.hidden {
        display: none !important;
      }
      .nav-account-toggle__fallback {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        font-size: 18px;
        line-height: 1;
      }
      .nav-account-toggle__fallback.hidden {
        display: none !important;
      }
      .nav-account-toggle__chevron {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        width: 12px;
        height: 12px;
        color: currentColor;
        opacity: 0.72;
        transition: transform 0.18s ease;
      }
      #accountMenuToggle[aria-expanded="true"] .nav-account-toggle__chevron {
        transform: rotate(180deg);
      }
      .nav-search-toggle {
        display: none;
        flex-shrink: 0;
        min-width: 44px;
        min-height: 44px;
        padding: 0 10px;
        font-size: 20px;
        line-height: 1;
        border-radius: 12px;
      }
      @media (max-width: 1199px) {
        .nav-search-toggle,
        .nav-account-toggle {
          display: inline-flex;
          align-items: center;
          justify-content: center;
        }
        .header-session .header-session__userline,
        .header-session > #loginBtn,
        .header-session > #registerBtn,
        .header-session > #headerAccountActions {
          display: none !important;
        }
        #headerPrivilegedActions {
          display: none !important;
        }
        .hud-top-bar {
          /* Stejná šířka sloupců vlevo/vpravo → logo opticky uprostřed mezi lupou a účtem */
          grid-template-columns: 1fr auto 1fr;
          grid-template-rows: auto;
          gap: 4px 8px;
          align-items: center;
          padding: 4px 10px;
        }
        .hud-top-bar .header-session {
          display: none !important;
        }
        .hud-top-bar__end-actions {
          grid-column: 3;
          grid-row: 1;
          justify-self: end;
          align-self: center;
          gap: 10px;
        }
        .hud-top-bar .nav-search-toggle {
          grid-column: 1;
          grid-row: 1;
          justify-self: start;
          align-self: center;
        }
        .hud-top-bar .brand-block {
          grid-column: 2;
          grid-row: 1;
          justify-self: center;
          align-self: center;
          min-width: 0;
        }
        .hud-top-bar__end-actions .nav-menu-toggle {
          display: none !important;
        }
        .hud-top-bar .header-search {
          position: fixed;
          top: calc(var(--hud-edge) + var(--hud-header-block-h) + 7px);
          right: 7px;
          z-index: 4210;
          width: auto;
          max-width: none;
          display: flex;
          gap: 0;
          align-items: center;
        }
        .header-search__filter-btn {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-height: 44px;
          padding: 0 14px;
          font-weight: 700;
          white-space: nowrap;
        }
        .header-search__filter-btn--icon-only {
          width: 44px;
          min-width: 44px;
          max-width: 44px;
          padding: 0;
          background: rgba(255, 255, 255, 0.94);
          color: #1b4d72 !important;
          -webkit-text-fill-color: #1b4d72 !important;
          border-radius: 12px;
        }
        .header-search__filter-btn--icon-only:hover,
        .header-search__filter-btn--icon-only:focus-visible {
          background: #ffffff;
        }
        .header-search__filter-btn-icon {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          line-height: 0;
        }
        .header-search__filter-btn-icon svg {
          display: block;
          width: 24px;
          height: 24px;
        }
        .header-search__col--mun {
          display: none !important;
        }
        .header-active-municipality-text {
          display: none !important;
        }
        .header-search__col--find {
          position: fixed;
          top: calc(var(--hud-edge) + var(--hud-header-block-h) + 8px);
          left: var(--hud-edge);
          right: var(--hud-edge);
          z-index: 4210;
          display: none;
          flex-direction: column;
          align-items: stretch;
          gap: 8px;
          min-width: 0;
          background: rgba(255, 255, 255, 0.96);
          border: 1px solid rgba(0, 0, 0, 0.16);
          border-radius: 14px;
          box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2);
          padding: 10px;
        }
        .header-search__findRow {
          flex-direction: column;
          flex-wrap: nowrap;
          align-items: stretch;
          gap: 8px;
          width: 100%;
        }
        .header-search__findRow .header-search-field-wrap {
          order: 1;
          width: 100%;
          flex: 0 0 auto;
        }
        .header-search__findRow .header-search-field-wrap #municipalitySearchInput {
          width: 100%;
        }
        .header-search__findRow #municipalitySearchBtn {
          order: 3;
          width: 100%;
        }
        .header-search__findRow .header-search-mode-switch {
          order: 2;
          width: 100%;
        }
        .header-search__findRow .header-search-mode-switch__btn {
          width: 100%;
          min-height: 44px !important;
        }
        .header-search__findRow .mobile-search-close-btn {
          order: 4;
          width: 100%;
        }
        .header-search__col--find input[type="text"],
        .header-search__col--find input[type="search"] {
          flex: 1 1 auto;
          min-width: 0;
          min-height: 46px;
          max-width: none;
        }
        .hud-top-bar__announcement.map-announcement-panel {
          position: static !important;
          left: auto !important;
          top: auto !important;
          grid-column: 1 / -1;
          grid-row: 2;
          justify-self: start;
          margin-left: var(--hud-edge);
          width: 70%;
          max-width: 70%;
          box-sizing: border-box;
          font-size: 11px;
          line-height: 1.32;
          padding: 5px 9px;
        }
        .hud-top-bar__announcement #mapAnnouncementText {
          white-space: normal;
        }
        .hud-filter-layout {
          display: flex;
          flex-direction: column;
        }
        .hud-section-title--keyword {
          display: none;
        }
        .hud-filter-label--long {
          display: block;
        }
        .map-subdomain-welcome-cluster {
          left: var(--hud-edge);
          transform: none;
          justify-content: flex-start;
          /*
           * Na úzkém displeji nesmí blok sahat pod fixní „Filtr příběhů“ (z-index ~4210).
           * Samotná šířka min(560px, vw−okraje) je na telefonu skoro přes celou šířku — příliš široké.
           * Rezerva vpravo (~168px) + okraje: stejná logika jako u oranžového upozornění.
           */
          max-width: min(
            min(560px, calc(100vw - 2 * var(--hud-edge) - 24px)),
            calc(100vw - 2 * var(--hud-edge) - 168px)
          );
        }
        .map-subdomain-welcome-panel {
          text-align: left;
          max-width: 100%;
        }
        .map-subdomain-welcome-panel__inner {
          margin: 0;
          padding: 9px 46px 10px 14px;
        }
        .map-subdomain-welcome-panel__stats-row {
          justify-content: flex-start;
        }
        .map-subdomain-welcome-dismiss {
          width: 36px;
          height: 36px;
          font-size: 21px;
          top: -10px;
          right: -10px;
          border-width: 2px;
        }
        .header-search__col--find .secondary {
          flex: 0 0 auto;
          min-height: 46px;
          width: 100%;
        }
        /*
         * Mobilní hledání obce: celá obrazovka + rezerva dole pro klávesnici.
         * Důležité: #appHeader (.hud-root--top) má normálně z-index 4100 — potomek s vysokým z-indexem
         * stejně nemůže překreslit mapová FAB (4400) ani „Přidat příběh“ (10060). Proto při otevřeném
         * hledání zvedneme celý header nad ně a dočasně schováme FAB / přidat příběh / patičku.
         */
        body.compact-search-open #appHeader.hud-root--top {
          z-index: 10078 !important;
        }
        body.compact-search-open .hud-map-corner-actions,
        body.compact-search-open #hudAddStoryDock.hud-add-story,
        body.compact-search-open footer.app-footer.hud-footer-ribbon {
          visibility: hidden !important;
          pointer-events: none !important;
        }
        body.compact-search-open .header-search__col--find {
          display: flex !important;
          position: fixed !important;
          top: 0 !important;
          left: 0 !important;
          right: 0 !important;
          bottom: 0 !important;
          width: auto !important;
          max-width: none !important;
          min-width: 0 !important;
          min-height: 100svh !important;
          min-height: 100dvh !important;
          z-index: 10065 !important;
          border-radius: 0 !important;
          box-sizing: border-box !important;
          margin: 0 !important;
          padding-top: max(12px, env(safe-area-inset-top, 0px)) !important;
          padding-right: max(12px, env(safe-area-inset-right, 0px)) !important;
          padding-left: max(12px, env(safe-area-inset-left, 0px)) !important;
          padding-bottom: max(36vh, 160px, env(safe-area-inset-bottom, 0px)) !important;
          justify-content: flex-start !important;
          align-items: stretch !important;
          overflow-y: auto !important;
          -webkit-overflow-scrolling: touch !important;
          overscroll-behavior-y: contain !important;
          background: #ffffff !important;
          box-shadow: none !important;
        }
        .header-search select,
        .header-search .header-search__col--find input[type="text"],
        .header-search .header-search__col--find input[type="search"],
        .header-search .header-search__col--find .secondary,
        .header-search__filter-btn {
          min-height: 44px !important;
        }
        .header-search .header-search__col--find input[type="text"],
        .header-search .header-search__col--find input[type="search"] {
          max-width: none !important;
        }
        .mobile-filter-close-btn {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-height: 44px;
          width: 100%;
          font-weight: 700;
        }
        .mobile-filter-done-btn {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-height: 48px;
          width: 100%;
          font-weight: 800;
        }
        .mobile-filter-done-wrap {
          margin-top: 12px;
          margin-bottom: max(6px, env(safe-area-inset-bottom));
        }
        .mobile-search-close-btn {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-height: 44px;
          width: 100%;
          font-weight: 700;
        }
        .app-footer__links {
          flex-wrap: nowrap;
          overflow-x: auto;
          -webkit-overflow-scrolling: touch;
          gap: 10px 18px;
          padding-bottom: 4px;
          max-width: 100%;
        }
        .app-footer__links button {
          flex: 0 0 auto;
        }
        /* „Pro média“ jen v menu Informace na mobilu — záloha i kdyby starý JS / jiný slug v patičce zůstal. */
        .app-footer__links button[data-content-page="press"],
        .app-footer__links button[data-content-page="pro-media"],
        .app-footer__links button[data-content-page="promedia"] {
          display: none !important;
        }
        html {
          scroll-padding-bottom: min(120px, 22dvh);
          scroll-padding-top: min(72px, 12dvh);
        }
      }
      @media (max-width: 1199px) and (max-height: 460px) and (orientation: landscape) {
        :root {
          --hud-footer-ribbon-h: clamp(48px, 12dvh, 76px);
          --hud-header-block-h: clamp(52px, 14dvh, 78px);
        }
      }
      .hud-map-corner-actions {
        --hud-map-corner-thumb: 48px;
        position: fixed;
        z-index: 4400;
        left: var(--hud-edge);
        bottom: calc(var(--hud-footer-ribbon-h) + env(safe-area-inset-bottom) + 14px);
        display: none;
        flex-direction: column;
        gap: 8px;
        pointer-events: none;
        align-items: flex-start;
      }
      .hud-map-corner-actions > * {
        pointer-events: auto;
      }
      @media (max-width: 1199px) {
        .hud-map-corner-actions {
          display: flex;
          left: var(--hud-edge);
          right: auto;
          align-items: flex-start;
        }
      }
      .hud-map-corner-actions .hud-map-fab {
        width: var(--hud-map-corner-thumb);
        min-width: var(--hud-map-corner-thumb);
        height: var(--hud-map-corner-thumb);
        min-height: var(--hud-map-corner-thumb);
        padding: 0;
        border-radius: 14px;
        font-size: 20px;
        line-height: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
        box-sizing: border-box;
        flex: 0 0 auto;
      }
      /* Plávající „?“ — nad mapou, pod lištou HUD a všemi panely/modaly. */
      .site-tour-help-wrap {
        position: fixed;
        z-index: var(--mp-z-map-tour-help, 4050);
        right: max(var(--hud-edge), env(safe-area-inset-right, 0px));
        bottom: calc(var(--hud-edge) + env(safe-area-inset-bottom, 0px) + var(--hud-footer-ribbon-h) + 4px);
        top: auto;
        left: auto;
      }
      .site-tour-help-wrap__inner {
        position: relative;
        display: inline-block;
      }
      @media (max-width: 1199px) {
        .site-tour-help-wrap {
          bottom: auto;
          z-index: var(--mp-z-map-tour-help-compact, 1);
          /* Základ před JS (positionSiteTourHelpFab) — pod řádkem s filtrem */
          top: calc(var(--hud-edge) + var(--hud-header-block-h) + 12px + 44px + 10px);
          right: max(7px, var(--hud-edge), env(safe-area-inset-right, 0px));
          left: auto;
        }
      }
      .site-tour-fab {
        position: relative;
        z-index: 1;
        width: 44px;
        height: 44px;
        padding: 0;
        margin: 0;
        border: 1px solid rgba(15, 30, 60, 0.18);
        border-radius: 13px;
        background: linear-gradient(180deg, #ffffff 0%, #f5f7fb 100%);
        color: #0f172a;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font: inherit;
        line-height: 1;
        box-sizing: border-box;
      }
      .site-tour-fab:hover {
        filter: brightness(1.02);
      }
      .site-tour-fab:focus-visible {
        outline: 2px solid var(--color-accent, #9b1c31);
        outline-offset: 2px;
      }
      .site-tour-fab__glyph {
        font-size: 20px;
        font-weight: 700;
      }
      /* Široké okno: „?“ pod blokem mapy vpravo nahoře (pod vrstvami a +/−), aby nepřekrýval „Přidat příběh“. */
      @media (min-width: 1200px) {
        #siteTourHelpWrap.site-tour-help-wrap {
          bottom: auto;
          left: auto;
          right: var(--hud-edge);
          top: calc(
            var(--hud-edge) + var(--hud-header-block-h) + var(--hud-desktop-below-header-gap) + 60px + 8px + 48px + 8px + 48px + 6px + 48px + 12px
          );
        }
      }
      /* Průvodce (Driver.js) — větší tlačítka podle § přístupnosti v PRUVODCE_MISTOPRIBEHEM.md */
      body.driver-active .driver-popover-footer button {
        min-height: 44px;
        padding: 8px 14px;
        font-size: 14px;
        line-height: 1.25;
      }
      body.driver-active .driver-popover-close-btn {
        min-width: 44px;
        min-height: 44px;
        width: 44px;
        height: 44px;
        font-size: 22px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
      }
      #mapLayersToggleBtn .map-layers-glyph,
      #mapDesktopOverlaysBtn .map-layers-glyph {
        width: 20px;
        height: 20px;
        display: inline-block;
        font-size: 0;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23708ba0' d='M12 3 3.8 7.6 12 12.2 20.2 7.6Z'/%3E%3Cpath fill='%23708ba0' d='M12 9.8 3.8 14.4 12 19 20.2 14.4Z'/%3E%3C/svg%3E");
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
      }
      #mapLayersToggleBtn {
        order: 1;
      }
      #mapDesktopBaseLayerBtn,
      #mapDesktopOverlaysBtn {
        display: none !important;
      }
      @media (min-width: 1200px) {
        #mapLayersToggleBtn {
          display: none !important;
        }
        #mapDesktopBaseLayerBtn {
          display: inline-flex !important;
          align-items: center;
          justify-content: center;
          order: 1;
          width: auto;
          min-width: 0;
          max-width: min(220px, 42vw);
          min-height: var(--hud-map-corner-thumb);
          padding: 0 12px;
          border-radius: 14px;
          font-size: 12px;
          font-weight: 600;
          line-height: 1.2;
          white-space: nowrap;
          box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
          box-sizing: border-box;
        }
        #mapDesktopOverlaysBtn {
          display: inline-flex !important;
          order: 2;
        }
        .hud-map-corner-actions .hud-map-zoom-stack {
          order: 3;
        }
        body.site-global .leaflet-container .leaflet-bottom.leaflet-left,
        body.site-mistopribeh .leaflet-container .leaflet-bottom.leaflet-left {
          flex-direction: column-reverse;
        }
        #mapLocateUserBtn {
          order: 4;
        }
        #siteInfoMenuToggle {
          order: 5;
        }
      }
      .hud-map-zoom-stack {
        order: 2;
        display: flex;
        flex-direction: column;
        gap: 6px;
        width: var(--hud-map-corner-thumb);
        box-sizing: border-box;
        align-items: stretch;
      }
      .hud-map-zoom-stack .hud-map-zoom-btn {
        /* Stejná „stopa“ jako tlačítko vrstev mapy; jemný červený nádech — viz theme přepisy níže kvůli `body.site-global .secondary`. */
        width: var(--hud-map-corner-thumb);
        min-width: var(--hud-map-corner-thumb);
        height: var(--hud-map-corner-thumb);
        min-height: var(--hud-map-corner-thumb);
        padding: 0;
        border-radius: 14px;
        font-size: 20px;
        font-weight: 700;
        line-height: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
        box-sizing: border-box;
        flex: 0 0 auto;
      }
      body.site-global .hud-map-corner-actions .hud-map-zoom-stack .hud-map-zoom-btn,
      body.site-mistopribeh .hud-map-corner-actions .hud-map-zoom-stack .hud-map-zoom-btn {
        background: rgba(255, 255, 255, 1) !important;
        border: 1px solid rgba(185, 28, 28, 0.22) !important;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12) !important;
        color: #1a1a1a !important;
        -webkit-text-fill-color: #1a1a1a !important;
      }
      body.site-mistopribeh .hud-map-corner-actions .hud-map-zoom-stack .hud-map-zoom-btn {
        background: rgba(253, 251, 247, 1) !important;
      }
      body.site-global .hud-map-corner-actions .hud-map-zoom-stack .hud-map-zoom-btn:hover,
      body.site-global .hud-map-corner-actions .hud-map-zoom-stack .hud-map-zoom-btn:focus-visible,
      body.site-mistopribeh .hud-map-corner-actions .hud-map-zoom-stack .hud-map-zoom-btn:hover,
      body.site-mistopribeh .hud-map-corner-actions .hud-map-zoom-stack .hud-map-zoom-btn:focus-visible {
        background: rgba(255, 255, 255, 1) !important;
        border-color: rgba(185, 28, 28, 0.32) !important;
        color: #111827 !important;
        -webkit-text-fill-color: #111827 !important;
      }
      body.site-mistopribeh .hud-map-corner-actions .hud-map-zoom-stack .hud-map-zoom-btn:hover,
      body.site-mistopribeh .hud-map-corner-actions .hud-map-zoom-stack .hud-map-zoom-btn:focus-visible {
        background: rgba(253, 251, 247, 1) !important;
      }
      body.site-global .hud-map-corner-actions #mapLayersToggleBtn.secondary,
      body.site-mistopribeh .hud-map-corner-actions #mapLayersToggleBtn.secondary,
      body.site-global .hud-map-corner-actions #mapDesktopBaseLayerBtn.secondary,
      body.site-mistopribeh .hud-map-corner-actions #mapDesktopBaseLayerBtn.secondary,
      body.site-global .hud-map-corner-actions #mapDesktopOverlaysBtn.secondary,
      body.site-mistopribeh .hud-map-corner-actions #mapDesktopOverlaysBtn.secondary {
        background: rgba(255, 255, 255, 1) !important;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.14) !important;
        color: #1a1a1a !important;
        -webkit-text-fill-color: #1a1a1a !important;
      }
      body.site-mistopribeh .hud-map-corner-actions #mapLayersToggleBtn.secondary,
      body.site-mistopribeh .hud-map-corner-actions #mapDesktopBaseLayerBtn.secondary,
      body.site-mistopribeh .hud-map-corner-actions #mapDesktopOverlaysBtn.secondary {
        background: rgba(253, 251, 247, 1) !important;
      }
      body.site-global .hud-map-corner-actions #mapLayersToggleBtn.secondary:hover,
      body.site-global .hud-map-corner-actions #mapLayersToggleBtn.secondary:focus-visible,
      body.site-global .hud-map-corner-actions #mapDesktopBaseLayerBtn.secondary:hover,
      body.site-global .hud-map-corner-actions #mapDesktopBaseLayerBtn.secondary:focus-visible,
      body.site-global .hud-map-corner-actions #mapDesktopOverlaysBtn.secondary:hover,
      body.site-global .hud-map-corner-actions #mapDesktopOverlaysBtn.secondary:focus-visible,
      body.site-mistopribeh .hud-map-corner-actions #mapLayersToggleBtn.secondary:hover,
      body.site-mistopribeh .hud-map-corner-actions #mapLayersToggleBtn.secondary:focus-visible,
      body.site-mistopribeh .hud-map-corner-actions #mapDesktopBaseLayerBtn.secondary:hover,
      body.site-mistopribeh .hud-map-corner-actions #mapDesktopBaseLayerBtn.secondary:focus-visible,
      body.site-mistopribeh .hud-map-corner-actions #mapDesktopOverlaysBtn.secondary:hover,
      body.site-mistopribeh .hud-map-corner-actions #mapDesktopOverlaysBtn.secondary:focus-visible {
        background: rgba(255, 255, 255, 1) !important;
      }
      body.site-mistopribeh .hud-map-corner-actions #mapLayersToggleBtn.secondary:hover,
      body.site-mistopribeh .hud-map-corner-actions #mapLayersToggleBtn.secondary:focus-visible,
      body.site-mistopribeh .hud-map-corner-actions #mapDesktopBaseLayerBtn.secondary:hover,
      body.site-mistopribeh .hud-map-corner-actions #mapDesktopBaseLayerBtn.secondary:focus-visible,
      body.site-mistopribeh .hud-map-corner-actions #mapDesktopOverlaysBtn.secondary:hover,
      body.site-mistopribeh .hud-map-corner-actions #mapDesktopOverlaysBtn.secondary:focus-visible {
        background: rgba(253, 251, 247, 1) !important;
      }
      #siteInfoMenuToggle {
        order: 4;
      }
      #mapLocateUserBtn {
        order: 3;
        font-size: 0;
      }
      #mapLocateUserBtn .map-locate-glyph {
        width: 24px;
        height: 24px;
        display: inline-block;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232563eb' d='M12 2a6.4 6.4 0 0 0-6.4 6.4c0 4.6 6.4 11.9 6.4 11.9s6.4-7.3 6.4-11.9A6.4 6.4 0 0 0 12 2Zm0 8.9a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E");
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
      }
      /* Stejná modrá GPS ikona jako na tlačítku — jen značka na mapě (bez rámečku tlačítka). */
      .leaflet-marker-icon.mp-user-geoloc-marker {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        /* Ať klik „projde“ na mapu (výběr místa pro příběh), zároveň neblokuje podklad. */
        pointer-events: none !important;
      }
      .mp-user-geoloc-marker .map-locate-glyph--map-pin {
        width: 36px;
        height: 36px;
        display: block;
        margin: 0 auto;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232563eb' d='M12 2a6.4 6.4 0 0 0-6.4 6.4c0 4.6 6.4 11.9 6.4 11.9s6.4-7.3 6.4-11.9A6.4 6.4 0 0 0 12 2Zm0 8.9a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E");
        background-position: center bottom;
        background-repeat: no-repeat;
        background-size: contain;
        filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
      }
      @media (max-width: 1199px) {
        #showAllMunicipalitiesMapBtn.header-show-all-muni-link {
          display: none !important;
        }
      }
      .show-all-muni--mobile-only {
        display: none;
      }
      @media (max-width: 1199px) {
        .show-all-muni--mobile-only {
          display: inline-flex;
          align-items: center;
          font-size: 13px;
        }
      }
      .all-municipalities-modal {
        width: var(--mp-modal-fluid-w);
        max-width: 100%;
        max-height: var(--mp-modal-fluid-h);
        display: flex;
        flex-direction: column;
        position: relative;
        padding: 0;
        overflow: hidden;
      }
      /* Křížek patří jen do lišty — ne jako poslední flex položka dole */
      #allMunicipalitiesModal .all-municipalities-modal > button.modal-close-circle,
      #allMunicipalitiesModal .all-municipalities-modal > button.mp-window__close {
        display: none !important;
      }
      #allMunicipalitiesModal .all-muni-modal__head .mp-window__close,
      #allMunicipalitiesModal .all-muni-modal__head > button.modal-close-circle {
        display: inline-flex !important;
      }
      .all-muni-modal__head {
        flex-shrink: 0;
        padding: 14px 14px 0;
      }
      .all-muni-modal__head.mp-window__chrome {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 12px 10px 16px !important;
        margin: 0 !important;
        background: var(--mp-window-chrome-bg, #1b4d72) !important;
        border-radius: var(--mp-window-radius, 14px) var(--mp-window-radius, 14px) 0 0 !important;
      }
      .all-muni-modal__head.mp-window__chrome h2,
      .all-muni-modal__head.mp-window__chrome .mp-window__title {
        margin: 0 !important;
        flex: 1 1 auto;
        min-width: 0;
        font-size: 1.05rem !important;
        line-height: 1.25 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      .all-muni-modal__head.mp-window__chrome > .mp-window__close,
      .all-muni-modal__head.mp-window__chrome > button.modal-close-circle {
        position: static !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        flex-shrink: 0;
        order: 99;
        margin: 0 0 0 auto !important;
      }
      .all-muni-modal__head h2 {
        margin: 0;
        font-size: 1.05rem;
        line-height: 1.25;
      }
      .all-muni-modal__body {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        padding: 8px 14px 0;
      }
      .all-muni-filters {
        margin-bottom: 8px;
        flex-shrink: 0;
      }
      @media (max-width: 1199px) {
        .all-muni-filter-partner--desktop-only {
          display: none !important;
        }
        #allMunicipalitiesModal.modal-backdrop {
          padding: 0 !important;
          place-items: stretch !important;
        }
        #allMunicipalitiesModal.modal-backdrop[data-mp-universal-close] > section.modal.all-municipalities-modal {
          padding: 0 !important;
        }
        #allMunicipalitiesModal .all-municipalities-modal {
          width: 100%;
          max-width: none;
          height: 100dvh;
          height: 100svh;
          max-height: none;
          border-radius: 0;
          border: 0;
          box-shadow: none;
        }
        #allMunicipalitiesModal .all-muni-modal__head {
          display: flex;
          align-items: center;
          justify-content: flex-start;
          gap: 8px;
          flex: 0 0 auto;
          margin: 0;
          padding: 10px 48px 10px 12px;
          background: #961f33 !important;
          border-bottom: 1px solid rgba(255, 255, 255, 0.22);
        }
        #allMunicipalitiesModal .all-muni-modal__head h2 {
          font-size: 12px;
          font-weight: 800;
          letter-spacing: 0.06em;
          text-transform: uppercase;
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
        }
        #allMunicipalitiesModal .all-muni-modal__head .mp-window__close,
        #allMunicipalitiesModal .all-muni-modal__head > button.modal-close-circle {
          position: static !important;
          top: auto !important;
          right: auto !important;
          left: auto !important;
          margin: 0 0 0 auto !important;
          z-index: 5;
          flex-shrink: 0;
        }
        #allMunicipalitiesModal .all-muni-modal__body {
          flex: 1 1 auto;
          min-height: 0;
          padding: 8px 10px 0;
          overflow: hidden;
        }
        #allMunicipalitiesModal .all-muni-filters {
          margin-bottom: 6px;
        }
        #allMunicipalitiesModal .all-muni-filters .field {
          margin-bottom: 0;
        }
        #allMunicipalitiesModal .all-muni-filters .field label {
          font-size: 11px;
          margin-bottom: 4px;
        }
        #allMunicipalitiesModal .all-muni-table-wrap {
          flex: 1 1 auto;
          min-height: 0;
          max-height: none;
          border-radius: var(--header-search-control-radius, 2px);
          overflow-x: hidden;
        }
        #allMunicipalitiesModal .all-muni-table.all-muni-table--compact {
          table-layout: fixed;
          width: 100%;
          font-size: 11px;
        }
        #allMunicipalitiesModal .all-muni-table.all-muni-table--compact th,
        #allMunicipalitiesModal .all-muni-table.all-muni-table--compact td {
          padding: 6px 3px;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
          vertical-align: middle;
        }
        #allMunicipalitiesModal .all-muni-table.all-muni-table--compact th:nth-child(1),
        #allMunicipalitiesModal .all-muni-table.all-muni-table--compact td:nth-child(1) {
          width: 36%;
        }
        #allMunicipalitiesModal .all-muni-table.all-muni-table--compact th:nth-child(2),
        #allMunicipalitiesModal .all-muni-table.all-muni-table--compact td:nth-child(2) {
          width: 26%;
        }
        #allMunicipalitiesModal .all-muni-table.all-muni-table--compact th:nth-child(3),
        #allMunicipalitiesModal .all-muni-table.all-muni-table--compact td:nth-child(3) {
          width: 10%;
          text-align: center;
        }
        #allMunicipalitiesModal .all-muni-table.all-muni-table--compact th:nth-child(4),
        #allMunicipalitiesModal .all-muni-table.all-muni-table--compact td:nth-child(4) {
          width: 12%;
          text-align: center;
        }
        #allMunicipalitiesModal .all-muni-table.all-muni-table--compact th:nth-child(5),
        #allMunicipalitiesModal .all-muni-table.all-muni-table--compact td:nth-child(5) {
          width: 16%;
          text-align: center;
        }
        #allMunicipalitiesModal .all-muni-table.all-muni-table--compact .all-muni-link--web {
          font-weight: 700;
        }
        #allMunicipalitiesModal .all-muni-table.all-muni-table--compact .all-muni-profile-btn {
          padding: 4px 5px;
          font-size: 10px;
          font-weight: 700;
          line-height: 1.15;
          min-height: 0;
          white-space: nowrap;
        }
        #allMunicipalitiesModal .modal-actions {
          flex-shrink: 0;
          margin: 0;
          padding: 8px 10px max(8px, env(safe-area-inset-bottom, 0px));
          border-top: 1px solid rgba(0, 0, 0, 0.1);
          background: rgba(250, 250, 250, 0.98);
        }
      }
      .all-muni-table-wrap {
        flex: 1 1 auto;
        overflow: auto;
        max-height: min(58vh, 520px);
        border: 1px solid rgba(0, 0, 0, 0.12);
        border-radius: var(--header-search-control-radius, 2px);
      }
      .all-municipalities-modal.mp-adjustable-modal .all-muni-table-wrap {
        min-height: 0;
        max-height: none;
      }
      .all-muni-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 13px;
      }
      .all-muni-table th,
      .all-muni-table td {
        padding: 8px 10px;
        text-align: left;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
        vertical-align: top;
      }
      .all-muni-load-sentinel td {
        height: 1px;
        padding: 0;
        border: 0;
        line-height: 0;
        pointer-events: none;
      }
      .all-muni-table th {
        position: sticky;
        top: 0;
        z-index: 1;
        background: rgba(250, 250, 250, 0.98);
        cursor: pointer;
        user-select: none;
        font-weight: 600;
      }
      .all-muni-table tbody tr:hover {
        background: rgba(37, 99, 235, 0.06);
      }
      .all-muni-table .all-muni-link {
        color: var(--accent, #2563eb);
        text-decoration: underline;
        cursor: pointer;
        background: none;
        border: none;
        padding: 0;
        font: inherit;
      }
      .all-muni-profile-btn {
        white-space: nowrap;
        padding: 6px 10px;
        font-size: 12px;
      }
      .all-muni-table .all-muni-badge {
        display: inline-block;
        padding: 2px 8px;
        border-radius: var(--header-search-control-radius, 2px);
        font-size: 11px;
        font-weight: 600;
      }
      .all-muni-table .all-muni-badge--yes {
        background: rgba(22, 163, 74, 0.15);
        color: #166534;
      }
      .all-muni-table .all-muni-badge--no {
        background: rgba(107, 114, 128, 0.15);
        color: #374151;
      }
      #allMunicipalitiesModal .all-muni-filters input,
      #allMunicipalitiesModal .all-muni-filters select,
      #allMunicipalitiesModal .all-muni-profile-btn,
      #allMunicipalitiesModal .modal-actions button {
        border-radius: var(--header-search-control-radius, 2px) !important;
      }
      .content-page-modal {
        box-sizing: border-box;
        /* 100vw − padding backdropu (16+16) — jinak na mobilu „přetéká“ mimo displej */
        width: min(760px, calc(100vw - 32px));
        max-width: calc(100vw - 32px);
        max-height: min(88vh, 900px);
        display: flex;
        flex-direction: column;
        overflow-x: hidden;
      }
      .content-page-modal--with-contact {
        width: var(--mp-modal-fluid-w);
        max-width: 100%;
      }
      .content-page-modal__main {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
      }
      .content-page-modal--with-contact .content-page-modal__main {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 18px;
        align-items: stretch;
        overflow: hidden;
      }
      .content-page-modal--with-contact .content-page-body {
        min-height: 0;
        max-height: min(68vh, 640px);
      }
      .content-page-contact-aside {
        min-width: 0;
        border-radius: 10px;
        border: 1px solid var(--border-light);
        background: var(--color-bg);
        box-sizing: border-box;
      }
      .content-page-contact-aside__inner {
        padding: 12px 14px 14px;
        max-height: min(68vh, 640px);
        overflow-y: auto;
        box-sizing: border-box;
      }
      .content-page-contact-aside__intro {
        margin-top: 0;
        margin-bottom: 10px;
      }
      .content-page-contact-form__submit {
        margin-top: 2px;
      }
      .recaptcha-legal-note {
        margin: 6px 0 2px;
        font-size: 10px;
        line-height: 1.25;
        opacity: 0.72;
      }
      .content-page-contact-submit-btn {
        padding: 6px 14px;
        font-size: 13px;
        font-weight: 600;
        border-radius: 8px;
        background: #b91c1c;
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
        border: 1px solid #991b1b;
        cursor: pointer;
      }
      .content-page-contact-submit-btn:hover,
      .content-page-contact-submit-btn:focus-visible {
        background: #991b1b;
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
      }
      @media (max-width: 720px) {
        .content-page-modal--with-contact .content-page-modal__main {
          grid-template-columns: 1fr;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
        }
        .content-page-modal--with-contact .content-page-body {
          max-height: none;
          flex: 0 0 auto;
        }
        .content-page-contact-aside__inner {
          max-height: none;
          overflow: visible;
        }
      }
      .content-page-body {
        flex: 1 1 auto;
        overflow-y: auto;
        padding-right: 4px;
        font-size: 14px;
        line-height: 1.55;
        color: var(--text);
      }
      .content-page-body h3 {
        margin: 1.1em 0 0.4em;
        font-size: 1rem;
        color: var(--accent-text);
      }
      .content-page-body h3:first-child {
        margin-top: 0;
      }
      /* Stejné „rodiny“ jako h3 — bez globálního <style> v CMS (ten by barvil celý web). */
      .content-page-body h1,
      .content-page-body h2 {
        margin: 1.05em 0 0.45em;
        font-size: 1.05rem;
        font-weight: 700;
        color: var(--accent-text);
        line-height: 1.35;
      }
      .content-page-body h1:first-child,
      .content-page-body h2:first-child {
        margin-top: 0;
      }
      .content-page-body p {
        margin: 0 0 0.75em;
      }
      .content-page-body ul {
        margin: 0 0 0.75em;
        padding-left: 1.25em;
      }
      .content-page-body .content-card {
        margin: 10px 0;
        padding: 12px 14px;
        border-radius: 10px;
        border: 1px solid var(--accent-border);
        background: var(--accent-softer);
      }

      /* Volitelná šablona pro stránky z CMS (např. Podpořit) — jen pod .content-page-body, bez globálního <style>. */
      .content-page-body .mp-cms-marketing {
        font-family: Arial, Helvetica, sans-serif;
        line-height: 1.6;
        color: #222;
      }
      .content-page-body .mp-cms-marketing__inner {
        max-width: 1000px;
        margin: 0 auto;
        padding-left: 12px;
        padding-right: 12px;
      }
      .content-page-body .mp-cms-marketing__hero {
        background: #1f2937;
        padding: 40px 20px;
        text-align: center;
        color: #fff;
        border-radius: 12px;
        margin: 0 0 25px;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
      }
      .content-page-body .mp-cms-marketing__hero h1 {
        margin: 0;
        font-size: 2.2rem;
        font-weight: 700;
        color: #fff;
        line-height: 1.2;
      }
      .content-page-body .mp-cms-marketing__hero p {
        margin: 10px 0 0;
        font-size: 1.1rem;
        color: #fff;
        opacity: 0.9;
      }
      .content-page-body .mp-cms-marketing__box {
        background: #fff;
        padding: 25px;
        border-radius: 12px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
        margin-bottom: 25px;
      }
      .content-page-body .mp-cms-marketing__box h2 {
        margin-top: 0;
        margin-bottom: 0.5em;
        font-size: 1.25rem;
        font-weight: 700;
        color: #111827;
      }
      .content-page-body .mp-cms-marketing__highlight {
        background: #e0f2fe;
        border-left: 5px solid #0284c7;
        padding: 15px 20px;
        margin: 20px 0;
        border-radius: 8px;
      }
      .content-page-body .mp-cms-marketing__foot {
        text-align: center;
        padding: 30px 10px 10px;
        font-size: 0.9rem;
        color: #777;
      }

      /* CMS — právní stránky (Podmínky, GDPR): rozšíření šablony mp-cms-marketing */
      .content-page-body .mp-cms-legal__meta {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px 20px;
        margin-top: 18px;
        font-size: 0.95rem;
      }
      .content-page-body .mp-cms-legal__meta span {
        display: inline-block;
        padding: 6px 14px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.14);
        color: #f8fafc;
        font-weight: 600;
      }
      .content-page-body .mp-cms-legal__toc {
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        padding: 18px 22px;
        margin: 0 0 25px;
      }
      .content-page-body .mp-cms-legal__toc-title {
        margin: 0 0 10px;
        font-size: 1rem;
        font-weight: 700;
        color: #1e3a5f;
      }
      .content-page-body .mp-cms-legal__toc ol {
        margin: 0;
        padding-left: 1.35em;
        columns: 1;
        column-gap: 28px;
        line-height: 1.55;
      }
      @media (min-width: 720px) {
        .content-page-body .mp-cms-legal__toc ol {
          columns: 2;
        }
      }
      .content-page-body .mp-cms-legal__toc li {
        margin: 0.35em 0;
        break-inside: avoid;
      }
      .content-page-body .mp-cms-legal__toc a {
        color: #1b4d72;
        text-decoration: none;
        font-weight: 600;
      }
      .content-page-body .mp-cms-legal__toc a:hover,
      .content-page-body .mp-cms-legal__toc a:focus-visible {
        text-decoration: underline;
      }
      .content-page-body .mp-cms-marketing__box .mp-cms-legal__num {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.75em;
        height: 1.75em;
        margin-right: 0.45em;
        padding: 0 0.35em;
        border-radius: 8px;
        background: #1b4d72;
        color: #fff;
        font-size: 0.85em;
        font-weight: 800;
        vertical-align: middle;
      }
      .content-page-body .mp-cms-marketing__box h2 {
        display: flex;
        align-items: flex-start;
        gap: 0;
        line-height: 1.35;
      }
      .content-page-body .mp-cms-marketing__box ul {
        margin: 0.5em 0 0.25em;
        padding-left: 1.35em;
        line-height: 1.55;
      }
      .content-page-body .mp-cms-marketing__box li {
        margin: 0.35em 0;
      }
      .content-page-body .mp-cms-legal__operator {
        text-align: left;
        max-width: 420px;
        margin: 0 auto 12px;
        padding: 16px 20px;
        border-radius: 10px;
        background: #fff;
        border: 1px solid #e2e8f0;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
        font-size: 0.95rem;
        line-height: 1.55;
        color: #334155;
      }
      .content-page-body .mp-cms-legal__operator strong {
        display: block;
        font-size: 1.05rem;
        color: #111827;
        margin-bottom: 6px;
      }
      .content-page-body .mp-cms-marketing__hero {
        background: linear-gradient(135deg, #1b4d72 0%, #0f3d5c 45%, #164e63 100%);
        box-shadow: 0 8px 28px rgba(15, 61, 92, 0.28);
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
      }
      .content-page-body .mp-cms-marketing__hero h1,
      .content-page-body .mp-cms-legal__hero-kicker,
      .content-page-body .mp-cms-legal__hero-lead {
        text-align: center;
        width: 100%;
        max-width: 40em;
      }
      .content-page-body .mp-cms-legal__hero-kicker {
        margin: 0 0 8px;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.82);
      }
      .content-page-body .mp-cms-legal__hero-lead {
        margin: 12px auto 0;
        max-width: 36em;
        font-size: 1.02rem;
        opacity: 1;
      }
      .content-page-body .mp-cms-legal__intro-strip {
        margin: 0 0 18px;
        padding: 14px 18px;
        border-radius: 12px;
        background: linear-gradient(90deg, rgba(27, 77, 114, 0.1), rgba(14, 116, 144, 0.08));
        border: 1px solid rgba(27, 77, 114, 0.2);
        border-left: 4px solid #1b4d72;
      }
      .content-page-body .mp-cms-legal__intro-strip p {
        margin: 0;
      }
      .content-page-body .mp-cms-legal__toc ol {
        padding: 0;
        list-style: none;
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        columns: unset;
      }
      @media (min-width: 560px) {
        .content-page-body .mp-cms-legal__toc ol {
          grid-template-columns: repeat(2, 1fr);
        }
      }
      .content-page-body .mp-cms-legal__toc a {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 12px;
        border-radius: 10px;
        background: #f8fafc;
        border: 1px solid #e2e8f0;
      }
      .content-page-body .mp-cms-legal__toc-num {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.65em;
        height: 1.65em;
        border-radius: 8px;
        background: #1b4d72;
        color: #fff;
        font-size: 0.8rem;
        font-weight: 800;
      }
      .content-page-body .mp-cms-legal__panel {
        border-left-width: 5px;
      }
      .content-page-body .mp-cms-legal__panel--blue {
        border-left-color: #1b4d72;
      }
      .content-page-body .mp-cms-legal__panel--teal {
        border-left-color: #0d9488;
      }
      .content-page-body .mp-cms-legal__panel--amber {
        border-left-color: #d97706;
      }
      .content-page-body .mp-cms-legal__panel--rose {
        border-left-color: #e11d48;
      }
      .content-page-body .mp-cms-legal__panel--violet {
        border-left-color: #7c3aed;
      }
      .content-page-body .mp-cms-legal__panel--slate {
        border-left-color: #64748b;
      }
      .content-page-body .mp-cms-legal__role-cards {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 12px;
      }
      @media (min-width: 520px) {
        .content-page-body .mp-cms-legal__role-cards {
          grid-template-columns: repeat(2, 1fr);
        }
      }
      .content-page-body .mp-cms-legal__role-card {
        padding: 14px 16px;
        border-radius: 12px;
        border: 1px solid #e2e8f0;
        background: #f8fafc;
      }
      .content-page-body .mp-cms-legal__role-card strong {
        display: block;
        margin-bottom: 6px;
      }
      .content-page-body .mp-cms-legal__role-card p {
        margin: 0;
        font-size: 0.88rem;
        color: #475569;
      }
      .content-page-body .mp-cms-legal__role-card--visitor {
        border-top: 3px solid #64748b;
      }
      .content-page-body .mp-cms-legal__role-card--author {
        border-top: 3px solid #1b4d72;
      }
      .content-page-body .mp-cms-legal__role-card--curator {
        border-top: 3px solid #0d9488;
      }
      .content-page-body .mp-cms-legal__role-card--admin {
        border-top: 3px solid #7c3aed;
      }
      .content-page-body .mp-cms-legal__info-card {
        margin: 12px 0;
        padding: 12px 16px;
        border-radius: 10px;
        background: #f0f9ff;
        border: 1px solid #bae6fd;
      }
      .content-page-body .mp-cms-legal__tip {
        margin: 12px 0 0;
        padding: 12px 14px;
        border-radius: 10px;
        background: #fffbeb;
        border: 1px solid #fcd34d;
        color: #78350f;
      }
      .content-page-body .mp-cms-legal__forbidden {
        background: #fef2f2;
        border: 1px solid #fecaca;
      }
      .content-page-body .mp-cms-legal__highlight-archiv {
        background: linear-gradient(90deg, #e0f2fe, #f0f9ff);
        border-radius: 12px;
      }
      .content-page-body .mp-cms-legal__table-wrap {
        overflow-x: auto;
        margin: 14px 0 4px;
        border-radius: 10px;
        border: 1px solid #e2e8f0;
      }
      .content-page-body .mp-cms-legal__table {
        width: 100%;
        min-width: 520px;
        border-collapse: collapse;
        font-size: 0.84rem;
      }
      .content-page-body .mp-cms-legal__table th,
      .content-page-body .mp-cms-legal__table td {
        padding: 10px 12px;
        border-bottom: 1px solid #e2e8f0;
        vertical-align: top;
      }
      .content-page-body .mp-cms-legal__table th {
        background: #f1f5f9;
        font-weight: 700;
        color: #1e3a5f;
      }
      .content-page-body .mp-cms-legal__data-block {
        margin: 12px 0 0;
        padding: 12px 14px;
        border-radius: 10px;
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        border-left: 3px solid #0d9488;
      }
      .content-page-body .mp-cms-legal__data-block strong {
        display: block;
        margin-bottom: 6px;
      }
      .content-page-body .mp-cms-legal__data-block p {
        margin: 0;
        font-size: 0.88rem;
        color: #475569;
      }
      .content-page-body .mp-cms-legal__fine-print {
        margin: 12px 0 0;
        font-size: 0.8rem;
        color: #64748b;
      }
      .content-page-body .mp-cms-marketing__highlight ul {
        margin: 0.5em 0 0;
        padding-left: 1.25em;
      }
      h1 {
        margin: 0 0 10px;
        color: var(--heading-color);
      }
      p {
        margin: 0 0 16px;
      }
      .actions {
        margin-top: 16px;
        display: flex;
        gap: 10px;
        align-items: center;
      }
      button {
        border: 0;
        border-radius: 10px;
        padding: 12px 16px;
        font-weight: 600;
        cursor: pointer;
      }
      /* Sjednotit vzhled s běžným textovým polem (WebKit u type=search přidává dekoraci). */
      input[type="search"] {
        appearance: none;
        -webkit-appearance: none;
      }
      input[type="search"]::-webkit-search-cancel-button,
      input[type="search"]::-webkit-search-decoration {
        display: none;
      }
      .primary {
        background: var(--accent);
        color: #fff;
      }
      .primary:hover {
        background: var(--accent-hover);
      }
      .secondary {
        background: #e4e9f0;
        color: var(--text);
        border: 1px solid var(--border-light);
      }
      .secondary:hover {
        background: #d6dde8;
      }
      body.site-mistopribeh .secondary {
        background: #dfe8e5;
      }
      body.site-mistopribeh .secondary:hover {
        background: #d0dcd7;
      }
      #pickedCoords {
        font-size: 14px;
        color: var(--text-muted);
      }
      .modal-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.45);
        display: none;
        place-items: center;
        justify-items: center;
        align-content: center;
        overflow-y: auto;
        overflow-x: hidden;
        padding: max(16px, env(safe-area-inset-top, 0px)) max(var(--mp-modal-gutter), env(safe-area-inset-right, 0px))
          max(16px, env(safe-area-inset-bottom, 0px)) max(var(--mp-modal-gutter), env(safe-area-inset-left, 0px));
        z-index: 9999;
        box-sizing: border-box;
      }
      body.site-global .modal-backdrop[aria-hidden="false"]:not(#allMunicipalitiesModal),
      body.site-mistopribeh .modal-backdrop[aria-hidden="false"]:not(#allMunicipalitiesModal) {
        display: grid !important;
        place-items: center !important;
        justify-items: center !important;
        align-content: center;
      }
      /* Zavřené modály nesmí zachytávat kliky (jen aria-hidden bez display:none je častá příčina „mrtvých“ tlačítek). */
      .modal-backdrop[aria-hidden="true"] {
        display: none !important;
        pointer-events: none !important;
        visibility: hidden !important;
      }
      /* Nad mobilním fullscreen hledáním obce (`body.compact-search-open` zvedá #appHeader na ~10078). */
      #allMunicipalitiesModal.modal-backdrop {
        z-index: 10090;
      }
      #siteAdminContactModal.modal-backdrop {
        z-index: 11000;
      }
      #perninkWelcomeModal.modal-backdrop {
        z-index: 11000;
      }
      .pernink-welcome-modal {
        max-width: min(520px, calc(100vw - 32px));
      }
      .pernink-welcome-modal__body {
        display: flex;
        flex-direction: column;
        gap: 14px;
        margin: 0 0 4px;
        line-height: 1.55;
        font-size: 1rem;
        color: var(--text, #1a1a1a);
      }
      .pernink-welcome-modal__body p {
        margin: 0;
      }
      .pernink-welcome-modal__body strong {
        font-weight: 700;
      }
      .content-page-involve-cta-btn {
        background: #c81414 !important;
        color: #fff !important;
        border: 1px solid rgba(0, 0, 0, 0.12) !important;
        font-weight: 700;
      }
      .content-page-involve-cta-btn:hover {
        filter: brightness(1.06);
      }
      .content-page-involve-cta-btn:focus-visible {
        outline: 2px solid rgba(200, 20, 20, 0.55);
        outline-offset: 2px;
      }
      .municipality-interest-modal__actions {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
      }
      .content-page-modal__actions {
        display: flex;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap;
      }
      .content-page-modal__actions #contentPageCloseBtn,
      .public-cms-page-modal__actions #publicCmsPageCloseBtn {
        margin-left: auto;
      }
      .site-admin-contact-modal__actions {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
      }
      /* Karta autora musí být nad ostatními modály (včetně admin-user overlay 13060). */
      #authorCardModal.modal-backdrop {
        z-index: 13120;
      }
      #authorStoriesModal.modal-backdrop {
        z-index: 13125;
      }
      /* Kontakt autora nad kartou autora. */
      #contactAuthorModal.modal-backdrop {
        z-index: 13130;
      }
      /* Systémové hlášky (appAlert) vždy nad CMS stránkou Kontakt (#contentPageModal 28000). */
      #appDialogModal.modal-backdrop {
        z-index: 30000;
        place-items: center;
      }
      /* Hlavní okno Nástrojů obce: nad běžnými modály, pod systémovou administrací. */
      #curatorModal.modal-backdrop {
        z-index: 12030;
      }
      /* Okno Kurátoři se otevírá z Nástrojů obce, proto musí být nad rodičovským oknem. */
      #curatorDelegatesModal.modal-backdrop {
        z-index: 12080;
      }
      /* Žádosti o statusy se také otevírají z Nástrojů obce, proto musí být nad nimi. */
      #curatorStatusRequestsModal.modal-backdrop {
        z-index: 12080;
      }
      #curatorImportantPlacesModal.modal-backdrop {
        z-index: 12080;
      }
      #curatorImportantPlaceEditModal.modal-backdrop {
        z-index: 12100;
      }
      /* Podokna z Nástrojů obce — nad #curatorModal (12030); stejná vrstva jako Kurátoři / Žádosti o statusy. */
      #municipalStatementsModal.modal-backdrop,
      #myStoriesModal.modal-backdrop,
      #curatorExportModal.modal-backdrop,
      #curatorSupportModal.modal-backdrop,
      #curatorMunicipalityProfileModal.modal-backdrop {
        z-index: 12080;
      }
      #municipalityImportantPlaceModal.modal-backdrop {
        z-index: 10110;
      }
      /* Dílčí okno otevřené z Nástrojů obce (skrytí / postoupení hlášení) musí být nad rodičovským oknem. */
      #curatorStoryReportNoteModal.modal-backdrop {
        z-index: 12090;
      }
      #superAdminModal.modal-backdrop {
        z-index: 12050;
        place-items: center;
        justify-items: center;
        align-items: center;
        padding: 16px;
        overflow: auto;
      }
      /* Historie procesu / nahlášení se otevírá ze super-adminu i z provozních přehledů; musí být nad rodičovským oknem. */
      #adminProcessTimelineModal.modal-backdrop {
        z-index: 12170;
      }
      /* Nad super-adminem (12050); statické / chybové texty z administrace. */
      #adminStaticTextEditorModal.modal-backdrop,
      #adminErrorTextEditorModal.modal-backdrop {
        z-index: 12150;
      }
      /* Druhý krok měkkého smazání (důvod) — otevírá se z #superAdminModal; výchozí .modal-backdrop (9999) by zůstal pod ním. */
      #adminStorySoftDeleteModal.modal-backdrop {
        z-index: 12140;
      }
      /* Přehled a detail sloučených míst se otevírají z administrace i Nástrojů obce, proto musí být nad rodičovskými okny. */
      #mapStoryGroupsOverviewModal.modal-backdrop {
        z-index: 12160;
      }
      #mapStoryGroupDetailModal.modal-backdrop {
        z-index: 12165;
      }
      /* Dokončení zveřejnění příběhu — jen pro čtení; prohlížeč ukládá pár e-mail + heslo. */
      #finishPendingEmailDisplay[readonly] {
        background: #f9fafb;
        color: #374151;
        cursor: default;
      }
      /* Nad #superAdminModal (12050) — náhled z administrace (čekající / smazané / skryté). */
      body.story-detail-admin-preview #storyDetailModal.modal-backdrop {
        z-index: 12180 !important;
      }
      /* Velká fotka a nápověda hodnocení musí být nad kartou detailu (12180), jinak klik „nic nedělá“. */
      body.story-detail-admin-preview #detailStoryPhotoViewerModal.detail-story-photo-viewer-backdrop {
        z-index: 12200 !important;
      }
      body.story-detail-admin-preview #detailVoteHelpModal.detail-vote-help-backdrop {
        z-index: 12210 !important;
      }
      body.story-detail-admin-preview #reportStoryModal.report-story-backdrop {
        z-index: 12205 !important;
      }
      /* Detail příběhu otevřený z podoken Nástrojů obce (12080) — musí být nad rodičem. */
      body.story-detail-over-curator-tools #storyDetailModal.modal-backdrop {
        z-index: 12100 !important;
      }
      body.story-detail-over-curator-tools #detailStoryPhotoViewerModal.detail-story-photo-viewer-backdrop {
        z-index: 12120 !important;
      }
      body.story-detail-over-curator-tools #reportStoryModal.report-story-backdrop {
        z-index: 12125 !important;
      }
      body.story-detail-over-curator-tools #detailVoteHelpModal.detail-vote-help-backdrop {
        z-index: 12130 !important;
      }
      /* „Zobrazit příběh na mapě“ z náhledu v administraci — celoplošné okno administrace jinak překryje mapu i špendlík. */
      body.story-map-focus-from-admin-preview #superAdminModal.modal-backdrop {
        visibility: hidden !important;
        pointer-events: none !important;
      }
      /* Náhled čekajícího příběhu — nad super-adminem i editorem stránek. */
      #adminPendingStoryViewModal.modal-backdrop {
        z-index: 12700;
      }
      /* Automatické Místohlasy — z Centra zpráv nad super-adminem */
      #mcAutomationsModal.modal-backdrop {
        z-index: 12155;
      }
      /* Schránka zpráv (včetně „Místopříběh“ z Centra zpráv) — nad #superAdminModal a modály úprav uživatele (13060). */
      #messagesInboxModal.modal-backdrop {
        z-index: 13100;
      }
      /* Ocenění — z Můj profil nad běžnými modály; z administrace nad #superAdminModal (12050) a editací uživatele (13060). */
      #authorAwardsModal.modal-backdrop {
        z-index: 10120;
      }
      #authorAwardsModal.modal-backdrop.author-awards-modal--elevated {
        z-index: 13120;
      }
      #appDialogModal .modal.app-dialog {
        width: min(340px, var(--mp-modal-fluid-w));
        max-width: 440px;
        box-sizing: border-box;
      }
      @media (max-width: 1199px) {
        #appDialogModal.modal-backdrop {
          padding: 8px;
        }
        #appDialogModal .modal.app-dialog {
          width: calc(100vw - 16px);
          max-width: calc(100vw - 16px);
          margin-inline: auto;
          padding: 14px;
          box-sizing: border-box;
        }
        #appDialogModal .app-dialog__actions {
          display: flex;
          justify-content: flex-end;
          flex-wrap: wrap;
          gap: 8px;
        }
      }
      .app-dialog__title {
        margin: 0 0 8px;
        font-size: 1.15rem;
        line-height: 1.35;
      }
      .app-dialog__message {
        margin: 0 0 18px;
        font-size: 14px;
        line-height: 1.55;
        white-space: pre-wrap;
      }
      .app-dialog__actions {
        margin-top: 0;
      }
      .app-dialog__actions--alert {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
        width: 100%;
      }
      .app-dialog__actions--alert #appDialogSecondaryBtn:not(.hidden) {
        margin-right: auto;
      }
      .content-page-modal__h2--hidden {
        display: none !important;
      }
      .modal {
        box-sizing: border-box;
        width: var(--mp-modal-fluid-w);
        max-width: 100%;
        background: var(--surface);
        border-radius: 14px;
        padding: 16px;
        border: 1px solid var(--border-light);
        box-shadow:
          0 20px 50px rgba(15, 30, 60, 0.18),
          0 0 0 1px rgba(255, 255, 255, 0.5) inset;
        position: relative;
        z-index: 10000;
        max-height: var(--mp-modal-fluid-h);
        overflow-y: auto;
        margin-inline: auto;
      }
      #storyModal .modal {
        width: var(--mp-modal-fluid-w);
        max-width: 100%;
        /* Plně krycí obal — bez průhlednosti a bez rozostření mapy za oknem. */
        background: #fafafa;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
      }
      body.modal-open {
        overflow: hidden;
      }

      button.modal-close-circle {
        box-sizing: border-box;
        position: absolute;
        top: max(10px, env(safe-area-inset-top, 0px));
        right: max(10px, env(safe-area-inset-right, 0px));
        z-index: 22;
        width: 38px;
        height: 38px;
        border-radius: 999px;
        padding: 0;
        margin: 0;
        border: none !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        font-size: 24px;
        line-height: 1;
        font-weight: 300;
        letter-spacing: 0;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
      }
      button.modal-close-circle:hover {
        filter: brightness(0.94);
      }
      button.modal-close-circle:focus-visible {
        outline: 2px solid var(--mp-window-close-focus-outline, #1b4d72);
        outline-offset: 2px;
      }
      /* Více „vzduchu“ aby nadpis nepřetahoval pod křížek */
      .modal-backdrop[data-mp-universal-close] > section.modal:not([data-mp-window]) {
        padding-right: 54px !important;
        padding-top: max(14px, env(safe-area-inset-top, 0px)) !important;
      }
      /* Staré horní × u výpisu příběhů na místě — nahrazené jednotným kolečkem na kartě modálu */
      .modal-backdrop[data-mp-universal-close] .spot-modal-close-x {
        display: none !important;
      }
      /* Barvy křížku musí přebít globální pravidla pro text uvnitř modálů (.modal *) */
      .modal-backdrop .modal > button.modal-close-circle {
        border: var(--mp-window-close-border, 1px solid rgba(17, 24, 39, 0.16)) !important;
        background: var(--mp-window-close-bg, #ffffff) !important;
        color: var(--mp-window-close-fg, #111827) !important;
        -webkit-text-fill-color: var(--mp-window-close-fg, #111827) !important;
        box-shadow: var(--mp-window-close-shadow, 0 2px 12px rgba(0, 0, 0, 0.22)) !important;
      }
      .nav-drawer__panel[data-mp-drawer-universal-close] > button.modal-close-circle--drawer {
        top: 10px;
        right: 10px;
        z-index: 6;
      }
      .nav-drawer__panel[data-mp-drawer-universal-close] > button.modal-close-circle--drawer,
      .nav-drawer__panel[data-mp-drawer-universal-close] > button.modal-close-circle--drawer * {
        color: var(--mp-window-close-fg, #111827) !important;
        -webkit-text-fill-color: var(--mp-window-close-fg, #111827) !important;
      }
      .nav-drawer__panel[data-mp-drawer-universal-close] > button.modal-close-circle--drawer {
        background: var(--mp-window-close-bg, #ffffff) !important;
        border: var(--mp-window-close-border, 1px solid rgba(17, 24, 39, 0.16)) !important;
        box-shadow: var(--mp-window-close-shadow, 0 2px 12px rgba(0, 0, 0, 0.22)) !important;
      }
      .nav-drawer__panel[data-mp-drawer-universal-close] .nav-drawer__head {
        justify-content: flex-start;
        padding-right: 44px;
      }
      /* Křížek v řádku záhlaví plovoucího editoru stránek (administrace) */
      button.modal-close-circle.modal-close-circle--window {
        position: relative;
        top: auto;
        right: auto;
        z-index: 1;
        width: 34px;
        height: 34px;
        min-width: 34px !important;
        font-size: 22px !important;
        flex: 0 0 auto !important;
        box-sizing: border-box !important;
        box-shadow: var(--mp-window-close-shadow, 0 2px 12px rgba(0, 0, 0, 0.22)) !important;
        background: var(--mp-window-close-bg, #ffffff) !important;
        color: var(--mp-window-close-fg, #111827) !important;
        -webkit-text-fill-color: var(--mp-window-close-fg, #111827) !important;
        border: var(--mp-window-close-border, 1px solid rgba(17, 24, 39, 0.16)) !important;
      }

      .modal h2 {
        margin: 0 0 10px;
      }
      .modal.mp-adjustable-modal {
        max-width: var(--mp-modal-fluid-w) !important;
        max-height: var(--mp-modal-fluid-h) !important;
      }
      .modal.mp-adjustable-modal--float {
        margin: 0 !important;
        max-width: calc(100vw - 2 * var(--mp-modal-gutter)) !important;
        max-height: calc(100dvh - 2 * var(--mp-modal-gutter)) !important;
      }
      .modal.mp-adjustable-modal--float {
        position: fixed !important;
      }
      .modal.mp-adjustable-modal [data-mp-modal-drag-handle="1"] {
        cursor: move;
        user-select: none;
        touch-action: none;
      }
      .mp-modal-resize-grip {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 24px;
        height: 24px;
        cursor: nwse-resize;
        z-index: 5;
        border-bottom-right-radius: 12px;
        background: linear-gradient(135deg, transparent 0 45%, rgba(27, 77, 114, 0.28) 46% 54%, transparent 55% 62%, rgba(27, 77, 114, 0.45) 63% 72%, transparent 73%);
      }
      .form-grid {
        display: grid;
        gap: 10px;
        grid-template-columns: 1fr;
        align-items: start;
      }
      .form-section {
        border: 1px solid var(--accent-border);
        background: var(--accent-softer);
        border-radius: 12px;
        padding: 12px;
        min-width: 0;
      }
      .form-section.full-width {
        grid-column: 1 / -1;
      }
      /* Host: vlevo základní info + obsah, vpravo čas + kategorie + média + dokončení (čas nahoře v pravém sloupci). */
      #storyForm.form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas: "sf-main sf-meta";
        align-items: stretch;
      }
      #storyFormMainColumn.story-form-main-column {
        grid-area: sf-main;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        min-width: 0;
        align-self: stretch;
      }
      /* Přihlášený (PC): vlevo nápověda autora + obsah příběhu (sloupec táhne výšku), vpravo čas nahoře + zbytek. */
      #storyForm.logged-in-layout.form-grid {
        grid-template-columns: minmax(0, 1.22fr) minmax(260px, 0.78fr);
        grid-template-areas: "sf-main sf-meta";
        gap: 12px;
        align-items: stretch;
      }
      #storyFormAside {
        grid-area: sf-meta;
        display: flex;
        flex-direction: column;
        gap: 10px;
        min-width: 0;
        align-self: stretch;
      }
      #storyFormAside > .form-section {
        flex: 0 0 auto;
      }
      /* Dokončení je uvnitř #storyFormAside (pod médii), ne v samostatném řádku mřížky. */
      #storyFormAside #storyFinishSection.story-finish-in-aside .finish-inner {
        flex-direction: column;
        gap: 10px;
        align-items: stretch;
      }
      #storyFormAside #storyFinishSection.story-finish-in-aside .finish-inner .field {
        flex: 1 1 auto;
      }
      #storyBodySection #storyText {
        min-height: 190px;
        resize: vertical;
      }
      #storyForm.logged-in-layout #storyFinishSection .finish-inner {
        flex-direction: column;
        gap: 12px;
      }
      #storyForm.logged-in-layout #storyFinishSection .finish-inner .field {
        flex: 1 1 auto;
      }
      #storyTimeSection .section-grid {
        grid-template-columns: 1fr;
      }
      .story-time-range-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px 16px;
        align-items: end;
      }
      @media (max-width: 520px) {
        .story-time-range-grid {
          grid-template-columns: 1fr;
        }
      }
      #storyMetaSection .section-grid {
        grid-template-columns: 1fr;
      }
      #storyFinishSection .finish-inner {
        display: flex;
        flex-wrap: wrap;
        gap: 16px 32px;
        align-items: flex-start;
      }
      #storyFinishSection .finish-inner .field {
        flex: 1 1 240px;
      }
      .form-section h3 {
        margin: 0 0 10px;
        font-size: 15px;
        color: var(--accent-text);
      }
      .form-section.warm {
        border-color: #fde68a;
        background: #fffbeb;
      }
      .form-section.green {
        border-color: #bbf7d0;
        background: #f0fdf4;
      }
      .form-section.meta-panel {
        border-color: var(--accent-border);
        background: var(--accent-soft);
      }
      .form-section.media-panel {
        border-color: var(--accent-border);
        background: var(--surface-card);
      }
      /* Barvy modré / červené sekce ve formuláři příběhu (i přechod rámečku úvodního panelu). */
      #storyModal {
        --story-form-tone-blue: #1b4d72;
        --story-form-tone-red: #961f33;
      }
      /* Nový příběh — jen bílá / jemná modrá / jemná červená, střídání sekcí */
      #storyModal .form-section--story-ton-0 {
        background: #ffffff;
        border-color: rgba(15, 23, 42, 0.12);
      }
      #storyModal .form-section--story-ton-1 {
        background: var(--story-form-tone-blue);
        border-color: rgba(255, 255, 255, 0.28);
      }
      #storyModal .form-section--story-ton-2 {
        background: var(--story-form-tone-red);
        border-color: rgba(255, 255, 255, 0.28);
      }
      #storyModal .form-section--story-ton-0 h3 {
        color: #0f172a;
      }
      #storyModal .story-author-mode-options {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: 8px;
      }
      #storyModal .story-author-mode-option {
        margin: 0;
      }
      #storyModal .story-author-mode-note {
        margin: 0 0 4px;
      }
      #storyModal .form-section--story-ton-1 h3 {
        color: #f0f9ff;
      }
      #storyModal .form-section--story-ton-2 h3 {
        color: #fff7f7;
      }
      .story-modal-title-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        margin: 0 0 8px;
        flex-wrap: nowrap;
      }
      .story-modal-title-row h2 {
        margin: 0;
        flex: 1 1 auto;
        min-width: 0;
      }
      .story-modal-title-actions {
        display: flex;
        align-items: center;
        gap: 8px;
        flex: 0 0 auto;
      }
      /* reCAPTCHA v2 — celoplošné okno nad formulářem (mobil + desktop), po „Zapsat příběh“ */
      #storyModal .story-recaptcha-v2-overlay {
        position: absolute;
        inset: 0;
        z-index: 85;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right))
          max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
        background: rgba(15, 23, 42, 0.55);
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);
        border-radius: inherit;
      }
      #storyModal .story-recaptcha-v2-overlay.hidden {
        display: none !important;
      }
      #storyModal.is-story-recaptcha-v2-open .modal {
        overflow: hidden;
      }
      .story-recaptcha-v2-overlay__panel {
        width: min(100%, 420px);
        max-height: min(88dvh, 520px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        margin: 0;
        padding: 16px 18px 14px;
        border-radius: 14px;
        border: 3px solid #f59e0b;
        background: #fffbeb;
        box-shadow:
          0 0 0 4px rgba(245, 158, 11, 0.25),
          0 24px 48px rgba(15, 23, 42, 0.35);
      }
      .story-recaptcha-v2-overlay__title {
        margin: 0 0 10px;
        font-size: 1.05rem;
        font-weight: 800;
        line-height: 1.3;
        color: #92400e;
      }
      .story-recaptcha-v2-overlay__hint {
        margin: 0 0 14px;
        font-size: 14px;
        line-height: 1.45;
        font-weight: 600;
        color: #78350f;
      }
      .story-recaptcha-v2-overlay__widget {
        margin: 0 auto 12px;
        display: flex;
        justify-content: center;
        min-height: 78px;
      }
      .story-recaptcha-v2-overlay__legal {
        margin: 0;
        font-size: 11px;
        line-height: 1.35;
        color: #57534e;
      }
      .story-form-clear-draft-btn {
        font-size: 11px;
        line-height: 1.2;
        padding: 3px 8px;
        border-radius: 6px;
        border: 1px solid rgba(148, 163, 184, 0.65);
        background: rgba(248, 250, 252, 0.95);
        color: #475569;
        cursor: pointer;
        font-weight: 600;
      }
      .story-form-clear-draft-btn:hover {
        background: #fff;
        border-color: rgba(100, 116, 139, 0.85);
        color: #334155;
      }
      .story-form-clear-draft-btn:focus-visible {
        outline: 2px solid #64748b;
        outline-offset: 2px;
      }
      .story-form-help-btn {
        flex: 0 0 auto;
        width: 32px;
        height: 32px;
        min-width: 32px;
        border-radius: 999px;
        border: 1px solid rgba(59, 130, 246, 0.4);
        background: rgba(239, 246, 255, 0.95);
        color: #1d4ed8;
        font-weight: 800;
        font-size: 17px;
        line-height: 1;
        cursor: pointer;
        padding: 0;
        box-shadow: 0 2px 8px rgba(37, 99, 235, 0.12);
      }
      .story-form-help-btn:hover {
        background: rgba(219, 234, 254, 0.98);
        border-color: rgba(37, 99, 235, 0.55);
      }
      .story-form-help-btn:focus-visible {
        outline: 2px solid #2563eb;
        outline-offset: 2px;
      }
      #storyModal .story-form-help-overlay {
        position: absolute;
        inset: 0;
        z-index: 60;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(
            10px,
            env(safe-area-inset-bottom)
          )
          max(10px, env(safe-area-inset-left));
        background: rgba(15, 23, 42, 0.38);
        backdrop-filter: blur(4px);
        border-radius: inherit;
      }
      #storyModal .story-form-help-overlay.hidden {
        display: none !important;
      }
      #storyModal .story-form-help-panel {
        width: min(100%, 480px);
        max-height: min(78dvh, 620px);
        display: flex;
        flex-direction: column;
        background: #ffffff;
        border-radius: 14px;
        border: 1px solid rgba(15, 23, 42, 0.12);
        box-shadow: 0 22px 50px rgba(0, 0, 0, 0.22);
        overflow: hidden;
      }
      #storyModal .story-form-help-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 12px 14px;
        border-bottom: 1px solid rgba(15, 23, 42, 0.08);
        background: rgba(239, 246, 255, 0.55);
      }
      #storyModal .story-form-help-header h3 {
        margin: 0;
        font-size: 1rem;
        font-weight: 700;
        color: #0f172a;
      }
      #storyModal .story-form-help-close {
        flex: 0 0 auto;
        width: 34px;
        height: 34px;
        border-radius: 999px;
        border: var(--mp-window-close-border, 1px solid rgba(17, 24, 39, 0.16));
        background: var(--mp-window-close-bg, #ffffff);
        /* `.modal-backdrop .modal *` nastavuje barvu textu !important — bez tohoto je × stejně tmavé jako podklad. */
        color: var(--mp-window-close-fg, #111827) !important;
        -webkit-text-fill-color: var(--mp-window-close-fg, #111827) !important;
        font-size: 22px;
        line-height: 1;
        cursor: pointer;
        padding: 0;
        display: grid;
        place-items: center;
      }
      #storyModal .story-form-help-scroll {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 12px 14px 16px;
        font-size: 13px;
        line-height: 1.45;
        color: #334155;
      }
      #storyModal .story-form-help-block {
        margin-bottom: 14px;
        padding-bottom: 12px;
        border-bottom: 1px solid rgba(15, 23, 42, 0.08);
      }
      #storyModal .story-form-help-block:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: 0;
      }
      #storyModal .story-form-help-block h4 {
        margin: 0 0 6px;
        font-size: 13px;
        font-weight: 700;
        color: #0f172a;
      }
      #storyModal .story-form-help-block p {
        margin: 0;
      }
      .section-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
      }
      .field {
        display: flex;
        flex-direction: column;
        gap: 6px;
      }
      .field-note {
        margin: 0;
        font-size: 12px;
        color: #6b7280;
      }
      .full {
        grid-column: 1 / -1;
      }
      label {
        font-size: 14px;
        font-weight: 600;
      }
      .required-mark {
        color: #dc2626;
        margin-left: 4px;
        font-weight: 700;
      }
      .optional-mark {
        color: #6b7280;
        margin-left: 6px;
        font-size: 12px;
        font-weight: 500;
      }
      .form-legend {
        margin: 0 0 10px;
        font-size: 12px;
        color: #4b5563;
      }
      .author-compact-hint {
        margin: 0 0 10px;
        padding: 8px 10px;
        border-radius: 8px;
        border: 1px solid var(--accent-border);
        background: var(--accent-soft);
        color: var(--accent-text);
        font-size: 12px;
      }
      #storyModal .author-compact-hint:not(.hidden) {
        margin: 0 0 12px;
        padding: 12px 14px;
        border-radius: 10px;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.4;
      }
      .story-branch-context__text {
        margin: 0 0 8px;
        font-weight: 500;
      }
      .story-branch-context__cite {
        font-style: italic;
      }
      .story-branch-context__dismiss {
        margin-top: 4px;
      }
      /* Informace k ochraně soukromí — jemná modrá v rámci palety formuláře. */
      .privacy-warning {
        margin-top: 8px;
        padding: 8px 10px;
        border: 1px solid rgba(59, 130, 246, 0.28);
        background: rgba(239, 246, 255, 0.75);
        border-radius: 8px;
        color: #1e3a5f;
        font-size: 12px;
      }
      /* Úvod u formuláře příběhu — dvousloupcově nižší, typograficky oddělený od „úředních“ sekcí. */
      .story-form-spirit {
        margin: 0 0 10px;
        padding: 10px 12px 10px 14px;
        border-radius: 11px;
        border: 2px solid transparent;
        background:
          linear-gradient(165deg, rgba(255, 255, 255, 0.95) 0%, var(--accent-soft) 120%) padding-box,
          linear-gradient(135deg, var(--story-form-tone-blue, #1b4d72), var(--story-form-tone-red, #961f33)) border-box;
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset, 0 4px 16px rgba(25, 20, 18, 0.05);
        color: #374151;
        font-size: 13px;
        line-height: 1.42;
      }
      .story-form-spirit__cols {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px 14px;
        align-items: start;
      }
      .story-form-spirit__segment {
        margin: 0;
        min-width: 0;
      }
      .story-form-spirit__segment--second {
        margin: 0;
        padding: 0 0 0 12px;
        border: none;
        border-left: 1px solid rgba(0, 0, 0, 0.08);
      }
      .story-form-spirit__title {
        margin: 0 0 4px;
        font-size: 0.98rem;
        font-weight: 700;
        letter-spacing: -0.02em;
        line-height: 1.2;
        color: #111827;
      }
      .story-form-spirit__body {
        margin: 0;
        font-size: 0.8125rem;
        font-weight: 400;
        line-height: 1.38;
        color: #4b5563;
      }
      .story-form-spirit__closing {
        margin: 8px 0 0;
        padding-top: 8px;
        border-top: 1px dashed rgba(0, 0, 0, 0.1);
        font-size: 0.8125rem;
        font-style: italic;
        line-height: 1.35;
        color: var(--accent);
      }
      @media (max-width: 640px) {
        .story-form-spirit__cols {
          grid-template-columns: 1fr;
          gap: 0;
        }
        .story-form-spirit__segment--second {
          margin-top: 8px;
          padding: 8px 0 0;
          border-left: none;
          border-top: 1px solid rgba(0, 0, 0, 0.07);
        }
      }
      .story-text-guide {
        margin: 0 0 4px;
      }
      .story-media-lead {
        margin: 0 0 8px;
      }
      .ai-help {
        margin-top: 8px;
        padding: 10px;
        border: 1px solid var(--accent-border);
        background: var(--accent-soft);
        border-radius: 10px;
      }
      .ai-help-title {
        font-size: 13px;
        font-weight: 700;
        color: var(--accent);
      }
      .ai-help-text {
        margin-top: 4px;
        font-size: 12px;
        color: var(--accent-text);
      }
      input,
      textarea,
      select {
        border: 1px solid var(--border-light);
        border-radius: 8px;
        padding: 10px;
        font-size: 14px;
        background: var(--surface);
      }
      textarea {
        min-height: 130px;
        resize: vertical;
      }
      .modal-actions {
        margin-top: 14px;
        display: flex;
        justify-content: flex-end;
        gap: 10px;
        position: sticky;
        bottom: 0;
        background: linear-gradient(to top, #fff 75%, rgba(255, 255, 255, 0));
        padding-top: 10px;
      }
      .hint {
        margin-top: 8px;
        font-size: 13px;
        color: #6b7280;
      }
      /* Dokončení zveřejnění příběhu z e-mailu — výrazná instrukce nad heslem */
      #finishPendingStoryModal .finish-pending-callout {
        margin-top: 0;
        margin-bottom: 10px;
        padding: 14px 16px;
        font-size: 1.08rem;
        font-weight: 700;
        line-height: 1.45;
        border-radius: 10px;
        border: 2px solid rgba(155, 28, 49, 0.42);
        background: rgba(155, 28, 49, 0.09);
        color: #1a1a1a !important;
      }
      #finishPendingStoryModal .finish-pending-subhint {
        margin-top: 0;
        margin-bottom: 14px;
        font-size: 13px;
        color: #4b5563 !important;
      }
      .detail-row {
        margin: 8px 0;
        font-size: 14px;
      }
      .detail-label {
        font-weight: 700;
      }
      /* Červený špendlík = jedna souvislá křivka (SVG), ne kolečko + šipka. Kotva Leaflet = špička na mapě. Modré shluky beze změny. */
      .story-spot-pin {
        width: 48px;
        height: 58px;
        border-radius: 0;
        background: transparent;
        border: none;
        box-shadow: none;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        box-sizing: border-box;
        padding: 0;
        font-size: inherit;
        line-height: inherit;
        cursor: pointer;
        pointer-events: auto;
      }
      .story-spot-pin-hit {
        display: block;
        line-height: 0;
        pointer-events: auto;
        filter: drop-shadow(0 3px 10px rgba(185, 28, 28, 0.42));
      }
      .story-spot-pin-svg {
        display: block;
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      }
      .story-spot-pin-svg-num {
        fill: #fff;
        font-weight: 700;
        font-size: 10px;
        font-variant-numeric: tabular-nums;
        pointer-events: none;
      }
      /* Vnější záře: bílá, těsná u špendlíku, silnější než dřív — několik vrstev drop-shadow (malý blur, vysoká krytí). */
      @keyframes story-spot-pin-editor-glow {
        0%,
        100% {
          filter:
            drop-shadow(0 0 1px rgba(255, 255, 255, 1))
            drop-shadow(0 0 3px rgba(255, 255, 255, 0.95))
            drop-shadow(0 0 6px rgba(255, 255, 255, 0.72))
            drop-shadow(0 0 9px rgba(255, 255, 255, 0.38));
        }
        50% {
          filter:
            drop-shadow(0 0 1px rgba(255, 255, 255, 1))
            drop-shadow(0 0 4px rgba(255, 255, 255, 1))
            drop-shadow(0 0 8px rgba(255, 255, 255, 0.88))
            drop-shadow(0 0 12px rgba(255, 255, 255, 0.52));
        }
      }
      @keyframes story-spot-pin-editor-inner {
        0%,
        100% {
          opacity: 0.38;
          transform: translateX(-50%) scale(0.93);
        }
        50% {
          opacity: 0.78;
          transform: translateX(-50%) scale(1.02);
        }
      }
      .story-spot-pin--editor-highlight .story-spot-pin-hit {
        position: relative;
        isolation: isolate;
        animation: story-spot-pin-editor-glow 2.5s ease-in-out infinite;
      }
      /* Vnitřní „prstýnek“ — světlejší, menší, pulzuje ve stejném rytmu; střed zůstává čistý kvůli číslu ve špendlíku. */
      .story-spot-pin--editor-highlight .story-spot-pin-hit::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 8px;
        width: 24px;
        height: 20px;
        transform: translateX(-50%);
        border-radius: 50%;
        pointer-events: none;
        z-index: 2;
        background: radial-gradient(
          circle at 50% 48%,
          transparent 0%,
          transparent 34%,
          rgba(255, 253, 245, 0.55) 42%,
          rgba(254, 243, 199, 0.38) 48%,
          rgba(253, 224, 71, 0.14) 54%,
          transparent 60%
        );
        mix-blend-mode: screen;
        animation: story-spot-pin-editor-inner 2.5s ease-in-out infinite;
      }
      .story-spot-pin--editor-highlight .story-spot-pin-svg {
        position: relative;
        z-index: 1;
      }
      .story-spot-pin--municipality-main .story-spot-pin-hit {
        filter: drop-shadow(0 0 5px rgba(250, 204, 21, 0.95)) drop-shadow(0 0 16px rgba(234, 179, 8, 0.85));
      }
      /* Obecní příběh (officialMunicipal): žlutý obrys špendlíku — jemná vnější záře */
      .story-spot-pin--official-municipal {
        position: relative;
        filter: drop-shadow(0 0 1px rgba(234, 179, 8, 0.75)) drop-shadow(0 0 4px rgba(234, 179, 8, 0.42));
      }
      .story-spot-pin--official-municipal .story-spot-pin-hit {
        filter: drop-shadow(0 0 2px rgba(250, 204, 21, 0.7)) drop-shadow(0 3px 8px rgba(185, 28, 28, 0.38));
      }
      .story-spot-pin--official-municipal .story-spot-pin-svg path {
        stroke: #eab308 !important;
        stroke-width: 3.5 !important;
      }
      .story-spot-pin--official-municipal.story-spot-pin--municipality-main .story-spot-pin-svg path {
        stroke: #a16207 !important;
        stroke-width: 3.5 !important;
      }
      .municipality-important-place-marker {
        width: 14px;
        height: 14px;
        border-radius: 999px;
        border: 2px solid #fff;
        background: linear-gradient(135deg, #2563eb 0%, #dc2626 78%);
        color: #fff;
        display: grid;
        place-items: center;
        font-weight: 900;
        box-shadow: 0 4px 10px rgba(15, 23, 42, 0.32), 0 0 0 1px rgba(37, 99, 235, 0.22);
      }
      .municipality-important-place-card {
        display: grid;
        gap: 8px;
        padding: 10px;
        border: 1px solid rgba(30, 64, 175, 0.18);
        border-radius: 12px;
        background: #f8fbff;
      }
      .municipality-important-place-popup .leaflet-popup-content-wrapper {
        border-radius: 22px;
        padding: 0;
        overflow: hidden;
        background: linear-gradient(180deg, #fff7ed 0%, #ffffff 48%, #eef6ff 100%);
        box-shadow: 0 24px 60px rgba(15, 23, 42, 0.32);
      }
      .municipality-important-place-popup .leaflet-popup-content {
        width: min(420px, 82vw) !important;
        margin: 0;
      }
      .municipality-important-place-popup .leaflet-popup-tip {
        background: #eef6ff;
      }
      .municipality-important-place-card--public {
        gap: 0;
        padding: 0;
        border: 0;
        border-radius: 22px;
        background: transparent;
        overflow: hidden;
      }
      .municipality-important-place-card__media {
        position: relative;
        min-height: 180px;
        margin: 0;
        background: radial-gradient(circle at 15% 15%, rgba(255, 255, 255, 0.72), transparent 28%),
          linear-gradient(135deg, #1d4ed8 0%, #7c2d12 48%, #dc2626 100%);
        display: grid;
        place-items: center;
      }
      .municipality-important-place-card__media img {
        width: 100%;
        height: 220px;
        object-fit: cover;
        display: block;
      }
      .municipality-important-place-card__media::after {
        content: "";
        position: absolute;
        inset: auto 0 0;
        height: 46%;
        background: linear-gradient(180deg, transparent, rgba(15, 23, 42, 0.56));
        pointer-events: none;
      }
      .municipality-important-place-card__media figcaption {
        position: absolute;
        left: 14px;
        right: 14px;
        bottom: 10px;
        z-index: 1;
        color: #fff !important;
        font-size: 12px;
        text-shadow: 0 1px 8px rgba(0, 0, 0, 0.72);
      }
      .municipality-important-place-card__media--empty span {
        color: #fff !important;
        border: 1px solid rgba(255, 255, 255, 0.55);
        border-radius: 999px;
        padding: 7px 12px;
        background: rgba(255, 255, 255, 0.16);
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        font-size: 11px;
      }
      .municipality-important-place-card__body {
        padding: 18px 18px 16px;
        display: grid;
        gap: 11px;
      }
      .municipality-important-place-card__eyebrow {
        justify-self: start;
        padding: 5px 10px;
        border-radius: 999px;
        background: linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(220, 38, 38, 0.12));
        color: #7f1d1d !important;
        font-size: 11px;
        font-weight: 850;
        letter-spacing: 0.09em;
        text-transform: uppercase;
      }
      .municipality-important-place-card--public h3 {
        margin: 0;
        color: #1f2937 !important;
        font-family: "Lora", Georgia, serif;
        font-size: clamp(23px, 5vw, 31px);
        line-height: 1.06;
      }
      .municipality-important-place-card--detail h2 {
        margin: 0;
        color: #f8fafc !important;
        font-family: Inter, system-ui, sans-serif;
        font-size: clamp(26px, 4vw, 40px);
        line-height: 1.02;
        letter-spacing: -0.04em;
      }
      .municipality-important-place-card__subtitle {
        margin: 0;
        color: #1e3a8a !important;
        font-size: 15px;
        line-height: 1.45;
        font-weight: 700;
      }
      .municipality-important-place-card__text,
      .municipality-important-place-card__panel p {
        margin: 0;
        color: #334155 !important;
        font-size: 14px;
        line-height: 1.62;
        white-space: pre-line;
      }
      .municipality-important-place-card__panel {
        border-radius: 16px;
        padding: 12px 13px;
        background: rgba(255, 247, 237, 0.92);
        border: 1px solid rgba(194, 65, 12, 0.16);
      }
      .municipality-important-place-card__panel--soft {
        background: rgba(239, 246, 255, 0.94);
        border-color: rgba(37, 99, 235, 0.16);
      }
      .municipality-important-place-card__panel strong {
        display: block;
        margin-bottom: 5px;
        color: #7c2d12 !important;
        font-size: 12px;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }
      .municipality-important-place-card__panel--soft strong {
        color: #1e3a8a !important;
      }
      .municipality-important-place-card__main-text {
        border-left: 4px solid #dc2626;
        padding: 12px 14px;
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.88);
        border-top: 1px solid rgba(220, 38, 38, 0.12);
        border-right: 1px solid rgba(220, 38, 38, 0.12);
        border-bottom: 1px solid rgba(220, 38, 38, 0.12);
      }
      .municipality-important-place-card__main-text strong {
        display: block;
        margin-bottom: 5px;
        color: #7c2d12 !important;
        font-size: 12px;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }
      .municipality-important-place-card__main-text p {
        margin: 0;
        color: #334155 !important;
        font-size: 15px;
        line-height: 1.7;
        white-space: pre-line;
      }
      .municipality-important-place-card__info-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
      }
      .municipality-important-place-card__content-grid {
        display: grid;
        grid-template-columns: 1.15fr 0.85fr;
        gap: 12px;
        align-items: stretch;
      }
      .municipality-important-place-card__cta {
        margin-top: 4px;
        justify-self: stretch;
      }
      .municipality-important-place-card__stories {
        display: grid;
        gap: 10px;
        margin-top: 4px;
        border-radius: 18px;
        padding: 14px;
        background: linear-gradient(135deg, rgba(30, 64, 175, 0.08), rgba(220, 38, 38, 0.07));
        border: 1px solid rgba(30, 64, 175, 0.16);
      }
      .municipality-important-place-card__stories-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        flex-wrap: wrap;
      }
      .municipality-important-place-card__stories-head strong {
        display: block;
        color: #1e293b !important;
        font-size: 16px;
      }
      .municipality-important-place-card__stories-head span {
        display: block;
        color: #64748b !important;
        font-size: 12px;
      }
      .municipality-important-place-stories-list {
        display: grid;
        gap: 8px;
      }
      .municipality-important-place-story-row {
        display: grid;
        gap: 3px;
        width: 100%;
        text-align: left;
        border: 1px solid rgba(15, 23, 42, 0.12);
        border-radius: 12px;
        padding: 10px 12px;
        background: rgba(255, 255, 255, 0.82);
        cursor: pointer;
      }
      .municipality-important-place-story-row:hover {
        background: #ffffff;
        border-color: rgba(37, 99, 235, 0.36);
      }
      .municipality-important-place-story-row__title {
        color: #7c2d12 !important;
        font-weight: 800;
      }
      .municipality-important-place-story-row__meta,
      .municipality-important-place-stories-empty {
        color: #64748b !important;
        font-size: 13px;
        line-height: 1.45;
      }
      .municipality-important-place-stories-empty {
        border: 1px dashed rgba(100, 116, 139, 0.35);
        border-radius: 12px;
        padding: 12px;
        background: rgba(255, 255, 255, 0.68);
      }
      .municipality-important-place-card__thumb {
        width: 100%;
        max-height: 130px;
        object-fit: cover;
        border-radius: 10px;
      }
      .important-place-image-preview-wrap {
        display: grid;
        gap: 8px;
        margin-top: 8px;
      }
      .important-place-image-preview-wrap img {
        width: min(100%, 360px);
        max-height: 220px;
        object-fit: cover;
        border-radius: 14px;
        border: 1px solid rgba(15, 23, 42, 0.14);
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
      }
      .curator-important-places-modal {
        width: min(750px, var(--mp-modal-fluid-w));
        max-height: min(88dvh, 820px);
        overflow: auto;
      }
      .curator-important-place-edit-modal {
        width: min(750px, var(--mp-modal-fluid-w));
        max-height: min(88dvh, 820px);
        overflow: auto;
      }
      .curator-important-places-add-wrap {
        display: flex;
        justify-content: center;
        margin: 12px 0 16px;
      }
      .curator-important-places-add-wrap .primary {
        min-width: min(100%, 280px);
        padding: 10px 20px;
        font-weight: 700;
      }
      .curator-important-places-list {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-bottom: 8px;
      }
      .curator-important-place-row {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        gap: 10px 12px;
        padding: 12px 14px;
        border: 1px solid rgba(15, 23, 42, 0.12);
        border-radius: 10px;
        background: #fafafa;
      }
      .curator-important-place-row__main {
        flex: 1 1 200px;
        min-width: 0;
      }
      .curator-important-place-row__title {
        display: block;
        font-size: 1rem;
        line-height: 1.35;
        color: #0f172a;
      }
      .curator-important-place-row__meta {
        margin-top: 6px;
        font-size: 0.85rem;
        line-height: 1.4;
        color: #64748b;
      }
      .curator-important-place-row__actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
      }
      .municipality-important-place-detail-modal {
        width: min(840px, var(--mp-modal-fluid-w));
        max-height: min(88dvh, 820px);
        overflow: hidden !important;
        padding: 4px !important;
        border: 0 !important;
        border-radius: 28px !important;
        background: linear-gradient(135deg, #2563eb 0%, #dc2626 55%, #7c2d12 100%) !important;
        box-shadow: 0 28px 80px rgba(15, 23, 42, 0.42) !important;
      }
      .municipality-important-place-card--detail {
        gap: 0;
        padding: 0;
        border: 0;
        border-radius: 0 0 24px 24px;
        background:
          radial-gradient(circle at 12% 0%, rgba(37, 99, 235, 0.12), transparent 28%),
          radial-gradient(circle at 95% 20%, rgba(220, 38, 38, 0.12), transparent 24%),
          linear-gradient(180deg, #fff8f1 0%, #ffffff 42%, #eef6ff 100%);
        overflow: hidden;
      }
      .municipality-important-place-windowbar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 44px;
        padding: 0 8px 0 16px;
        color: #ffffff !important;
        font-weight: 850;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        font-size: 12px;
      }
      .municipality-important-place-windowbar button {
        width: 34px;
        height: 34px;
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.58);
        background: rgba(15, 23, 42, 0.34);
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        font-size: 22px;
        line-height: 1;
        cursor: pointer;
      }
      .municipality-important-place-windowbar button:hover {
        background: rgba(15, 23, 42, 0.62);
      }
      .municipality-important-place-card__hero {
        display: grid;
        grid-template-columns: minmax(260px, 0.84fr) minmax(320px, 1.16fr);
        gap: 0;
        min-height: 260px;
        background: linear-gradient(135deg, #1e3a8a 0%, #991b1b 100%);
      }
      .municipality-important-place-card--detail .municipality-important-place-card__media img {
        height: 260px;
      }
      .municipality-important-place-card--detail .municipality-important-place-card__media {
        min-height: 260px;
        border-radius: 0;
      }
      .municipality-important-place-card--detail .municipality-important-place-card__body {
        padding: 16px;
        gap: 12px;
        max-height: calc(min(88dvh, 820px) - 44px - 260px);
        overflow: hidden;
      }
      .municipality-important-place-card__hero-copy {
        display: grid;
        align-content: center;
        gap: 12px;
        padding: 24px 28px;
        position: relative;
        overflow: hidden;
      }
      .municipality-important-place-card__hero-copy::before {
        content: "";
        position: absolute;
        inset: 18px;
        border: 1px solid rgba(255, 255, 255, 0.14);
        border-radius: 22px;
        pointer-events: none;
      }
      .municipality-important-place-card--detail .municipality-important-place-card__eyebrow {
        background: rgba(255, 255, 255, 0.16);
        color: #ffffff !important;
        border: 1px solid rgba(255, 255, 255, 0.24);
      }
      .municipality-important-place-card--detail .municipality-important-place-card__subtitle {
        color: rgba(255, 255, 255, 0.9) !important;
        font-size: 15px;
        max-width: 56ch;
      }
      .municipality-important-place-facts {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
      }
      .municipality-important-place-fact {
        display: grid;
        gap: 2px;
        min-width: 116px;
        padding: 8px 10px;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.14);
        border: 1px solid rgba(255, 255, 255, 0.2);
      }
      .municipality-important-place-fact span {
        color: rgba(255, 255, 255, 0.72) !important;
        font-size: 10px;
        text-transform: uppercase;
        letter-spacing: 0.08em;
      }
      .municipality-important-place-fact strong {
        color: #ffffff !important;
        font-size: 12px;
        line-height: 1.25;
      }
      #municipalityImportantPlaceModal .modal-close-circle {
        display: none !important;
      }
      #municipalityImportantPlaceModal .modal-actions {
        display: none !important;
      }
      #municipalityImportantPlaceModal.modal-backdrop {
        place-items: center !important;
        background: rgba(15, 23, 42, 0.58) !important;
        padding: 18px !important;
      }
      #storyDetailModal.modal-backdrop,
      #spotModal.modal-backdrop,
      #municipalityImportantPlaceModal.modal-backdrop {
        place-items: center !important;
      }
      #storyDetailModal > section.modal,
      #spotModal > section.modal,
      #municipalityImportantPlaceModal > section.modal {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
      }
      #municipalityImportantPlaceModal .municipality-important-place-detail-modal {
        width: var(--mp-modal-fluid-w) !important;
        max-width: 100% !important;
        max-height: var(--mp-modal-fluid-h) !important;
        overflow: hidden !important;
        display: grid !important;
        grid-template-rows: 56px minmax(0, 1fr) 72px;
        padding: 0 !important;
        border: 1px solid #e7eaf0 !important;
        border-radius: 24px !important;
        background: #f7f8fa !important;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12) !important;
      }
      #municipalityImportantPlaceModal .municipality-important-place-windowbar {
        min-height: 56px;
        padding: 0 16px 0 24px;
        background: linear-gradient(90deg, #a51d35, #8f2343) !important;
        border-bottom: 0;
        color: #ffffff !important;
        display: flex;
        align-items: center;
        justify-content: space-between;
      }
      #municipalityImportantPlaceModal .municipality-important-place-windowbar span {
        color: #ffffff !important;
        font-weight: 850;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        font-size: 12px;
      }
      #municipalityImportantPlaceModal .municipality-important-place-windowbar button {
        width: 34px;
        height: 34px;
        display: grid;
        place-items: center;
        padding: 0;
        border-radius: 999px;
        border: var(--mp-window-close-border, 1px solid rgba(17, 24, 39, 0.16)) !important;
        background: var(--mp-window-close-bg, #ffffff) !important;
        color: var(--mp-window-close-fg, #111827) !important;
        -webkit-text-fill-color: var(--mp-window-close-fg, #111827) !important;
        font-size: 24px;
        font-weight: 800;
        line-height: 1;
        box-shadow: var(--mp-window-close-shadow, 0 2px 12px rgba(0, 0, 0, 0.22));
      }
      #municipalityImportantPlaceModal .municipality-important-place-windowbar button:hover {
        filter: brightness(0.94);
      }
      #municipalityImportantPlaceDetail {
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        background: #f7f8fa;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card--detail {
        height: 100%;
        display: block;
        background: #f7f8fa !important;
        border-radius: 0 !important;
        overflow: visible;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__body {
        min-height: 100%;
        max-height: none !important;
        overflow: visible !important;
        padding: 28px 32px !important;
        display: block !important;
        background: #f7f8fa !important;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__columns {
        width: min(960px, 100%);
        height: 100%;
        margin: 0 auto;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 24px;
        align-items: start;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__column {
        display: grid;
        gap: 20px;
        min-width: 0;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__panel,
      #municipalityImportantPlaceModal .municipality-important-place-card__photo-panel {
        background: #ffffff !important;
        border: 1px solid #eaecef !important;
        border-radius: 18px !important;
        box-shadow: none;
        transition: box-shadow 0.2s ease, transform 0.2s ease;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__panel:hover,
      #municipalityImportantPlaceModal .municipality-important-place-card__photo-panel:hover {
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__panel {
        padding: 24px;
        color: #111827 !important;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__panel--title {
        display: grid;
        gap: 14px;
        min-height: 0;
        align-content: center;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__eyebrow {
        justify-self: start;
        background: #faeef1 !important;
        border: 0;
        border-radius: 999px;
        color: #a51d35 !important;
        padding: 6px 12px;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.04em;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card--detail h2 {
        color: #2b5d87 !important;
        font-family: Inter, system-ui, sans-serif;
        font-size: clamp(30px, 4vw, 40px);
        font-weight: 800;
        line-height: 1.1;
        letter-spacing: -0.04em;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__subtitle {
        color: #334155 !important;
        font-size: 16px;
        line-height: 1.55;
        font-weight: 500;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__panel strong {
        color: #1f2937 !important;
        display: block;
        font-size: 13px;
        letter-spacing: 0.05em;
        margin-bottom: 10px;
        text-transform: uppercase;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__panel p {
        color: #2f3744 !important;
        font-size: 15px;
        line-height: 1.65;
        white-space: pre-line;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__panel--soft {
        border-left: 4px solid #2b5d87 !important;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__photo-panel {
        margin: 0;
        overflow: hidden;
        display: grid;
        min-height: 0;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__photo-panel img {
        width: 100%;
        height: 240px;
        object-fit: cover;
        display: block;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__photo-panel figcaption {
        position: static;
        padding: 12px 16px;
        color: #4b5563 !important;
        font-size: 13px;
        line-height: 1.45;
        text-shadow: none;
        background: #ffffff;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__photo-panel::after {
        display: none !important;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__photo-panel--empty {
        min-height: 210px;
        place-items: center;
        padding: 16px;
      }
      #municipalityImportantPlaceModal .municipality-important-place-card__photo-panel--empty span {
        color: #111827 !important;
        border-color: rgba(150, 31, 51, 0.4);
        background: rgba(150, 31, 51, 0.08);
      }
      #municipalityImportantPlaceModal .municipality-important-place-footerbar {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: 16px;
        padding: 12px 24px;
        background: #ffffff;
        border-top: 1px solid #e7eaf0;
      }
      #municipalityImportantPlaceModal .municipality-important-place-footerbar #municipalityImportantPlaceStoriesBtn {
        justify-self: start;
      }
      #municipalityImportantPlaceModal .municipality-important-place-footerbar #municipalityImportantPlaceAddStoryBtn {
        justify-self: center;
        background: #961f33 !important;
        border-color: #961f33 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      #municipalityImportantPlaceModal .municipality-important-place-footerbar #closeMunicipalityImportantPlaceBtn {
        justify-self: end;
      }
      #municipalityImportantPlaceModal .municipality-important-place-footerbar .secondary {
        background: #ffffff !important;
        border-color: #d9dee7 !important;
        color: #111827 !important;
        -webkit-text-fill-color: #111827 !important;
      }
      @media (max-width: 900px) {
        .municipality-important-place-card__hero,
        .municipality-important-place-card__content-grid,
        .municipality-important-place-card__info-grid {
          grid-template-columns: 1fr;
        }
        .municipality-important-place-detail-modal {
          max-height: 92dvh;
          overflow: auto !important;
        }
        .municipality-important-place-card--detail .municipality-important-place-card__body {
          max-height: none;
          overflow: visible;
        }
      }
      .curator-important-place-form {
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px solid rgba(15, 23, 42, 0.12);
      }
      .curator-important-place-form > .modal-actions,
      .curator-important-place-form__actions {
        position: static !important;
        bottom: auto !important;
        z-index: auto !important;
        background: transparent !important;
        padding-top: 8px !important;
      }
      #curatorImportantPlacesModal > .modal > .modal-actions,
      #curatorImportantPlaceEditModal > .modal > .modal-actions {
        position: static !important;
        bottom: auto !important;
        background: transparent !important;
      }
      .detail-admin-highlight-wrap {
        display: flex;
        align-items: center;
        padding: 6px 10px;
        border-radius: 10px;
        border: 1px solid rgba(148, 163, 184, 0.45);
        background: rgba(248, 250, 252, 0.55);
        font-size: 13px;
        line-height: 1.25;
      }
      .detail-admin-highlight-label {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        cursor: pointer;
        margin: 0;
        font-weight: 600;
        color: #334155;
        user-select: none;
      }
      .detail-admin-highlight-label input[type="checkbox"] {
        width: 1.05rem;
        height: 1.05rem;
        accent-color: #b45309;
        flex-shrink: 0;
      }
      /* Zvýrazněný příběh — špendlík bez translate (Leaflet kotví spodní střed ikony na lat/lng). */
      .story-map-focus-marker-inner {
        width: 40px;
        height: 45px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        box-sizing: border-box;
        pointer-events: auto;
        filter: drop-shadow(0 8px 18px rgba(27, 77, 114, 0.35));
      }
      .story-map-focus-pin-stack {
        display: flex;
        flex-direction: column;
        align-items: center;
        flex-shrink: 0;
      }
      .story-map-focus-pin-ball {
        width: 34px;
        height: 34px;
        border-radius: 50% 50% 50% 0;
        transform: rotate(-45deg);
        background: linear-gradient(145deg, #3a7fb8, #1b4d72);
        border: 3px solid rgba(255, 255, 255, 0.5);
        box-sizing: border-box;
      }
      .story-map-focus-pin-needle {
        width: 0;
        height: 0;
        border-left: 7px solid transparent;
        border-right: 7px solid transparent;
        border-top: 14px solid #143c58;
        margin-top: -3px;
      }
      .story-detail-text-col-header {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 8px 12px;
        margin-bottom: 6px;
        /* Nepřekrývat globální křížek zavření modálu (vpravo nahoře). */
        padding-right: 48px;
        box-sizing: border-box;
      }
      .story-detail-text-col-header__actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
      }
      .story-detail-show-on-map-btn {
        font-size: 13px;
        padding: 6px 12px;
        white-space: nowrap;
      }
      /* Přečíst nahlas — jednotná světle fialová pro všechna TTS tlačítka v produktu. */
      :root {
        --mp-tts-btn-bg: #ede9fe;
        --mp-tts-btn-bg-hover: #ddd6fe;
        --mp-tts-btn-border: #a78bfa;
        --mp-tts-btn-fg: #4c1d95;
        --mp-tts-panel-bg: #f5f3ff;
        --mp-tts-panel-border: #c4b5fd;
      }
      .mp-tts-btn {
        margin: 0;
        padding: 6px 12px;
        border-radius: 10px;
        border: 1px solid var(--mp-tts-btn-border);
        background: var(--mp-tts-btn-bg);
        color: var(--mp-tts-btn-fg);
        font: inherit;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.25;
        white-space: nowrap;
        cursor: pointer;
        box-shadow: 0 1px 0 rgba(76, 29, 149, 0.08);
      }
      .mp-tts-btn:hover,
      .mp-tts-btn:focus-visible {
        background: var(--mp-tts-btn-bg-hover);
        outline: 2px solid rgba(167, 139, 250, 0.45);
        outline-offset: 1px;
      }
      .mp-tts-btn:disabled {
        opacity: 0.55;
        cursor: not-allowed;
      }
      .mp-tts-btn--compact {
        min-width: 88px;
      }
      .mp-tts-panel {
        margin: 0 0 8px;
        padding: 10px 12px;
        border-radius: 12px;
        border: 1px solid var(--mp-tts-panel-border);
        background: var(--mp-tts-panel-bg);
        box-sizing: border-box;
      }
      .mp-tts-panel.hidden {
        display: none !important;
      }
      .mp-tts-panel__status {
        margin: 0 0 8px;
        font-size: 13px;
        font-weight: 700;
        color: var(--mp-tts-btn-fg);
      }
      .mp-tts-panel__controls {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        margin-bottom: 10px;
      }
      @media (min-width: 520px) {
        .mp-tts-panel__controls {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .mp-tts-panel__field--voice {
          grid-column: 1 / -1;
        }
      }
      .mp-tts-panel__field {
        display: grid;
        grid-template-columns: minmax(72px, 88px) minmax(0, 1fr) auto;
        align-items: center;
        gap: 8px;
        margin: 0;
        font-size: 12px;
        color: #312e81;
      }
      .mp-tts-panel__label {
        font-weight: 600;
      }
      .mp-tts-panel__field input[type="range"] {
        width: 100%;
        min-width: 0;
        accent-color: #7c3aed;
      }
      .mp-tts-panel__value {
        min-width: 44px;
        text-align: right;
        font-variant-numeric: tabular-nums;
        font-weight: 600;
      }
      .mp-tts-panel__voice-select {
        grid-column: 2 / -1;
        width: 100%;
        min-width: 0;
        font: inherit;
        font-size: 12px;
        padding: 6px 8px;
        border-radius: 8px;
        border: 1px solid #c4b5fd;
        background: #fff;
        color: #312e81;
      }
      .mp-tts-panel__actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: flex-end;
      }
      .mp-tts-panel__restart-btn {
        margin-right: auto;
      }
      /* Režim „Zobrazit příběh na mapě“ — celý blok „Vložit příběh zde“ + akce u bodu skrýt. */
      #hudAddStoryDock.story-map-focus--hide-add-dock {
        display: none !important;
      }
      .story-map-focus-bar {
        position: absolute;
        z-index: 5200;
        left: 50%;
        transform: translateX(-50%);
        bottom: calc(env(safe-area-inset-bottom) + var(--hud-footer-ribbon-h) + 12px);
        max-width: min(560px, calc(100vw - 24px));
        pointer-events: none;
      }
      .story-map-focus-bar__inner {
        pointer-events: auto;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 10px 14px;
        padding: 10px 12px;
        border-radius: 12px;
        /* Poloprůhledné „sklo“ jako uživatel chce u rámu kolem tlačítka + křížku (50 % bílé + blur). */
        background: rgba(255, 255, 255, 0.5);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border: 1px solid rgba(255, 255, 255, 0.5);
        box-shadow: 0 10px 28px rgba(15, 23, 42, 0.18);
      }
      .story-map-focus-bar__return {
        flex: 1 1 200px;
        min-width: 0;
        text-align: left;
        border: none;
        margin: 0;
        cursor: pointer;
        font: inherit;
        padding: 10px 14px;
        border-radius: 12px;
        color: #fff;
        text-decoration: none;
        background: linear-gradient(145deg, #3a7fb8 0%, #256894 42%, #1b4d72 100%);
        /* Stejná „poloviční“ bílá jako u prvků v levém panelu (např. překryvy ~50 %). */
        border: 2px solid rgba(255, 255, 255, 0.5);
        box-shadow:
          0 4px 16px rgba(27, 77, 114, 0.45),
          inset 0 1px 0 rgba(255, 255, 255, 0.25);
        transition:
          transform 0.15s ease,
          box-shadow 0.15s ease,
          filter 0.15s ease;
      }
      .story-map-focus-bar__return:hover {
        filter: brightness(1.05);
        transform: translateY(-1px);
        box-shadow:
          0 8px 22px rgba(27, 77, 114, 0.5),
          inset 0 1px 0 rgba(255, 255, 255, 0.3);
      }
      .story-map-focus-bar__return:active {
        transform: translateY(0);
        filter: brightness(0.97);
      }
      .story-map-focus-bar__return:focus {
        outline: none;
      }
      .story-map-focus-bar__return:focus-visible {
        outline: 3px solid #fbbf24;
        outline-offset: 2px;
      }
      .story-map-focus-bar__return-inner {
        display: flex;
        align-items: center;
        gap: 12px;
        width: 100%;
        min-width: 0;
      }
      .story-map-focus-bar__return-icon {
        flex-shrink: 0;
        width: 2.25rem;
        height: 2.25rem;
        border-radius: 999px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.15rem;
        font-weight: 800;
        line-height: 1;
        background: rgba(255, 255, 255, 0.22);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
        color: #fff;
      }
      .story-map-focus-bar__return-text {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
        min-width: 0;
        text-align: left;
      }
      .story-map-focus-bar__return-label {
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        opacity: 0.9;
        color: rgba(255, 255, 255, 0.95);
      }
      .story-map-focus-bar__return-title {
        font-size: 14px;
        font-weight: 700;
        line-height: 1.3;
        color: #fff;
        max-width: 100%;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        overflow: hidden;
      }
      .story-map-focus-bar__actions {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        flex-shrink: 0;
      }
      /* Jako zavírací kolečko u modálů: bílé pozadí, tmavý křížek; ve flex řádku (ne absolute). */
      #storyMapFocusBar button.modal-close-circle.story-map-focus-bar__close-x {
        position: static !important;
        top: auto !important;
        right: auto !important;
        flex-shrink: 0;
        width: 38px;
        height: 38px;
        font-size: 24px;
        font-weight: 300;
        border: var(--mp-window-close-border, 1px solid rgba(17, 24, 39, 0.16)) !important;
        box-shadow: var(--mp-window-close-shadow, 0 2px 12px rgba(0, 0, 0, 0.22)) !important;
        background: var(--mp-window-close-bg, #ffffff) !important;
        color: var(--mp-window-close-fg, #111827) !important;
        -webkit-text-fill-color: var(--mp-window-close-fg, #111827) !important;
      }
      #storyMapFocusBar button.modal-close-circle.story-map-focus-bar__close-x:hover {
        filter: brightness(0.94);
      }
      #storyMapFocusBar button.modal-close-circle.story-map-focus-bar__close-x:focus-visible {
        outline: 2px solid var(--mp-window-close-focus-outline, #1b4d72);
        outline-offset: 2px;
      }
      /* Bublina ve stejném duchu jako špendlík: modrá (#1b4d72), poloprůhledný bílý okraj, bílý text. */
      .leaflet-tooltip.story-map-focus-tooltip-pane {
        background: linear-gradient(145deg, #3a7fb8, #1b4d72) !important;
        color: #fff !important;
        border: 3px solid rgba(255, 255, 255, 0.5) !important;
        border-radius: 10px !important;
        box-shadow: 0 8px 22px rgba(27, 77, 114, 0.35) !important;
        padding: 8px 12px !important;
        font-weight: 600;
        box-sizing: border-box !important;
        /* Šířka podle textu (výchozí Leaflet tooltip = nowrap / úzký box při zalamování vypadá špatně). */
        width: max-content !important;
        max-width: min(340px, calc(100vw - 32px)) !important;
        min-width: min(200px, calc(100vw - 32px)) !important;
        white-space: normal !important;
        text-align: center !important;
      }
      .leaflet-tooltip.story-map-focus-tooltip-pane.leaflet-tooltip-top:before {
        border-top-color: #143c58 !important;
      }
      .leaflet-tooltip.story-map-focus-tooltip-pane a {
        color: #fff !important;
      }
      .story-map-focus-tip-inner {
        text-align: center;
        max-width: 100%;
      }
      .story-map-focus-tip-inner strong {
        display: block;
        font-size: 13px;
        margin-bottom: 4px;
        color: #fff !important;
        font-weight: 700;
        line-height: 1.3;
        overflow-wrap: break-word;
        word-wrap: break-word;
      }
      .story-map-focus-tip-author {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 6px;
        font-size: 12px;
        color: rgba(255, 255, 255, 0.92) !important;
        font-weight: 600;
      }
      .story-map-focus-tip-avatar {
        flex-shrink: 0;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        overflow: hidden;
        border: 1px solid rgba(255, 255, 255, 0.35);
        box-sizing: border-box;
      }
      .story-map-focus-tip-avatar img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .story-map-focus-tip-author-name {
        line-height: 1.2;
      }
      /* Oficiální / obecní příběh v seznamech (žluté téma jako špendlík na mapě) */
      .story-item.story-item--official-municipal {
        border-left: 4px solid #eab308;
        padding-left: 8px;
        margin-left: -4px;
        background: rgba(250, 204, 21, 0.12);
        border-radius: 6px;
      }
      /* Modály vynucují bílé pozadí u .story-item — znovu vyrazit oficiální příběh obce (seznam okolí / moje příběhy / místo). */
      #myStoriesModal .story-item.story-item--official-municipal,
      #municipalStatementsModal .story-item.story-item--official-municipal,
      #nearbyStoriesList .story-item.story-item--official-municipal,
      #spotModal .story-item.story-item--official-municipal {
        background: rgba(250, 204, 21, 0.14) !important;
        border: 1px solid rgba(234, 179, 8, 0.45) !important;
        border-left: 4px solid #eab308 !important;
        box-shadow: 0 1px 8px rgba(250, 204, 21, 0.2);
      }
      .spot-timeline-item.spot-timeline-item--official-municipal {
        background: rgba(250, 204, 21, 0.1);
        border-radius: 8px;
        padding: 6px 8px;
        margin: 4px 0;
      }
      /* Administrace → Obce a partnerství: řádek partner / nepartner */
      .admin-mun-quick-row {
        border-radius: 8px;
        padding: 8px 10px !important;
      }
      .admin-mun-quick-row--partner {
        background: rgba(22, 163, 74, 0.14);
      }
      .admin-mun-quick-row--nepartner {
        background: rgba(248, 113, 113, 0.16);
      }
      /* Přebije bílé pozadí z #myStoriesModal .story-item !important — řádky partner / nepartner musí zůstat vybarvené. */
      #superAdminTabMunicipalities #adminMunicipalityQuickList .admin-mun-quick-row--partner {
        background: rgba(22, 163, 74, 0.22) !important;
      }
      #superAdminTabMunicipalities #adminMunicipalityQuickList .admin-mun-quick-row--nepartner {
        background: rgba(248, 113, 113, 0.24) !important;
      }
      .mp-obec-jmeno {
        font-weight: 700;
        color: #14532d;
      }
      .mp-obec-lokalita-muted {
        font-weight: 400;
        color: #6b7280;
      }
      .mp-obec-code-suffix {
        font-weight: 400;
        color: #4b5563;
        font-size: 0.92em;
      }
      /* Sloučené „místa s příběhy“ při oddálení — sytě modrá místo výchozí zelené z MarkerCluster.Default.css */
      .marker-cluster-small {
        background-color: rgba(96, 165, 250, 0.55);
      }
      .marker-cluster-small div {
        background-color: rgba(11, 79, 214, 0.92);
      }
      .marker-cluster-medium {
        background-color: rgba(59, 130, 246, 0.5);
      }
      .marker-cluster-medium div {
        background-color: rgba(29, 78, 216, 0.92);
      }
      .marker-cluster-large {
        background-color: rgba(147, 197, 253, 0.45);
      }
      .marker-cluster-large div {
        background-color: rgba(30, 64, 175, 0.94);
      }
      .marker-cluster {
        color: #fff;
      }
      .marker-cluster span {
        color: #fff;
        font-weight: 700;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
      }
      .category-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px 10px;
        width: min(435px, var(--mp-modal-fluid-w));
        margin: 8px auto 0;
      }
      .category-card {
        position: relative;
        transform: none;
        border: 1px solid rgba(255, 255, 255, 0.38);
        border-radius: 999px;
        background: var(--accent);
        color: #fff;
        padding: 8px 10px;
        cursor: pointer;
        text-align: center;
        width: 100%;
        box-shadow: 0 8px 18px rgba(0, 0, 0, 0.24);
      }
      /* Pilulky ve filtru mapy — ne dědit výšku z modalů / časové osy. */
      .category-card:not(.hud-cat-filter-pill) {
        min-height: 82px;
      }
      .category-card strong {
        display: block;
        font-size: 18px;
        line-height: 1.05;
        font-weight: 700;
      }
      .category-card .category-card-hint {
        display: block;
        margin-top: 2px;
        font-size: 10px;
        line-height: 1.15;
        font-weight: 400;
        opacity: 0.88;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
      }
      .category-card--archiv,
      .category-badge--archiv {
        background: #4b5563;
      }
      .category-card--stopy,
      .category-badge--stopy {
        background: #a16207;
      }
      .category-card--puls,
      .category-badge--puls {
        background: #dc2626;
      }
      .category-card--krajina,
      .category-badge--krajina {
        background: #16a34a;
      }
      .category-card--mystika,
      .category-badge--mystika {
        background: #7c3aed;
      }
      .category-card--vize,
      .category-badge--vize {
        background: #0ea5e9;
      }
      .category-card small {
        color: rgba(255, 255, 255, 0.9);
      }
      .category-card--has-stories {
        box-shadow:
          0 10px 24px rgba(0, 0, 0, 0.28),
          0 0 0 1px rgba(255, 255, 255, 0.24) inset;
      }
      .category-card--empty {
        opacity: 0.42;
        filter: grayscale(0.55) saturate(0.55);
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
      }
      .spot-all-stories-wrap {
        display: flex;
        justify-content: center;
        margin-top: 8px;
      }
      .spot-all-stories-btn {
        padding: 7px 12px;
        border-radius: 999px;
        border: 1px solid rgba(240, 239, 234, 0.4);
        background: rgba(44, 47, 44, 0.75);
        color: #f0efea;
        font-size: 12px;
      }
      .spot-all-stories-btn:hover {
        background: rgba(74, 77, 74, 0.75);
      }
      .story-list {
        margin-top: 12px;
        display: grid;
        gap: 8px;
      }
      .story-list-panel {
        width: min(560px, var(--mp-modal-fluid-w));
        margin: 10px auto 0;
        border: 1px solid rgba(255, 255, 255, 0.35);
        background: rgba(255, 255, 255, 0.9);
        border-radius: 12px;
        padding: 12px;
        box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
      }
      .story-item {
        border: 1px solid var(--border-light);
        border-radius: 10px;
        background: var(--surface);
        padding: 10px;
        cursor: pointer;
      }
      .story-item-title {
        font-weight: 700;
      }
      .story-item-meta {
        font-size: 12px;
        color: #6b7280;
      }
      .story-gamification-inline {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        flex-wrap: wrap;
        margin-left: 4px;
      }
      .story-gamification-chip {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        font-size: 11px;
        line-height: 1.2;
        border-radius: 999px;
        border: 1px solid #d1d5db;
        background: #f9fafb;
        color: #374151;
        padding: 2px 8px;
        white-space: nowrap;
      }
      .story-gamification-chip__icon {
        font-weight: 700;
        min-width: 10px;
      }
      .story-gamification-chip--fallback {
        border-color: #e5e7eb;
        color: #6b7280;
        background: #ffffff;
      }
      .author-name-gamification-wrap {
        display: inline-flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 2px;
        max-width: 100%;
      }
      .author-name-gamification-wrap .author-name-link {
        margin-right: 2px;
      }
      .author-name-gamification-suffix {
        display: inline-flex;
        align-items: center;
        gap: 3px;
        flex-wrap: nowrap;
      }
      .author-name-gamification__star,
      .author-name-gamification__title,
      .author-name-gamification__status {
        display: inline-block;
        font-size: 1.05em;
        line-height: 1;
        font-weight: 700;
      }
      .author-name-gamification__title {
        font-size: 1.12em;
      }
      .author-card-tier-hero {
        margin: 12px 0 14px;
        padding: 14px 16px;
        border-radius: 12px;
        background: linear-gradient(135deg, rgba(234, 179, 8, 0.14), rgba(124, 58, 237, 0.1));
        border: 1px solid rgba(15, 23, 42, 0.12);
      }
      .author-card-tier-hero__row {
        display: flex;
        align-items: center;
        gap: 10px;
        margin: 4px 0;
      }
      .author-card-tier-hero__icon {
        font-size: 2rem;
        line-height: 1;
        font-weight: 700;
      }
      .author-card-tier-hero__label {
        font-size: 1.35rem;
        font-weight: 800;
        color: #0f172a;
      }
      .author-card-statuses-section {
        margin: 10px 0 14px;
      }
      .author-card-statuses-section__title {
        margin: 0 0 8px;
        font-size: 1rem;
        font-weight: 700;
      }
      .author-card-statuses-list {
        margin: 0;
        padding: 0;
        list-style: none;
      }
      .author-card-statuses-list li {
        padding: 8px 0;
        border-bottom: 1px solid #e5e7eb;
      }
      .author-card-statuses-list li:last-child {
        border-bottom: none;
      }
      .author-card-statuses-list__meta {
        display: block;
        font-size: 0.9rem;
        color: #64748b;
        margin-top: 2px;
      }
      .my-profile-granted-statuses-list {
        margin: 8px 0 0;
        padding-left: 1.1rem;
      }
      .my-profile-granted-statuses-list li {
        margin: 4px 0;
      }
      .mp-curator-status-pick-select {
        font-size: 1rem;
        padding: 8px 10px;
        border-radius: 8px;
        border: 1px solid #cbd5e1;
      }
      .story-item-meta-row {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        flex-wrap: nowrap;
        overflow: hidden;
      }
      .story-item-line--main {
        flex: 1 1 auto;
        min-width: 0;
      }
      .story-item-open-btn {
        flex: 0 0 auto;
        align-self: center;
        font-size: 12px;
        padding: 6px 10px;
        white-space: nowrap;
      }
      .story-favorite-btn {
        flex: 0 0 auto;
        align-self: center;
        min-width: 34px;
        font-size: 22px;
        line-height: 1;
        padding: 5px 8px;
        border: 1px solid #111827;
        color: #111827;
        background: #ffffff;
      }
      .story-favorite-btn.is-active {
        color: #b68a2a !important;
        border-color: #111827 !important;
        background: #ffffff !important;
      }
      .story-favorite-btn.is-inactive {
        color: #111827 !important;
        border-color: #111827 !important;
        background: #ffffff !important;
      }
      .story-item-line {
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        text-align: left;
      }
      .story-item-line .story-item-title {
        font-weight: 700;
        flex: 0 1 auto;
      }
      .story-item-line .story-item-meta {
        flex: 0 1 auto;
      }
      .story-item-sep {
        opacity: 0.6;
        flex: 0 0 auto;
      }
      .story-item.story-item--branch-reply {
        margin-left: 18px;
        margin-top: 6px;
        border-left: 3px solid rgba(99, 102, 241, 0.5);
        padding-left: 10px;
      }
      .detail-parent-story-btn {
        background: none;
        border: none;
        padding: 0;
        margin: 0;
        font: inherit;
        color: var(--accent);
        cursor: pointer;
        text-decoration: underline;
        text-underline-offset: 2px;
        text-align: left;
        max-width: 100%;
      }
      .detail-parent-story-btn:hover {
        color: var(--accent-hover);
      }
      .detail-parent-story-btn:disabled {
        cursor: default;
        text-decoration: none;
        color: var(--accent-text);
        opacity: 0.8;
      }
      .detail-responses {
        margin-top: 14px;
      }
      .detail-responses-list {
        margin-top: 8px;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }
      .detail-response-story-btn {
        font-size: 13px;
      }
      .story-attachment-chip {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 2px 7px;
        border-radius: 999px;
        font-size: 11px;
        font-weight: 600;
        line-height: 1.2;
        background: rgba(15, 23, 42, 0.08);
        color: #334155;
        border: 1px solid rgba(51, 65, 85, 0.16);
        white-space: nowrap;
      }
      .story-attachment-icons {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        margin-left: 6px;
        vertical-align: middle;
      }
      .my-stories-toolbar {
        margin-top: 10px;
        display: grid;
        gap: 8px;
      }
      .my-stories-toolbar-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        flex-wrap: wrap;
      }
      #openAuthorExportBtn {
        margin-left: auto;
      }
      .spot-shell {
        position: relative;
        width: min(860px, 100%);
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        padding: 0;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
      }
      .spot-modal-close-x {
        position: absolute;
        top: 6px;
        right: 6px;
        z-index: 3;
        width: 30px;
        height: 30px;
        margin: 0;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: var(--mp-window-close-border, 1px solid rgba(17, 24, 39, 0.16));
        border-radius: 999px;
        background: var(--mp-window-close-bg, #ffffff);
        color: var(--mp-window-close-fg, #111827);
        -webkit-text-fill-color: var(--mp-window-close-fg, #111827);
        font-size: 1.1rem;
        line-height: 1;
        font-weight: 700;
        cursor: pointer;
        box-shadow: var(--mp-window-close-shadow, 0 2px 12px rgba(0, 0, 0, 0.22));
      }
      .spot-modal-close-x:hover {
        filter: brightness(0.94);
      }
      #spotModal.modal-backdrop[aria-hidden="false"] {
        background: rgba(15, 23, 42, 0.58) !important;
      }
      #spotTimelineModal.modal-backdrop {
        z-index: 10030;
      }
      #spotTimelineModal .modal {
        z-index: 10040;
      }
      /* Nad „Přidat příběh“ (10060) a výběrem vrstev Leafletu (10070); pod detailem příběhu (10080). */
      #mapFlowTimelineModal.modal-backdrop {
        z-index: 10075;
      }
      #mapFlowTimelineModal.modal-backdrop[aria-hidden="false"] {
        background: rgba(15, 23, 42, 0.58) !important;
      }
      #mapFlowTimelineModal .modal.spot-shell[data-mp-window],
      #mapFlowTimelineModal .modal.map-flow-timeline-modal[data-mp-window] {
        background: #fafafa !important;
        color: #1a1a1a !important;
        border: 1px solid #e7eaf0 !important;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12) !important;
        padding: 0 !important;
        overflow: hidden !important;
      }
      #mapFlowTimelineModal .spot-modal__body {
        color: #1a1a1a;
      }
      #mapFlowTimelineModal .spot-star-intro .hint,
      #mapFlowTimelineModal .map-flow-timeline-intro,
      #mapFlowTimelineModal .map-flow-category-grid-hint,
      #mapFlowTimelineModal .map-flow-category-hint {
        color: #334155 !important;
        -webkit-text-fill-color: #334155 !important;
        text-align: center;
      }
      #mapFlowTimelineModal .map-flow-category-hint:empty {
        display: none;
      }
      #mapFlowTimelineModal .spot-modal__body .category-grid {
        margin-top: 4px;
      }
      #mapFlowTimelineModal .spot-modal__body .story-list-panel {
        width: 100%;
        max-width: 100%;
        margin: 12px 0 0;
        border: 1px solid rgba(27, 77, 114, 0.2);
        background: #ffffff;
        border-radius: 12px;
        box-shadow: none;
        padding: 0;
        overflow: hidden;
        box-sizing: border-box;
      }
      #mapFlowTimelineModal .story-list-panel__head {
        background: #1b4d72;
        padding: 12px 14px 10px;
        color: #ffffff;
      }
      #mapFlowTimelineModal .story-list-panel__head .map-flow-timeline-meta,
      #mapFlowTimelineModal .story-list-panel__head #mapFlowTimelineMeta {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        text-shadow: none !important;
        font-weight: 600;
        margin: 0 0 10px;
        text-align: center;
      }
      #mapFlowTimelineModal .story-list-panel__head .map-flow-sort-field {
        margin: 0;
      }
      #mapFlowTimelineModal .story-list-panel__head .map-flow-sort-field label {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        font-weight: 600;
      }
      #mapFlowTimelineModal .story-list-panel__head .map-flow-sort-field select {
        margin-top: 4px;
        width: 100%;
        max-width: 100%;
        color: #1a1a1a;
        background: #ffffff;
        border: 1px solid rgba(255, 255, 255, 0.45);
        border-radius: 8px;
        padding: 8px 10px;
        box-sizing: border-box;
      }
      #mapFlowTimelineModal .story-list-panel__body {
        padding: 12px;
        background: #1b4d72;
      }
      #mapFlowTimelineModal .story-list-panel__body .spot-timeline-scroll {
        margin-top: 0;
        border-color: rgba(255, 255, 255, 0.28);
      }
      #mapFlowTimelineModal .map-flow-timeline-footer {
        display: flex !important;
        justify-content: flex-end !important;
        gap: 8px 10px !important;
      }
      #mapFlowTimelineModal .map-flow-timeline-footer .spot-modal__footer-close {
        margin: 0 !important;
      }
      @media (min-width: 1200px) {
        #mapFlowTimelineModal .spot-modal__body .category-grid {
          gap: 8px;
          width: min(400px, var(--mp-modal-fluid-w));
        }
        #mapFlowTimelineModal .spot-modal__body .category-grid .category-card:not(.hud-cat-filter-pill) {
          min-height: 68px;
          padding: 6px 8px;
        }
        #mapFlowTimelineModal .spot-modal__body .category-grid .category-card strong {
          font-size: 15px;
        }
        #mapFlowTimelineModal .spot-modal__body .category-grid .category-card .category-card-hint {
          font-size: 9px;
          margin-top: 1px;
        }
        #mapFlowTimelineModal .spot-modal__body .category-grid .category-card small {
          font-size: 10px;
        }
      }
      #mapFlowTimelineModal .map-flow-all-categories-btn.map-flow-all-categories-btn--active {
        box-shadow: 0 0 0 2px rgba(27, 77, 114, 0.45);
      }
      #spotModal .modal.spot-shell[data-mp-window] {
        background: #fafafa !important;
        color: #1a1a1a !important;
        border: 1px solid #e7eaf0 !important;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12) !important;
        padding: 0 !important;
        overflow: hidden !important;
      }
      #spotModal .spot-modal__body {
        color: #1a1a1a;
      }
      #spotModal .spot-modal__windowbar .spot-total-chip {
        flex-shrink: 0;
        border-color: rgba(255, 255, 255, 0.4);
        background: rgba(255, 255, 255, 0.16);
        color: #ffffff !important;
      }
      .spot-star-intro {
        width: 100%;
        max-width: min(435px, var(--mp-modal-fluid-w));
        margin: 0 auto 10px;
        padding: 0;
        text-align: center;
        background: transparent;
        border: 0;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
      }
      .spot-place-title-toolbar {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        margin: 0 0 10px;
        padding: 0;
      }
      .spot-place-title-toolbar.hidden {
        display: none !important;
        margin: 0;
      }
      .spot-place-title-actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 8px;
      }
      .spot-place-title-btn {
        font-size: 12px;
        padding: 5px 12px;
        white-space: nowrap;
      }
      .spot-place-community-disclaimer {
        margin: 0 auto 8px;
        max-width: 100%;
        font-size: 10px;
        line-height: 1.35;
        color: #64748b;
        text-align: center;
      }
      .spot-place-community-disclaimer.hidden {
        display: none !important;
      }
      #spotPlaceProposeModal .spot-place-propose-dialog {
        width: min(520px, var(--mp-modal-fluid-w));
        max-width: 96vw;
        padding: 0;
        overflow: hidden;
      }
      #spotPlaceProposeModal .spot-place-propose-rules {
        margin: 0 0 12px;
        text-align: left;
        line-height: 1.45;
        color: #334155;
      }
      #spotPlaceProposeModal .spot-place-propose-list {
        margin-top: 12px;
        text-align: left;
      }
      .spot-place-propose-entry {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px 10px;
        padding: 10px 0;
        border-bottom: 1px solid rgba(27, 77, 114, 0.12);
      }
      .spot-place-propose-entry:last-child {
        border-bottom: 0;
      }
      .spot-place-propose-entry__name {
        flex: 1 1 12rem;
        font-weight: 700;
        color: #1b4d72;
      }
      .spot-place-propose-entry__meta {
        font-size: 12px;
        color: #64748b;
      }
      .spot-place-propose-entry__badge {
        font-size: 11px;
        font-weight: 600;
        color: #961f33;
      }
      #spotModal .spot-place-title,
      #spotModal h3.spot-place-title {
        margin: 0 auto 6px;
        width: 100%;
        max-width: 100%;
        text-align: center;
        font-size: clamp(1.1rem, 3vw, 1.35rem);
        font-weight: 700;
        line-height: 1.4;
        color: #961f33 !important;
        -webkit-text-fill-color: #961f33 !important;
        word-break: break-word;
      }
      .spot-place-log-list {
        max-height: min(50vh, 320px);
        overflow-y: auto;
        text-align: left;
      }
      .spot-place-log-entries {
        margin: 0;
        padding-left: 1.2rem;
      }
      .spot-place-log-entries li {
        margin-bottom: 6px;
      }
      .spot-place-rename-dialog,
      .spot-place-log-dialog {
        max-width: min(480px, 92vw);
      }
      .spot-total-chip {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 4px 10px;
        border-radius: 999px;
        border: 1px solid rgba(17, 24, 39, 0.2);
        background: rgba(17, 24, 39, 0.08);
        font-size: 13px;
        font-weight: 700;
        color: #111827;
        white-space: nowrap;
      }
      #spotModal .spot-star-intro .detail-row {
        color: #334155 !important;
        text-align: left;
      }
      #spotModal .spot-star-intro .hint {
        color: #334155 !important;
        text-align: center;
      }
      #spotModal .spot-modal__body .category-grid {
        margin-top: 4px;
      }
      @media (min-width: 1200px) {
        #spotModal .spot-modal__body .category-grid {
          gap: 8px;
          width: min(400px, var(--mp-modal-fluid-w));
        }
        #spotModal .spot-modal__body .category-grid .category-card:not(.hud-cat-filter-pill) {
          min-height: 68px;
          padding: 6px 8px;
        }
        #spotModal .spot-modal__body .category-grid .category-card strong {
          font-size: 15px;
        }
        #spotModal .spot-modal__body .category-grid .category-card .category-card-hint {
          font-size: 9px;
          margin-top: 1px;
        }
        #spotModal .spot-modal__body .category-grid .category-card small {
          font-size: 10px;
        }
      }
      #spotModal .spot-modal__footer {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center !important;
        gap: 8px 10px !important;
        justify-content: unset !important;
      }
      #spotModal .spot-modal__footer-qr {
        grid-column: 1;
        justify-self: start;
        margin: 0 !important;
        flex-shrink: 0;
      }
      #spotModal .spot-modal__footer-add {
        grid-column: 2;
        justify-self: center;
        margin: 0 !important;
        max-width: 100%;
      }
      #spotModal .spot-modal__footer-close {
        grid-column: 3;
        justify-self: end;
        margin: 0 !important;
      }
      @media (max-width: 1199px) {
        #spotModal .spot-modal__footer-add,
        #spotModal .spot-modal__footer-close {
          font-size: 13px;
          padding: 8px 12px;
        }
        #spotModal .spot-qr-place-btn {
          font-size: 12px;
          padding: 8px 10px;
        }
      }
      #spotModal .spot-modal__body .story-list-panel {
        width: 100%;
        max-width: 100%;
        margin: 12px 0 0;
        border: 1px solid rgba(27, 77, 114, 0.2);
        background: #ffffff;
        border-radius: 12px;
        box-shadow: none;
        padding: 0;
        overflow: hidden;
        box-sizing: border-box;
      }
      #spotModal .story-list-panel__head {
        background: #1b4d72;
        padding: 12px 14px 10px;
        color: #ffffff;
      }
      #spotModal .story-list-panel__head .selected-category-note,
      #spotModal .story-list-panel__head #selectedCategoryNote {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        text-shadow: none !important;
        font-weight: 600;
        margin: 0 0 10px;
        text-align: center;
      }
      #spotModal .story-list-panel__head .spot-story-sort-field {
        margin: 0;
      }
      #spotModal .story-list-panel__head .spot-story-sort-field label {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        font-weight: 600;
      }
      #spotModal .story-list-panel__head .spot-story-sort-field select {
        margin-top: 4px;
        width: 100%;
        max-width: 100%;
        color: #1a1a1a;
        background: #ffffff;
        border: 1px solid rgba(255, 255, 255, 0.45);
        border-radius: 8px;
        padding: 8px 10px;
        box-sizing: border-box;
      }
      #spotModal .story-list-panel__body {
        padding: 12px;
        background: #1b4d72;
      }
      #spotModal .story-list-panel__body .story-list {
        margin-top: 0;
      }
      #spotModal .story-list-panel__body .empty-category-note {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        text-align: center;
      }
      #spotModal .spot-qr-place-btn {
        font-size: 13px;
        padding: 8px 12px;
        line-height: 1.2;
      }
      .spot-qr-panel {
        margin-top: 8px;
        padding: 10px 10px 8px;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.92);
        border: 1px solid rgba(17, 24, 39, 0.12);
      }
      .spot-qr-panel.hidden {
        display: none !important;
      }
      .spot-qr-hint {
        margin: 0 0 8px;
        font-size: 12px;
        line-height: 1.35;
      }
      #spotQrCanvas {
        display: block;
        margin: 0 auto 8px;
        max-width: 100%;
        height: auto;
      }
      .spot-qr-url-label {
        font-size: 11px;
        margin-bottom: 4px;
      }
      .spot-qr-url-input {
        width: 100%;
        font-size: 11px;
        padding: 6px 8px;
        border-radius: 6px;
        border: 1px solid rgba(17, 24, 39, 0.15);
        box-sizing: border-box;
      }
      .spot-qr-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin-top: 8px;
        justify-content: flex-end;
      }
      .spot-qr-actions .secondary {
        font-size: 12px;
        padding: 5px 10px;
      }
      /* Náhled / tisk QR „místa“ — čitelné na vývěsku i A4 */
      #spotQrPrintModal.modal-backdrop {
        z-index: 10055;
      }
      #spotQrPrintModal .modal.spot-qr-print-dialog {
        max-width: min(340px, var(--mp-modal-fluid-w));
        width: 100%;
        box-sizing: border-box;
        padding: 20px 22px 14px;
        position: relative;
      }
      /* Tmavý křížek v bílém kolečku (některé motivy jinak přebarví ×). */
      #spotQrPrintModal .spot-modal-close-x {
        background: var(--mp-window-close-bg, #ffffff) !important;
        color: var(--mp-window-close-fg, #111827) !important;
        -webkit-text-fill-color: var(--mp-window-close-fg, #111827) !important;
        border: var(--mp-window-close-border, 1px solid rgba(17, 24, 39, 0.16)) !important;
      }
      #spotQrPrintModal .spot-qr-print-sheet {
        text-align: center;
        padding: 20px 18px 16px;
        border-radius: 14px;
        background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
        border: 1px solid rgba(17, 24, 39, 0.1);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
      }
      #spotQrPrintModal .spot-qr-print-headline {
        font-family: "Lora", Georgia, "Times New Roman", serif;
        font-size: clamp(1.15rem, 3.5vw, 1.45rem);
        font-weight: 700;
        margin: 0 0 10px;
        color: #0f172a;
        letter-spacing: -0.02em;
        line-height: 1.25;
      }
      #spotQrPrintModal .spot-qr-print-subline {
        font-size: 14px;
        line-height: 1.5;
        margin: 0 auto 18px;
        color: #334155;
        max-width: 34em;
      }
      #spotQrPrintModal .spot-qr-print-qr-wrap {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        padding: 14px;
        background: #ffffff;
        border-radius: 12px;
        border: 1px solid rgba(17, 24, 39, 0.08);
        box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
        margin: 0 auto 14px;
      }
      #spotQrPrintModal #spotQrPrintCanvas {
        display: block;
        margin: 0 auto;
        max-width: 100%;
        height: auto !important;
      }
      #spotQrPrintModal .spot-qr-print-url {
        font-size: 9px;
        line-height: 1.4;
        word-break: break-all;
        margin: 0 0 12px;
        color: #64748b;
        font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
      }
      #spotQrPrintModal .spot-qr-print-footnote {
        font-size: 12px;
        margin: 0;
        color: #475569;
        font-weight: 600;
        letter-spacing: 0.01em;
      }
      #spotQrPrintModal .spot-qr-print-actions {
        margin-top: 16px;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: center;
        padding-top: 12px;
        background: transparent;
      }
      @media print {
        @page {
          margin: 12mm;
          size: auto;
        }
        body > *:not(#spotQrPrintModal) {
          display: none !important;
        }
        #spotQrPrintModal {
          position: static !important;
          inset: auto !important;
          display: block !important;
          background: #fff !important;
          padding: 0 !important;
          margin: 0 !important;
          width: auto !important;
          height: auto !important;
          overflow: visible !important;
          z-index: auto !important;
        }
        #spotQrPrintModal .spot-modal-close-x,
        #spotQrPrintModal .spot-qr-print-actions {
          display: none !important;
        }
        #spotQrPrintModal .modal.spot-qr-print-dialog {
          box-shadow: none !important;
          border: none !important;
          max-width: none !important;
          width: auto !important;
          padding: 0 !important;
          margin: 0 !important;
          background: #fff !important;
          color: #000 !important;
        }
        #spotQrPrintModal .spot-qr-print-sheet {
          border: none !important;
          box-shadow: none !important;
          background: #fff !important;
          padding: 4mm 2mm !important;
        }
        #spotQrPrintModal .spot-qr-print-headline {
          color: #000 !important;
        }
        #spotQrPrintModal .spot-qr-print-subline,
        #spotQrPrintModal .spot-qr-print-footnote {
          color: #222 !important;
        }
        #spotQrPrintModal .spot-qr-print-url {
          font-size: 7pt;
          color: #444 !important;
        }
        #spotQrPrintModal .spot-qr-print-qr-wrap {
          box-shadow: none !important;
          border: 1px solid #ccc !important;
        }
      }
      #spotModal .spot-all-stories-wrap {
        margin-top: 10px;
      }
      .top-bar {
        margin-bottom: 10px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
      }
      .role-box {
        display: flex;
        align-items: center;
        gap: 8px;
        background: var(--surface-card);
        border: 1px solid var(--border-light);
        border-radius: 10px;
        padding: 8px 10px;
        box-shadow: 0 1px 2px rgba(20, 35, 60, 0.04);
      }
      .role-box select {
        min-width: 140px;
      }
      .status-chip {
        background: linear-gradient(135deg, var(--accent-text) 0%, #0f172a 100%);
        color: #fff;
        border-radius: 999px;
        padding: 4px 10px;
        font-size: 12px;
        font-weight: 700;
      }
      .category-badge {
        display: inline-block;
        margin-left: 8px;
        padding: 2px 8px;
        border-radius: 999px;
        color: #fff;
        font-size: 11px;
        font-weight: 700;
      }
      .modal-actions--inline-start {
        justify-content: flex-start;
        position: static;
        background: transparent;
        padding-top: 8px;
        margin-top: 0;
      }
      .selected-category-note {
        margin-top: 0;
      }
      .empty-category-note {
        margin-top: 0;
      }
      .hud-section-title--compact {
        margin-bottom: 6px;
      }
      .hidden {
        display: none !important;
      }
      .notice {
        margin-top: 10px;
        padding: 10px 12px;
        border-radius: 10px;
        border: 1px solid #fde68a;
        background: #fffbeb;
        color: #92400e;
        font-size: 14px;
      }
      .notice strong {
        font-weight: 700;
      }
      .geo-status {
        margin-top: 6px;
        font-size: 12px;
        color: var(--text-muted);
      }
      .system-stats {
        margin-top: 10px;
        padding: 10px 12px;
        border-radius: 10px;
        border: 1px solid var(--accent-border);
        background: var(--accent-soft);
        color: var(--accent-text);
        font-size: 14px;
        font-weight: 600;
      }
      .filter-panel {
        margin-top: 12px;
        padding: 12px;
        background: var(--surface-card);
        border: 1px solid var(--border-light);
        border-radius: 10px;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr auto;
        gap: 10px;
        align-items: end;
      }
      .filter-result {
        grid-column: 1 / -1;
        font-size: 12px;
        color: #4b5563;
      }
      .detail-photo {
        margin-top: 8px;
      }
      .detail-photo img {
        max-width: 100%;
        max-height: 320px;
        border-radius: 10px;
        border: 1px solid #d1d5db;
        display: block;
      }
      @media (max-width: 920px) {
        #storyForm.form-grid {
          grid-template-columns: 1fr;
          grid-template-areas:
            "g1"
            "g2"
            "g3"
            "g4"
            "g5"
            "g6";
        }
        /* Host: pořadí základní info → text příběhu → čas → kategorie → média → dokončení. */
        #storyForm.form-grid:not(.logged-in-layout) #storyFormMainColumn.story-form-main-column,
        #storyForm.form-grid:not(.logged-in-layout) #storyFormAside {
          display: contents;
        }
        #storyForm.form-grid:not(.logged-in-layout) #basicInfoSection {
          grid-area: g1;
        }
        #storyForm.form-grid:not(.logged-in-layout) #storyBodySection {
          grid-area: g2;
        }
        #storyForm.form-grid:not(.logged-in-layout) #storyTimeSection {
          grid-area: g3;
        }
        #storyForm.form-grid:not(.logged-in-layout) #storyMetaSection {
          grid-area: g4;
        }
        #storyForm.form-grid:not(.logged-in-layout) #storyMediaSection {
          grid-area: g5;
        }
        #storyForm.form-grid:not(.logged-in-layout) #storyFinishSection {
          grid-area: g6;
        }
        /* Přihlášený: nápis autora → text → čas → kategorie → média → dokončení. */
        #storyForm.logged-in-layout.form-grid {
          grid-template-columns: 1fr;
          grid-template-areas:
            "l1"
            "l2"
            "l3"
            "l4"
            "l5"
            "l6";
        }
        #storyForm.logged-in-layout #storyFormMainColumn.story-form-main-column,
        #storyForm.logged-in-layout #storyFormAside {
          display: contents;
        }
        #storyForm.logged-in-layout #storyAuthorCompactHint {
          grid-area: l1;
        }
        #storyForm.logged-in-layout #storyBodySection {
          grid-area: l2;
        }
        #storyForm.logged-in-layout #storyTimeSection {
          grid-area: l3;
        }
        #storyForm.logged-in-layout #storyMetaSection {
          grid-area: l4;
        }
        #storyForm.logged-in-layout #storyMediaSection {
          grid-area: l5;
        }
        #storyForm.logged-in-layout #storyFinishSection {
          grid-area: l6;
        }
        #storyForm.logged-in-layout #storyBodySection #storyText {
          max-height: none;
          min-height: 180px;
        }
        .filter-panel {
          grid-template-columns: 1fr;
        }
        .section-grid,
        .story-type-toggle {
          grid-template-columns: 1fr;
        }
      }
      @media (max-width: 1200px) {
        #storyModal .modal {
          width: min(840px, var(--mp-modal-fluid-w));
        }
      }
      @media (max-height: 760px) {
        .modal-backdrop {
          place-items: start center;
        }
      }

      /* --- Globální téma (site-global): skleněné plovoucí panely, typografie, jemné rámečky (liší se od národního zeleného tématu) --- */
      body.site-global {
        font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        color: #5d4a3f;
        /* Lišta s větším paddingem — musí odpovídat skutečné výšce, aby se levý sloupec netrefil do ní */
        --hud-header-block-h: clamp(64px, 9.6dvh, 94px);
      }
      @media (max-width: 1199px) {
        body.site-global {
          /* Jednořádková kompaktní hlavička (lupa | logo | účet). */
          --hud-header-block-h: clamp(64px, 10.5dvh, 86px);
        }
        body.site-mistopribeh {
          /* O něco nižší lišta než dřív — logo zůstane uprostřed, méně kolizí s „Filtr“ / upozorněním */
          --hud-header-block-h: clamp(56px, 8.8dvh, 76px);
        }
      }
      body.site-global .hud-column-left {
        gap: 18px;
      }
      body.site-global .hud-card {
        border-radius: 14px;
        border: 1px solid rgba(78, 59, 49, 0.2);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        background: rgba(245, 245, 220, 0.7);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
      }
      body.site-global .hud-card.hud-skin--top,
      body.site-global .hud-card.hud-skin--side,
      body.site-global .hud-card.hud-skin--bottom,
      body.site-global .hud-card.hud-skin--cta {
        background: rgba(245, 245, 220, 0.7);
        color: #5d4a3f;
      }
      body.site-global .hud-top-bar {
        gap: 15px;
        padding: clamp(8px, 1.2dvh, 12px);
      }
      body.site-global .hud-left-stack {
        padding: clamp(10px, 1.4dvh, 14px);
        display: flex;
        flex-direction: column;
        gap: 10px;
      }
      body.site-global .hud-left-section {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
      }
      body.site-global .hud-left-section:not(:first-child) {
        margin-top: 0;
        padding-top: 15px;
        border-top: 1px solid rgba(78, 59, 49, 0.12);
      }
      body.site-global .hud-section-title {
        font-weight: 600;
        color: #4e3b31;
        letter-spacing: 0.06em;
      }
      body.site-global .hud-field-label {
        color: rgba(78, 59, 49, 0.75);
      }
      body.site-global .hud-placeholder-hint,
      body.site-global .hud-category-intro,
      body.site-global .hud-footer-status-lines,
      body.site-global #pickedCoords,
      body.site-global .hud-skin--side .filter-panel label,
      body.site-global .hud-skin--side .field-note,
      body.site-global .hud-skin--side .filter-result {
        color: rgba(93, 74, 63, 0.88);
      }
      body.site-global .hud-footer-brand strong {
        font-weight: 600;
        color: #4e3b31;
      }
      body.site-global .hud-footer-brand small {
        color: rgba(93, 74, 63, 0.85);
      }
      body.site-global .hud-footer-panel--stats .app-footer__stats,
      body.site-global .hud-footer-panel--stats .system-stats__line1,
      body.site-global .hud-footer-panel--stats .system-stats__line2 {
        color: #4e3b31;
      }
      body.site-global .hud-top-bar .brand-block {
        background: rgba(255, 255, 255, 0.42);
        border: 1px solid rgba(78, 59, 49, 0.2);
        box-shadow: none;
        color: #5d4a3f;
      }
      body.site-global .hud-top-bar .brand-block strong {
        color: #4e3b31;
      }
      body.site-global .hud-top-bar .brand-block small {
        color: rgba(93, 74, 63, 0.82);
      }
      body.site-global .hud-skin--side .role-box {
        background: rgba(255, 255, 255, 0.42);
        border: 1px solid rgba(78, 59, 49, 0.18);
        color: #5d4a3f;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
      }
      body.site-global .hud-skin--side .role-box strong {
        color: #4e3b31;
      }
      body.site-global .hud-cat-item:not(.hud-cat-filter-pill) {
        background: rgba(255, 255, 255, 0.38);
        border: 1px solid rgba(78, 59, 49, 0.12);
        color: #4e3b31;
      }
      body.site-global .hud-footer-panel {
        padding: clamp(8px, 1.2dvh, 12px);
        border-radius: 14px;
      }
      body.site-global .hud-footer-panel--stats {
        padding: clamp(8px, 1.2dvh, 12px);
      }
      body.site-global .hud-footer-panel--center .app-footer__links button {
        color: #4e3b31;
        border: 1px solid rgba(78, 59, 49, 0.22);
        background: rgba(255, 255, 255, 0.4);
      }
      body.site-global .hud-footer-panel--center .app-footer__links button:hover {
        color: #3d2e26;
        background: rgba(255, 255, 255, 0.62);
      }
      body.site-global .hud-skin--top .secondary:not(.nav-account-toggle):not(.nav-menu-toggle),
      body.site-global .hud-skin--side .secondary,
      body.site-global .hud-skin--bottom .secondary {
        background: rgba(255, 255, 255, 0.58);
        color: #4e3b31;
        border: 1px solid rgba(78, 59, 49, 0.22);
        font-weight: 600;
      }
      body.site-global .hud-skin--top .secondary:hover,
      body.site-global .hud-skin--side .secondary:hover,
      body.site-global .hud-skin--bottom .secondary:hover {
        background: rgba(255, 255, 255, 0.78);
      }
      body.site-global .hud-add-story-card {
        padding: 0;
      }
      body.site-global .hud-add-story--docked .hud-add-story-card {
        padding: 6px 8px;
      }
      body.site-global .hud-add-story--at-point .hud-add-story-card {
        padding: 4px 2px 2px;
      }
      /* Globální téma — mapové CTA (paleta: červená akcent + bílý text) */
      body.site-global #hudAddStoryDock {
        overflow: visible;
      }
      body.site-global .hud-add-story--at-point {
        filter: none;
        transform: translateZ(0);
      }
      body.site-global #hudAddStoryDock .hud-add-story-card.hud-skin--cta {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
      }
      body.site-global #openStoryBtn.hud-cta-btn.primary {
        border-radius: 999px;
        background: linear-gradient(180deg, #b3243d 0%, var(--color-accent, #9b1c31) 48%, #851a28 100%) !important;
        color: #ffffff !important;
        border: 2px solid rgba(0, 0, 0, 0.2) !important;
        box-shadow:
          0 1px 0 rgba(255, 255, 255, 0.22) inset,
          0 8px 22px rgba(155, 28, 49, 0.42) !important;
        font-weight: 700 !important;
        font-size: calc(0.875rem + 2px);
        letter-spacing: 0.02em;
        line-height: 1.3;
        gap: 10px;
        min-height: 0 !important;
        padding: 14px 22px !important;
        transition:
          background 0.18s ease,
          box-shadow 0.18s ease,
          transform 0.12s ease,
          filter 0.18s ease;
      }
      body.site-global #openStoryBtn.hud-cta-btn.primary:hover {
        filter: brightness(1.06);
        box-shadow:
          0 1px 0 rgba(255, 255, 255, 0.28) inset,
          0 10px 26px rgba(155, 28, 49, 0.5) !important;
      }
      body.site-global #openStoryBtn.hud-cta-btn.primary:active {
        transform: translateY(1px);
        filter: brightness(0.96);
        box-shadow:
          0 1px 0 rgba(255, 255, 255, 0.16) inset,
          0 4px 14px rgba(0, 0, 0, 0.28) !important;
      }
      body.site-global #openStoryBtn.hud-cta-btn.primary:focus-visible {
        outline: none;
        box-shadow:
          0 1px 0 rgba(255, 255, 255, 0.22) inset,
          0 8px 22px rgba(155, 28, 49, 0.42),
          0 0 0 3px #ffffff,
          0 0 0 6px var(--color-border, #1a2b48) !important;
      }
      body.site-global #openStoryBtn .hud-cta-btn__icon {
        color: #ffffff !important;
        font-weight: 800;
        font-size: 1.22em;
        line-height: 1;
        width: 1.45em;
        height: 1.45em;
        background: rgba(255, 255, 255, 0.16);
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.35);
        text-shadow: none;
      }
      body.site-global #openStoryBtn .hud-cta-btn__label {
        color: #ffffff !important;
        font-weight: 700;
        text-shadow: none;
      }
      body.site-global .hud-add-story-dismiss {
        width: 24px;
        height: 24px;
        top: 5px;
        right: 5px;
        font-size: 1rem;
        font-weight: 800;
        color: #ffffff !important;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
        background: rgba(0, 0, 0, 0.9);
        border: 1px solid rgba(255, 255, 255, 0.82);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.42);
      }
      body.site-global .hud-add-story-dismiss:hover {
        color: #ffffff !important;
        background: rgba(0, 0, 0, 0.98);
        border-color: rgba(255, 255, 255, 0.95);
      }
      .nav-drawer__list button:not(.account-proxy-btn--login):not(.account-proxy-btn--register):not(.account-proxy-btn--trail):hover,
      .nav-drawer__list button:not(.account-proxy-btn--login):not(.account-proxy-btn--register):not(.account-proxy-btn--trail):focus-visible,
      .app-footer__links button:hover,
      .app-footer__links button:focus-visible {
        color: var(--color-accent, #9b1c31) !important;
      }
      body.site-global .hud-actions-row {
        margin-top: 0;
        gap: 12px;
      }
      body.site-global .nav-drawer__panel:not(#accountDrawerPanel):not(#navDrawerPanel) {
        border-radius: 14px 0 0 14px;
        background: rgba(245, 245, 220, 0.82);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        color: #5d4a3f;
        border-left: 1px solid rgba(78, 59, 49, 0.2);
        box-shadow: -6px 0 24px rgba(0, 0, 0, 0.1);
        padding: 20px;
      }
      body.site-global #accountDrawerPanel.nav-drawer__panel,
      body.site-global #navDrawerPanel.nav-drawer__panel {
        border-radius: 14px 0 0 14px;
        padding: 20px;
      }
      body.site-global .nav-drawer__head h2 {
        color: #4e3b31;
        font-weight: 600;
      }
      body.site-global #accountDrawerPanel .nav-drawer__head h2,
      body.site-global #navDrawerPanel .nav-drawer__head h2 {
        color: #ffffff !important;
      }
      body.site-global .nav-drawer__list {
        gap: 12px;
      }
      body.site-global .nav-drawer__list button {
        border-radius: 12px;
        border: 1px solid rgba(78, 59, 49, 0.15);
        background: rgba(255, 255, 255, 0.35);
        color: #4e3b31;
      }
      body.site-global #accountDrawerPanel .nav-drawer__list .account-proxy-btn:not(.account-proxy-btn--login):not(.account-proxy-btn--register):not(.account-proxy-btn--privileged),
      body.site-global #accountDrawerPanel .nav-drawer__list .account-drawer-logout-btn {
        background: rgba(255, 255, 255, 0.1) !important;
        border: 1px solid rgba(255, 255, 255, 0.28) !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      body.site-global #accountDrawerPanel .nav-drawer__list .account-proxy-btn--privileged,
      body.site-global #accountDrawerPanel .nav-drawer__list .account-proxy-btn[data-account-proxy="superAdminBtn"],
      body.site-global #accountDrawerPanel .nav-drawer__list .account-proxy-btn[data-account-proxy="curatorProfileBtn"],
      body.site-global #accountDrawerPanel .nav-drawer__list .account-proxy-btn[data-account-proxy="headerMunicipalityPublicProfileBtn"] {
        background: linear-gradient(180deg, #961f33 0%, #7a1829 100%) !important;
        border: 1px solid #7a1829 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      body.site-global #navDrawerPanel .nav-drawer__list button {
        background: rgba(255, 255, 255, 0.1) !important;
        border: 1px solid rgba(255, 255, 255, 0.28) !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      body.site-global .modal-backdrop .modal {
        border-radius: 16px;
        border: 1px solid rgba(78, 59, 49, 0.2);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        background: rgba(245, 245, 220, 0.75);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        padding: 20px;
        color: #5d4a3f;
      }
      body.site-global .modal h2 {
        margin-bottom: 15px;
        color: #4e3b31;
        font-weight: 600;
      }
      body.site-global .modal-actions {
        background: linear-gradient(to top, rgba(245, 245, 220, 0.94) 72%, rgba(245, 245, 220, 0));
        padding-top: 16px;
        margin-top: 8px;
        gap: 15px;
      }
      body.site-global .content-page-body {
        color: #5d4a3f;
      }
      body.site-global .content-page-body h3 {
        color: #4e3b31;
        font-weight: 600;
      }
      body.site-global .content-page-body .content-card {
        border-radius: 14px;
        border: 1px solid rgba(78, 59, 49, 0.2);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
        padding: 20px;
      }
      body.site-global .story-list-panel {
        border-radius: 14px;
        border: 1px solid rgba(78, 59, 49, 0.2);
        background: rgba(245, 245, 220, 0.72);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        padding: 20px;
      }
      body.site-global #spotModal .spot-modal__body .detail-row,
      body.site-global #spotModal .spot-modal__body .hint {
        color: #5d4a3f;
      }
      body.site-global .form-grid {
        gap: 15px;
      }
      body.site-global #storyForm.logged-in-layout.form-grid {
        gap: 15px;
      }
      body.site-global .form-section {
        border-radius: 14px;
        border: 1px solid rgba(78, 59, 49, 0.2);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
        padding: 20px;
      }
      body.site-global .form-section h3 {
        color: #4e3b31;
        font-weight: 600;
      }
      body.site-global #storyModal .form-section--story-ton-0 {
        border-color: rgba(15, 23, 42, 0.12);
        background: #ffffff;
      }
      body.site-global #storyModal .form-section--story-ton-1 {
        border-color: rgba(255, 255, 255, 0.28);
        background: var(--story-form-tone-blue, #1b4d72);
      }
      body.site-global #storyModal .form-section--story-ton-2 {
        border-color: rgba(255, 255, 255, 0.28);
        background: var(--story-form-tone-red, #961f33);
      }
      body.site-global #storyModal .form-section--story-ton-0 h3 {
        color: #0f172a;
      }
      body.site-global #storyModal .form-section--story-ton-1 h3 {
        color: #f0f9ff;
      }
      body.site-global #storyModal .form-section--story-ton-2 h3 {
        color: #fff7f7;
      }
      body.site-global .form-section.warm {
        border-color: rgba(212, 160, 23, 0.45);
      }
      body.site-global .form-section.green {
        border-color: rgba(74, 124, 89, 0.35);
      }
      body.site-global .form-section.meta-panel,
      body.site-global .form-section.media-panel {
        border-color: rgba(78, 59, 49, 0.18);
      }
      body.site-global .role-box {
        border-radius: 14px;
        border: 1px solid rgba(78, 59, 49, 0.2);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
        padding: 12px 16px;
        color: #5d4a3f;
      }
      body.site-global .role-box strong {
        color: #4e3b31;
      }
      body.site-global .notice {
        border-radius: 14px;
        border: 1px solid rgba(212, 160, 23, 0.45);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
        padding: 16px 20px;
        color: #5d4a3f;
      }
      body.site-global .filter-panel {
        border-radius: 14px;
        border: 1px solid rgba(78, 59, 49, 0.2);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
        padding: 20px;
        gap: 15px;
        color: #5d4a3f;
      }
      body.site-global .hud-skin--side .filter-panel {
        border: 0;
        box-shadow: none;
        border-radius: 0;
        padding: 0;
        gap: 10px;
        background: transparent;
      }
      body.site-global .modal .secondary {
        color: #4e3b31;
        border: 1px solid rgba(78, 59, 49, 0.22);
        background: rgba(255, 255, 255, 0.55);
      }
      body.site-global .modal .secondary:hover {
        background: rgba(255, 255, 255, 0.75);
      }
      body.site-global .story-item {
        border-radius: 14px;
        border: 1px solid rgba(78, 59, 49, 0.18);
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
        padding: 16px 20px;
      }
      body.site-global .story-item-meta {
        color: rgba(93, 74, 63, 0.78);
      }
      body.site-global .system-stats {
        border-radius: 14px;
        border: 1px solid rgba(78, 59, 49, 0.2);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
        padding: 16px 20px;
        color: #5d4a3f;
      }
      body.site-global h1 {
        color: #4e3b31;
        font-weight: 600;
      }
      body.site-global .author-compact-hint,
      body.site-global .ai-help {
        border-radius: 12px;
        border: 1px solid rgba(78, 59, 49, 0.18);
      }
      body.site-global #storyModal .author-compact-hint:not(.hidden) {
        padding: 16px 18px;
      }
      body.site-global .section-grid {
        gap: 15px;
      }

      /* Jednotná kompaktní hustota pro běžný desktop zoom (100-110%). */
      @media (min-width: 900px) {
        .hud-top-bar {
          gap: 8px 10px !important;
          padding: 8px 12px !important;
        }
        .brand-block {
          padding: 4px 8px !important;
          max-width: min(250px, 36vw);
        }
        .brand-block strong {
          font-size: 0.95rem !important;
        }
        .brand-block small {
          font-size: 10px !important;
        }
        .header-search {
          gap: 4px !important;
        }
        .header-search select,
        .header-search input[type="text"],
        .header-search input[type="search"],
        .header-search button {
          min-height: 36px !important;
          height: auto !important;
          font-size: 12px !important;
          padding: 0 10px !important;
          line-height: 1.25 !important;
        }
        .header-search input[type="text"],
        .header-search input[type="search"] {
          max-width: 170px !important;
        }
        .nav-menu-toggle {
          min-width: 42px !important;
          min-height: 42px !important;
          padding: 0 !important;
        }
        .nav-menu-toggle__icon {
          width: 20px;
          height: 15px;
          gap: 4px;
        }
        .hud-top-bar .nav-account-toggle {
          min-width: 44px !important;
          min-height: 44px !important;
        }
        .header-session .role-box select {
          min-width: 108px !important;
          min-height: 36px !important;
          height: auto !important;
          font-size: 12px !important;
          line-height: 1.25 !important;
        }
        .hud-actions-row--top .secondary {
          min-height: 36px !important;
          height: auto !important;
          font-size: 11px !important;
          padding: 0 8px !important;
          line-height: 1.15 !important;
        }
        .hud-column-left {
          width: min(268px, calc(100vw - 2 * var(--hud-edge) - var(--hud-right-leaflet-gap) - 90px)) !important;
          gap: 6px !important;
        }
        .hud-left-stack {
          padding: 8px !important;
          gap: 8px !important;
        }
        .hud-section-title {
          font-size: 10px !important;
          margin-bottom: 4px !important;
        }
        .hud-footer-ribbon {
          gap: 8px !important;
        }
        .hud-footer-panel {
          padding: 7px 9px !important;
          border-radius: 10px !important;
        }
        .hud-footer-panel--status {
          max-width: min(320px, 35vw) !important;
        }
        .hud-footer-panel--stats {
          max-width: min(300px, 34vw) !important;
          min-height: clamp(2.45rem, 4.8dvh, 3.2rem) !important;
        }
        .hud-footer-panel--stats .app-footer__stats {
          font-size: clamp(0.84rem, 1.25dvh, 0.98rem) !important;
          line-height: 1.2 !important;
        }
        .hud-footer-panel--center {
          display: block !important;
          align-self: center !important;
          padding: 4px 10px !important;
        }
        .hud-add-story--docked {
          max-width: min(190px, calc(100vw - 2 * var(--hud-edge))) !important;
        }
        .hud-add-story--docked .hud-cta-btn {
          padding: 8px 10px !important;
          font-size: 0.9rem !important;
          gap: 6px !important;
        }
      }
      /* Oprava čitelnosti nativního select dropdownu (options byly světlé na světlém pozadí). */
      body.site-mistopribeh .hud-column-left select,
      body.site-mistopribeh .hud-column-left option {
        color: #1a2820 !important;
        background: #fdfbf7 !important;
      }
      body.site-mistopribeh button {
        border-radius: 12px;
      }
      body.site-mistopribeh #openStoryBtn.hud-cta-btn.primary {
        border-radius: 50px !important;
      }
      @media (max-width: 760px) {
        body.site-mistopribeh #openStoryBtn.hud-cta-btn.primary {
          padding: 16px 30px !important;
          font-size: calc(0.82rem + 2px);
        }
      }


      /* --- Univerzální mapový UI design (obě témata: site-global i site-mistopribeh) --- */
      body.site-global .hud-card,
      body.site-global .nav-drawer__panel,
      body.site-global .modal-backdrop .modal:not([data-mp-window]),
      body.site-mistopribeh .hud-card,
      body.site-mistopribeh .nav-drawer__panel,
      body.site-mistopribeh .modal-backdrop .modal:not([data-mp-window]) {
        background: rgba(250, 250, 250, 0.95) !important;
        border: 1px solid rgba(0, 0, 0, 0.2) !important;
        color: #1a1a1a !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
      }
      body.site-global .hud-root,
      body.site-global .hud-root label,
      body.site-global .hud-root .field-note,
      body.site-global .hud-root .hint,
      body.site-global .content-page-body,
      body.site-mistopribeh .hud-root,
      body.site-mistopribeh .hud-root label,
      body.site-mistopribeh .hud-root .field-note,
      body.site-mistopribeh .hud-root .hint,
      body.site-mistopribeh .content-page-body {
        color: #1a1a1a !important;
      }
      body.site-global .hud-skin--top .primary,
      body.site-global .hud-skin--cta .primary,
      body.site-mistopribeh .hud-skin--top .primary,
      body.site-mistopribeh .hud-skin--cta .primary {
        background: var(--color-accent, #9b1c31) !important;
        color: #ffffff !important;
        border-color: var(--color-accent, #9b1c31) !important;
      }
      body.site-global,
      body.site-mistopribeh {
        --hud-panel-top: rgba(250, 250, 250, 0.95);
        --hud-panel-side: rgba(250, 250, 250, 0.95);
        --hud-panel-bottom: rgba(250, 250, 250, 0.95);
        --hud-on-dark: #1a1a1a;
        --hud-on-dark-muted: #1a1a1a;
        --hud-btn-secondary: rgba(245, 245, 245, 0.96);
        --hud-btn-secondary-hover: rgba(235, 235, 235, 0.98);
      }
      body.site-global .secondary,
      body.site-mistopribeh .secondary,
      body.site-global .status-chip,
      body.site-mistopribeh .status-chip,
      body.site-global .brand-block,
      body.site-mistopribeh .brand-block,
      body.site-global .role-box,
      body.site-mistopribeh .role-box,
      body.site-global .hud-cat-item,
      body.site-mistopribeh .hud-cat-item,
      body.site-global .story-list-panel,
      body.site-mistopribeh .story-list-panel,
      body.site-global .story-item,
      body.site-mistopribeh .story-item {
        background: rgba(250, 250, 250, 0.95) !important;
        border: 1px solid rgba(0, 0, 0, 0.2) !important;
        color: #1a1a1a !important;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15) !important;
      }
      /* Extra-specifické sjednocení (přebije starší site-specific !important pravidla). */
      body.site-global .hud-card.hud-skin--top,
      body.site-global .hud-card.hud-skin--side,
      body.site-global .hud-card.hud-skin--bottom,
      body.site-global .hud-card.hud-skin--cta,
      body.site-mistopribeh .hud-card.hud-skin--top,
      body.site-mistopribeh .hud-card.hud-skin--side,
      body.site-mistopribeh .hud-card.hud-skin--bottom,
      body.site-mistopribeh .hud-card.hud-skin--cta {
        background: rgba(250, 250, 250, 0.95) !important;
        border: 1px solid rgba(0, 0, 0, 0.2) !important;
        color: #1a1a1a !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
      }
      /* Čítač příběhů vpravo dole: má i třídu .hud-skin--bottom — musí přebít pravidlo výše (vyšší specificita). Stejné 50 % + blur jako levý panel filtrů na desktopu. */
      body.site-global .hud-card.hud-footer-panel--stats.hud-skin--bottom {
        background: rgba(245, 245, 220, 0.5) !important;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 255, 255, 0.5) !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
      }
      body.site-mistopribeh .hud-card.hud-footer-panel--stats.hud-skin--bottom {
        background: rgba(250, 250, 250, 0.5) !important;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 255, 255, 0.5) !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
      }
      body.site-global .hud-footer-panel--stats .app-footer__stats,
      body.site-global .hud-footer-panel--stats .system-stats__line1,
      body.site-global .hud-footer-panel--stats .system-stats__line2,
      body.site-mistopribeh .hud-footer-panel--stats .app-footer__stats,
      body.site-mistopribeh .hud-footer-panel--stats .system-stats__line1,
      body.site-mistopribeh .hud-footer-panel--stats .system-stats__line2 {
        opacity: 1 !important;
      }
      body.site-global .hud-top-bar .brand-block strong,
      body.site-global .hud-top-bar .brand-block small,
      body.site-mistopribeh .hud-top-bar .brand-block strong,
      body.site-mistopribeh .hud-top-bar .brand-block small {
        color: #1a1a1a !important;
      }
      body.site-global .hud-top-bar #brandHomeBtn.brand-block,
      body.site-mistopribeh .hud-top-bar #brandHomeBtn.brand-block {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
      }
      body.site-global .hud-skin--top .secondary:not(.nav-account-toggle):not(.nav-menu-toggle),
      body.site-global .hud-skin--side .secondary,
      body.site-global .hud-skin--bottom .secondary,
      body.site-mistopribeh .hud-skin--top .secondary:not(.nav-account-toggle):not(.nav-menu-toggle),
      body.site-mistopribeh .hud-skin--side .secondary,
      body.site-mistopribeh .hud-skin--bottom .secondary {
        background: rgba(245, 245, 245, 0.96) !important;
        color: #1a1a1a !important;
        border-color: rgba(0, 0, 0, 0.2) !important;
      }
      /* Účet + Informace — desktop: kulatý avatar + šedé burger menu (viz @media min-width 1200px výše). */
      /* Přihlásit se / Registrace v horní liště — pevné barvy (přebije pravidlo výše). */
      body.site-global .hud-top-bar .header-session > #loginBtn.secondary,
      body.site-mistopribeh .hud-top-bar .header-session > #loginBtn.secondary {
        background: #1b4d72 !important;
        color: #fff !important;
        border-color: #163e5c !important;
        font-weight: 600 !important;
      }
      body.site-global .hud-top-bar .header-session > #loginBtn.secondary:hover,
      body.site-global .hud-top-bar .header-session > #loginBtn.secondary:focus-visible,
      body.site-mistopribeh .hud-top-bar .header-session > #loginBtn.secondary:hover,
      body.site-mistopribeh .hud-top-bar .header-session > #loginBtn.secondary:focus-visible {
        background: #164260 !important;
        color: #fff !important;
        border-color: #12354f !important;
      }
      body.site-global .hud-top-bar .header-session > #registerBtn.secondary,
      body.site-mistopribeh .hud-top-bar .header-session > #registerBtn.secondary {
        background: #961f33 !important;
        color: #fff !important;
        border-color: #7a1829 !important;
        font-weight: 600 !important;
      }
      body.site-global .hud-top-bar .header-session > #registerBtn.secondary:hover,
      body.site-global .hud-top-bar .header-session > #registerBtn.secondary:focus-visible,
      body.site-mistopribeh .hud-top-bar .header-session > #registerBtn.secondary:hover,
      body.site-mistopribeh .hud-top-bar .header-session > #registerBtn.secondary:focus-visible {
        background: #7e1a2b !important;
        color: #fff !important;
        border-color: #681524 !important;
      }
      body.site-global .hud-skin--side .status-chip,
      body.site-global .header-session .status-chip,
      body.site-mistopribeh .hud-skin--side .status-chip,
      body.site-mistopribeh .header-session .status-chip {
        background: rgba(235, 235, 235, 0.98) !important;
        color: #1a1a1a !important;
        border: 1px solid rgba(0, 0, 0, 0.2) !important;
      }
      body.site-global .hud-root .field-note,
      body.site-global .hud-root .hint,
      body.site-global .hud-root label,
      body.site-mistopribeh .hud-root .field-note,
      body.site-mistopribeh .hud-root .hint,
      body.site-mistopribeh .hud-root label {
        color: #1a1a1a !important;
      }
      /* Čitelnost textů v Místopříběhu: přebije staré světlé theme selektory. */
      body.site-mistopribeh .hud-card,
      body.site-mistopribeh .hud-card *,
      body.site-mistopribeh .hud-column-left,
      body.site-mistopribeh .hud-column-left *:not(.hud-cat-filter-pill):not(.hud-cat-filter-pill *),
      body.site-mistopribeh .hud-footer-panel,
      body.site-mistopribeh .hud-footer-panel *,
      body.site-mistopribeh .header-session,
      body.site-mistopribeh .header-session * {
        color: #1a1a1a !important;
      }
      /* Vyhledávání obce v horní liště: přebije .hud-card * a .hud-skin--top .secondary (!important). */
      @media (max-width: 1199px) {
        body.site-global .hud-card.hud-top-bar .header-search__col--find #municipalitySearchInput,
        body.site-mistopribeh .hud-card.hud-top-bar .header-search__col--find #municipalitySearchInput {
          background: #fff !important;
          color: #111827 !important;
          -webkit-text-fill-color: #111827 !important;
          border: 2px solid var(--color-accent, #9b1c31) !important;
          border-radius: var(--header-search-control-radius, 2px) !important;
          caret-color: var(--color-accent, #9b1c31) !important;
          box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 2px 10px rgba(155, 28, 49, 0.12) !important;
        }
      }
      @media (max-width: 1199px) {
        body.site-global .hud-card.hud-top-bar .header-search__col--find #municipalitySearchInput::placeholder,
        body.site-mistopribeh .hud-card.hud-top-bar .header-search__col--find #municipalitySearchInput::placeholder {
          color: rgba(17, 24, 39, 0.45) !important;
          -webkit-text-fill-color: rgba(17, 24, 39, 0.45) !important;
        }
        body.site-global .hud-card.hud-top-bar .header-search__col--find #municipalitySearchInput:hover,
        body.site-mistopribeh .hud-card.hud-top-bar .header-search__col--find #municipalitySearchInput:hover {
          border-color: #851a28 !important;
          box-shadow: 0 1px 0 rgba(255, 255, 255, 0.95) inset, 0 2px 12px rgba(155, 28, 49, 0.2) !important;
        }
        body.site-global .hud-card.hud-top-bar .header-search__col--find #municipalitySearchInput:focus,
        body.site-global .hud-card.hud-top-bar .header-search__col--find #municipalitySearchInput:focus-visible,
        body.site-mistopribeh .hud-card.hud-top-bar .header-search__col--find #municipalitySearchInput:focus,
        body.site-mistopribeh .hud-card.hud-top-bar .header-search__col--find #municipalitySearchInput:focus-visible {
          border-color: #851a28 !important;
          box-shadow:
            0 0 0 2px #fff,
            0 0 0 5px rgba(155, 28, 49, 0.38),
            0 2px 12px rgba(155, 28, 49, 0.22) !important;
        }
        body.site-global .hud-card.hud-top-bar .header-search__col--find #municipalitySearchBtn.secondary,
        body.site-mistopribeh .hud-card.hud-top-bar .header-search__col--find #municipalitySearchBtn.secondary {
          background: linear-gradient(180deg, #b3243d 0%, var(--color-accent, #9b1c31) 52%, #851a28 100%) !important;
          color: #fff !important;
          -webkit-text-fill-color: #fff !important;
          border-radius: var(--header-search-control-radius, 2px) !important;
          border: 2px solid rgba(0, 0, 0, 0.2) !important;
          box-shadow:
            0 1px 0 rgba(255, 255, 255, 0.2) inset,
            0 2px 10px rgba(155, 28, 49, 0.35) !important;
        }
        body.site-global .hud-card.hud-top-bar .header-search__col--find #municipalitySearchBtn.secondary:hover,
        body.site-global .hud-card.hud-top-bar .header-search__col--find #municipalitySearchBtn.secondary:focus-visible,
        body.site-mistopribeh .hud-card.hud-top-bar .header-search__col--find #municipalitySearchBtn.secondary:hover,
        body.site-mistopribeh .hud-card.hud-top-bar .header-search__col--find #municipalitySearchBtn.secondary:focus-visible {
          color: #fff !important;
          -webkit-text-fill-color: #fff !important;
        }
        body.site-global .hud-card.hud-top-bar .header-search__findRow #showAllMunicipalitiesMobileBtn.secondary {
          border-radius: var(--header-search-control-radius, 2px) !important;
        }
      }
      body.site-mistopribeh .hud-card input[type="checkbox"] {
        accent-color: #a0522d !important;
      }
      /* Desktop: panel filtrů — plné modré pozadí (#1b4d72), bez průhlednosti. */
      @media (min-width: 1200px) {
        body.site-global #hudLeftColumn.hud-column-left > .hud-filter-panel-card.hud-card.hud-skin--side,
        body.site-mistopribeh #hudLeftColumn.hud-column-left > .hud-filter-panel-card.hud-card.hud-skin--side {
          background: #1b4d72 !important;
          backdrop-filter: none !important;
          -webkit-backdrop-filter: none !important;
          border-color: rgba(255, 255, 255, 0.22) !important;
          color: #ffffff !important;
        }
      }
      /* Sjednocení vzhledu mapového přepínače a jistota viditelnosti brand textu. */
      body.site-global #brandTitle,
      body.site-global #brandTagline,
      body.site-mistopribeh #brandTitle,
      body.site-mistopribeh #brandTagline {
        color: #1a1a1a !important;
        opacity: 1 !important;
      }
      body.site-global .leaflet-control-layers,
      body.site-mistopribeh .leaflet-control-layers,
      body.site-global .leaflet-control-layers-toggle,
      body.site-mistopribeh .leaflet-control-layers-toggle,
      body.site-global .leaflet-control-layers-expanded,
      body.site-mistopribeh .leaflet-control-layers-expanded {
        background: rgba(250, 250, 250, 0.95) !important;
        border: 1px solid rgba(0, 0, 0, 0.2) !important;
        color: #1a1a1a !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
      }
      body.site-global .leaflet-control-layers-expanded label,
      body.site-mistopribeh .leaflet-control-layers-expanded label,
      body.site-global .leaflet-control-layers-expanded span,
      body.site-mistopribeh .leaflet-control-layers-expanded span {
        color: #1a1a1a !important;
      }
      /* --- Layout podle náčrtu uživatele --- */
      /* 1) Stav mapy vlevo dole úplně skrýt */
      .hud-footer-panel--status {
        display: none !important;
      }
      /* 2) Panel s odkazy vlevo dole (šířka dle obsahu), čítač vpravo dole */
      .hud-footer-ribbon {
        justify-content: space-between !important;
        align-items: flex-end !important;
        left: 0 !important;
        right: 0 !important;
        bottom: calc(env(safe-area-inset-bottom) + var(--hud-edge)) !important;
        padding: 0 max(var(--hud-edge), env(safe-area-inset-right, 0px)) 2px
          max(var(--hud-edge), env(safe-area-inset-left, 0px)) !important;
        box-sizing: border-box !important;
      }
      .hud-footer-panel--center {
        order: 1 !important;
        flex: 1 1 auto !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-inline: 0 !important;
        align-self: stretch !important;
        display: flex !important;
        align-items: center !important;
        min-height: 20px !important;
        padding: 1px 8px !important;
        box-sizing: border-box !important;
      }
      .hud-footer-panel--stats {
        display: block !important;
        position: fixed !important;
        right: calc(var(--hud-edge) + 6px) !important;
        bottom: calc(var(--hud-footer-ribbon-h) + env(safe-area-inset-bottom) + 2px) !important;
        z-index: 10055 !important;
        margin: 0 !important;
        min-width: 0 !important;
        max-width: min(34vw, 146px) !important;
        min-height: 0 !important;
        padding: 3px 6px !important;
        border-radius: 10px !important;
        pointer-events: none !important;
        opacity: 1 !important;
      }
      .hud-footer-panel--stats .app-footer__stats {
        font-size: 9px !important;
        line-height: 1.12 !important;
        font-weight: 600 !important;
      }
      body.compact-left-open .hud-column-left {
        max-height: none !important;
        bottom: 0 !important;
      }
      /* 3) Výběr mapy: mobil — spodní kotva nad „Přidat příběh“; desktop vpravo nahoře pod lištou */
      @media (max-width: 1199px) {
        body.site-global .leaflet-container .leaflet-top.leaflet-right,
        body.site-mistopribeh .leaflet-container .leaflet-top.leaflet-right {
          top: auto !important;
          bottom: var(
            --compact-map-layers-bottom,
            calc(env(safe-area-inset-bottom, 0px) + var(--hud-footer-ribbon-h) + 72px)
          ) !important;
          right: var(--compact-map-layers-right, var(--hud-edge)) !important;
          left: auto !important;
          z-index: 10070 !important;
          /* Nechat Leaflet výchozí `pointer-events: none` na `.leaflet-top` — `auto` na tomto rohu
             by nechalo rodičovský blok zachytávat kliky nad mapou a znefunkčnilo clustery / špendlíky. */
        }
      }
      @media (min-width: 1200px) {
        body.site-global .leaflet-container .leaflet-top.leaflet-right,
        body.site-mistopribeh .leaflet-container .leaflet-top.leaflet-right {
          top: calc(var(--hud-edge) + var(--hud-header-block-h) + 58px) !important;
          bottom: auto !important;
          right: var(--hud-edge) !important;
          left: auto !important;
          z-index: 10070 !important;
        }
        body.site-global .leaflet-control-layers-toggle,
        body.site-mistopribeh .leaflet-control-layers-toggle {
          display: none !important;
        }
        body.site-global .leaflet-control-layers .leaflet-control-layers-base,
        body.site-mistopribeh .leaflet-control-layers .leaflet-control-layers-base {
          display: none !important;
        }
        body.site-global .leaflet-control-layers .leaflet-control-layers-base + .leaflet-control-layers-separator,
        body.site-mistopribeh .leaflet-control-layers .leaflet-control-layers-base + .leaflet-control-layers-separator {
          display: none !important;
        }
        body.site-global .leaflet-control-layers,
        body.site-mistopribeh .leaflet-control-layers {
          overflow-x: hidden;
          max-width: min(360px, calc(100vw - var(--hud-edge) * 2 - 8px));
        }
        body.site-global .leaflet-control-layers-expanded,
        body.site-mistopribeh .leaflet-control-layers-expanded {
          max-height: min(52vh, 420px);
          max-width: min(360px, calc(100vw - var(--hud-edge) * 2 - 8px));
          box-sizing: border-box;
          overflow-x: hidden;
          overflow-y: auto;
        }
        body.site-global .leaflet-control-layers-expanded label,
        body.site-mistopribeh .leaflet-control-layers-expanded label {
          min-width: 0;
        }
        body.site-global .leaflet-control-layers-expanded span,
        body.site-mistopribeh .leaflet-control-layers-expanded span {
          min-width: 0;
          overflow-wrap: break-word;
        }
        body.site-global .hud-map-corner-actions,
        body.site-mistopribeh .hud-map-corner-actions {
          display: flex;
          left: auto;
          right: var(--hud-edge);
          bottom: auto;
          top: calc(var(--hud-edge) + var(--hud-header-block-h) + var(--hud-desktop-below-header-gap));
          align-items: flex-end;
        }
        body.site-global .hud-column-left,
        body.site-mistopribeh .hud-column-left {
          top: calc(var(--hud-edge) + var(--hud-header-block-h) + var(--hud-desktop-below-header-gap));
        }
        body.site-global .hud-map-corner-actions #mapLocateUserBtn,
        body.site-global .hud-map-corner-actions #siteInfoMenuToggle,
        body.site-mistopribeh .hud-map-corner-actions #mapLocateUserBtn,
        body.site-mistopribeh .hud-map-corner-actions #siteInfoMenuToggle {
          display: none !important;
        }
      }
      body.site-global .leaflet-container .leaflet-top.leaflet-right .leaflet-control,
      body.site-mistopribeh .leaflet-container .leaflet-top.leaflet-right .leaflet-control {
        margin-top: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        pointer-events: auto !important;
      }
      body.site-global .leaflet-control-layers-toggle,
      body.site-mistopribeh .leaflet-control-layers-toggle {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        border-radius: 14px !important;
        border: 1px solid rgba(0, 0, 0, 0.2) !important;
        background-color: rgba(245, 245, 245, 0.96) !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23708ba0' d='M12 3 3.8 7.6 12 12.2 20.2 7.6Z'/%3E%3Cpath fill='%23708ba0' d='M12 9.8 3.8 14.4 12 19 20.2 14.4Z'/%3E%3C/svg%3E") !important;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
        background-size: 22px 22px !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        /* display ne — přebíjelo by skrytí Leaflet toggle na širokém okně */
        pointer-events: none !important;
        touch-action: manipulation !important;
        cursor: pointer;
      }
      body.site-global .leaflet-control-layers-toggle::before,
      body.site-mistopribeh .leaflet-control-layers-toggle::before {
        content: none !important;
      }
      body.site-global .leaflet-control-layers-expanded,
      body.site-mistopribeh .leaflet-control-layers-expanded {
        padding: 7px 9px 8px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
        border-radius: 10px !important;
      }
      .leaflet-layers-close-btn {
        display: none;
      }
      @media (max-width: 1199px) {
        body.site-global .leaflet-control-layers-toggle,
        body.site-mistopribeh .leaflet-control-layers-toggle {
          display: none !important;
        }
        /*
         * Rozbalený výběr vrstev je uvnitř #mapStage (z-index 0). Rohová tlačítka jsou sourozenec s vyšším
         * z-indexem — bez tohoto bloku by FAB vždy překrývaly panel při scrollu. Třídu `map-layers-expanded`
         * nastavuje `site.js` (MutationObserver na `.leaflet-control-layers`).
         */
        body.site-global.map-layers-expanded .map-stage,
        body.site-mistopribeh.map-layers-expanded .map-stage {
          z-index: 4050;
        }
        body.site-global.map-layers-expanded .hud-map-corner-actions,
        body.site-mistopribeh.map-layers-expanded .hud-map-corner-actions {
          z-index: 4000;
        }
        body.site-global .leaflet-control-layers-expanded,
        body.site-mistopribeh .leaflet-control-layers-expanded {
          position: relative !important;
          transform: none !important;
          z-index: 10120 !important;
          padding-top: 32px !important;
          max-width: min(82vw, 320px) !important;
          overflow: auto !important;
          max-height: var(
            --compact-map-layers-max-h,
            min(
              52vh,
              calc(
                100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - var(--hud-edge) * 2 -
                  var(--hud-header-block-h) - var(--compact-map-layers-bottom, calc(var(--hud-footer-ribbon-h) + 72px)) - 12px
              )
            )
          ) !important;
        }
        body.site-global .leaflet-control-layers-expanded .leaflet-layers-close-btn,
        body.site-mistopribeh .leaflet-control-layers-expanded .leaflet-layers-close-btn {
          position: absolute;
          top: 6px;
          right: 8px;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-height: 22px;
          padding: 0 8px;
          border-radius: 999px;
          border: 1px solid rgba(0, 0, 0, 0.2);
          background: rgba(255, 255, 255, 0.96);
          color: #1a1a1a;
          font-size: 11px;
          line-height: 1;
          font-weight: 700;
        }
      }
      body.site-global .leaflet-control-layers-expanded label,
      body.site-mistopribeh .leaflet-control-layers-expanded label {
        margin-bottom: 2px !important;
        font-size: 12px !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        min-height: 34px !important;
        padding: 4px 6px !important;
        box-sizing: border-box;
        border-radius: 8px;
        cursor: pointer;
      }
      body.site-global .leaflet-control-layers-expanded span,
      body.site-mistopribeh .leaflet-control-layers-expanded span {
        font-size: 12px !important;
        flex: 1 1 auto;
      }
      /* 4) Vylepšení čitelnosti odkazů vlevo dole */
      .hud-footer-panel--center .app-footer__links {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 22px !important;
        width: 100% !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        height: 100% !important;
        transform: translateY(2px) !important;
      }
      .hud-footer-panel--center .app-footer__links button {
        color: #1b2f5f !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        text-align: center !important;
        padding: 0 4px !important;
        min-height: 100% !important;
        font-size: 12px !important;
        line-height: 1 !important;
        font-weight: 500 !important;
        box-shadow: none !important;
        text-decoration: underline !important;
        text-underline-offset: 2px !important;
      }
      .hud-footer-panel--center .app-footer__links button:hover {
        color: #223f7d !important;
        background: transparent !important;
        border-color: transparent !important;
      }
      .hud-footer-copyright-wrap {
        display: none;
      }
      #adminGotoCoordsModal .modal {
        max-width: min(420px, calc(100vw - 32px));
      }
      .admin-goto-coords-error {
        color: #b91c1c;
        margin-top: 6px;
      }
      @media (min-width: 1200px) {
        .hud-footer-ribbon {
          left: var(--hud-edge) !important;
          right: auto !important;
          width: auto !important;
          max-width: calc(100vw - 2 * var(--hud-edge)) !important;
          bottom: var(--hud-edge) !important;
          padding: 0 !important;
          gap: 8px !important;
          justify-content: flex-start !important;
          align-items: stretch !important;
          flex-wrap: nowrap !important;
        }
        .hud-footer-center-toolbar {
          flex-wrap: nowrap !important;
          justify-content: space-between !important;
          align-items: center !important;
          gap: 12px !important;
        }
        .hud-footer-desktop-left-slot {
          flex: 0 1 auto !important;
          min-width: 0 !important;
          justify-content: flex-start !important;
        }
        .app-footer__status-rules-desktop-wrap {
          display: flex !important;
          align-items: center !important;
        }
        .app-footer__status-rules-btn-desktop {
          font-weight: 400 !important;
          font-size: 11.25px !important;
          line-height: 1.2 !important;
          text-decoration-thickness: 1.5px !important;
          text-underline-offset: 3px !important;
        }
        .hud-footer-panel--center .app-footer__center-links-block {
          flex: 1 1 auto !important;
        }
        .hud-footer-panel--center {
          width: min(49.005vw, 831.6px) !important;
          max-width: min(49.005vw, 831.6px) !important;
          flex: 0 1 auto !important;
          min-height: 36px !important;
          padding: 6px 9px !important;
          border-radius: 14px !important;
          display: flex !important;
          flex-direction: column !important;
          align-items: stretch !important;
          justify-content: center !important;
          gap: 6px !important;
        }
        .hud-footer-copyright-wrap {
          display: inline-flex;
          align-items: baseline;
          gap: 6px;
          flex-wrap: wrap;
          max-width: 100%;
        }
        .hud-footer-copyright {
          display: inline-block;
          color: #111111 !important;
          font-size: 10px !important;
          line-height: 1 !important;
          font-weight: 400 !important;
          letter-spacing: 0 !important;
          white-space: nowrap !important;
        }
        .hud-footer-admin-goto-coords {
          display: inline;
          color: #111111 !important;
          font-size: 9px !important;
          line-height: 1 !important;
          font-weight: 400 !important;
          letter-spacing: 0 !important;
          background: transparent !important;
          border: 0 !important;
          border-radius: 0 !important;
          padding: 0 !important;
          margin: 0 !important;
          cursor: pointer;
          font-family: inherit !important;
          text-decoration: underline !important;
          text-underline-offset: 2px !important;
          white-space: nowrap;
        }
        .hud-footer-admin-goto-coords:hover {
          color: #223f7d !important;
        }
        .hud-footer-panel--center .app-footer__links {
          justify-content: flex-end !important;
          gap: 15.18px !important;
          padding-inline: 16px !important;
          overflow: visible !important;
          transform: none !important;
          margin-left: 0 !important;
          width: auto !important;
        }
        body.site-mistopribeh .hud-footer-panel--center .app-footer__muni-about-btn {
          color: #1b2f5f !important;
          background: transparent !important;
          border: 0 !important;
          border-radius: 0 !important;
          font-size: 11.25px !important;
          line-height: 1.2 !important;
          font-weight: 400 !important;
          padding: 0 2px !important;
          text-decoration: underline !important;
          text-decoration-thickness: 1.5px !important;
          text-underline-offset: 3px !important;
          box-shadow: none !important;
        }
        body.site-mistopribeh .hud-footer-panel--center .app-footer__muni-about-btn:hover {
          color: #223f7d !important;
          background: transparent !important;
        }
        body.site-mistopribeh .hud-footer-panel--center .app-footer__muni-about-divider {
          background: rgba(27, 47, 95, 0.35) !important;
        }
        body.site-mistopribeh .hud-footer-panel--center .app-footer__status-rules-btn-desktop {
          color: #1b2f5f !important;
          font-weight: 400 !important;
        }
        body.site-mistopribeh .hud-footer-panel--center .app-footer__status-rules-btn-desktop:hover {
          color: #223f7d !important;
        }
        body.site-global .hud-footer-panel--center .app-footer__status-rules-btn-desktop {
          color: #4e3b31 !important;
          text-decoration: none !important;
          border: 1px solid rgba(78, 59, 49, 0.22) !important;
          border-radius: 8px !important;
          padding: 3px 8px !important;
          font-size: 11px !important;
          line-height: 1.1 !important;
          font-weight: 600 !important;
          background: rgba(255, 255, 255, 0.4) !important;
        }
        body.site-global .hud-footer-panel--center .app-footer__status-rules-btn-desktop:hover {
          color: #3d2e26 !important;
          background: rgba(255, 255, 255, 0.62) !important;
        }
        .hud-footer-panel--center .app-footer__links button {
          font-size: 11.25px !important;
          line-height: 1.2 !important;
          font-weight: 400 !important;
          text-decoration-thickness: 1.5px !important;
          text-underline-offset: 3px !important;
          padding: 0 !important;
        }
        .hud-footer-panel--stats {
          right: calc(var(--hud-edge) + 8px) !important;
          bottom: calc(var(--hud-edge) + 8px) !important;
          max-width: min(28vw, 280px) !important;
          min-width: 220px !important;
          padding: 8px 12px !important;
          border-radius: 12px !important;
          opacity: 1 !important;
        }
        .hud-footer-panel--stats .app-footer__stats {
          font-size: 13px !important;
          line-height: 1.28 !important;
          font-weight: 700 !important;
        }
      }
      /* 5) Čitelnost modalu "Moje příběhy" (+ stanoviska obce — beze změny layoutu) */
      #myStoriesModal .author-hub-modal__body,
      #myStoriesModal .author-hub-modal__body *,
      #municipalStatementsModal .modal,
      #municipalStatementsModal .modal * {
        color: #1a1a1a;
      }
      #municipalStatementsModal .modal {
        background: rgba(250, 250, 250, 0.96) !important;
        border: 1px solid rgba(0, 0, 0, 0.2) !important;
        width: min(950px, var(--mp-modal-fluid-w)) !important;
        max-height: calc(100dvh - 20px) !important;
      }
      #myStoriesModal .author-hub-panel .field-note,
      #municipalStatementsModal .field-note {
        color: #64748b !important;
      }
      #myStoriesModal .author-hub-story-list .story-item,
      #municipalStatementsModal .story-item {
        background: #ffffff !important;
        border: 1px solid rgba(27, 77, 114, 0.12) !important;
        border-radius: 10px !important;
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05) !important;
      }
      #myStoriesModal .author-hub-story-list .story-item-title,
      #municipalStatementsModal .story-item-title {
        color: #1b4d72 !important;
        font-size: calc(1em + 1.5pt) !important;
        font-weight: 700 !important;
      }
      #myStoriesModal .author-hub-story-list .story-item-meta,
      #municipalStatementsModal .story-item-meta {
        color: #475569 !important;
      }
      #myStoriesModal #myStoriesSearchInput {
        border-color: rgba(27, 77, 114, 0.28) !important;
      }
      #myStoriesModal #myStoriesSearchInput:focus {
        border-color: #1b4d72 !important;
        outline: 2px solid rgba(27, 77, 114, 0.15);
      }
      #municipalStatementsModal .modal-actions {
        background: transparent !important;
      }
      #municipalStatementsModal #closeMunicipalStatementsBtn.primary {
        background: var(--color-accent) !important;
        border: 2px solid var(--color-accent) !important;
        color: #ffffff !important;
        box-shadow: 0 2px 8px rgba(155, 28, 49, 0.28) !important;
      }
      #municipalStatementsModal #closeMunicipalStatementsBtn.primary:hover {
        filter: brightness(0.92);
        color: #ffffff !important;
      }
      #storyDetailModal {
        z-index: 10080 !important;
      }
      /* CMS stránka z patičky / z detailu příběhu — nad kartou příběhu (10080), pod vyššími systémovými vrstvami. */
      #contentPageModal.modal-backdrop {
        z-index: 28000 !important;
        padding-left: max(10px, env(safe-area-inset-left, 0px));
        padding-right: max(10px, env(safe-area-inset-right, 0px));
        padding-top: max(10px, env(safe-area-inset-top, 0px));
        padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
        pointer-events: auto !important;
      }
      #contentPageModal.modal-backdrop[aria-hidden="false"] {
        display: grid !important;
        visibility: visible !important;
      }
      #contentPageModal.modal-backdrop[aria-hidden="false"] .modal.public-cms-page-modal,
      #contentPageModal.modal-backdrop[aria-hidden="false"] .modal.public-cms-page-modal button {
        pointer-events: auto !important;
      }
      #municipalityPublicProfileModal.modal-backdrop {
        z-index: 13250 !important;
      }
      #municipalityPublicProfileModal .modal.municipality-public-profile-modal[data-mp-window] {
        width: var(--mp-modal-fluid-w) !important;
        max-width: 100% !important;
        max-height: var(--mp-modal-fluid-h) !important;
        background: #ffffff !important;
        pointer-events: auto !important;
        padding: 0 !important;
        overflow: hidden !important;
      }
      /* Modrá lišta od okraje k okraji — nadpis | odznak | křížek (stejný vzor jako ostatní mp-window). */
      #municipalityPublicProfileModal .municipality-public-profile-chrome.author-hub-modal__hero.mp-window__chrome {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, auto) !important;
        align-items: center !important;
        gap: 10px !important;
        border-radius: 0 !important;
      }
      #municipalityPublicProfileModal .municipality-public-profile-chrome .author-hub-modal__hero-title {
        grid-column: 1;
        justify-self: start;
        font-size: 1.28rem !important;
      }
      #municipalityPublicProfileModal .municipality-public-profile-chrome .author-hub-modal__badge {
        grid-column: 2;
        justify-self: center;
        margin: 0 !important;
      }
      #municipalityPublicProfileModal .municipality-public-profile-chrome .mp-window__close {
        grid-column: 3;
        justify-self: end;
        order: unset !important;
        margin-left: 0 !important;
      }
      #municipalityPublicProfileModal .municipality-public-profile-body__mount {
        display: block;
        min-height: 0;
        width: 100%;
      }
      #municipalityPublicProfileModal .municipality-public-profile-modal__actions {
        justify-content: space-between !important;
      }
      #municipalityPublicProfileModal .municipality-public-profile-modal__actions button {
        pointer-events: auto !important;
        cursor: pointer;
      }

      /* Můj profil / Moje příběhy — stejný vizuální jazyk jako veřejný Profil obce (partner-card). */
      #myProfileModal.modal-backdrop,
      #myStoriesModal.modal-backdrop {
        padding-left: max(10px, env(safe-area-inset-left, 0px));
        padding-right: max(10px, env(safe-area-inset-right, 0px));
        padding-top: max(10px, env(safe-area-inset-top, 0px));
        padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
      }
      .author-hub-modal {
        --author-hub-blue: #1b4d72;
        --author-hub-red: #961f33;
        --author-hub-muted: #64748b;
        --author-hub-surface: #fafafa;
        position: relative;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        background: #ffffff !important;
        border: 1px solid rgba(27, 77, 114, 0.12) !important;
        border-radius: 12px !important;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08) !important;
        box-sizing: border-box;
      }
      .author-hub-modal__hero {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
        gap: 10px;
        flex: 0 0 auto;
        margin: 0;
        padding: 16px 18px;
        background-color: var(--author-hub-blue);
        color: #ffffff;
        border-radius: 8px 8px 0 0;
      }
      .author-hub-modal__hero-title {
        grid-column: 1;
        margin: 0;
        font-size: 1.28rem;
        font-weight: 700;
        line-height: 1.25;
        color: #ffffff !important;
        justify-self: start;
      }
      .author-hub-modal__badge {
        grid-column: 2;
        justify-self: center;
        display: inline-block;
        padding: 5px 10px;
        border-radius: 999px;
        background-color: var(--author-hub-red);
        color: #ffffff !important;
        font-size: 0.62rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        line-height: 1.2;
        white-space: nowrap;
      }
      .author-hub-modal__intro {
        flex: 0 0 auto;
        margin: 0;
        padding: 12px 16px 0;
        font-size: 12.5px;
        line-height: 1.45;
        color: #2d3748 !important;
      }
      .author-hub-modal__info {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 12px;
        align-items: stretch;
        flex: 0 0 auto;
        padding: 14px 16px;
        background-color: var(--author-hub-surface);
        border-bottom: 1px solid rgba(27, 77, 114, 0.08);
      }
      .author-hub-stat {
        flex: 1 1 140px;
        min-width: 0;
        background: #ffffff;
        border-radius: 10px;
        padding: 10px 12px;
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
        border: 1px solid rgba(27, 77, 114, 0.08);
        text-align: center;
      }
      .author-hub-stat--nickname .author-hub-stat__value {
        font-size: 1.05rem;
        font-weight: 700;
        line-height: 1.25;
        overflow-wrap: anywhere;
      }
      .author-hub-stat__value {
        display: block;
        font-size: 1.55rem;
        font-weight: 800;
        line-height: 1.1;
        margin-bottom: 4px;
      }
      .author-hub-stat__value--blue {
        color: var(--author-hub-blue) !important;
      }
      .author-hub-stat__value--accent {
        color: var(--author-hub-red) !important;
      }
      .author-hub-stat__label {
        display: block;
        font-size: 0.68rem;
        color: var(--author-hub-muted) !important;
        line-height: 1.3;
        font-weight: 600;
        letter-spacing: 0.02em;
      }
      .author-hub-modal__body {
        flex: 1 1 auto;
        min-height: 0;
        overflow: visible;
        padding: 12px 14px 10px;
        background: #ffffff;
      }
      .author-hub-modal--profile .author-hub-modal__body {
        padding-top: 8px;
      }
      .author-hub-panel {
        margin: 0 0 12px;
        padding: 12px 14px;
        border-radius: 10px;
        background: #f1f5f9;
        border: 1px solid rgba(27, 77, 114, 0.12);
      }
      .author-hub-panel label,
      .author-hub-panel .field-note {
        color: #334155 !important;
      }
      .author-hub-modal__actions {
        flex: 0 0 auto;
        margin-top: 0 !important;
        padding: 10px 14px 12px !important;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
        background: #ffffff !important;
        gap: 10px;
      }
      .author-hub-modal__actions .primary {
        background: linear-gradient(180deg, #b3243d 0%, var(--author-hub-red) 52%, #851a28 100%) !important;
        border-color: var(--author-hub-red) !important;
        color: #ffffff !important;
        box-shadow: 0 2px 8px rgba(150, 31, 51, 0.28) !important;
      }
      .author-hub-modal__actions .secondary {
        border-color: rgba(27, 77, 114, 0.35) !important;
        color: var(--author-hub-blue) !important;
        background: #ffffff !important;
      }
      #myProfileModal .author-hub-modal .form-section {
        border-radius: 10px;
        border: 1px solid rgba(27, 77, 114, 0.12);
        box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
      }
      #myProfileModal .author-hub-modal .form-section.warm {
        border-color: rgba(27, 77, 114, 0.18);
        background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
      }
      #myProfileModal .author-hub-modal .form-section.green {
        border-color: rgba(150, 31, 51, 0.2);
        background: linear-gradient(180deg, #fff5f5 0%, #ffffff 100%);
      }
      #myProfileModal .author-hub-modal .form-section.meta-panel,
      #myProfileModal .author-hub-modal .profile-deep-section {
        border-color: rgba(27, 77, 114, 0.14);
        background: #f8fafc;
      }
      #myProfileModal .author-hub-modal .form-section h3 {
        color: var(--author-hub-blue) !important;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
      }
      #myProfileModal .author-hub-modal .field-note {
        color: var(--author-hub-muted) !important;
      }
      #myProfileModal .author-hub-modal input,
      #myProfileModal .author-hub-modal select,
      #myProfileModal .author-hub-modal textarea {
        border-color: rgba(27, 77, 114, 0.22) !important;
        background: #ffffff !important;
      }
      #myProfileModal .author-hub-modal input:focus,
      #myProfileModal .author-hub-modal select:focus,
      #myProfileModal .author-hub-modal textarea:focus {
        border-color: var(--author-hub-blue) !important;
        outline: 2px solid rgba(27, 77, 114, 0.18);
        outline-offset: 1px;
      }
      #myProfileModal .profile-completion-shell {
        border-color: rgba(27, 77, 114, 0.14);
        background: linear-gradient(165deg, #ffffff 0%, #f1f5f9 100%);
      }
      #myProfileModal .profile-completion-shell__percent {
        color: var(--author-hub-blue) !important;
      }
      #myProfileModal .profile-completion-ruler__fill {
        background: linear-gradient(90deg, var(--author-hub-blue), var(--author-hub-red));
      }
      #myProfileModal .my-profile-author-status-badge {
        border-color: rgba(27, 77, 114, 0.2);
        background: #f1f5f9;
        color: var(--author-hub-blue);
      }
      #myProfileModal .profile-avatar-preview-wrap {
        border-color: rgba(27, 77, 114, 0.25);
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
      }
      #myStoriesModal .author-hub-modal {
        width: min(1220px, calc(100vw - 20px)) !important;
        max-height: min(88vh, 900px) !important;
      }
      #myProfileModal .author-hub-modal {
        width: var(--mp-modal-fluid-w) !important;
        max-width: 100% !important;
        max-height: var(--mp-modal-fluid-h) !important;
      }
      #contactMunicipalityModal.modal-backdrop {
        z-index: 13280 !important;
      }
      #myStoriesModal #myStoriesSearchInput {
        border: 1px solid rgba(27, 77, 114, 0.28) !important;
        background: #ffffff !important;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06) !important;
      }
      #municipalStatementsModal #municipalStatementsSearchInput {
        border: 1px solid rgba(0, 0, 0, 0.35) !important;
        background: rgba(255, 255, 255, 0.98) !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
      }
      #myStoriesModal .story-list,
      #municipalStatementsModal .story-list,
      #curatorExportModal .curator-export-preview-list {
        gap: 6px !important;
      }
      #curatorExportModal .curator-export-preview-list {
        max-height: min(50vh, 420px);
        overflow-y: auto;
        margin-top: 6px;
      }
      #myStoriesModal .story-item,
      #municipalStatementsModal .story-item,
      #curatorExportModal .story-item {
        cursor: pointer;
      }
      #curatorExportModal .story-item-meta-row {
        overflow: visible !important;
        flex-wrap: wrap;
        row-gap: 8px;
      }
      #curatorExportModal .story-item-line--main {
        flex: 1 1 160px;
        min-width: 0;
      }
      #curatorExportModal .my-story-row-actions {
        cursor: default;
      }
      #myStoriesModal .my-story-row-actions {
        cursor: default;
      }
      #myStoriesModal .story-item-meta-row {
        overflow: visible !important;
        flex-wrap: wrap;
        row-gap: 8px;
      }
      #myStoriesModal .story-item-line--main {
        flex: 1 1 160px;
        min-width: 0;
      }
      .my-story-row-actions {
        flex: 0 0 auto;
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        align-items: center;
        margin-left: auto;
      }
      .my-story-action-btn {
        font-size: 12px;
        padding: 5px 9px;
      }
      .my-story-action-btn--danger {
        color: #b91c1c !important;
        border-color: rgba(185, 28, 28, 0.45) !important;
      }
      #myStoriesModal .story-item-line {
        white-space: normal !important;
        flex-wrap: wrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
        row-gap: 4px;
      }
      /* 6) Čitelnost textů ve výpisu pod hvězdicí */
      #spotModal .story-item,
      #spotModal .story-item * {
        color: #1a1a1a !important;
      }
      #spotModal .story-item-title {
        color: #8d4525 !important;
      }
      #spotModal .story-item-meta {
        color: #374151 !important;
      }
      #spotModal .story-item-sep {
        color: #6b7280 !important;
      }
      #spotModal .story-item-meta-row {
        flex-wrap: wrap;
        row-gap: 8px;
      }
      #spotModal .story-item-line--main {
        flex: 1 1 160px;
        min-width: 0;
      }
      #spotModal .story-item-open-btn {
        margin-left: auto;
      }
      /* Levý dock (desktop): Tok času + Filtr příběhů */
      .hud-left-edge-dock {
        display: none;
      }
      .hud-edge-tool-btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0;
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
        margin: 0;
        padding: 0;
        border-radius: 10px;
        border: 1px solid rgba(0, 0, 0, 0.2);
        cursor: pointer;
        text-align: center;
        line-height: 1.2;
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.14);
        min-height: 76px;
        font-family: inherit;
      }
      .hud-edge-tool-btn__row {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        width: 100%;
        padding: 10px 8px 11px;
        box-sizing: border-box;
      }
      .hud-edge-tool-btn__icon {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        width: 28px;
        height: 28px;
      }
      .hud-edge-tool-btn__icon svg {
        display: block;
        width: 28px;
        height: 28px;
      }
      .hud-edge-tool-btn__label {
        display: block;
        width: 100%;
        max-width: 100%;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        text-align: center;
        white-space: normal;
        overflow-wrap: anywhere;
        line-height: 1.25;
        hyphens: auto;
      }
      .hud-edge-tool-btn--time {
        border-color: #163e5c;
        background: linear-gradient(180deg, #1b4d72 0%, #163e5c 100%);
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      .hud-edge-tool-btn--time .hud-edge-tool-btn__icon {
        color: #ffffff;
      }
      .hud-edge-tool-btn--time:hover,
      .hud-edge-tool-btn--time:focus-visible {
        filter: brightness(1.06);
      }
      .hud-edge-tool-btn--filter {
        background: rgba(255, 255, 255, 0.94);
        color: #1e293b !important;
        -webkit-text-fill-color: #1e293b !important;
      }
      .hud-edge-tool-btn--filter .hud-edge-tool-btn__icon {
        color: #1b4d72;
      }
      .hud-edge-tool-btn--filter:hover,
      .hud-edge-tool-btn--filter:focus-visible {
        background: #ffffff;
        border-color: rgba(0, 0, 0, 0.28);
      }
      .hud-edge-tool-btn:focus-visible {
        outline: none;
        box-shadow: 0 0 0 3px rgba(147, 197, 253, 0.45), 0 3px 10px rgba(0, 0, 0, 0.14);
      }
      .map-flow-launch-panel-btn {
        width: 100%;
        box-sizing: border-box;
        margin: 0;
        padding: 13px 14px 14px;
        border-radius: 10px;
        border: 1px solid #163e5c;
        background: linear-gradient(180deg, #1b4d72 0%, #163e5c 100%);
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        font-size: 14px;
        font-weight: 800;
        line-height: 1.25;
        cursor: pointer;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
        letter-spacing: 0.11em;
        text-transform: uppercase;
        text-align: center;
      }
      .map-flow-launch-panel-btn:hover,
      .map-flow-launch-panel-btn:focus-visible {
        filter: brightness(1.06);
      }
      .map-flow-launch-panel-btn:focus-visible {
        box-shadow: 0 0 0 3px rgba(147, 197, 253, 0.55), 0 4px 14px rgba(0, 0, 0, 0.22);
        outline: none;
      }
      @media (max-width: 1199px) {
        /*
         * Menu Informace (☰) zůstává v .hud-map-corner-actions jako poslední ikona sloupce vlevo dole.
         * Tok času jen vpravo vedle něj — stejná výška nad patičkou, mezera 14px.
         */
        .hud-left-edge-dock {
          display: block;
          position: static;
          width: 0;
          height: 0;
          overflow: visible;
          pointer-events: none;
        }
        .hud-left-edge-dock #desktopOpenFiltersBtn {
          display: none !important;
        }
        .hud-left-edge-dock #openMapFlowTimelineBtn {
          pointer-events: auto;
          position: fixed;
          /* Pod menu ☰ (48px) + mezera — proměnná --hud-map-corner-thumb tu není v scope. */
          z-index: 4399;
          left: calc(var(--hud-edge) + 48px + 14px);
          bottom: calc(var(--hud-footer-ribbon-h) + env(safe-area-inset-bottom, 0px) + 14px);
          top: auto !important;
          right: auto !important;
          margin: 0 !important;
          min-height: 48px;
          height: 48px;
          width: auto !important;
          min-width: 48px;
          max-width: min(46vw, 168px);
          box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
        }
        .hud-left-edge-dock #openMapFlowTimelineBtn .hud-edge-tool-btn__row {
          flex-direction: row;
          align-items: center;
          justify-content: center;
          gap: 5px;
          height: 100%;
          padding: 0 10px;
        }
        .hud-left-edge-dock #openMapFlowTimelineBtn .hud-edge-tool-btn__icon {
          width: 22px;
          height: 22px;
        }
        .hud-left-edge-dock #openMapFlowTimelineBtn .hud-edge-tool-btn__icon svg {
          width: 22px;
          height: 22px;
        }
        .hud-left-edge-dock #openMapFlowTimelineBtn .hud-edge-tool-btn__label {
          font-size: 9px;
          white-space: nowrap;
        }
      }
      @media (min-width: 1200px) {
        .hud-left-edge-dock {
          display: flex;
          flex-direction: column;
          gap: 8px;
          position: fixed;
          z-index: 4110;
          top: calc(var(--hud-edge) + var(--hud-header-block-h) + var(--hud-desktop-below-header-gap));
          left: var(--hud-edge);
          width: 118px;
          pointer-events: none;
        }
        .hud-left-edge-dock > * {
          pointer-events: auto;
        }
        body.site-global .hud-column-left,
        body.site-mistopribeh .hud-column-left {
          --hud-desktop-filter-dock-w: 118px;
          --hud-desktop-filter-dock-gap: 14px;
          --hud-desktop-filter-panel-w: 520px;
          /* + řádek souhrnu nad patičkou (~36px) + malá rezerva */
          --hud-desktop-filter-panel-max-h: 348px;
          --hud-desktop-filter-panel-max-h-expanded: 394px;
          --hud-desktop-filter-panel-max-h-interval: 424px;
          left: calc(var(--hud-edge) + var(--hud-desktop-filter-dock-w) + var(--hud-desktop-filter-dock-gap));
          /* Přebije kompaktní šířku 268px z @media (min-width: 900px) — jinak panel zůstane úzký s posuvníky. */
          width: min(
            var(--hud-desktop-filter-panel-w),
            calc(100vw - var(--hud-edge) * 2 - var(--hud-desktop-filter-dock-w) - var(--hud-desktop-filter-dock-gap) - 30px)
          ) !important;
          min-width: min(
            var(--hud-desktop-filter-panel-w),
            calc(100vw - var(--hud-edge) * 2 - var(--hud-desktop-filter-dock-w) - var(--hud-desktop-filter-dock-gap) - 30px)
          ) !important;
          max-width: none !important;
          max-height: var(--hud-desktop-filter-panel-max-h) !important;
          height: auto !important;
          min-height: 0 !important;
          bottom: auto !important;
          overflow: visible !important;
          overflow-x: visible !important;
          overflow-y: visible !important;
          opacity: 0;
          visibility: hidden;
          pointer-events: none;
          transform: translateX(-12px);
          transition:
            opacity 0.18s ease,
            transform 0.18s ease,
            visibility 0.18s ease;
        }
        body.desktop-left-open.site-global .hud-column-left,
        body.desktop-left-open.site-mistopribeh .hud-column-left {
          opacity: 1;
          visibility: visible;
          pointer-events: auto;
          transform: none;
        }
        body.desktop-left-open .hud-left-backdrop {
          opacity: 1;
          pointer-events: auto;
        }
        body.desktop-left-open.site-global {
          --hud-left-filter-column-w: min(
            520px,
            calc(100vw - var(--hud-edge) * 2 - var(--hud-desktop-filter-dock-w, 118px) - var(--hud-desktop-filter-dock-gap, 14px) - 30px)
          );
        }
        body.desktop-left-open.site-mistopribeh {
          --hud-left-filter-column-w: min(
            520px,
            calc(100vw - var(--hud-edge) * 2 - var(--hud-desktop-filter-dock-w, 118px) - var(--hud-desktop-filter-dock-gap, 14px) - 30px)
          );
        }
        body.desktop-left-open.site-global .leaflet-container .leaflet-bottom.leaflet-left,
        body.desktop-left-open.site-mistopribeh .leaflet-container .leaflet-bottom.leaflet-left {
          left: var(--hud-edge);
        }
        .desktop-filter-chrome {
          display: flex;
        }
        body.site-global #hudLeftColumn.hud-column-left:has(.hud-filter-time-dates > .field:not(.hidden)),
        body.site-mistopribeh #hudLeftColumn.hud-column-left:has(.hud-filter-time-dates > .field:not(.hidden)) {
          --hud-desktop-filter-panel-max-h: var(--hud-desktop-filter-panel-max-h-expanded, 338px);
        }
        body.site-global #hudLeftColumn.hud-column-left:has(.hud-filter-time-dates > .field:not(.hidden) ~ .field:not(.hidden)),
        body.site-mistopribeh #hudLeftColumn.hud-column-left:has(.hud-filter-time-dates > .field:not(.hidden) ~ .field:not(.hidden)) {
          --hud-desktop-filter-panel-max-h: var(--hud-desktop-filter-panel-max-h-interval, 368px);
        }
        body.site-global #hudLeftColumn.hud-column-left > .hud-filter-panel-card.hud-left-stack,
        body.site-mistopribeh #hudLeftColumn.hud-column-left > .hud-filter-panel-card.hud-left-stack {
          display: grid !important;
          grid-template-rows: auto auto auto auto;
          width: 100% !important;
          max-width: 100% !important;
          max-height: var(--hud-desktop-filter-panel-max-h, 320px) !important;
          height: auto !important;
          overflow: hidden;
          padding: 0 !important;
          gap: 2px !important;
          box-sizing: border-box;
          background: #1b4d72 !important;
          backdrop-filter: none !important;
          -webkit-backdrop-filter: none !important;
          border-color: rgba(255, 255, 255, 0.22) !important;
          color: #ffffff !important;
        }
        .hud-filter-panel-card > .hud-filter-panel__head {
          grid-row: 1;
        }
        .hud-filter-panel-card > .hud-filter-panel__body {
          grid-row: 2;
        }
        .hud-filter-panel-card > .hud-filter-panel__summary {
          grid-row: 3;
        }
        .hud-filter-panel-card > .hud-filter-panel__foot {
          grid-row: 4;
        }
        .hud-filter-panel-card > .hud-filter-panel__summary {
          display: block !important;
          margin: 0;
          padding: 6px 12px 7px;
          font-size: 10px;
          line-height: 1.4;
          font-weight: 600;
          color: rgba(210, 228, 245, 0.92) !important;
          -webkit-text-fill-color: rgba(210, 228, 245, 0.92) !important;
          border-top: 1px solid rgba(255, 255, 255, 0.14);
          background: rgba(0, 0, 0, 0.06);
          flex-shrink: 0;
          min-height: 0;
        }
        .hud-filter-panel-card > .hud-filter-panel__foot {
          padding-bottom: 7px !important;
        }
        .hud-filter-panel__head {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 8px;
          flex: 0 0 auto;
          padding: 5px 8px 5px 10px;
          background: #961f33 !important;
          border-bottom: 1px solid rgba(255, 255, 255, 0.22);
        }
        .hud-filter-panel__title {
          margin: 0;
          font-size: 11px;
          font-weight: 800;
          letter-spacing: 0.06em;
          text-transform: uppercase;
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
        }
        .hud-filter-panel__close-x.spot-modal-close-x {
          position: static;
          flex-shrink: 0;
          margin: 0;
          width: 30px;
          height: 30px;
          min-width: 30px;
          min-height: 30px;
          font-size: 1.15rem;
          line-height: 1;
          background: var(--mp-window-close-bg, #ffffff) !important;
          color: var(--mp-window-close-fg, #111827) !important;
          -webkit-text-fill-color: var(--mp-window-close-fg, #111827) !important;
          border: var(--mp-window-close-border, 1px solid rgba(17, 24, 39, 0.16)) !important;
          box-shadow: var(--mp-window-close-shadow, 0 2px 12px rgba(0, 0, 0, 0.22));
        }
        .hud-filter-panel__close-x.spot-modal-close-x:hover {
          filter: brightness(0.94);
        }
        .hud-filter-panel__body {
          min-height: 0;
          overflow: hidden;
          padding: 8px 12px 4px;
        }
        /* Řádek čas + hledání, pod ním kompaktní kategorie 3×2 se zaškrtávátky. */
        .hud-filter-layout {
          display: block;
          min-width: 0;
          width: 100%;
        }
        .hud-filter-block-main {
          display: flex;
          flex-direction: column;
          gap: 6px;
          min-width: 0;
        }
        .hud-filter-row-top {
          display: grid;
          grid-template-columns: 138px minmax(0, 1fr);
          grid-template-rows: auto minmax(28px, auto);
          column-gap: 12px;
          row-gap: 4px;
          align-items: start;
          width: 100%;
          min-width: 0;
        }
        .hud-filter-top-title--time {
          grid-column: 1;
          grid-row: 1;
        }
        .hud-filter-top-title--keyword {
          grid-column: 2;
          grid-row: 1;
        }
        .hud-filter-top-cell--time {
          grid-column: 1;
          grid-row: 2;
        }
        .hud-filter-top-cell--keyword {
          grid-column: 2;
          grid-row: 2;
        }
        .hud-filter-top-title,
        .hud-filter-top-cell,
        .hud-filter-col {
          margin-top: 0 !important;
          padding: 0;
          border-top: 0 !important;
          border-left: 0;
          overflow: visible;
          min-width: 0;
        }
        .hud-filter-top-cell {
          display: flex;
          flex-direction: column;
          justify-content: flex-start;
          align-self: stretch;
        }
        .hud-filter-col--categories {
          width: 100%;
          flex: 0 0 auto;
        }
        .hud-filter-col .hud-section-title {
          margin: 0 0 4px;
          font-size: 9px;
          letter-spacing: 0.07em;
          line-height: 1.2;
          flex: 0 0 auto;
          min-height: 12px;
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
        }
        .hud-filter-col .field {
          margin-bottom: 4px;
          flex: 0 0 auto;
        }
        .hud-filter-col .field:last-child {
          margin-bottom: 0;
        }
        .hud-filter-col .field label {
          font-size: 10px;
          line-height: 1.2;
          margin-bottom: 2px;
        }
        .hud-filter-label--long {
          display: none;
        }
        .hud-section-title--keyword {
          display: block;
        }
        .hud-filter-col .hud-card select,
        .hud-filter-col .hud-card input[type="text"],
        .hud-filter-col .hud-card input[type="search"],
        .hud-filter-col .hud-card input[type="date"] {
          width: 100%;
          min-height: 26px;
          height: 26px;
          padding: 2px 5px;
          font-size: 11px;
          border-radius: 6px;
          box-sizing: border-box;
        }
        .hud-filter-top-cell--time .filter-panel--header {
          display: flex;
          flex-direction: column;
          gap: 4px;
          flex: 0 0 auto;
          margin: 0;
        }
        .hud-filter-top-cell--time .field:first-of-type {
          margin-bottom: 0;
        }
        .hud-filter-top-cell--time .field:first-of-type label {
          display: none;
        }
        .hud-filter-top-title {
          margin: 0;
          font-size: 9px;
          letter-spacing: 0.07em;
          line-height: 1.2;
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-filter-col--categories > .hud-section-title,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-filter-col--categories > .hud-section-title {
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
        }
        .hud-filter-time-dates {
          display: flex;
          flex-direction: row;
          flex-wrap: nowrap;
          gap: 4px;
          align-items: flex-end;
        }
        .hud-filter-time-dates:not(:has(> .field:not(.hidden))) {
          display: none;
          height: 0;
          margin: 0;
          padding: 0;
        }
        .hud-filter-time-dates .field {
          flex: 1 1 0;
          min-width: 0;
          margin-bottom: 0;
        }
        .hud-filter-time-dates .field.hidden {
          display: none;
        }
        /* Interval: Od + Do vedle sebe se do 138px nevejdou — pod sebe, plná šířka sloupce. */
        .hud-filter-time-dates:has(> .field:not(.hidden) ~ .field:not(.hidden)) {
          flex-direction: column;
          flex-wrap: nowrap;
          align-items: stretch;
          gap: 3px;
          width: 100%;
          min-width: 0;
        }
        .hud-filter-time-dates:has(> .field:not(.hidden) ~ .field:not(.hidden)) .field {
          flex: 0 0 auto;
          width: 100%;
          max-width: 100%;
        }
        .hud-filter-time-dates .field label {
          font-size: 9px;
          margin-bottom: 1px;
        }
        .hud-filter-time-dates input[type="date"] {
          min-height: 24px;
          height: 24px;
          padding: 1px 3px;
          font-size: 10px;
          width: 100%;
          max-width: 100%;
          box-sizing: border-box;
        }
        .hud-filter-col .field-note,
        .hud-filter-top-cell .field-note,
        #mapKeywordSearchResult {
          display: none !important;
        }
        .hud-filter-top-cell--keyword .field {
          margin: 0;
        }
        .hud-filter-top-cell select,
        .hud-filter-top-cell input[type="text"],
        .hud-filter-top-cell input[type="search"],
        .hud-filter-top-cell input[type="date"] {
          width: 100%;
          min-height: 26px;
          height: 26px;
          padding: 2px 5px;
          font-size: 11px;
          border-radius: 6px;
          box-sizing: border-box;
        }
        .hud-filter-col .hud-category-intro {
          display: none;
        }
        .hud-filter-col--categories .hud-section-title {
          margin-bottom: 3px;
        }
        .hud-filter-col--categories .hud-category-fieldset {
          flex: 0 0 auto;
          margin: 0;
          padding: 0;
          border: 0;
        }
        .hud-filter-col #categoryFilterList {
          display: grid;
          grid-template-columns: repeat(3, minmax(0, 1fr));
          grid-template-rows: repeat(2, auto);
          gap: 4px 6px;
          width: 100%;
        }
        .hud-filter-panel__foot {
          display: flex;
          flex: 0 0 auto;
          flex-wrap: nowrap;
          align-items: center;
          justify-content: flex-end;
          gap: 6px;
          padding: 5px 8px 6px;
          border-top: 1px solid rgba(255, 255, 255, 0.18);
          position: relative;
          z-index: 3;
          background: #1b4d72;
        }
        .hud-filter-panel__reset-btn {
          margin-right: auto;
          min-height: 28px;
          padding: 3px 10px;
          font-size: 10px;
          letter-spacing: 0.05em;
        }
        body.site-global #hudLeftColumn .hud-filter-panel__close-btn.secondary,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel__close-btn.secondary {
          display: inline-flex !important;
          align-items: center !important;
          justify-content: center !important;
          min-height: 28px;
          height: 28px;
          padding: 0 14px !important;
          font-size: 11px;
          font-weight: 700;
          line-height: 1 !important;
          text-align: center;
          box-sizing: border-box;
          background: linear-gradient(180deg, #961f33 0%, #7a1829 100%) !important;
          border: 1px solid #7a1829 !important;
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
        }
        body.site-global #hudLeftColumn .hud-filter-panel__close-btn.secondary:hover,
        body.site-global #hudLeftColumn .hud-filter-panel__close-btn.secondary:focus-visible,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel__close-btn.secondary:hover,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel__close-btn.secondary:focus-visible {
          background: linear-gradient(180deg, #7e1a2b 0%, #681524 100%) !important;
          border-color: #681524 !important;
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
        }
        .mobile-filter-close-btn {
          display: none !important;
        }
        .mobile-filter-done-btn {
          display: none;
        }
        /* Kategorie — poloviční výška, zaškrtávátko vlevo, barvy kategorií */
        #hudLeftColumn .hud-cat-filter-pill.category-card {
          position: relative;
          display: inline-flex;
          align-items: center;
          justify-content: flex-start;
          gap: 5px;
          width: 100%;
          min-height: 0 !important;
          max-height: 24px !important;
          height: 24px !important;
          margin: 0;
          padding: 0 6px 0 3px !important;
          border-radius: 8px;
          border: 1px solid rgba(255, 255, 255, 0.4);
          box-shadow: 0 1px 4px rgba(0, 0, 0, 0.16);
          cursor: pointer;
          text-align: left;
          font-size: 10px;
          font-weight: 700;
          line-height: 1.15;
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
          box-sizing: border-box;
        }
        #hudLeftColumn .hud-cat-filter-pill.category-card.category-card--archiv {
          background: #4b5563 !important;
        }
        #hudLeftColumn .hud-cat-filter-pill.category-card.category-card--stopy {
          background: #a16207 !important;
        }
        #hudLeftColumn .hud-cat-filter-pill.category-card.category-card--puls {
          background: #dc2626 !important;
        }
        #hudLeftColumn .hud-cat-filter-pill.category-card.category-card--krajina {
          background: #16a34a !important;
        }
        #hudLeftColumn .hud-cat-filter-pill.category-card.category-card--mystika {
          background: #7c3aed !important;
        }
        #hudLeftColumn .hud-cat-filter-pill.category-card.category-card--vize {
          background: #0ea5e9 !important;
        }
        #hudLeftColumn .hud-cat-filter-pill.category-card strong,
        #hudLeftColumn .hud-cat-filter-pill__text {
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
          font-size: 10px;
          font-weight: 700;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
          flex: 1 1 auto;
          min-width: 0;
        }
        #hudLeftColumn .hud-cat-filter-pill input[type="checkbox"] {
          position: static !important;
          width: 14px !important;
          height: 14px !important;
          min-width: 14px !important;
          min-height: 14px !important;
          margin: 0 !important;
          padding: 0 !important;
          opacity: 1 !important;
          visibility: visible !important;
          flex: 0 0 auto;
          appearance: auto !important;
          -webkit-appearance: checkbox !important;
          accent-color: #ffffff;
          background: #ffffff;
          border: 1px solid rgba(0, 0, 0, 0.35);
          cursor: pointer;
        }
        #hudLeftColumn .hud-cat-filter-pill.hud-cat-filter-pill--off {
          opacity: 0.42;
          filter: grayscale(0.5) saturate(0.55);
          box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
        }
        #hudLeftColumn .hud-cat-filter-pill.hud-cat-filter-pill--mine {
          border-radius: 10px;
          background: rgba(255, 255, 255, 0.12) !important;
          border: 1px solid rgba(255, 255, 255, 0.28);
          box-shadow: none;
          font-size: 12px;
          font-weight: 600;
        }
        body.mp-subdomain-welcome-on #hudLeftColumn .hud-cat-filter-pill.category-card.category-card--archiv {
          background: #4b5563 !important;
        }
        body.mp-subdomain-welcome-on #hudLeftColumn .hud-cat-filter-pill.category-card.category-card--stopy {
          background: #a16207 !important;
        }
        body.mp-subdomain-welcome-on #hudLeftColumn .hud-cat-filter-pill.category-card.category-card--puls {
          background: #dc2626 !important;
        }
        body.mp-subdomain-welcome-on #hudLeftColumn .hud-cat-filter-pill.category-card.category-card--krajina {
          background: #16a34a !important;
        }
        body.mp-subdomain-welcome-on #hudLeftColumn .hud-cat-filter-pill.category-card.category-card--mystika {
          background: #7c3aed !important;
        }
        body.mp-subdomain-welcome-on #hudLeftColumn .hud-cat-filter-pill.category-card.category-card--vize {
          background: #0ea5e9 !important;
        }
        .header-lang-picker--nav-drawer {
          width: 100%;
          display: flex;
          flex-direction: column;
          gap: 6px;
          padding: 4px 2px 2px;
        }
        .header-lang-picker--nav-drawer label {
          font-size: 12px;
          font-weight: 700;
        }
        .header-lang-picker--nav-drawer select {
          width: 100%;
          min-height: 44px;
        }
        .nav-drawer-lang-li {
          margin-top: 4px;
          padding-top: 8px;
          border-top: 1px solid rgba(0, 0, 0, 0.1);
        }
      }
      .map-flow-timeline-modal .map-flow-category-grid-hint {
        margin: 6px 0 4px;
      }
      .map-flow-timeline-modal .category-card--map-flow-active {
        box-shadow:
          0 0 0 3px rgba(27, 77, 114, 0.55),
          0 10px 28px rgba(0, 0, 0, 0.28);
        outline: 2px solid rgba(15, 23, 42, 0.45);
        outline-offset: 2px;
      }
      .spot-timeline-meta {
        margin-top: 0;
        margin-bottom: 0;
      }
      .spot-timeline-scroll {
        border: 1px solid rgba(15, 23, 42, 0.12);
        border-radius: 12px;
        background: #fff;
      }
      #mapFlowTimelineModal .story-list-panel__body #mapFlowTimelineList.spot-timeline-scroll,
      #spotTimelineModal #spotTimelineList.spot-timeline-scroll {
        max-height: none !important;
        overflow: visible !important;
      }
      #spotTimelineModal .modal.spot-timeline-modal:not([data-mp-window]) {
        display: block !important;
        max-height: var(--mp-modal-fluid-h) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
      }
      .spot-timeline-year {
        padding: 10px 12px 12px;
        border-bottom: 1px solid rgba(15, 23, 42, 0.08);
      }
      .spot-timeline-year--alt {
        background: rgba(59, 130, 246, 0.06);
      }
      .spot-timeline-year-title {
        font-size: 12px;
        font-weight: 700;
        color: #1e3a8a;
        margin-bottom: 8px;
      }
      .spot-timeline-line {
        position: relative;
        margin-left: 8px;
        padding-left: 18px;
        border-left: 2px solid rgba(30, 64, 175, 0.24);
        display: grid;
        gap: 6px;
      }
      .spot-timeline-item {
        position: relative;
        background: rgba(255, 255, 255, 0.96);
        border: 1px solid rgba(15, 23, 42, 0.14);
        border-radius: 8px;
        padding: 5px 8px 6px;
      }
      .spot-timeline-item::before {
        content: "";
        position: absolute;
        left: -25px;
        top: 10px;
        width: 9px;
        height: 9px;
        border-radius: 50%;
        background: #2563eb;
        box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
      }
      .spot-timeline-item-head {
        display: flex;
        align-items: center;
        gap: 6px;
        flex-wrap: wrap;
      }
      .spot-timeline-item-date {
        font-size: 11px;
        font-weight: 700;
        color: #0f172a;
      }
      .spot-timeline-item-title {
        font-size: 13px;
        font-weight: 700;
      }
      .spot-timeline-item-head .story-title-link {
        font-size: 13px;
        font-weight: 700;
        text-align: left;
      }
      .spot-timeline-item-meta {
        margin-top: 4px;
        font-size: 11px;
        color: #475569;
      }
      .spot-timeline-item-bottom {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 8px;
        margin-top: 3px;
        flex-wrap: wrap;
      }
      .spot-timeline-item-meta-line {
        flex: 1 1 0;
        min-width: min(100%, 180px);
        font-size: 10px;
        line-height: 1.3;
        color: #475569;
      }
      .spot-timeline-item-actions-inline {
        display: flex;
        align-items: center;
        gap: 6px;
        flex-shrink: 0;
        margin-left: auto;
      }
      .spot-timeline-item-actions-inline .secondary {
        padding: 3px 8px;
        font-size: 11px;
        line-height: 1.2;
        min-height: 0;
      }
      .spot-timeline-author-inline {
        display: inline-flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 4px 6px;
        vertical-align: middle;
      }
      .spot-timeline-author-label {
        font-weight: 600;
        color: #475569;
      }
      .spot-timeline-item-sep {
        color: #94a3b8;
      }
      .spot-timeline-author-avatar-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 22px;
        height: 22px;
        padding: 0;
        margin: 0 2px 0 0;
        border: 1px solid rgba(15, 23, 42, 0.12);
        border-radius: 50%;
        background: rgba(15, 23, 42, 0.06);
        cursor: pointer;
        overflow: hidden;
        box-sizing: border-box;
        flex-shrink: 0;
        vertical-align: middle;
      }
      .spot-timeline-author-avatar-btn.hidden {
        display: none !important;
      }
      .spot-timeline-author-avatar-img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      #spotTimelineModal .spot-timeline-item .author-name-link,
      #mapFlowTimelineModal .spot-timeline-item .author-name-link {
        color: #1d4ed8;
        font-weight: 600;
      }
      /* Střed hvězdice + karty kategorií: světlý text na tmavém / barevném pozadí (přebije globální .modal … !important) */
      #spotModal .category-center,
      #spotModal .category-center strong,
      #spotModal .category-center span {
        color: #ffffff !important;
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
      }
      #spotModal .category-card,
      #spotModal .category-card strong,
      #spotModal .category-card small {
        color: #ffffff !important;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
      }
      /* 7) Čitelnost textů v detailu příběhu */
      #storyDetailModal .modal h2,
      #storyDetailModal .detail-row,
      #storyDetailModal .detail-label,
      #storyDetailModal #detailStoryCardTitle,
      #storyDetailModal #detailCategory,
      #storyDetailModal #detailAuthor,
      #storyDetailModal #detailAuthor .author-name-link,
      #storyDetailModal .detail-author-avatar-btn,
      #storyDetailModal #detailStoryTags,
      #storyDetailModal #detailStoryTime,
      #storyDetailModal #detailText,
      #storyDetailModal .story-detail-text-body {
        color: #1a1a1a !important;
      }
      #storyDetailModal #detailEditMetaText {
        color: #6b7280 !important;
      }
      .detail-edit-meta {
        margin-top: -4px;
      }
      .detail-edit-meta__text {
        display: block;
        font-size: 11px;
        font-weight: 500;
        line-height: 1.4;
        color: #6b7280;
      }
      #storyDetailModal .modal-actions {
        background: transparent !important;
      }
      /* Detail příběhu — rozměry; layout scrollu řídí mp-window ([data-mp-window]) */
      #storyDetailModal .story-detail-modal {
        width: var(--mp-modal-fluid-w) !important;
        max-width: 100% !important;
        max-height: var(--mp-modal-fluid-h) !important;
        box-sizing: border-box !important;
      }
      /* Legacy fallback jen před upgrade mp-window (nemělo by nastat) */
      #storyDetailModal .story-detail-modal:not([data-mp-window]) {
        display: block !important;
        padding: 10px 12px 10px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
      }
      /* Obecní příběh: žluté okraje a záře po stranách karty detailu (nad bílým obsahem) */
      #storyDetailModal.story-detail-modal--official-municipal .story-detail-modal,
      #storyDetailModal .story-detail-modal.story-detail-modal--official-municipal {
        border-left: 6px solid #eab308 !important;
        border-right: 6px solid #eab308 !important;
        background-color: #fff !important;
        background-image:
          linear-gradient(90deg, rgba(250, 204, 21, 0.5) 0%, rgba(250, 204, 21, 0.12) 80px, transparent 140px),
          linear-gradient(270deg, rgba(250, 204, 21, 0.5) 0%, rgba(250, 204, 21, 0.12) 80px, transparent 140px) !important;
        box-shadow:
          inset 28px 0 72px -20px rgba(250, 204, 21, 0.75),
          inset -28px 0 72px -20px rgba(250, 204, 21, 0.75) !important;
      }
      #storyDetailModal .story-detail-modal > h2,
      #storyDetailModal .story-detail-modal > .mp-window__chrome h2 {
        flex: 0 0 auto;
        margin: 0 0 8px !important;
        font-size: 1.15rem !important;
      }
      #storyDetailModal .story-detail-modal:not([data-mp-window]) > .mp-window__chrome {
        flex: 0 0 auto;
        margin: 0 0 8px !important;
      }
      #storyDetailModal .story-detail-main-wrap {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
      }
      #storyDetailModal .detail-lock-panel {
        overflow: visible;
        padding: 12px 10px 20px;
        max-width: 38rem;
        margin: 0 auto;
        width: 100%;
        box-sizing: border-box;
      }
      #storyDetailModal .detail-lock-panel__lead {
        margin: 0 0 12px;
        font-size: 1.02rem;
        line-height: 1.35;
        color: #111827;
      }
      #storyDetailModal .detail-lock-panel__body {
        margin: 0 0 18px;
        font-size: 0.95rem;
        line-height: 1.55;
        color: #374151;
      }
      #storyDetailModal .story-detail-body {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        gap: 8px;
      }
      #storyDetailModal .story-detail-grid {
        flex: 1;
        min-height: 0;
        display: grid;
        grid-template-columns: minmax(200px, 32%) minmax(0, 1fr);
        grid-template-areas:
          "sd-meta sd-text"
          "sd-vote sd-text"
          "sd-curator sd-text";
        gap: 10px 14px;
        align-items: stretch;
      }
      @media (max-width: 720px) {
        #storyDetailModal .story-detail-grid {
          grid-template-columns: 1fr;
          grid-template-areas:
            "sd-meta"
            "sd-text"
            "sd-vote"
            "sd-curator";
        }
        #storyDetailModal .story-detail-text-col {
          min-height: min(42dvh, 320px);
        }
      }
      #storyDetailModal .story-detail-meta-col {
        grid-area: sd-meta;
        display: flex;
        flex-direction: column;
        gap: 8px;
        min-width: 0;
        overflow: visible;
      }
      #storyDetailModal .story-detail-meta-block .detail-row {
        margin: 3px 0 !important;
        font-size: 12px !important;
        line-height: 1.35;
      }
      #storyDetailModal .detail-story-title-block {
        margin: 0 0 6px;
      }
      #storyDetailModal #detailStoryCardTitle {
        margin: 0 !important;
        font-size: 1.2rem !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
        color: #7c3a1c !important;
        letter-spacing: -0.01em;
      }
      #reportStoryModal .report-story-modal {
        width: min(405px, var(--mp-modal-fluid-w));
        max-height: min(90dvh, 640px);
        overflow: auto;
      }
      #reportStoryModal .report-story-form .field-note {
        font-size: 12px;
        margin-top: 4px;
      }
      #reportStoryModal .report-story-reasons {
        border: 1px solid rgba(0, 0, 0, 0.12);
        border-radius: 8px;
        padding: 10px 12px;
        margin: 0;
      }
      #reportStoryModal .report-story-reasons legend {
        font-weight: 700;
        font-size: 13px;
        padding: 0 4px;
      }
      #reportStoryModal .report-reason-option {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        margin: 8px 0;
        font-size: 13px;
        line-height: 1.35;
      }
      #reportStoryModal .report-reason-option input {
        margin-top: 3px;
        flex-shrink: 0;
      }
      #storyDetailModal .story-detail-text-col {
        grid-area: sd-text;
        display: flex;
        flex-direction: column;
        min-width: 0;
        min-height: 0;
      }
      #storyDetailModal .story-detail-text-heading {
        flex: 0 0 auto;
        font-size: 12px;
        font-weight: 700;
        margin: 0 0 4px;
        color: #1a1a1a !important;
      }
      #storyDetailModal .story-detail-text-scroll {
        overflow: visible;
        padding: 8px 10px;
        border-radius: 8px;
        border: 1px solid rgba(0, 0, 0, 0.14);
        background: rgba(255, 255, 255, 0.75);
        box-sizing: border-box;
      }
      #storyDetailModal .story-detail-text-body {
        font-size: 14px;
        line-height: 1.5;
        white-space: pre-wrap;
        word-break: break-word;
      }
      #storyDetailModal .detail-photo-thumbs-row {
        align-items: center;
      }
      #storyDetailModal .detail-photo-thumbs {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        align-items: center;
      }
      #storyDetailModal .detail-photo-thumb-btn {
        width: 44px;
        height: 44px;
        padding: 0;
        border-radius: 8px;
        overflow: hidden;
        border: 2px solid rgba(0, 0, 0, 0.18);
        background: rgba(15, 23, 42, 0.06);
        cursor: pointer;
        flex-shrink: 0;
      }
      #storyDetailModal .detail-photo-thumb-btn img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
      }
      #storyDetailModal .detail-photo-thumb-btn:focus-visible {
        outline: 2px solid var(--color-accent, #9b1c31);
        outline-offset: 2px;
      }
      /* Nad #storyDetailModal (10080), aby fotka nebyla skrytá za kartou; pod #detailVoteHelpModal (10120). */
      #detailStoryPhotoViewerModal.detail-story-photo-viewer-backdrop {
        z-index: 10100 !important;
        place-items: center;
      }
      /* Nad #storyDetailModal (10080), jinak klik „Nahlásit příběh“ otevře formulář pod kartou detailu. */
      #reportStoryModal.report-story-backdrop {
        z-index: 10110;
        place-items: center;
      }
      #reportStoryModal .report-reason-hint {
        font-weight: 500;
        color: #4b5563;
      }
      #reportStoryCuratorPriorityNote {
        margin: 0 0 10px;
        padding: 8px 10px;
        font-size: 0.85rem;
        line-height: 1.35;
        border-radius: 8px;
        background: rgba(155, 28, 49, 0.08);
        border: 1px solid rgba(155, 28, 49, 0.22);
      }
      .story-item--detail-locked {
        opacity: 0.72;
      }
      .story-item--detail-locked .story-item-open-btn {
        pointer-events: none;
        cursor: not-allowed;
      }
      .story-item-official-pill {
        display: inline-block;
        margin-left: 6px;
        padding: 1px 7px;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.02em;
        text-transform: uppercase;
        border-radius: 999px;
        vertical-align: middle;
        background: rgba(30, 64, 110, 0.12);
        color: #1e3a5f;
        border: 1px solid rgba(30, 64, 110, 0.25);
      }
      .detail-official-pill {
        display: inline-block;
        margin-left: 8px;
        padding: 2px 8px;
        font-size: 0.75rem;
        font-weight: 700;
        border-radius: 999px;
        background: rgba(30, 64, 110, 0.1);
        color: #1e3a5f;
        border: 1px solid rgba(30, 64, 110, 0.22);
        vertical-align: middle;
      }
      .detail-curator-stamp-section {
        margin-top: 12px;
        padding-top: 10px;
        border-top: 1px solid rgba(0, 0, 0, 0.08);
      }
      .detail-curator-stamp-section--official {
        border-top-color: rgba(234, 179, 8, 0.35);
        padding-top: 12px;
      }
      .detail-official-municipal-notice {
        margin: 0;
        padding: 14px 16px 18px;
        border-radius: 12px;
        border: 1px solid rgba(27, 77, 114, 0.16);
        border-left: 6px solid #eab308;
        background: linear-gradient(135deg, #fffbeb 0%, #f8fafc 42%, #eff6ff 100%);
        box-shadow: 0 4px 14px rgba(27, 77, 114, 0.1);
        text-align: center;
      }
      .detail-official-municipal-notice__title {
        margin: 0 0 10px;
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #961f33 !important;
        -webkit-text-fill-color: #961f33 !important;
      }
      .detail-official-municipal-notice__lead {
        margin: 0;
        font-size: 1.18rem;
        line-height: 1.35;
        font-weight: 800;
        text-align: center;
        color: #1b4d72 !important;
        -webkit-text-fill-color: #1b4d72 !important;
      }
      .modal-backdrop .modal .detail-official-municipal-notice,
      .modal-backdrop .modal .detail-official-municipal-notice * {
        color: inherit;
      }
      .modal-backdrop .modal .detail-official-municipal-notice__title {
        color: #961f33 !important;
        -webkit-text-fill-color: #961f33 !important;
      }
      .modal-backdrop .modal .detail-official-municipal-notice__lead {
        color: #1b4d72 !important;
        -webkit-text-fill-color: #1b4d72 !important;
      }
      .detail-curator-stamp-section h4 {
        margin: 0 0 6px;
        font-size: 0.82rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #4b5563;
      }
      .detail-curator-statements-list {
        margin: 0 0 10px;
        padding: 0;
        list-style: none;
        font-size: 0.82rem;
        line-height: 1.4;
        color: #374151;
      }
      .detail-curator-statements-list li {
        margin-bottom: 10px;
      }
      .detail-curator-no-statement-note {
        margin: 4px 0 8px;
        padding: 6px 8px;
        border-radius: 8px;
        border: 1px solid rgba(15, 23, 42, 0.14);
        background: rgba(248, 250, 252, 0.95);
        color: #475569;
        font-size: 0.69rem;
        line-height: 1.3;
      }
      .detail-curator-no-statement-note__link {
        font-size: 0.69rem;
        text-decoration: underline;
        color: #1e3a8a;
        white-space: nowrap;
      }
      .detail-curator-no-statement-note__link:hover {
        color: #1d4ed8;
      }
      .detail-curator-stamp-form .field {
        margin-bottom: 8px;
      }
      .detail-curator-stamp-form label {
        font-size: 0.8rem;
      }
      .detail-curator-stamp-form textarea {
        min-height: 72px;
        font-size: 0.88rem;
      }
      #curatorModal > section.modal.curator-municipality-tools-modal {
        box-sizing: border-box;
        width: min(880px, 100%);
        background: #ffffff;
        padding: 0 16px 16px !important;
        border: 1px solid var(--border-light);
      }
      #curatorModal .curator-municipality-tools-modal__topbar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        width: calc(100% + 32px);
        box-sizing: border-box;
        margin: 0 -16px 16px -16px;
        padding: 12px 12px 12px 16px;
        background: #1b4d72;
        border-radius: 13px 13px 0 0;
      }
      #curatorModal .curator-municipality-tools-modal__title {
        margin: 0;
        font-size: 1.22rem;
        font-weight: 700;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        line-height: 1.25;
        flex: 1 1 auto;
        min-width: 0;
      }
      #curatorModal .curator-municipality-tools-modal__topbar .modal-close-circle {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        flex: 0 0 auto;
        box-shadow: var(--mp-window-close-shadow, 0 2px 12px rgba(0, 0, 0, 0.22)) !important;
        border: var(--mp-window-close-border, 1px solid rgba(17, 24, 39, 0.16)) !important;
        background: var(--mp-window-close-bg, #ffffff) !important;
        color: var(--mp-window-close-fg, #111827) !important;
        -webkit-text-fill-color: var(--mp-window-close-fg, #111827) !important;
      }
      #curatorModal .curator-municipality-tools-modal__topbar .modal-close-circle:hover,
      #curatorModal .curator-municipality-tools-modal__topbar .modal-close-circle:focus-visible {
        filter: brightness(1.12);
      }
      #curatorModal .curator-tools-actions-field {
        box-sizing: border-box;
        margin: 0;
        padding: 12px 12px 14px;
        background: #fafafa;
        border: 1px solid rgba(27, 77, 114, 0.25);
        border-radius: 12px;
      }
      #curatorModal .curator-tools-actions-field > .detail-label {
        color: #1b4d72;
        font-weight: 700;
      }
      #curatorModal .curator-tools-actions-field .curator-tools-actions-row button {
        background: #961f33 !important;
        color: #ffffff !important;
        border: 1px solid #961f33 !important;
        -webkit-text-fill-color: #ffffff !important;
        box-shadow: none;
      }
      #curatorModal .curator-tools-actions-field .curator-tools-actions-row button:hover,
      #curatorModal .curator-tools-actions-field .curator-tools-actions-row button:focus-visible {
        filter: brightness(1.07);
      }
      #curatorModal #curatorStoryReportsBlock,
      #curatorModal #curatorMunicipalityHiddenBlock {
        box-sizing: border-box;
        background: #fafafa;
        border: 1px solid rgba(27, 77, 114, 0.22);
        border-radius: 12px;
        padding: 12px;
      }
      #curatorModal #curatorStoryReportsBlock button,
      #curatorModal #curatorMunicipalityHiddenBlock button {
        background: #1b4d72 !important;
        color: #ffffff !important;
        border: 1px solid #1b4d72 !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      #curatorModal #curatorStoryReportsBlock button:hover,
      #curatorModal #curatorStoryReportsBlock button:focus-visible,
      #curatorModal #curatorMunicipalityHiddenBlock button:hover,
      #curatorModal #curatorMunicipalityHiddenBlock button:focus-visible {
        filter: brightness(1.08);
      }
      .curator-modal-hero {
        display: flex;
        flex-direction: column;
        gap: 0;
        margin-top: 4px;
      }
      .curator-modal-hero__head {
        position: relative;
        display: block;
        margin-bottom: 12px;
        padding: 4px 72px 2px;
        text-align: center;
      }
      .curator-modal-hero__head-kicker {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        max-width: 68px;
        font-size: 0.72rem;
        font-weight: 600;
        letter-spacing: 0.02em;
        color: #4b5563;
        line-height: 1.2;
        text-align: left;
      }
      .curator-modal-hero__head-title {
        margin: 0;
        font-size: clamp(1.35rem, 3.2vw, 1.85rem);
        font-weight: 800;
        line-height: 1.15;
        color: #0f172a;
        letter-spacing: -0.02em;
        word-break: break-word;
      }
      .curator-modal-hero__panels {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(96px, 0.72fr);
        gap: 10px;
        align-items: stretch;
      }
      .curator-modal-hero__panel {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
        padding: 12px 12px 14px;
        border-radius: 12px;
        background: #1b4d72;
        color: #ffffff;
        border: 1px solid rgba(255, 255, 255, 0.12);
      }
      .curator-modal-hero__emblem-slot {
        display: flex;
        align-items: center;
        justify-content: center;
        align-self: stretch;
        min-width: 0;
        box-sizing: border-box;
      }
      .curator-modal-hero__panels:has(.curator-modal-hero__emblem-slot .curator-modal-hero__emblem.hidden) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      }
      .curator-modal-hero__panels:has(.curator-modal-hero__emblem-slot .curator-modal-hero__emblem.hidden) .curator-modal-hero__emblem-slot {
        display: none !important;
      }
      .curator-modal-hero__panel-title {
        margin: 0 0 10px;
        font-size: 0.95rem;
        font-weight: 700;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        line-height: 1.25;
      }
      #curatorModal .curator-modal-hero__panel .detail-row {
        margin-bottom: 6px;
        font-size: 0.88rem;
        line-height: 1.35;
        color: #ffffff;
      }
      #curatorModal .curator-modal-hero__panel .detail-label {
        color: rgba(255, 255, 255, 0.9) !important;
        -webkit-text-fill-color: rgba(255, 255, 255, 0.9) !important;
        font-weight: 400;
      }
      #curatorModal .curator-modal-hero__panel .detail-row > span:last-child {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        word-break: break-word;
        font-weight: 700;
      }
      .curator-modal-hero__hint {
        margin: 8px 0 0;
        font-size: 0.8rem;
        line-height: 1.35;
        color: rgba(255, 255, 255, 0.92) !important;
      }
      .curator-modal-hero__emblem {
        box-sizing: border-box;
        width: 100%;
        max-width: 200px;
        height: 100%;
        min-height: 120px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 12px;
        border: none;
        outline: none;
        box-shadow: none;
        background: rgba(255, 255, 255, 0.65);
        padding: 8px;
      }
      .curator-modal-hero__emblem-img {
        display: block;
        width: auto;
        height: 100%;
        max-height: 200px;
        max-width: 100%;
        object-fit: contain;
        border: none;
        outline: none;
        box-shadow: none;
      }
      @media (max-width: 560px) {
        .curator-modal-hero__head {
          padding-left: 0;
          padding-right: 0;
          padding-top: 1.1rem;
        }
        .curator-modal-hero__head-kicker {
          top: 0;
          left: 0;
          transform: none;
          max-width: none;
        }
        .curator-modal-hero__head-title {
          margin-top: 4px;
        }
        .curator-modal-hero__panels {
          grid-template-columns: 1fr;
        }
        .curator-modal-hero__emblem-slot {
          justify-content: center;
          padding-bottom: 2px;
        }
      }
      .curator-tools-shell {
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin-top: 12px;
      }
      .curator-tools-shell > .field {
        margin: 0;
      }
      .curator-tools-actions-field .curator-tools-actions-row {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 6px;
      }
      #curatorDelegatesModal .modal.curator-delegates-modal {
        position: relative;
        box-sizing: border-box;
        width: min(1380px, calc(100vw - 28px));
        max-width: min(1380px, 98vw);
        min-width: min(720px, calc(100vw - 28px));
        max-height: min(92vh, 900px);
        overflow: hidden;
        display: flex;
        flex-direction: column;
      }
      #curatorDelegatesModal .modal.curator-delegates-modal.curator-delegates-modal--float {
        max-width: none;
        max-height: none;
      }
      #curatorDelegatesModal .curator-delegates-modal__topbar {
        margin: -4px -4px 8px;
        padding: 4px 42px 4px 0;
        cursor: move;
        user-select: none;
        flex: 0 0 auto;
      }
      #curatorDelegatesModal .curator-delegates-modal__topbar h2 {
        margin: 0;
      }
      #curatorDelegatesModal .curator-delegates-modal__resize-grip {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 24px;
        height: 24px;
        cursor: nwse-resize;
        touch-action: none;
        z-index: 20;
        border-bottom-right-radius: 12px;
        background: linear-gradient(135deg, transparent 0 45%, rgba(27, 77, 114, 0.28) 46% 54%, transparent 55% 62%, rgba(27, 77, 114, 0.45) 63% 72%, transparent 73%);
      }
      #curatorDelegatesModal .curator-delegates-modal__toolbar {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: flex-start;
        margin-top: 6px;
      }
      .curator-delegates-add-panel {
        margin-top: 10px;
        padding: 12px;
        border-radius: 12px;
        border: 1px solid rgba(27, 77, 114, 0.2);
        background: #fafafa;
      }
      .curator-delegates-add-panel__search-row {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
        margin-top: 6px;
      }
      .curator-delegates-add-panel__search-row input[type="search"] {
        flex: 1 1 220px;
        min-width: 0;
      }
      .curator-delegates-search-results {
        margin-top: 8px;
        max-height: 180px;
        overflow: auto;
      }
      .curator-delegates-table-scroll {
        margin-top: 10px;
        flex: 1 1 auto;
        min-height: 160px;
        max-height: none;
        overflow: auto;
        border: 1px solid rgba(15, 23, 42, 0.12);
        border-radius: 10px;
      }
      .curator-delegates-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 0.82rem;
      }
      .curator-delegates-table th,
      .curator-delegates-table td {
        padding: 8px 6px;
        border-bottom: 1px solid rgba(15, 23, 42, 0.08);
        vertical-align: middle;
        text-align: left;
      }
      .curator-delegates-table th {
        position: sticky;
        top: 0;
        z-index: 1;
        background: #f1f5f9;
        font-weight: 700;
        line-height: 1.2;
        min-width: 6.8rem;
      }
      .curator-delegates-table__cb {
        text-align: center !important;
      }
      .curator-delegates-table__cb input[type="checkbox"] {
        transform: scale(1.05);
      }
      .curator-delegates-table__user {
        min-width: 14rem;
        max-width: 22rem;
        word-break: break-word;
      }
      .curator-delegates-grant-fieldset {
        margin: 8px 0 0;
        padding: 0;
        border: none;
      }
      .curator-delegates-grant-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        gap: 6px 12px;
        margin-top: 6px;
      }
      .curator-delegates-grant-check {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        font-size: 0.88rem;
        line-height: 1.25;
      }
      .curator-modal-reports-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        align-items: flex-start;
      }
      .curator-modal-reports-row--single {
        grid-template-columns: 1fr;
      }
      @media (max-width: 640px) {
        .curator-modal-reports-row:not(.curator-modal-reports-row--single) {
          grid-template-columns: 1fr;
        }
      }
      .curator-support-body {
        font-size: 0.92rem;
        line-height: 1.45;
        color: #374151;
      }
      .curator-support-body ul {
        margin: 8px 0 0 1.1rem;
        padding: 0;
      }
      .curator-support-body li {
        margin-bottom: 6px;
      }
      .curator-stance-block {
        margin-bottom: 12px;
        padding: 10px 12px;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.55);
        border: 1px solid rgba(0, 0, 0, 0.08);
      }
      .curator-stance-badge {
        display: inline-block;
        padding: 5px 11px;
        border-radius: 8px;
        font-weight: 800;
        font-size: 0.78rem;
        letter-spacing: 0.02em;
        margin-bottom: 6px;
        line-height: 1.25;
      }
      .curator-stance-badge--green {
        background: #d1fae5;
        color: #065f46;
        border: 1px solid #6ee7b7;
      }
      .curator-stance-badge--yellow {
        background: #fef9c3;
        color: #854d0e;
        border: 1px solid #facc15;
      }
      .curator-stance-badge--red {
        background: #fee2e2;
        color: #991b1b;
        border: 1px solid #fca5a5;
      }
      .curator-stance-badge--blue {
        background: #dbeafe;
        color: #1e3a8a;
        border: 1px solid #93c5fd;
      }
      .curator-stance-badge--gray {
        background: #f3f4f6;
        color: #374151;
        border: 1px solid #d1d5db;
      }
      .curator-stance-subtitle {
        font-size: 0.78rem;
        color: #4b5563;
        margin-bottom: 6px;
        line-height: 1.35;
      }
      .curator-stance-comment {
        font-size: 0.88rem;
        line-height: 1.45;
        white-space: pre-wrap;
      }
      .curator-stance-meta {
        font-size: 0.75rem;
        color: #6b7280;
        margin-top: 8px;
      }
      .detail-story-photo-viewer-modal {
        width: min(720px, var(--mp-modal-fluid-w));
        max-height: min(92dvh, 900px);
        display: flex;
        flex-direction: column;
        padding: 12px 14px !important;
      }
      .detail-story-photo-viewer__title {
        margin: 0 0 8px !important;
        font-size: 1rem !important;
      }
      .detail-story-photo-viewer__img-wrap {
        flex: 1;
        min-height: 120px;
        max-height: calc(92dvh - 120px);
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: auto;
        background: rgba(0, 0, 0, 0.04);
        border-radius: 8px;
        border: 1px solid rgba(0, 0, 0, 0.1);
      }
      .detail-story-photo-viewer__img-wrap img {
        max-width: 100%;
        max-height: min(78dvh, 720px);
        object-fit: contain;
        display: block;
      }
      .detail-story-photo-viewer__actions {
        margin-top: 10px !important;
        flex-wrap: wrap;
        gap: 8px !important;
        justify-content: center;
      }
      .story-photo-hint {
        margin-top: 0 !important;
        margin-bottom: 6px !important;
      }
      .story-photo-slot {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
      }
      .story-photo-preview {
        border-radius: 6px;
        object-fit: cover;
        border: 1px solid rgba(0, 0, 0, 0.15);
        flex-shrink: 0;
      }
      .story-photo-input {
        flex: 1 1 160px;
        min-width: 0;
      }
      .story-photo-remove {
        font-size: 11px !important;
        padding: 5px 10px !important;
      }
      #storyDetailModal .story-detail-responses {
        margin-top: 0 !important;
        flex: 0 0 auto;
      }
      #storyDetailModal .story-detail-footer {
        flex: 0 0 auto;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
        grid-template-rows: auto;
        align-items: center;
        gap: 12px !important;
        padding-top: 4px !important;
        justify-content: unset !important;
      }
      #storyDetailModal .story-detail-footer .story-detail-footer-group--left {
        grid-column: 1;
        justify-self: start;
      }
      #storyDetailModal .story-detail-footer .story-detail-footer-group--center {
        grid-column: 2;
        justify-self: center;
      }
      #storyDetailModal .story-detail-footer .story-detail-footer-group--right {
        grid-column: 3;
        justify-self: end;
      }
      #storyDetailModal .story-detail-footer .story-detail-footer-group {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
      }
      #storyDetailModal #detailOptionsMenu .story-detail-option--share-lead {
        background: var(--color-accent) !important;
        border: 2px solid var(--color-accent) !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        font-weight: 700 !important;
      }
      #storyDetailModal #detailOptionsMenu .story-detail-option--share-lead:hover {
        filter: brightness(0.95);
        color: #ffffff !important;
      }
      #storyDetailModal #detailOptionsMenu .story-detail-option--react-lead {
        color: #b91c1c !important;
        border-color: rgba(185, 28, 28, 0.58) !important;
        font-weight: 800 !important;
        background: #ffffff !important;
      }
      #storyDetailModal #detailOptionsMenu .story-detail-option--react-lead:hover {
        background: #fef2f2 !important;
        color: #991b1b !important;
      }
      #storyDetailModal .story-detail-footer .story-detail-footer-group--left {
        justify-content: flex-start;
      }
      #storyDetailModal .story-detail-footer .story-detail-footer-group--center {
        justify-content: center;
      }
      #storyDetailModal .story-detail-footer .story-detail-footer-group--right {
        justify-content: flex-end;
      }
      #storyDetailModal .story-detail-options-wrap {
        position: relative;
      }
      #storyDetailModal .story-detail-options-menu {
        position: absolute;
        left: 0;
        bottom: calc(100% + 6px);
        min-width: 228px;
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 8px;
        border-radius: 10px;
        border: 1px solid rgba(0, 0, 0, 0.14);
        background: #fff;
        box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
        z-index: 5;
      }
      #storyDetailModal .story-detail-options-menu.hidden {
        display: none !important;
      }
      #storyDetailModal .story-detail-footer .primary,
      #storyDetailModal .story-detail-footer .secondary,
      #storyDetailModal .story-detail-footer .danger-quiet {
        font-size: 12px !important;
        padding: 8px 12px !important;
      }
      #storyDetailModal .story-detail-footer .danger-quiet {
        color: #991b1b !important;
        border-color: rgba(153, 27, 27, 0.5) !important;
        background: #fff !important;
      }
      #storyDetailModal .story-detail-footer .danger-quiet:hover {
        background: #fef2f2 !important;
        color: #7f1d1d !important;
      }
      #storyDetailModal #addStorySamePlaceBtn {
        font-size: 13px !important;
        font-weight: 700 !important;
        padding: 10px 16px !important;
      }
      #storyDetailModal .story-detail-footer .story-detail-footer-group--right {
        flex-wrap: nowrap;
      }
      /* Admin: laboratoř tlačítek (CMS ui-design-lab) — širší modal, ukázky nepropagují kliky. */
      #contentPageModal[data-mp-slug="ui-design-lab"] .modal.public-cms-page-modal {
        width: var(--mp-modal-fluid-w) !important;
        max-width: 100% !important;
        max-height: var(--mp-modal-fluid-h) !important;
      }
      .mp-ui-design-lab__lead {
        margin: 0 0 16px;
        padding: 12px 14px;
        border-radius: 8px;
        background: rgba(27, 77, 114, 0.08);
        border: 1px solid rgba(27, 77, 114, 0.2);
        font-size: 14px;
        line-height: 1.45;
      }
      .mp-ui-design-lab__section {
        margin: 0 0 22px;
      }
      .mp-ui-design-lab__section h2 {
        margin: 0 0 8px;
        font-size: 17px;
      }
      .mp-ui-design-lab__hint {
        margin: 0 0 12px;
        font-size: 13px;
        color: rgba(26, 26, 26, 0.72);
      }
      .mp-ui-design-lab__section--note {
        padding-top: 8px;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
      }
      .mp-ui-lab-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
        gap: 10px;
      }
      .mp-ui-lab-grid--wide {
        grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
      }
      .mp-ui-lab-row {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        align-items: center;
      }
      .mp-ui-lab-row--center {
        justify-content: flex-start;
      }
      .mp-ui-lab-card {
        padding: 10px;
        border: 1px solid rgba(0, 0, 0, 0.12);
        border-radius: 8px;
        background: rgba(250, 250, 250, 0.9);
      }
      .mp-ui-lab-label {
        margin: 0 0 8px;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.02em;
        color: rgba(26, 26, 26, 0.65);
      }
      .mp-ui-lab-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 100%;
        min-height: 44px;
        padding: 10px 14px;
        border: none;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.2;
        cursor: default;
        user-select: none;
      }
      .mp-ui-lab-btn--blue {
        background: linear-gradient(180deg, #1b4d72 0%, #163e5c 100%);
        color: #ffffff;
      }
      .mp-ui-lab-btn--red {
        background: linear-gradient(180deg, #961f33 0%, #7a1829 100%);
        color: #ffffff;
      }
      .mp-ui-lab-btn--neutral {
        background: #f5f5f5;
        color: #1a1a1a;
        border: 1px solid rgba(0, 0, 0, 0.22);
      }
      .mp-ui-lab-btn--outline-blue {
        background: #ffffff;
        color: #1b4d72;
        border: 2px solid #1b4d72;
      }
      .mp-ui-lab-btn--outline-red {
        background: #ffffff;
        color: #961f33;
        border: 2px solid #961f33;
      }
      .mp-ui-lab-btn--ghost {
        background: transparent;
        color: #1b4d72;
        border: none;
        text-decoration: underline;
        text-underline-offset: 3px;
        min-height: 36px;
      }
      .mp-ui-lab-btn--archive {
        background: #f8f6f1;
        color: #3d2f26;
        border: 1px solid rgba(61, 47, 38, 0.35);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-transform: uppercase;
      }
      .mp-ui-lab-btn--fab {
        width: 44px;
        min-width: 44px;
        max-width: 44px;
        height: 44px;
        min-height: 44px;
        padding: 0;
        margin: 0 auto;
        background: rgba(255, 255, 255, 0.96);
        color: #1b4d72;
        border: 1px solid rgba(0, 0, 0, 0.18);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.14);
        font-size: 18px;
      }
      .mp-ui-lab-r0 {
        border-radius: 0;
      }
      .mp-ui-lab-r2 {
        border-radius: 2px;
      }
      .mp-ui-lab-r4 {
        border-radius: 4px;
      }
      .mp-ui-lab-r6 {
        border-radius: 6px;
      }
      .mp-ui-lab-r10 {
        border-radius: 10px;
      }
      .mp-ui-lab-segment {
        display: flex;
        width: 100%;
        overflow: hidden;
        border: 1px solid rgba(0, 0, 0, 0.2);
        background: #fff;
      }
      .mp-ui-lab-segment button {
        flex: 1 1 50%;
        min-height: 40px;
        border: none;
        background: transparent;
        font-size: 13px;
        font-weight: 700;
        color: #1a1a1a;
        cursor: default;
      }
      .mp-ui-lab-segment button.is-active {
        background: #1b4d72;
        color: #fff;
      }
      .mp-ui-lab-segment button + button {
        border-left: 1px solid rgba(0, 0, 0, 0.14);
      }

      /* Veřejné CMS stránky — stejný vzor jako #municipalityPublicProfileModal (vizitka obce). */
      #contentPageModal .modal.public-cms-page-modal {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: var(--mp-modal-fluid-w) !important;
        max-width: 100% !important;
        max-height: var(--mp-modal-fluid-h) !important;
        height: auto !important;
        display: flex;
        flex-direction: column;
        overflow-x: hidden;
        background: #ffffff !important;
        pointer-events: auto !important;
        padding: 12px 14px 14px;
        box-sizing: border-box;
        transform: none !important;
        isolation: isolate;
      }
      #contentPageModal .modal.public-cms-page-modal.public-cms-page-modal--with-contact {
        width: var(--mp-modal-fluid-w) !important;
        max-width: 100% !important;
      }
      #contentPageModal .public-cms-page-body {
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
        padding: 0 2px 8px;
      }
      #contentPageModal .public-cms-page-contact-aside {
        flex: 0 0 auto;
        max-height: min(40vh, 360px);
        overflow-y: auto;
        margin-bottom: 8px;
      }
      #contentPageModal .content-page-contact-form-status {
        margin: 0 0 10px;
        line-height: 1.45;
      }
      #contentPageModal .content-page-contact-form-status--ok {
        color: #166534;
        font-weight: 600;
      }
      #contentPageModal .content-page-contact-form-status--err {
        color: #b91c1c;
        font-weight: 600;
      }
      #contentPageModal .public-cms-page-modal__actions {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
        pointer-events: auto !important;
        flex: 0 0 auto;
        margin-top: 8px;
        padding-top: 10px;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
      }
      #contentPageModal .public-cms-page-modal__actions button {
        pointer-events: auto !important;
        cursor: pointer;
      }
      #contentPageModal > section.modal > button.modal-close-circle {
        pointer-events: auto !important;
        z-index: 60;
        cursor: pointer;
      }
      #contentPageModal #publicCmsPageCloseBtn {
        pointer-events: auto !important;
        position: relative;
        z-index: 50;
        cursor: pointer;
        margin-left: auto;
      }
      @media (max-width: 860px) {
        /* Jedna řádka: Možnosti | Přidat příběh | Zavřít (Sdílet je v menu Možnosti) */
        #storyDetailModal .story-detail-footer {
          gap: 8px 6px !important;
        }
        #storyDetailModal #addStorySamePlaceBtn {
          width: auto;
          max-width: 100%;
          box-sizing: border-box;
          margin: 0 !important;
          font-size: 11px !important;
          font-weight: 700 !important;
          padding: 7px 12px !important;
          line-height: 1.25;
          white-space: normal;
          text-align: center;
        }
        #storyDetailModal .story-detail-footer .story-detail-footer-group {
          flex-wrap: nowrap;
        }
        #storyDetailModal .story-detail-footer #detailOptionsMenuBtn,
        #storyDetailModal .story-detail-footer #backToSpotBtn {
          min-width: 0;
        }
        #storyDetailModal .story-detail-options-menu {
          left: 0;
          right: auto;
          min-width: min(86vw, 260px);
        }
      }
      #detailVoteHelpModal.detail-vote-help-backdrop {
        z-index: 10120;
        place-items: center;
      }
      #detailVoteHelpModal .detail-vote-help-modal {
        width: min(340px, var(--mp-modal-fluid-w));
        max-height: min(86dvh, 520px);
        overflow: auto;
      }
      #detailVoteHelpModal .detail-vote-help-body {
        font-size: 14px;
        line-height: 1.5;
        color: #1a1a1a !important;
      }
      #detailVoteHelpModal .detail-vote-help-body p {
        margin: 0 0 10px;
        color: #1a1a1a !important;
      }
      #detailVoteHelpModal .detail-vote-help-lead {
        margin-bottom: 6px !important;
      }
      #detailVoteHelpModal .detail-vote-help-list {
        margin: 0 0 4px;
        padding-left: 1.1rem;
        color: #1a1a1a !important;
      }
      #detailVoteHelpModal .detail-vote-help-list li {
        margin-bottom: 6px;
        color: #1a1a1a !important;
      }
      #storyDetailModal #detailVoteSection {
        grid-area: sd-vote;
        min-width: 0;
      }
      #storyDetailModal #detailCuratorStampSection {
        grid-area: sd-curator;
        min-width: 0;
      }
      #storyDetailModal .detail-vote-section {
        margin-top: 0;
        padding-top: 8px;
        border-top: 1px solid rgba(0, 0, 0, 0.12);
      }
      #storyDetailModal .detail-vote-title-row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px 8px;
        margin-bottom: 6px;
      }
      #storyDetailModal .detail-vote-heading {
        margin: 0 !important;
        font-size: 0.88rem !important;
        font-weight: 700;
        color: #1a1a1a !important;
        flex: 1 1 auto;
      }
      #storyDetailModal .detail-vote-help-btn {
        font-size: 10px !important;
        font-weight: 600;
        padding: 4px 8px !important;
        line-height: 1.2;
        white-space: nowrap;
      }
      #storyDetailModal .detail-vote-submitted-note {
        margin: 0 0 8px;
        font-size: 11px;
        font-weight: 600;
        color: #166534 !important;
      }
      /* V levém sloupci pod sebou — úzký sloupec */
      #storyDetailModal .detail-vote-picks {
        display: grid;
        grid-template-columns: 1fr;
        gap: 6px;
        margin-bottom: 8px;
        align-items: stretch;
      }
      #storyDetailModal .detail-vote-row {
        min-width: 0;
      }
      #storyDetailModal .detail-vote-row label {
        display: block;
        font-size: 10px;
        font-weight: 600;
        margin-bottom: 3px;
        line-height: 1.2;
        color: #1a1a1a !important;
      }
      #storyDetailModal .detail-vote-row--positive {
        padding: 5px 6px;
        border-radius: 6px;
        background: rgba(22, 163, 74, 0.08);
        border: 1px solid rgba(22, 163, 74, 0.35);
      }
      #storyDetailModal .detail-vote-row--negative {
        padding: 5px 6px;
        border-radius: 6px;
        background: rgba(185, 28, 28, 0.07);
        border: 1px solid rgba(185, 28, 28, 0.4);
      }
      #storyDetailModal .detail-vote-row--negative .detail-vote-select {
        max-width: min(100%, 22rem);
      }
      #storyDetailModal .detail-vote-select {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        font-size: 11px;
        line-height: 1.25;
        padding: 3px 5px !important;
      }
      #storyDetailModal .detail-vote-submit-wrap {
        margin-top: 2px;
      }
      #storyDetailModal .detail-vote-submit-wrap .primary {
        font-size: 12px;
        padding: 7px 14px !important;
      }
      #storyDetailModal .detail-vote-results-wrap {
        margin-top: 4px;
      }
      #storyDetailModal .detail-vote-results-title {
        margin: 0 0 8px;
        font-size: 0.95rem;
        font-weight: 700;
        color: #1a1a1a !important;
      }
      #storyDetailModal .detail-vote-results-body {
        font-size: 11px;
        line-height: 1.4;
        color: #1a1a1a !important;
      }
      #storyDetailModal .detail-vote-results-list {
        margin: 0;
        padding: 0;
        list-style: none;
      }
      #storyDetailModal .detail-vote-results-list li {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding: 4px 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.06);
        color: #1a1a1a !important;
      }
      #storyDetailModal .detail-vote-results-subheading {
        margin: 10px 0 4px;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.02em;
        color: #374151 !important;
      }
      .curator-status {
        font-size: 12px;
        font-weight: 700;
      }
      .curator-status--active {
        color: #2563eb;
      }
      .curator-status--inactive {
        color: #111827;
      }
      .curator-status--pending {
        color: #b45309;
      }
      .detail-author-tools {
        margin-top: 6px;
        display: grid;
        gap: 4px;
      }
      .detail-author-tools__stats {
        font-size: 10px;
        color: #6b7280;
        line-height: 1.25;
      }
      .detail-author-tools__actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px;
        justify-content: flex-end;
      }
      .detail-author-tools__actions .secondary {
        font-size: 10px;
        padding: 3px 7px;
        opacity: 0.82;
      }
      .detail-author-tools__actions .secondary:hover {
        opacity: 1;
      }
      /* 8) Jednotná čitelnost ve všech modálních oknech */
      .modal-backdrop .modal,
      .modal-backdrop .modal h2,
      .modal-backdrop .modal h3,
      .modal-backdrop .modal p,
      .modal-backdrop .modal span,
      .modal-backdrop .modal div,
      .modal-backdrop .modal label,
      .modal-backdrop .modal li,
      .modal-backdrop .modal small,
      .modal-backdrop .modal strong,
      .modal-backdrop .modal .hint,
      .modal-backdrop .modal .field-note,
      .modal-backdrop .modal .detail-row,
      .modal-backdrop .modal .detail-label,
      .modal-backdrop .modal .content-page-body,
      .modal-backdrop .modal .content-page-body * {
        color: #1a1a1a !important;
      }
      .modal-backdrop .modal input,
      .modal-backdrop .modal textarea,
      .modal-backdrop .modal select {
        color: #1a1a1a !important;
        border-color: rgba(0, 0, 0, 0.25) !important;
        background: rgba(255, 255, 255, 0.98) !important;
      }
      .modal-backdrop .modal .modal-actions {
        background: transparent !important;
      }
      /* Můj profil / Moje příběhy — bílý text v modré hlavičce a červeném štítku (přebije pravidlo výše). */
      #myProfileModal.modal-backdrop .modal .author-hub-modal__hero,
      #myProfileModal.modal-backdrop .modal .author-hub-modal__hero *:not(.mp-window__close):not(.modal-close-circle),
      #myStoriesModal.modal-backdrop .modal .author-hub-modal__hero,
      #myStoriesModal.modal-backdrop .modal .author-hub-modal__hero *:not(.mp-window__close):not(.modal-close-circle),
      .modal-backdrop .author-hub-modal .author-hub-modal__hero,
      .modal-backdrop .author-hub-modal .author-hub-modal__hero *:not(.mp-window__close):not(.modal-close-circle) {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      /* Křížek v modré hlavičce author-hub — bílé kolečko + tmavý × (hero * výše ho jinak obarví na bílo). */
      #myProfileModal.modal-backdrop .modal .author-hub-modal__hero > button.mp-window__close,
      #myProfileModal.modal-backdrop .modal .author-hub-modal__hero > button.modal-close-circle,
      #myStoriesModal.modal-backdrop .modal .author-hub-modal__hero > button.mp-window__close,
      #myStoriesModal.modal-backdrop .modal .author-hub-modal__hero > button.modal-close-circle,
      .modal-backdrop .author-hub-modal .author-hub-modal__hero > button.mp-window__close,
      .modal-backdrop .author-hub-modal .author-hub-modal__hero > button.modal-close-circle {
        color: var(--mp-window-close-fg, #111827) !important;
        -webkit-text-fill-color: var(--mp-window-close-fg, #111827) !important;
        background: var(--mp-window-close-bg, #ffffff) !important;
        border: var(--mp-window-close-border, 1px solid rgba(17, 24, 39, 0.16)) !important;
        box-shadow: var(--mp-window-close-shadow, 0 2px 12px rgba(0, 0, 0, 0.22)) !important;
      }
      body.site-global #myProfileModal.modal-backdrop .modal .author-hub-modal__hero-title,
      body.site-global #myStoriesModal.modal-backdrop .modal .author-hub-modal__hero-title {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      :root {
        --color-bg: #ffffff;
        --color-border: #1a2b48;
        --color-text: #1a2b48;
        --color-accent: #9b1c31;
      }
      .hud-card,
      .nav-drawer__panel,
      .modal-backdrop .modal,
      .story-list-panel,
      .story-item,
      .leaflet-control-layers,
      .leaflet-control-layers-expanded,
      .role-box,
      .status-chip,
      .brand-block,
      .hud-cat-item,
      .filter-panel,
      .notice,
      .app-footer__links button {
        background: var(--color-bg) !important;
        border: 2px solid var(--color-border) !important;
        color: var(--color-text) !important;
        box-shadow: none !important;
      }
      /* Časová selekce v levém panelu má být bez obvodového rámečku. */
      .filter-panel.filter-panel--header {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
      }
      .hud-root,
      .hud-root *,
      .modal-backdrop .modal:not([data-mp-window]) *,
      .nav-drawer__panel *,
      .leaflet-control-layers-expanded *,
      .app-footer * {
        color: var(--color-text) !important;
      }
      /* Hvězdičky u povinných polí (jinak je přebije pravidlo výše kvůli !important). */
      .modal-backdrop .modal .required-mark {
        color: #dc2626 !important;
      }
      .primary,
      #openStoryBtn.hud-cta-btn.primary,
      #addAtSpotFromListBtn.primary {
        background: var(--color-accent) !important;
        border: 2px solid var(--color-accent) !important;
        color: #ffffff !important;
        box-shadow: none !important;
      }
      .primary *,
      .modal-backdrop .modal .primary,
      .modal-backdrop .modal .primary * {
        color: #ffffff !important;
      }
      /* Červené Odeslat v kontaktu: `.modal-backdrop .modal *` jinak nastaví černý text. */
      .modal-backdrop .modal .content-page-contact-submit-btn,
      .modal-backdrop .modal .content-page-contact-submit-btn:hover,
      .modal-backdrop .modal .content-page-contact-submit-btn:focus-visible {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      /* Účet: stejné barvy jako přihlášení/registrace v hlavičce — modrá / červená (přebije obecné `.primary`). */
      #authModal #authSendResetLinkBtn.primary {
        background: #1b4d72 !important;
        border-color: #163e5c !important;
        color: #fff !important;
      }
      #authModal #authSendResetLinkBtn.primary:hover,
      #authModal #authSendResetLinkBtn.primary:focus-visible {
        background: #164260 !important;
        border-color: #12354f !important;
      }
      #authModal[data-auth-mode="login"] #submitAuthBtn.primary {
        background: #1b4d72 !important;
        border-color: #163e5c !important;
        color: #fff !important;
      }
      #authModal[data-auth-mode="login"] #submitAuthBtn.primary:hover,
      #authModal[data-auth-mode="login"] #submitAuthBtn.primary:focus-visible {
        background: #164260 !important;
        border-color: #12354f !important;
      }
      #authModal[data-auth-mode="register"] #submitAuthBtn.primary {
        background: #961f33 !important;
        border-color: #7a1829 !important;
        color: #fff !important;
      }
      #authModal[data-auth-mode="register"] #submitAuthBtn.primary:hover,
      #authModal[data-auth-mode="register"] #submitAuthBtn.primary:focus-visible {
        background: #7e1a2b !important;
        border-color: #681524 !important;
      }
      #passwordRecoveryModal #passwordRecoverySaveBtn.primary {
        background: #1b4d72 !important;
        border-color: #163e5c !important;
        color: #fff !important;
      }
      #passwordRecoveryModal #passwordRecoverySaveBtn.primary:hover,
      #passwordRecoveryModal #passwordRecoverySaveBtn.primary:focus-visible {
        background: #164260 !important;
        border-color: #12354f !important;
      }
      #finishPendingStoryModal #finishPendingStorySubmitBtn.primary {
        background: #1b4d72 !important;
        border-color: #163e5c !important;
        color: #fff !important;
      }
      #finishPendingStoryModal #finishPendingStorySubmitBtn.primary:hover,
      #finishPendingStoryModal #finishPendingStorySubmitBtn.primary:focus-visible {
        background: #164260 !important;
        border-color: #12354f !important;
      }
      #curatorActivationModal #curatorActivationSubmitBtn.primary {
        background: #961f33 !important;
        border-color: #7a1829 !important;
        color: #fff !important;
      }
      #curatorActivationModal #curatorActivationSubmitBtn.primary:hover,
      #curatorActivationModal #curatorActivationSubmitBtn.primary:focus-visible {
        background: #7e1a2b !important;
        border-color: #681524 !important;
      }
      .secondary,
      .hud-cta-btn.secondary,
      .modal .secondary,
      .hud-top-bar .secondary:not(.nav-account-toggle):not(.nav-menu-toggle) {
        background: var(--color-bg) !important;
        border: 2px solid var(--color-border) !important;
        color: var(--color-text) !important;
        box-shadow: none !important;
      }
      /* Účet + Informace v horní liště: vzhled řeší bloky výše (šedé menu, avatar bez modrého panelu). */
      input,
      select,
      textarea {
        background: var(--color-bg) !important;
        border: 2px solid var(--color-border) !important;
        color: var(--color-text) !important;
        box-shadow: none !important;
      }
      input::placeholder,
      textarea::placeholder {
        color: rgba(0, 0, 0, 0.65) !important;
      }
      select option,
      select optgroup {
        background: var(--color-bg) !important;
        color: var(--color-text) !important;
      }
      .modal-actions,
      .hud-footer-panel,
      .hud-footer-panel--center,
      .hud-footer-panel--stats {
        box-shadow: none !important;
      }

      /* Kompaktní „Nový příběh“ — stejné rozložení gridu, menší měřítko (typicky bez rolování). */
      #storyModal.modal-backdrop {
        padding: 8px;
      }
      body.story-edit-from-my-stories #storyModal.modal-backdrop {
        z-index: 10040;
      }
      #storyModal .modal {
        width: var(--mp-modal-fluid-w);
        max-width: 100%;
        max-height: var(--mp-modal-fluid-h);
        padding: 10px 12px;
        border-radius: 12px;
        background: #fafafa !important;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
      }
      #storyModal .modal > .story-modal-title-row {
        background: rgba(255, 255, 255, 0.94);
        border-radius: 10px;
        padding: 6px 8px;
        margin-bottom: 8px;
        box-sizing: border-box;
        border: 1px solid rgba(0, 0, 0, 0.08);
      }
      /* Tmavé sekce: přebijeme jednotné „černé písmo v modálech“ z mapového tématu. */
      #storyModal .form-section--story-ton-1 h3,
      #storyModal .form-section--story-ton-1 label,
      #storyModal .form-section--story-ton-1 p,
      #storyModal .form-section--story-ton-1 span,
      #storyModal .form-section--story-ton-1 li,
      #storyModal .form-section--story-ton-1 .field-note,
      #storyModal .form-section--story-ton-1 .story-text-guide,
      #storyModal .form-section--story-ton-1 .optional-mark,
      #storyModal .form-section--story-ton-1 em,
      #storyModal .form-section--story-ton-1 strong:not(.required-mark) {
        color: #e8f4fc !important;
        -webkit-text-fill-color: #e8f4fc !important;
      }
      #storyModal .form-section--story-ton-1 .required-mark {
        color: #fde68a !important;
        -webkit-text-fill-color: #fde68a !important;
      }
      #storyModal .form-section--story-ton-2 h3,
      #storyModal .form-section--story-ton-2 label,
      #storyModal .form-section--story-ton-2 p,
      #storyModal .form-section--story-ton-2 span,
      #storyModal .form-section--story-ton-2 li,
      #storyModal .form-section--story-ton-2 .field-note,
      #storyModal .form-section--story-ton-2 .privacy-warning,
      #storyModal .form-section--story-ton-2 .story-text-guide,
      #storyModal .form-section--story-ton-2 .story-media-lead,
      #storyModal .form-section--story-ton-2 .optional-mark,
      #storyModal .form-section--story-ton-2 em,
      #storyModal .form-section--story-ton-2 strong:not(.required-mark) {
        color: #fff5f5 !important;
        -webkit-text-fill-color: #fff5f5 !important;
      }
      #storyModal .form-section--story-ton-2 .required-mark {
        color: #fde68a !important;
        -webkit-text-fill-color: #fde68a !important;
      }
      #storyModal .form-section--story-ton-1 .secondary,
      #storyModal .form-section--story-ton-2 .secondary {
        background: rgba(255, 255, 255, 0.95) !important;
        color: #1a1a1a !important;
        -webkit-text-fill-color: #1a1a1a !important;
        border-color: rgba(0, 0, 0, 0.22) !important;
      }
      #storyModal .form-section--story-ton-1 .secondary:hover,
      #storyModal .form-section--story-ton-2 .secondary:hover {
        filter: brightness(1.03);
      }
      #storyModal .form-section--story-ton-2 .privacy-warning {
        background: rgba(0, 0, 0, 0.22);
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 8px;
      }
      #storyModal .modal h2 {
        margin: 0 0 4px;
        font-size: 1.25rem;
        line-height: 1.2;
      }
      #storyModal .form-legend {
        margin: 0 0 6px;
        font-size: 11px;
        line-height: 1.35;
      }
      #storyModal #storyForm.form-grid,
      #storyModal #storyForm.logged-in-layout.form-grid {
        gap: 8px;
      }
      #storyModal #storyFormMainColumn.story-form-main-column {
        gap: 8px;
      }
      /* Široké okno: modál jako sloupec — formulář vyplní výšku, jeden řádek mřížky roste (víc místa pro příběh). */
      @media (min-width: 921px) {
        #storyModal .modal {
          display: flex;
          flex-direction: column;
          overflow: hidden;
          position: relative;
          min-height: 0;
        }
        #storyModal .modal > .story-modal-title-row,
        #storyModal .modal > .story-form-spirit,
        #storyModal .modal > .author-compact-hint,
        #storyModal .modal > .story-branch-context {
          flex: 0 0 auto;
        }
        #storyModal .modal > #storyForm {
          flex: 1 1 auto;
          min-height: 0;
          overflow-x: hidden;
          overflow-y: auto;
        }
        #storyModal .modal > .modal-actions {
          flex: 0 0 auto;
        }
        #storyModal #storyForm.form-grid:not(.logged-in-layout) {
          grid-template-rows: minmax(0, 1fr);
          min-height: 0;
          height: 100%;
        }
        #storyModal #storyForm.logged-in-layout.form-grid {
          grid-template-rows: minmax(0, 1fr);
          min-height: 0;
          height: 100%;
        }
        #storyModal #storyForm.logged-in-layout #storyFormMainColumn.story-form-main-column {
          display: flex;
          flex-direction: column;
          align-items: stretch;
          align-self: stretch;
          min-height: 0;
          height: 100%;
          box-sizing: border-box;
        }
        #storyModal #storyForm.logged-in-layout #storyAuthorCompactHint:not(.hidden) {
          flex: 0 0 auto;
          width: 100%;
          box-sizing: border-box;
        }
        #storyModal #storyForm.logged-in-layout #storyBodySection {
          flex: 1 1 auto;
          min-height: 0;
        }
        /* Čas v pravém sloupci jen přes obsah. */
        #storyModal #storyFormAside #storyTimeSection {
          align-self: stretch;
          width: 100%;
          box-sizing: border-box;
        }
        #storyModal #basicInfoSection {
          padding: 6px 10px;
        }
        #storyModal #basicInfoSection h3 {
          margin: 0 0 4px;
          font-size: 12px;
          line-height: 1.2;
        }
        #storyModal #basicInfoSection .section-grid {
          gap: 6px 12px;
        }
        #storyModal #storyTimeSection {
          padding: 8px 10px;
        }
        #storyModal #storyTimeSection h3 {
          margin: 0 0 5px;
        }
        #storyModal #storyTimeSection .section-grid {
          gap: 6px;
        }
      }
      #storyModal #storyFormAside {
        gap: 8px;
      }
      #storyModal .form-section {
        padding: 10px 12px;
        border-radius: 10px;
      }
      #storyModal .form-section h3 {
        margin: 0 0 6px;
        font-size: 13px;
        line-height: 1.25;
      }
      #storyModal .section-grid {
        gap: 8px;
      }
      #storyModal .field {
        gap: 4px;
      }
      #storyModal label {
        font-size: 12.5px;
      }
      #storyModal input,
      #storyModal select,
      #storyModal textarea {
        padding: 6px 8px;
        font-size: 13px;
        line-height: 1.35;
      }
      /* Výchozí min. výška; na širší obrazovce níže roztáhneme až k spodku panelu (bez zbytečné mezery). */
      #storyModal textarea#storyText {
        min-height: 120px;
        max-height: none;
        resize: vertical;
      }
      @media (min-width: 921px) {
        #storyModal #storyBodySection {
          display: flex;
          flex-direction: column;
          min-height: 0;
          height: 100%;
          box-sizing: border-box;
        }
        #storyModal #storyBodySection .section-grid {
          flex: 1 1 auto;
          min-height: 0;
          display: flex;
          flex-direction: column;
        }
        #storyModal #storyBodySection .section-grid > .field:last-child {
          flex: 1 1 auto;
          min-height: 0;
          display: flex;
          flex-direction: column;
        }
        #storyModal #storyBodySection #storyText {
          flex: 1 1 auto;
          min-height: 200px;
          max-height: none;
        }
        /* Přihlášený na PC: víc místa na placeholder (dřív omezoval max-height u logged layoutu). */
        #storyModal #storyForm.logged-in-layout #storyBodySection #storyText {
          min-height: min(380px, 52vh);
        }
      }
      #storyModal #storyFinishSection .finish-inner {
        gap: 8px 16px;
      }
      #storyModal #storyForm.logged-in-layout #storyFinishSection .finish-inner {
        gap: 8px;
      }
      #storyModal #storyFormAside #storyFinishSection.story-finish-in-aside {
        padding: 10px 12px;
      }
      #storyModal #storyFormAside #storyFinishSection.story-finish-in-aside h3 {
        margin: 0 0 6px;
        font-size: 12.5px;
      }
      #storyModal #storyFormAside #storyFinishSection.story-finish-in-aside .finish-inner {
        gap: 8px;
      }
      #storyModal #storyFormAside #storyFinishSection.story-finish-in-aside label {
        font-size: 11.5px;
        line-height: 1.35;
      }
      #storyModal .author-compact-hint:not(.hidden) {
        margin: 0 0 8px;
        padding: 8px 10px;
        font-size: 12px;
        line-height: 1.35;
        background: rgba(255, 255, 255, 0.94);
        border: 1px solid rgba(0, 0, 0, 0.08);
        border-radius: 10px;
        box-sizing: border-box;
      }
      #storyModal .privacy-warning {
        margin-top: 6px;
        padding: 6px 8px;
        font-size: 11px;
        line-height: 1.35;
      }
      #storyModal .story-form-spirit {
        margin: 0 0 8px;
        padding: 8px 10px 8px 12px;
        border-radius: 10px;
        font-size: 12px;
        line-height: 1.36;
        border: 2px solid transparent !important;
        background:
          linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(243, 244, 246, 0.98) 100%) padding-box,
          linear-gradient(135deg, var(--story-form-tone-blue, #1b4d72), var(--story-form-tone-red, #961f33)) border-box !important;
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75) inset;
      }
      #storyModal .story-form-spirit__cols {
        gap: 6px 10px;
      }
      #storyModal .story-form-spirit__title {
        font-size: 0.9rem;
        margin-bottom: 2px;
      }
      #storyModal .story-form-spirit__body {
        font-size: 0.75rem;
        line-height: 1.34;
      }
      #storyModal .story-form-spirit__segment--second {
        padding-left: 10px;
      }
      #storyModal .story-form-spirit__closing {
        margin-top: 6px;
        padding-top: 6px;
        font-size: 0.75rem;
      }
      #storyModal .story-media-lead {
        font-size: 11px;
        margin-bottom: 6px;
      }
      #storyModal .ai-help {
        margin-top: 6px;
        padding: 8px;
      }
      #storyModal .ai-help-title {
        font-size: 12px;
      }
      #storyModal .ai-help-text {
        font-size: 11px;
      }
      #storyModal .modal-actions {
        margin-top: 8px;
        gap: 8px;
        padding: 10px 12px;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.96) !important;
        border: 1px solid rgba(0, 0, 0, 0.08);
        box-sizing: border-box;
      }
      @media (max-width: 1199px) {
        /* Jedna rolovací plocha na celou kartu modálu; křížek Zavřít zůstane nahoře (sticky). mp-window má lištu fixní. */
        .modal-backdrop[data-mp-universal-close] > section.modal:not([data-mp-window]) > button.modal-close-circle:first-of-type {
          position: sticky !important;
          top: max(6px, env(safe-area-inset-top, 0px)) !important;
          display: block !important;
          width: 38px !important;
          height: 38px !important;
          margin-left: auto !important;
          margin-right: max(8px, env(safe-area-inset-right, 0px)) !important;
          margin-bottom: 4px !important;
          left: auto !important;
          right: auto !important;
          z-index: 50;
          flex-shrink: 0;
          box-shadow: 0 2px 12px rgba(0, 0, 0, 0.28) !important;
        }
        /* Tok času — křížek v pravém horním rohu (ne uprostřed pod sticky pravidlem). */
        #mapFlowTimelineModal.modal-backdrop[data-mp-universal-close] > section.modal.map-flow-timeline-modal {
          position: relative;
        }
        #mapFlowTimelineModal.modal-backdrop[data-mp-universal-close]
          > section.modal.map-flow-timeline-modal
          > button.modal-close-circle:first-of-type {
          position: absolute !important;
          top: max(8px, env(safe-area-inset-top, 0px)) !important;
          right: max(8px, env(safe-area-inset-right, 0px)) !important;
          left: auto !important;
          margin: 0 !important;
          z-index: 60;
        }
        #municipalStatementsModal.modal-backdrop {
          padding: 8px;
        }
        #municipalStatementsModal .modal {
          width: calc(100vw - 16px) !important;
          max-width: calc(100vw - 16px) !important;
          margin-inline: auto !important;
          box-sizing: border-box !important;
        }
        #myProfileModal.modal-backdrop {
          padding: 8px;
        }
        #myProfileModal .modal {
          width: calc(100vw - 16px) !important;
          max-width: calc(100vw - 16px) !important;
          margin-inline: auto !important;
          box-sizing: border-box !important;
        }
        #myProfileAccountModal.modal-backdrop {
          padding: 8px;
        }
        #myProfileAccountModal .modal {
          width: calc(100vw - 16px) !important;
          max-width: calc(100vw - 16px) !important;
          margin-inline: auto !important;
          box-sizing: border-box !important;
        }
        #myStoriesModal.modal-backdrop {
          padding: 8px;
        }
        #myStoriesModal .modal {
          width: calc(100vw - 16px) !important;
          max-width: calc(100vw - 16px) !important;
          margin-inline: auto !important;
          box-sizing: border-box !important;
        }
        /* Stejný okraj jako ostatní modaly — „okolí“ a „sledovat místo“ dřív přetékaly doleva */
        #nearbyStoriesModal.modal-backdrop,
        #watchPlaceModal.modal-backdrop {
          padding: 8px;
          box-sizing: border-box;
        }
        #nearbyStoriesModal .modal.nearby-stories-modal,
        #watchPlaceModal .modal {
          width: calc(100vw - 16px) !important;
          max-width: calc(100vw - 16px) !important;
          margin-inline: auto !important;
          box-sizing: border-box !important;
          padding-left: 12px;
          padding-right: 12px;
          overflow-x: hidden;
        }
        #nearbyStoriesModal #nearbySearchResultMeta,
        #nearbyStoriesModal #nearbyStoriesList {
          max-width: 100%;
          overflow-x: hidden;
        }
        .nearby-search-toolbar {
          flex-direction: column;
          align-items: stretch;
          justify-content: flex-start !important;
        }
        .nearby-search-toolbar__btns {
          justify-content: stretch;
        }
        .nearby-search-toolbar__btns .primary,
        .nearby-search-toolbar__btns .secondary {
          flex: 1 1 auto;
          min-width: 0;
        }
        #shareNearbyListBtn {
          transform: none;
          width: 100%;
          box-sizing: border-box;
        }
        /* Druhé „Zavřít“ dole by se na mobilu překrývalo s kartami výsledků */
        #nearbyStoriesModal .nearby-sticky-close-actions {
          display: none !important;
        }
        /* Jeden rolovací celek: úvod + formulář + tlačítka (ne oddělený scroll jen u formuláře — s klávesnicí nebylo vidět pole). */
        #storyModal .modal:not([data-mp-window]) {
          width: calc(100vw - 16px) !important;
          max-width: calc(100vw - 16px) !important;
          margin-inline: auto !important;
          box-sizing: border-box !important;
          display: flex !important;
          flex-direction: column !important;
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow-x: hidden !important;
          overflow-y: auto !important;
          -webkit-overflow-scrolling: touch;
        }
        #storyModal .modal > .story-modal-title-row,
        #storyModal .modal > .story-form-spirit,
        #storyModal .modal > .author-compact-hint,
        #storyModal .modal > .story-branch-context {
          flex: 0 0 auto;
        }
        #storyModal .modal #storyForm {
          flex: 0 0 auto !important;
          min-height: 0;
          overflow: visible !important;
          padding-right: 0;
        }
        #storyModal .modal > p.hint {
          flex: 0 0 auto;
          margin-top: 6px;
        }
        #storyModal .modal > .modal-actions {
          flex: 0 0 auto;
          margin-top: 12px;
          padding-top: 10px;
          padding-bottom: max(8px, env(safe-area-inset-bottom));
          border-top: 1px solid rgba(0, 0, 0, 0.12);
          background: var(--color-bg);
          z-index: 2;
          position: static !important;
          box-shadow: none !important;
          justify-content: flex-end;
          flex-wrap: wrap;
          gap: 10px;
        }
        #storyModal textarea#storyText,
        #storyModal #storyForm.logged-in-layout #storyBodySection #storyText {
          min-height: min(280px, 52dvh) !important;
          max-height: none !important;
        }
        #myStoriesModal .modal.author-hub-modal:not([data-mp-window]) {
          display: flex !important;
          flex-direction: column !important;
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow: hidden !important;
        }
        #myStoriesModal .author-hub-modal[data-mp-window] .author-hub-modal__body {
          min-height: 0;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
        }
        #myStoriesModal .author-hub-modal:not([data-mp-window]) .author-hub-modal__body {
          flex: 1 1 auto !important;
          min-height: 0 !important;
          overflow-y: auto !important;
          -webkit-overflow-scrolling: touch;
        }
        #myStoriesModal .modal #myStoriesList {
          flex: 0 0 auto !important;
          min-height: 0 !important;
          overflow-y: visible !important;
          overflow-x: hidden;
          padding-right: 2px;
        }
        #myStoriesModal .modal > .modal-actions,
        #myStoriesModal .author-hub-modal__actions {
          flex: 0 0 auto;
          margin-top: auto;
          padding-top: 10px;
          border-top: 1px solid rgba(0, 0, 0, 0.12);
          background: #ffffff !important;
          z-index: 2;
        }
        /* "Plovoucí" zavírací patka — ne u mp-window (fixní šedá lišta) ani u „Nový příběh“. */
        #myStoriesModal .modal:not([data-mp-window]) > .modal-actions,
        #myStoriesModal .author-hub-modal:not([data-mp-window]) > .author-hub-modal__actions,
        #municipalStatementsModal .modal:not([data-mp-window]) > .modal-actions,
        #nearbyStoriesModal .modal:not([data-mp-window]) > .modal-actions {
          position: sticky;
          bottom: 0;
          z-index: 6;
          padding-bottom: max(8px, env(safe-area-inset-bottom));
          box-shadow: 0 -6px 14px rgba(0, 0, 0, 0.08);
        }
        #storyDetailModal.modal-backdrop {
          padding: 8px;
          box-sizing: border-box;
        }
        #storyDetailModal .story-detail-modal:not([data-mp-window]) {
          width: calc(100vw - 16px) !important;
          max-width: calc(100vw - 16px) !important;
          margin-inline: auto !important;
          box-sizing: border-box !important;
          overflow-x: hidden !important;
          overflow-y: auto !important;
          -webkit-overflow-scrolling: touch;
          max-height: min(calc(100dvh - 16px), calc(100svh - 20px)) !important;
          display: flex !important;
          flex-direction: column !important;
        }
        #storyDetailModal .story-detail-main-wrap,
        #storyDetailModal .story-detail-body,
        #storyDetailModal .story-detail-grid {
          flex: 0 0 auto !important;
          min-height: 0 !important;
          overflow: visible !important;
        }
        #storyDetailModal .story-detail-meta-col {
          overflow: visible !important;
        }
        #storyDetailModal .story-detail-text-scroll {
          flex: 0 0 auto !important;
          min-height: 0 !important;
          max-height: none !important;
          overflow: visible !important;
        }
        #storyDetailModal .story-detail-text-col {
          min-height: 0 !important;
        }
        #storyDetailModal .detail-lock-panel {
          flex: 0 0 auto !important;
          overflow: visible !important;
        }
        #storyDetailModal .story-detail-modal:not([data-mp-window]) .story-detail-footer {
          position: sticky;
          bottom: 0;
          z-index: 24;
          margin-top: auto;
          padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
          background: linear-gradient(to top, #faf7f2 88%, rgba(250, 247, 242, 0));
          box-shadow: 0 -10px 28px rgba(15, 23, 42, 0.08);
        }
        /* Obsahové stránky — scroll jen v těle, patička s Zavřít vždy klikatelná (jako vizitka obce). */
        #contentPageModal .modal.public-cms-page-modal {
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
        }
        #contentPageModal .public-cms-page-body {
          max-height: min(62vh, 520px);
        }
        #contentPageModal .public-cms-page-modal__actions {
          flex: 0 0 auto;
          margin-top: auto;
          padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
          background: #ffffff;
          z-index: 2;
          position: relative;
          bottom: 0;
          box-shadow: 0 -8px 20px rgba(15, 23, 42, 0.08);
        }
      }
      #myProfileModal.modal-backdrop {
        padding: 8px;
      }
      #myProfileModal .modal.author-hub-modal {
        width: var(--mp-modal-fluid-w);
        max-width: 100%;
        max-height: var(--mp-modal-fluid-h);
        padding: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
      }
      #myProfileModal .modal:not(.author-hub-modal) {
        width: var(--mp-modal-fluid-w);
        max-width: 100%;
        max-height: var(--mp-modal-fluid-h);
        padding: 10px 12px 12px;
        border-radius: 12px;
        display: flex;
        flex-direction: column;
        overflow-x: hidden;
        overflow-y: auto;
      }
      #myProfileAccountModal.modal-backdrop {
        padding: 8px;
      }
      #myProfileAccountModal .modal {
        width: min(375px, var(--mp-modal-fluid-w));
        max-height: calc(100dvh - 16px);
        padding: 12px 14px 14px;
        border-radius: 12px;
        display: flex;
        flex-direction: column;
        overflow-x: hidden;
        overflow-y: auto;
      }
      #myProfileModal .modal > h2:not(.author-hub-modal__hero-title) {
        margin: 0 0 4px;
        font-size: 1.25rem;
        line-height: 1.2;
        flex: 0 0 auto;
      }
      #myProfileModal .modal > .hint:not(.author-hub-modal__intro) {
        margin: 0 0 8px;
        font-size: 12px;
        line-height: 1.35;
        flex: 0 0 auto;
      }
      #myProfileForm.my-profile-form.my-profile-layout {
        flex: 1 1 auto;
        min-height: 0;
        display: grid;
        grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.1fr);
        grid-template-areas: "pf-main pf-aside";
        gap: 10px;
        align-items: stretch;
      }
      .my-profile-column {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 8px;
      }
      .my-profile-column--main {
        grid-area: pf-main;
      }
      .my-profile-column--aside {
        grid-area: pf-aside;
      }
      .my-profile-column .form-section {
        flex: 0 1 auto;
        min-height: 0;
        padding: 10px 12px;
        border-radius: 10px;
      }
      #myProfileAsideColumn .profile-deep-section {
        flex: 1 1 auto;
        min-height: 0;
      }
      .my-profile-column .form-section h3 {
        margin: 0 0 6px;
        font-size: 13px;
        line-height: 1.25;
      }
      .my-profile-form .section-grid {
        gap: 8px;
      }
      .my-profile-form .field {
        gap: 4px;
      }
      .my-profile-form label {
        font-size: 12.5px;
      }
      .my-profile-form input,
      .my-profile-form select,
      .my-profile-form textarea {
        padding: 6px 8px;
        font-size: 13px;
        line-height: 1.35;
      }
      #myProfileForm .form-section.curator-mandatory {
        border: 1px solid rgba(155, 28, 49, 0.22);
        background: linear-gradient(180deg, rgba(155, 28, 49, 0.06), rgba(255, 255, 255, 0.5));
      }
      #myProfileForm .form-section.curator-mandatory h3 {
        color: #7f1d1d;
      }
      .my-profile-form textarea {
        resize: vertical;
        min-height: 52px;
        max-height: min(18vh, 120px);
      }
      #myProfileForm #profilePublicBio {
        min-height: 64px;
        max-height: min(20vh, 130px);
      }
      #myProfileForm #profileExtra {
        min-height: 64px;
        max-height: min(20vh, 128px);
      }
      #myProfileForm .profile-deep-section #profileQuoteMotto {
        min-height: 52px;
        max-height: min(16vh, 100px);
      }
      .profile-avatar-row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
      }
      .profile-avatar-preview-wrap {
        width: 72px;
        height: 72px;
        border-radius: 50%;
        border: 1px solid var(--accent-border);
        background: var(--surface-card);
        display: grid;
        place-items: center;
        overflow: hidden;
        flex-shrink: 0;
      }
      .profile-avatar-preview {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .profile-avatar-preview.hidden {
        display: none;
      }
      .profile-avatar-placeholder {
        font-size: 11px;
        color: var(--text-muted);
        text-align: center;
        padding: 6px;
        line-height: 1.25;
      }
      .profile-avatar-placeholder.hidden {
        display: none;
      }
      .profile-avatar-actions {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        min-width: 0;
      }
      .profile-avatar-actions input[type="file"] {
        max-width: 100%;
        font-size: 12px;
      }
      .my-profile-form .profile-contact-label,
      .my-profile-form .profile-seek-label {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        cursor: pointer;
      }
      /* Obal kolem žádostí o status ve super-profilu — `display: contents`, aby děti zůstaly přímo v mřížce formuláře; `.hidden` je `display: none !important`. */
      #superProfileAuthorGamificationShell {
        display: contents;
      }
      .super-profile-checkbox-row {
        display: flex;
        align-items: center;
        gap: 8px;
      }
      .super-profile-checkbox-row input[type="checkbox"] {
        margin: 0;
        order: -1;
      }
      .super-profile-checkbox-row + .field-note {
        margin-top: 4px;
      }
      .my-profile-form .profile-contact-label input,
      .my-profile-form .profile-seek-label input {
        margin-top: 4px;
      }
      .author-name-link {
        display: inline;
        padding: 0;
        margin: 0;
        border: 0;
        background: none;
        font: inherit;
        font-weight: 400;
        color: var(--accent-text);
        text-decoration: underline;
        text-underline-offset: 2px;
        cursor: pointer;
        border-radius: 4px;
      }
      .author-name-link:hover {
        text-decoration-thickness: 2px;
      }
      .author-name-link:focus-visible {
        outline: 2px solid var(--accent-border);
        outline-offset: 2px;
      }
      .detail-author-row {
        display: inline-flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px 8px;
        vertical-align: middle;
      }
      .detail-author-name-inline {
        display: inline;
      }
      .detail-author-avatar-btn {
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 26px;
        height: 26px;
        padding: 0;
        margin: 0;
        border: 1px solid rgba(15, 23, 42, 0.15);
        border-radius: 50%;
        background: rgba(15, 23, 42, 0.04);
        cursor: pointer;
        overflow: hidden;
        vertical-align: middle;
        box-sizing: border-box;
      }
      .detail-author-avatar-btn:hover {
        border-color: rgba(15, 23, 42, 0.28);
      }
      .detail-author-avatar-btn:focus-visible {
        outline: 2px solid var(--accent-border);
        outline-offset: 2px;
      }
      .detail-author-avatar-img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .story-title-link {
        display: inline;
        padding: 0;
        margin: 0;
        border: 0;
        background: none;
        font: inherit;
        font-weight: 700;
        color: inherit;
        text-align: left;
        cursor: pointer;
        border-radius: 4px;
      }
      .story-title-link:hover {
        text-decoration: underline;
        text-underline-offset: 2px;
      }
      .story-title-link:focus-visible {
        outline: 2px solid var(--accent-border);
        outline-offset: 2px;
      }
      .municipality-name-link {
        text-decoration: underline;
        text-underline-offset: 2px;
      }
      body.site-mistopribeh .author-name-link {
        color: #374151;
      }
      #authorCardModal .modal.author-card-modal {
        width: min(485px, var(--mp-modal-fluid-w));
        max-height: calc(100dvh - 24px);
        overflow-y: auto;
      }
      #authorStoriesModal .modal.author-stories-modal {
        width: min(90vw, 1080px);
        max-width: 90vw;
        max-height: calc(100dvh - 24px);
        overflow-y: auto;
        box-sizing: border-box;
        padding-left: 0;
        padding-right: 0;
      }
      #authorStoriesModal .modal.author-stories-modal > h2,
      #authorStoriesModal .modal.author-stories-modal > .field-note {
        width: 90%;
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
      }
      #authorStoriesModal #authorStoriesList {
        width: 90%;
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
      }
      #authorStoriesModal .modal.author-stories-modal > .modal-actions {
        width: 90%;
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
      }
      #authorStoriesModal .story-item-meta-row {
        overflow: visible !important;
        flex-wrap: wrap;
        row-gap: 8px;
        align-items: flex-start;
      }
      #authorStoriesModal .story-item-line--main,
      #authorStoriesModal .story-item-line {
        white-space: normal !important;
        flex-wrap: wrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
        row-gap: 4px;
      }
      #authorStoriesModal .story-item-line--main {
        flex: 1 1 100%;
        min-width: 0;
      }
      #authorStoriesModal .story-item-open-btn {
        margin-left: auto;
        flex-shrink: 0;
      }
      .admin-story-row-author {
        display: inline-flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 4px;
      }
      .admin-story-row-author__label {
        color: #6b7280;
        font-size: 12px;
      }
      .admin-soft-deleted-card__author {
        margin: 0 0 10px;
        font-size: 13px;
        color: #4b5563;
      }
      #mapStoryGroupsOverviewModal .modal.map-story-groups-overview-modal,
      #mapStoryGroupDetailModal .modal.map-story-group-detail-modal {
        width: min(720px, var(--mp-modal-fluid-w));
        max-height: calc(100dvh - 24px);
        overflow-y: auto;
      }
      .map-story-groups-overview-list {
        margin-top: 12px;
        max-height: min(54vh, 520px);
        overflow: auto;
      }
      .map-story-groups-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 13px;
      }
      .map-story-groups-table th,
      .map-story-groups-table td {
        border-bottom: 1px solid rgba(0, 0, 0, 0.12);
        padding: 7px 8px;
        text-align: left;
        vertical-align: top;
      }
      .map-story-group-exact-marker {
        display: grid;
        place-items: center;
        width: 26px;
        height: 26px;
        border-radius: 999px;
        border: 2px solid #fff;
        background: #1d4ed8;
        color: #fff;
        font-weight: 800;
        box-shadow: 0 6px 16px rgba(15, 23, 42, 0.28);
      }
      .author-card-modal-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
        justify-items: center;
        gap: 10px;
        width: 100%;
      }
      #authorCardModal #authorCardContactBtn {
        justify-self: start;
      }
      #authorCardModal #authorCardStoriesBtn {
        justify-self: center;
        background: var(--color-accent, #9b1c31) !important;
        border-color: var(--color-accent, #9b1c31) !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      #authorCardModal #authorCardStoriesBtn:hover,
      #authorCardModal #authorCardStoriesBtn:focus-visible {
        filter: brightness(0.92);
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      #authorCardModal #closeAuthorCardBtn {
        justify-self: end;
      }
      .author-card-body {
        margin-top: 4px;
      }
      .author-card-hero {
        display: flex;
        align-items: center;
        gap: 14px;
        margin-bottom: 12px;
      }
      .author-card-avatar {
        width: 80px;
        height: 80px;
        border-radius: 50%;
        object-fit: cover;
        background: var(--surface-card);
        border: 1px solid var(--border-light);
        flex-shrink: 0;
      }
      .author-card-avatar-placeholder {
        width: 80px;
        height: 80px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        font-size: 11px;
        color: var(--text-muted);
        text-align: center;
        line-height: 1.25;
        border: 1px dashed var(--border-light);
        flex-shrink: 0;
      }
      .author-card-dl {
        margin: 2px 0 0;
        display: flex;
        flex-direction: column;
        gap: 10px;
      }
      .author-card-row {
        display: grid;
        grid-template-columns: minmax(0, 34%) minmax(0, 1fr);
        gap: 8px 12px;
        align-items: start;
      }
      .author-card-row dt {
        margin: 0;
        font-size: 12px;
        font-weight: 700;
        color: var(--text-muted);
      }
      .author-card-row dd {
        margin: 0;
        font-size: 13px;
        line-height: 1.45;
        word-break: break-word;
      }
      .author-card-quote {
        margin: 0 0 20px;
        padding: 10px 12px;
        border-left: 3px solid var(--accent-border);
        font-style: italic;
        background: var(--accent-softer);
        border-radius: 0 8px 8px 0;
      }
      .author-card-note {
        font-size: 12px;
        color: var(--text-muted);
        margin: 10px 0 0;
      }
      .author-card-status-pill {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-top: 4px;
        margin-bottom: 6px;
        padding: 4px 9px;
        border-radius: 999px;
        font-size: 12px;
        font-weight: 700;
        color: #0f172a;
        background: #fef3c7;
        border: 1px solid #f59e0b;
      }
      .author-card-empty {
        font-size: 13px;
        color: var(--text-muted);
        margin: 4px 0 0;
      }
      .my-profile-author-status-badge {
        display: inline-flex;
        margin-top: 4px;
        padding: 5px 10px;
        border-radius: 999px;
        font-weight: 700;
        font-size: 12px;
        color: #0f172a;
        background: #e2e8f0;
        border: 1px solid #94a3b8;
      }
      .super-profile-motivation-panel {
        padding: 12px 14px;
        border-radius: 12px;
        border: 1px solid rgba(15, 23, 42, 0.12);
        background: rgba(248, 250, 252, 0.95);
      }
      .super-profile-motivation-panel__intro {
        margin: 4px 0 10px;
        font-size: 13px;
        line-height: 1.5;
        color: #475569;
      }
      .super-profile-motivation-panel__dl {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 8px 0;
        margin: 0;
        padding: 0;
        font-size: 13px;
        line-height: 1.45;
      }
      .super-profile-motivation-panel__dl dt {
        margin: 0;
        padding-top: 6px;
        font-weight: 700;
        color: #0f172a;
        border-top: 1px dashed rgba(15, 23, 42, 0.12);
      }
      .super-profile-motivation-panel__dl dt:first-of-type {
        padding-top: 0;
        border-top: 0;
      }
      .super-profile-motivation-panel__dl dd {
        margin: 0 0 2px;
        padding-left: 0;
        color: #334155;
      }
      .super-profile-my-requests-panel {
        display: flex;
        flex-direction: column;
        gap: 8px;
      }
      .super-profile-my-request-item {
        padding: 8px 10px;
        border-radius: 10px;
        border: 1px solid rgba(15, 23, 42, 0.16);
        background: rgba(255, 255, 255, 0.72);
        font-size: 13px;
        line-height: 1.45;
      }
      .super-profile-request-status-pill {
        display: inline-flex;
        align-items: center;
        padding: 2px 8px;
        border-radius: 999px;
        font-size: 12px;
        font-weight: 700;
        border: 1px solid #94a3b8;
        color: #0f172a;
        background: #e2e8f0;
      }
      .super-profile-request-status-pill.is-pending {
        border-color: #f59e0b;
        background: #fef3c7;
        color: #92400e;
      }
      .super-profile-request-status-pill.is-waiting-partnership {
        border-color: #d97706;
        background: #ffedd5;
        color: #9a3412;
      }
      .super-profile-request-status-pill.is-in-review {
        border-color: #2563eb;
        background: #dbeafe;
        color: #1e3a8a;
      }
      .super-profile-request-status-pill.is-approved {
        border-color: #15803d;
        background: #dcfce7;
        color: #14532d;
      }
      .super-profile-request-status-pill.is-rejected {
        border-color: #b91c1c;
        background: #fee2e2;
        color: #7f1d1d;
      }
      #myProfileModal .modal-actions:not(.author-hub-modal__actions) {
        margin-top: 8px;
        flex: 0 0 auto;
        position: relative;
        z-index: 4;
      }
      .super-profile-launch {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: 6px 0 2px;
        gap: 6px;
      }
      .profile-completion-shell {
        margin: 10px 0 6px;
        padding: 10px 12px 12px;
        border: 1px solid rgba(15, 23, 42, 0.12);
        border-radius: 12px;
        background: linear-gradient(165deg, rgba(255, 255, 255, 0.95), rgba(241, 245, 249, 0.9));
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75) inset;
      }
      #myProfileAsideColumn .profile-completion-shell {
        margin: 0;
      }
      #myProfileAsideColumn .super-profile-launch {
        margin: 0;
        align-items: stretch;
      }
      #myProfileAsideColumn .super-profile-launch #toggleSuperProfileBtn {
        align-self: center;
      }
      #myProfileAsideColumn #superProfileProgramHint {
        text-align: left;
      }
      .profile-completion-shell__head {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 10px;
        flex-wrap: wrap;
      }
      .profile-completion-shell__head .detail-label {
        margin: 0;
        font-weight: 600;
        letter-spacing: 0.02em;
        color: rgba(15, 23, 42, 0.82);
      }
      .profile-completion-shell__percent {
        font-size: 1.35rem;
        font-variant-numeric: tabular-nums;
        color: #0f172a;
        line-height: 1.1;
      }
      .profile-completion-shell__meta {
        margin: 4px 0 0;
        width: 100%;
      }
      .profile-completion-ruler {
        margin-top: 10px;
      }
      .profile-completion-ruler__track {
        position: relative;
        height: 16px;
        border-radius: 999px;
        background-color: rgba(15, 23, 42, 0.07);
        background-image: repeating-linear-gradient(
          90deg,
          transparent,
          transparent calc(25% - 1px),
          rgba(15, 23, 42, 0.09) calc(25% - 1px),
          rgba(15, 23, 42, 0.09) 25%
        );
        box-shadow: inset 0 1px 3px rgba(15, 23, 42, 0.12);
        overflow: visible;
      }
      .profile-completion-ruler__fill {
        height: 100%;
        width: 0%;
        min-width: 0;
        border-radius: 999px;
        background: linear-gradient(90deg, #0ea5e9, #22c55e);
        box-shadow:
          0 0 0 1px rgba(255, 255, 255, 0.35) inset,
          0 2px 10px rgba(34, 197, 94, 0.28);
        transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1);
        position: relative;
      }
      .profile-completion-ruler[data-pct="100"] .profile-completion-ruler__fill {
        background: linear-gradient(90deg, #22c55e, #4ade80);
        box-shadow:
          0 0 0 1px rgba(255, 255, 255, 0.45) inset,
          0 0 18px rgba(74, 222, 128, 0.55);
        animation: profile-completion-glow 2.2s ease-in-out infinite;
      }
      @keyframes profile-completion-glow {
        0%,
        100% {
          filter: saturate(1);
        }
        50% {
          filter: saturate(1.15) brightness(1.03);
        }
      }
      .profile-completion-ruler__fill::after {
        content: "";
        position: absolute;
        right: -1px;
        top: 50%;
        transform: translate(50%, -50%);
        width: 14px;
        height: 14px;
        border-radius: 50%;
        background: linear-gradient(145deg, #ffffff, #e2e8f0);
        border: 2px solid rgba(255, 255, 255, 0.95);
        box-shadow: 0 1px 4px rgba(15, 23, 42, 0.22);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.25s ease;
      }
      .profile-completion-ruler[data-pct]:not([data-pct="0"]) .profile-completion-ruler__fill::after {
        opacity: 1;
      }
      .profile-completion-ruler__labels {
        display: flex;
        justify-content: space-between;
        margin-top: 5px;
        padding: 0 1px;
        font-size: 10px;
        font-variant-numeric: tabular-nums;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: rgba(15, 23, 42, 0.45);
      }
      .profile-completion-ruler__cheer {
        margin: 10px 0 0;
        font-size: 12.5px;
        line-height: 1.45;
        color: rgba(15, 23, 42, 0.78);
      }
      body.site-mistopribeh .profile-completion-ruler__fill {
        background: linear-gradient(90deg, #15803d, #22c55e);
      }
      body.site-mistopribeh .profile-completion-ruler[data-pct="100"] .profile-completion-ruler__fill {
        background: linear-gradient(90deg, #166534, #4ade80);
      }
      @media (prefers-reduced-motion: reduce) {
        .profile-completion-ruler__fill {
          transition: none;
        }
        .profile-completion-ruler[data-pct="100"] .profile-completion-ruler__fill {
          animation: none;
        }
      }
      #toggleSuperProfileBtn {
        min-width: 150px;
        max-width: 260px;
        font-size: 14px;
        padding: 7px 12px;
        cursor: pointer !important;
        pointer-events: auto !important;
        position: relative;
        z-index: 2;
      }
      #superProfileProgramShell {
        position: relative;
        z-index: 1;
        pointer-events: auto;
      }
      .admin-color-confirm-row {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
      }
      .admin-color-preview-chip {
        width: 18px;
        height: 18px;
        border-radius: 4px;
        border: 1px solid #c7c9d1;
        display: inline-block;
      }
      #superProfileProgramHint {
        margin: 0;
        text-align: center;
      }
      @media (max-width: 960px) {
        #myProfileForm.my-profile-form.my-profile-layout {
          grid-template-columns: 1fr;
          grid-template-areas:
            "pf-main"
            "pf-aside";
        }
      }
      /* #authModal: přepínač Přihlášení / Registrace — všechny šířky (dřív omylem jen v @media ≤1199px). */
      #authModal .auth-mode-tabs {
        display: flex;
        gap: 10px;
        margin-bottom: 14px;
        border: none;
        overflow: visible;
        flex: 0 0 auto;
      }
      #authModal .auth-mode-tab {
        flex: 1;
        margin: 0;
        padding: 11px 14px;
        border: 2px solid rgba(0, 0, 0, 0.12);
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.82);
        cursor: pointer;
        font: inherit;
        font-weight: 600;
        color: inherit;
        box-shadow: none;
        appearance: none;
        -webkit-appearance: none;
      }
      #authModal .auth-mode-tab:not(.auth-mode-tab--active) {
        opacity: 1;
        background: rgba(255, 255, 255, 0.72);
        color: #1a1a1a !important;
        -webkit-text-fill-color: #1a1a1a !important;
        border-color: rgba(0, 0, 0, 0.14);
      }
      #authModal .auth-mode-tab:not(.auth-mode-tab--active):hover,
      #authModal .auth-mode-tab:not(.auth-mode-tab--active):focus-visible {
        background: rgba(0, 0, 0, 0.06);
        border-color: rgba(0, 0, 0, 0.2);
        color: #1a1a1a !important;
        -webkit-text-fill-color: #1a1a1a !important;
      }
      #authModal .auth-mode-tab.auth-mode-tab--login.auth-mode-tab--active {
        background: #1b4d72;
        border-color: #163e5c;
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
        opacity: 1;
      }
      #authModal .auth-mode-tab.auth-mode-tab--login.auth-mode-tab--active:hover,
      #authModal .auth-mode-tab.auth-mode-tab--login.auth-mode-tab--active:focus-visible {
        background: #164260;
        border-color: #12354f;
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
      }
      #authModal .auth-mode-tab.auth-mode-tab--register.auth-mode-tab--active {
        background: #961f33;
        border-color: #7a1829;
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
        opacity: 1;
      }
      #authModal .auth-mode-tab.auth-mode-tab--register.auth-mode-tab--active:hover,
      #authModal .auth-mode-tab.auth-mode-tab--register.auth-mode-tab--active:focus-visible {
        background: #7e1a2b;
        border-color: #681524;
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
      }
      /* Úzký mobil: řádek heslo + „Zobrazit“ pod sebe — žádný vodorovný posuvník v okně Účet. */
      @media (max-width: 520px) {
        #authModal .auth-mode-tab {
          padding: 9px 10px;
          font-size: 14px;
        }
        .modal .password-field-with-toggle {
          display: flex;
          flex-direction: column;
          align-items: stretch;
          gap: 6px;
        }
        .modal .password-field-with-toggle input {
          width: 100%;
          min-width: 0;
          box-sizing: border-box;
        }
        .modal .password-field-with-toggle .password-toggle-btn {
          width: 100%;
          max-width: 100%;
          box-sizing: border-box;
          align-self: stretch;
        }
      }
      @media (max-width: 1199px) {
        #myProfileModal .modal.author-hub-modal {
          display: flex !important;
          flex-direction: column !important;
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow: hidden !important;
        }
        #myProfileModal .author-hub-modal__hero,
        #myProfileModal .author-hub-modal__intro {
          flex: 0 0 auto;
        }
        #myProfileModal .modal #myProfileForm.author-hub-modal__body {
          flex: 1 1 auto;
          min-height: 0;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
          padding-right: 2px;
        }
        #myProfileModal .modal > .modal-actions,
        #myProfileModal .author-hub-modal__actions {
          flex: 0 0 auto;
          margin-top: auto;
          padding-top: 10px;
          border-top: 1px solid rgba(0, 0, 0, 0.1);
          background: #ffffff !important;
          z-index: 2;
        }
        #superAdminModal .super-admin-modal {
          max-height: min(100dvh - 20px, 100svh - 24px) !important;
        }
        #authModal.modal-backdrop {
          padding: 8px;
        }
        #authModal .modal {
          display: flex !important;
          flex-direction: column !important;
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow: hidden !important;
          width: min(100%, calc(100vw - 16px));
          max-width: min(720px, calc(100vw - 16px));
          box-sizing: border-box;
        }
        #curatorActivationModal .modal {
          display: flex !important;
          flex-direction: column !important;
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow: hidden !important;
        }
        #authModal .modal > h2,
        #authModal .modal > .hint,
        #curatorActivationModal .modal > h2,
        #curatorActivationModal .modal > .hint {
          flex: 0 0 auto;
        }
        #authModal .modal #authForm,
        #curatorActivationModal .modal #curatorActivationForm {
          flex: 1 1 auto;
          min-height: 0;
          min-width: 0;
          overflow-y: auto;
          overflow-x: hidden;
          -webkit-overflow-scrolling: touch;
          /* Dřív jen 2px vpravo — na mobilu iOS ořezávalo okraje inputů uvnitř scrollu. */
          padding-left: 12px;
          padding-right: 12px;
          box-sizing: border-box;
        }
        #authModal .modal > .modal-actions,
        #curatorActivationModal .modal > .modal-actions {
          flex: 0 0 auto;
          margin-top: auto;
          padding-top: 10px;
          border-top: 1px solid rgba(0, 0, 0, 0.12);
          background: var(--color-bg);
          z-index: 2;
        }
        #authModal .modal > .modal-actions {
          flex-wrap: wrap;
          gap: 8px;
        }
        #authModal .modal > .modal-actions .primary,
        #authModal .modal > .modal-actions .secondary {
          flex: 1 1 auto;
          min-width: 0;
        }
        #authModal .password-field-with-toggle,
        .modal .password-field-with-toggle {
          display: flex;
          gap: 8px;
          align-items: stretch;
          flex-wrap: nowrap;
          max-width: 100%;
          box-sizing: border-box;
        }
        #authModal .password-field-with-toggle input,
        .modal .password-field-with-toggle input {
          flex: 1 1 auto;
          min-width: 0;
          max-width: 100%;
        }
        #authModal .password-field-with-toggle .password-toggle-btn,
        .modal .password-field-with-toggle .password-toggle-btn {
          flex: 0 0 auto;
          white-space: nowrap;
          align-self: stretch;
        }
        #authModal .password-field-with-toggle .password-toggle-btn {
          padding: 7px 10px;
          font-size: 12px;
        }
        .nav-drawer--account .account-drawer-logout-li {
          margin-top: 10px;
          margin-bottom: 8px;
          padding-top: 12px;
          border-top: 1px solid rgba(0, 0, 0, 0.12);
        }
        .nav-drawer--account .nav-drawer__list .account-proxy-btn--login {
          background: rgba(255, 255, 255, 0.96);
          border: 2px solid #ffffff;
          color: #1b4d72 !important;
          -webkit-text-fill-color: #1b4d72 !important;
          font-weight: 700;
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
        }
        .nav-drawer--account .nav-drawer__list .account-proxy-btn--login:hover,
        .nav-drawer--account .nav-drawer__list .account-proxy-btn--login:focus-visible {
          background: #ffffff;
          border-color: #ffffff;
          color: #12354f !important;
          -webkit-text-fill-color: #12354f !important;
        }
        .nav-drawer--account .nav-drawer__list .account-proxy-btn--register {
          background: #961f33;
          border-color: #7a1829;
          color: #fff !important;
          -webkit-text-fill-color: #fff !important;
          font-weight: 600;
        }
        .nav-drawer--account .nav-drawer__list .account-proxy-btn--register:hover,
        .nav-drawer--account .nav-drawer__list .account-proxy-btn--register:focus-visible {
          background: #7e1a2b;
          border-color: #681524;
          color: #fff !important;
          -webkit-text-fill-color: #fff !important;
        }
        .nav-drawer--account .nav-drawer__list .account-proxy-btn--trail .account-proxy-btn__trail svg {
          width: 26px !important;
          height: 26px !important;
        }
        .nav-drawer--account .account-proxy-trail--avatar {
          width: 28px;
          height: 28px;
          min-width: 28px;
          min-height: 28px;
        }
        .nav-drawer--account .nav-drawer__list .account-proxy-btn--favorites .account-proxy-favorites-icon {
          font-size: 1.5rem;
          font-weight: 800;
        }
        /* Mobil: stejné barvy symbolů vpravo jako na desktopu (bílé / žlutá hvězda / červené odhlášení). */
        #accountDrawerPanel .account-proxy-btn--messages .account-proxy-messages-icon svg,
        #accountDrawerPanel .nav-drawer__list .account-proxy-btn--trail:not(.account-proxy-btn--logout):not(.account-proxy-btn--favorites) .account-proxy-btn__trail svg,
        #accountDrawerPanel .nav-drawer__list .account-proxy-btn--trail:not(.account-proxy-btn--logout):not(.account-proxy-btn--favorites) .account-proxy-btn__trail svg path {
          fill: #ffffff !important;
          color: #ffffff !important;
        }
        #accountDrawerPanel .nav-drawer__list .account-proxy-btn--favorites .account-proxy-favorites-icon {
          color: #f5d565 !important;
          -webkit-text-fill-color: #f5d565 !important;
        }
        #accountDrawerPanel .nav-drawer__list .account-drawer-logout-btn .account-proxy-trail--logout svg,
        #accountDrawerPanel .nav-drawer__list .account-drawer-logout-btn .account-proxy-trail--logout svg path,
        #accountDrawerPanel .nav-drawer__list .account-proxy-btn--logout .account-proxy-trail--logout svg,
        #accountDrawerPanel .nav-drawer__list .account-proxy-btn--logout .account-proxy-trail--logout svg path {
          fill: #ef4444 !important;
          color: #ef4444 !important;
        }
        #accountDrawerPanel .nav-drawer__list .account-proxy-btn--trail:not(.account-proxy-btn--logout):not(.account-proxy-btn--favorites):hover .account-proxy-btn__trail svg,
        #accountDrawerPanel .nav-drawer__list .account-proxy-btn--trail:not(.account-proxy-btn--logout):not(.account-proxy-btn--favorites):focus-visible .account-proxy-btn__trail svg,
        #accountDrawerPanel .nav-drawer__list .account-proxy-btn--trail:not(.account-proxy-btn--logout):not(.account-proxy-btn--favorites):hover .account-proxy-btn__trail svg path,
        #accountDrawerPanel .nav-drawer__list .account-proxy-btn--trail:not(.account-proxy-btn--logout):not(.account-proxy-btn--favorites):focus-visible .account-proxy-btn__trail svg path {
          fill: #ffffff !important;
          color: #ffffff !important;
        }
        #accountDrawerPanel .nav-drawer__list .account-proxy-btn--favorites:hover .account-proxy-favorites-icon,
        #accountDrawerPanel .nav-drawer__list .account-proxy-btn--favorites:focus-visible .account-proxy-favorites-icon {
          color: #f5d565 !important;
          -webkit-text-fill-color: #f5d565 !important;
        }
        #accountDrawerPanel .nav-drawer__list .account-drawer-logout-btn:hover .account-proxy-trail--logout svg,
        #accountDrawerPanel .nav-drawer__list .account-drawer-logout-btn:focus-visible .account-proxy-trail--logout svg,
        #accountDrawerPanel .nav-drawer__list .account-drawer-logout-btn:hover .account-proxy-trail--logout svg path,
        #accountDrawerPanel .nav-drawer__list .account-drawer-logout-btn:focus-visible .account-proxy-trail--logout svg path {
          fill: #ef4444 !important;
          color: #ef4444 !important;
        }
        .nav-drawer--account .nav-drawer__list .account-drawer-logout-btn {
          display: flex !important;
          flex-direction: row !important;
          align-items: center !important;
          justify-content: space-between !important;
          text-align: left;
          width: 100%;
          background: rgba(255, 255, 255, 0.14) !important;
          border: 2px solid rgba(255, 255, 255, 0.45) !important;
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
          font-weight: 400;
        }
        .nav-drawer--account .nav-drawer__list .account-drawer-logout-btn:hover,
        .nav-drawer--account .nav-drawer__list .account-drawer-logout-btn:focus-visible {
          background: rgba(255, 255, 255, 0.22) !important;
          border-color: rgba(255, 255, 255, 0.55) !important;
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
        }
      @media (min-width: 1200px) {
        .nav-drawer--account .account-drawer-status-rules-li {
          display: none !important;
        }
      }
        #curatorModal .modal,
        #curatorExportModal .modal {
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
        }
        #curatorSupportModal .modal {
          display: flex !important;
          flex-direction: column !important;
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow-x: hidden !important;
          overflow-y: auto !important;
          -webkit-overflow-scrolling: touch;
        }
        #curatorSupportModal .modal > h2 {
          flex: 0 0 auto;
        }
        #curatorSupportModal .curator-support-body {
          flex: 0 0 auto !important;
          min-height: 0 !important;
          overflow-y: visible !important;
          overflow-x: hidden;
          padding-right: 2px;
        }
        #curatorSupportModal .modal > .modal-actions {
          flex: 0 0 auto;
          margin-top: auto;
          position: sticky;
          bottom: 0;
          z-index: 8;
          padding-top: 10px;
          padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
          border-top: 1px solid rgba(0, 0, 0, 0.12);
          background: var(--color-bg);
          box-shadow: 0 -8px 20px rgba(15, 23, 42, 0.08);
        }
        #spotModal .modal.spot-shell[data-mp-window] > .mp-window__body {
          overflow-x: hidden;
        }
        #spotModal #storyList,
        #spotModal .story-item {
          overflow-x: hidden;
        }
        #spotModal .story-item-line {
          white-space: normal !important;
          flex-wrap: wrap;
          overflow: visible;
          text-overflow: clip;
          row-gap: 4px;
        }
        #spotModal .story-item-open-btn {
          margin-left: 0;
        }
        /* Karty příběhů — na mobilu přes celou šířku okna (bez bočního odsazení těla). */
        .modal-backdrop > section.modal[data-mp-window] > .mp-window__body .story-list-panel {
          width: calc(100% + 24px);
          max-width: calc(100% + 24px);
          margin-left: -12px;
          margin-right: -12px;
          border-radius: 0;
        }
        .modal-backdrop > section.modal[data-mp-window] > .mp-window__body .story-list-panel__body {
          padding-left: 0;
          padding-right: 0;
        }
        .modal-backdrop > section.modal[data-mp-window] > .mp-window__body .story-list-panel__body .story-item {
          width: 100%;
          max-width: 100%;
          box-sizing: border-box;
          border-radius: 0;
          border-left: none;
          border-right: none;
        }
        #spotTimelineModal .modal.spot-timeline-modal:not([data-mp-window]) {
          display: block !important;
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow-y: auto !important;
          overflow-x: hidden !important;
          -webkit-overflow-scrolling: touch;
        }
        #spotTimelineModal #spotTimelineList {
          overflow: visible !important;
          padding-right: 2px;
        }
        #spotTimelineModal .modal.spot-timeline-modal > .modal-actions {
          position: sticky;
          bottom: 0;
          z-index: 8;
          margin-top: 12px;
          padding-top: 10px;
          padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
          border-top: 1px solid rgba(0, 0, 0, 0.12);
          background: var(--color-bg);
          box-shadow: 0 -8px 20px rgba(15, 23, 42, 0.08);
        }
        #mapFlowTimelineModal .modal.map-flow-timeline-modal[data-mp-window] > .mp-window__body {
          overflow-x: hidden;
        }
        #mapFlowTimelineModal #mapFlowTimelineCategoryGrid {
          max-height: none !important;
          overflow: visible !important;
        }
        #mapFlowTimelineModal .story-list-panel__body #mapFlowTimelineList.spot-timeline-scroll {
          overflow: visible !important;
          padding-right: 2px;
        }
        #nearbyStoriesModal .modal.nearby-stories-modal:not([data-mp-window]) {
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
          display: block !important;
        }
        #watchPlaceModal .modal:not([data-mp-window]) {
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
        }
        #municipalStatementsModal .modal:not([data-mp-window]) {
          display: flex !important;
          flex-direction: column !important;
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow-x: hidden !important;
          overflow-y: auto !important;
          -webkit-overflow-scrolling: touch;
        }
        #municipalStatementsModal .modal > h2,
        #municipalStatementsModal .modal > .detail-row,
        #municipalStatementsModal .modal > .my-stories-toolbar {
          flex: 0 0 auto;
        }
        #municipalStatementsModal #municipalStatementsList {
          flex: 0 0 auto !important;
          min-height: 0 !important;
          overflow-y: visible !important;
          overflow-x: hidden;
          padding-right: 2px;
        }
        #municipalStatementsModal .modal:not([data-mp-window]) > .modal-actions {
          flex: 0 0 auto;
          margin-top: auto;
          position: sticky;
          bottom: 0;
          z-index: 8;
          padding-top: 10px;
          padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
          border-top: 1px solid rgba(0, 0, 0, 0.12);
          background: var(--color-bg);
          box-shadow: 0 -8px 20px rgba(15, 23, 42, 0.08);
        }
        #contactAuthorModal .modal:not([data-mp-window]) {
          display: flex !important;
          flex-direction: column !important;
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow-x: hidden !important;
          overflow-y: auto !important;
          -webkit-overflow-scrolling: touch;
        }
        #contactAuthorModal .modal > h2,
        #contactAuthorModal .modal > .hint {
          flex: 0 0 auto;
        }
        #contactAuthorModal .modal #contactAuthorForm {
          flex: 0 0 auto !important;
          min-height: 0 !important;
          overflow-y: visible !important;
          overflow-x: hidden;
          padding-right: 2px;
        }
        #contactAuthorModal .modal:not([data-mp-window]) > .modal-actions {
          flex: 0 0 auto;
          margin-top: auto;
          position: sticky;
          bottom: 0;
          z-index: 8;
          padding-top: 10px;
          padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
          border-top: 1px solid rgba(0, 0, 0, 0.12);
          background: var(--color-bg);
          box-shadow: 0 -8px 20px rgba(15, 23, 42, 0.08);
        }
        #authorCardModal .modal.author-card-modal {
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
        }
        #authorExportModal .modal {
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
        }
        #appDialogModal .modal.app-dialog {
          max-height: min(85dvh, 560px) !important;
          height: auto !important;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
        }
        #detailVoteHelpModal .modal {
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
        }
        #reportStoryModal .modal.report-story-modal {
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
        }
      }
      @media (max-width: 1200px) {
        #storyModal .modal {
          width: min(794px, var(--mp-modal-fluid-w));
        }
      }
      /* Přebít body.site-global … (vyšší specificita než samotné #storyModal …) */
      body.site-global #storyModal .form-section {
        padding: 10px 12px;
      }
      body.site-global #storyModal #storyForm.form-grid,
      body.site-global #storyModal #storyForm.logged-in-layout.form-grid {
        gap: 8px;
      }
      body.site-global #storyModal .section-grid {
        gap: 8px;
      }
      body.site-global #storyModal #storyFormAside {
        gap: 8px;
      }
      body.site-global #storyModal #storyFormMainColumn.story-form-main-column {
        gap: 8px;
      }
      body.site-global #storyModal .author-compact-hint:not(.hidden) {
        padding: 8px 10px;
      }
      .super-admin-modal {
        position: relative;
        box-sizing: border-box;
        width: var(--mp-modal-fluid-w);
        max-width: 100%;
        max-height: var(--mp-modal-fluid-h);
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        font-size: 13px;
        background: linear-gradient(180deg, #f8fbff 0%, #eef4ff 100%) !important;
        border: 1px solid #cbd8f8 !important;
        box-shadow: 0 20px 60px rgba(15, 23, 42, 0.35) !important;
      }
      #superAdminModal .super-admin-modal.super-admin-modal--float {
        max-width: none !important;
        max-height: none !important;
      }
      .super-admin-modal__resize-grip {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 22px;
        height: 22px;
        z-index: 20;
        cursor: nwse-resize;
        touch-action: none;
        box-sizing: border-box;
        background: linear-gradient(
          135deg,
          transparent 0%,
          transparent 50%,
          rgba(27, 77, 114, 0.2) 50%,
          rgba(27, 77, 114, 0.38) 100%
        );
        border-bottom-right-radius: 10px;
      }
      .super-admin-modal__resize-grip:hover {
        background: linear-gradient(
          135deg,
          transparent 0%,
          transparent 46%,
          rgba(27, 77, 114, 0.32) 46%,
          rgba(27, 77, 114, 0.5) 100%
        );
      }
      @media (max-width: 1199px) {
        #superAdminModal .super-admin-groups,
        #superAdminModal .super-admin-tabs {
          flex-wrap: nowrap;
          overflow-x: auto;
          -webkit-overflow-scrolling: touch;
          overscroll-behavior-x: contain;
          scrollbar-width: thin;
        }
        #superAdminModal .super-admin-group-btn,
        #superAdminModal .super-admin-tab {
          flex: 0 0 auto;
          white-space: nowrap;
        }
      }
      @media (max-width: 520px) {
        #superAdminModal .super-admin-modal,
        #superAdminModal .super-admin-modal.super-admin-modal--float {
          display: flex !important;
          flex-direction: column !important;
          width: calc(100vw - 16px) !important;
          max-width: calc(100vw - 16px) !important;
          min-width: 0 !important;
          height: calc(100dvh - 16px) !important;
          max-height: calc(100dvh - 16px) !important;
          left: 8px !important;
          top: 8px !important;
          right: auto !important;
          overflow: hidden !important;
        }
        #superAdminModal .super-admin-modal__topbar {
          cursor: default;
        }
        #superAdminModal .super-admin-modal__resize-grip {
          display: none;
        }
        #superAdminModal .super-admin-panel.hidden {
          display: none !important;
        }
        #superAdminModal .super-admin-panel:not(.hidden) {
          flex: 1 1 auto !important;
          min-height: 0 !important;
          max-height: none !important;
          overflow: auto !important;
          -webkit-overflow-scrolling: touch;
        }
        #superAdminModal #superAdminTabStatementTypes.super-admin-panel--statement-types-split:not(.hidden) {
          display: flex !important;
          flex-direction: column !important;
          min-height: 0 !important;
          overflow: hidden !important;
        }
        #superAdminModal .super-admin-statement-types-split__handle {
          display: none !important;
        }
        #superAdminModal .super-admin-statement-types-split__bottom {
          margin-top: 10px;
        }
        #superAdminModal .super-admin-modal > .modal-actions:last-of-type {
          flex-shrink: 0;
          margin-top: 8px !important;
        }
      }
      #superAdminModal > section.super-admin-modal {
        padding: 0 16px 16px !important;
      }
      #superAdminModal.modal-backdrop[data-mp-universal-close] > section.super-admin-modal {
        padding: 0 16px 16px !important;
      }
      #superAdminModal .super-admin-modal__topbar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        width: calc(100% + 32px);
        box-sizing: border-box;
        margin: 0 -16px 12px -16px;
        padding: 12px 12px 12px 16px;
        background: #1b4d72;
        border-radius: 13px 13px 0 0;
        flex-shrink: 0;
        cursor: move;
        user-select: none;
      }
      #superAdminModal .super-admin-modal__title {
        margin: 0;
        font-size: clamp(1.2rem, 2.5vw, 1.65rem);
        font-weight: 700;
        letter-spacing: -0.02em;
        line-height: 1.2;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        flex: 1 1 auto;
        min-width: 0;
      }
      #superAdminModal .super-admin-modal__topbar .modal-close-circle {
        cursor: pointer;
        position: relative !important;
        top: auto !important;
        right: auto !important;
        flex: 0 0 auto;
        border: var(--mp-window-close-border, 1px solid rgba(17, 24, 39, 0.16)) !important;
        background: var(--mp-window-close-bg, #ffffff) !important;
        color: var(--mp-window-close-fg, #111827) !important;
        -webkit-text-fill-color: var(--mp-window-close-fg, #111827) !important;
        box-shadow: var(--mp-window-close-shadow, 0 2px 12px rgba(0, 0, 0, 0.22)) !important;
      }
      #superAdminModal .super-admin-modal__topbar .modal-close-circle:hover,
      #superAdminModal .super-admin-modal__topbar .modal-close-circle:focus-visible {
        filter: brightness(1.1);
      }
      .super-admin-groups {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 10px;
        padding: 4px;
        border-radius: 12px;
        background: rgba(255, 255, 255, 0.85);
        border: 1px solid #d7e3ff;
        flex-shrink: 0;
      }
      /* Hlavní přepínač skupin — musí přebít body.site-* .secondary (!important), jinak bílá na bílé. */
      body.site-global #superAdminModal .super-admin-group-btn.secondary,
      body.site-mistopribeh #superAdminModal .super-admin-group-btn.secondary {
        flex: 1 1 120px;
        min-width: min(140px, 100%);
        border-radius: 10px !important;
        font-weight: 700;
        background: #961f33 !important;
        color: #ffffff !important;
        border: 1px solid #7a1829 !important;
        -webkit-text-fill-color: #ffffff !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
      }
      body.site-global #superAdminModal .super-admin-group-btn.secondary:hover,
      body.site-global #superAdminModal .super-admin-group-btn.secondary:focus-visible,
      body.site-mistopribeh #superAdminModal .super-admin-group-btn.secondary:hover,
      body.site-mistopribeh #superAdminModal .super-admin-group-btn.secondary:focus-visible {
        filter: brightness(1.06);
      }
      body.site-global #superAdminModal .super-admin-group-btn.secondary.is-active,
      body.site-mistopribeh #superAdminModal .super-admin-group-btn.secondary.is-active {
        background: #5c1220 !important;
        color: #ffffff !important;
        border-color: #3f0d16 !important;
        -webkit-text-fill-color: #ffffff !important;
        box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.28), 0 2px 8px rgba(0, 0, 0, 0.2) !important;
      }
      .super-admin-syncbar {
        display: grid;
        grid-template-columns: 1.2fr 1fr auto;
        gap: 10px;
        padding: 12px 14px;
        margin-bottom: 8px;
        border-radius: 12px;
        border: 1px solid rgba(255, 255, 255, 0.28);
        background: #1b4d72;
        color: #ffffff;
        align-items: end;
        box-shadow: 0 4px 14px rgba(13, 40, 71, 0.35);
        flex-shrink: 0;
      }
      .super-admin-syncbar__field {
        margin-bottom: 0 !important;
      }
      .super-admin-syncbar__field label {
        font-size: 11px;
        font-weight: 700;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      /* #superAdminModal … přebije jednotné barvy modalu (.modal-backdrop .modal *), ať jsou popisky a pole na modré liště čitelné. */
      #superAdminModal .super-admin-syncbar label {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      .super-admin-modal .super-admin-syncbar input[type="text"],
      .super-admin-modal .super-admin-syncbar input[type="password"] {
        background: rgba(15, 45, 70, 0.45) !important;
        color: #f8fafc !important;
        border: 1px solid rgba(255, 255, 255, 0.38) !important;
        -webkit-text-fill-color: #f8fafc !important;
      }
      .super-admin-modal .super-admin-syncbar input::placeholder {
        color: rgba(248, 250, 252, 0.55);
        opacity: 1;
      }
      .super-admin-modal .super-admin-syncbar .password-field-with-toggle {
        display: flex;
        flex-direction: row;
        align-items: stretch;
        flex-wrap: nowrap;
        gap: 0;
        padding: 0;
        margin: 0;
        border: 1px solid rgba(255, 255, 255, 0.42);
        border-radius: 8px;
        overflow: hidden;
        background: rgba(15, 45, 70, 0.55);
        min-height: 38px;
        box-sizing: border-box;
      }
      .super-admin-modal .super-admin-syncbar .password-field-with-toggle input {
        flex: 1 1 auto;
        min-width: 0;
        width: auto !important;
        max-width: none !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 8px 10px !important;
        margin: 0 !important;
        background: transparent !important;
        color: #f8fafc !important;
        -webkit-text-fill-color: #f8fafc !important;
        box-shadow: none !important;
      }
      .super-admin-modal .super-admin-syncbar .password-toggle-btn.secondary {
        flex: 0 0 auto;
        align-self: stretch;
        margin: 0 !important;
        border: none !important;
        border-left: 1px solid rgba(255, 255, 255, 0.38) !important;
        border-radius: 0 !important;
        padding: 8px 14px !important;
        font-weight: 600;
        font-size: 12px;
        background: rgba(255, 255, 255, 0.14) !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        box-shadow: none !important;
      }
      .super-admin-modal .super-admin-syncbar .password-toggle-btn.secondary:hover,
      .super-admin-modal .super-admin-syncbar .password-toggle-btn.secondary:focus-visible {
        background: rgba(255, 255, 255, 0.26) !important;
        filter: none;
      }
      .super-admin-modal .super-admin-syncbar__actions .secondary {
        background: rgba(255, 255, 255, 0.12) !important;
        color: #ffffff !important;
        border: 1px solid rgba(255, 255, 255, 0.45) !important;
        -webkit-text-fill-color: #ffffff !important;
        font-weight: 600;
      }
      .super-admin-modal .super-admin-syncbar__actions .secondary:hover {
        background: rgba(255, 255, 255, 0.2) !important;
      }
      .super-admin-modal .super-admin-syncbar__actions .primary {
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
      }
      .super-admin-syncbar__actions {
        margin: 0 !important;
        justify-content: flex-end !important;
        align-items: center;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
      }
      .modal-backdrop > section.modal[data-mp-window] .super-admin-syncbar__actions.modal-actions {
        background: transparent !important;
        border-top: 0 !important;
        border-radius: 0 !important;
      }
      #superAdminModal .super-admin-syncbar__actions #adminPullBackendBtn.secondary {
        background: rgba(255, 255, 255, 0.12) !important;
        color: #ffffff !important;
        border: 1px solid rgba(255, 255, 255, 0.45) !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      #superAdminModal .super-admin-syncbar__actions #adminPullBackendBtn.secondary:hover,
      #superAdminModal .super-admin-syncbar__actions #adminPullBackendBtn.secondary:focus-visible {
        background: rgba(255, 255, 255, 0.2) !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      .super-admin-syncbar-note {
        margin: 0 0 10px 0;
        font-size: 11px;
        flex-shrink: 0;
      }
      @media (max-width: 920px) {
        .super-admin-syncbar {
          grid-template-columns: 1fr;
        }
        .super-admin-syncbar__actions {
          justify-content: flex-start !important;
        }
      }
      .super-admin-tabs {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 8px;
        position: relative;
        z-index: 3;
        flex-shrink: 0;
      }
      .super-admin-tab {
        border-radius: 999px !important;
      }
      #superAdminModal .super-admin-tab {
        background: #961f33 !important;
        border: 1px solid #7a1829 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      #superAdminModal .super-admin-tab:hover {
        background: #7a1829 !important;
        border-color: #5c1220 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
      }
      #superAdminModal .super-admin-tab.is-active {
        background: #5c1220 !important;
        border-color: #3f0d16 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.22);
      }
      /* Karta Super-profil: dva sloupce Zlatý autor | Platinový autor */
      .admin-gamification-super-panel .admin-gamification-two-columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        margin-top: 10px;
      }
      @media (max-width: 720px) {
        .super-admin-modal .admin-gamification-super-panel .admin-gamification-two-columns {
          grid-template-columns: 1fr;
        }
      }
      .admin-gamification-column {
        border-radius: 10px;
        padding: 10px;
        box-sizing: border-box;
        min-width: 0;
      }
      .admin-gamification-column--golden {
        border: 1px solid rgba(234, 179, 8, 0.42);
        background: linear-gradient(180deg, #fffbeb 0%, #ffffff 100%);
      }
      .admin-gamification-column--super {
        border: 1px solid rgba(124, 58, 237, 0.38);
        background: linear-gradient(180deg, #faf5ff 0%, #ffffff 100%);
      }
      .admin-gamification-column .detail-label {
        font-size: 13px;
      }
      .admin-gamification-column-grid {
        margin-top: 4px;
      }
      @media (max-width: 520px) {
        #superAdminModal .super-admin-syncbar .password-field-with-toggle {
          flex-direction: row !important;
          gap: 0 !important;
          align-items: stretch !important;
        }
        #superAdminModal .super-admin-syncbar .password-field-with-toggle .password-toggle-btn {
          width: auto !important;
          max-width: none !important;
          align-self: stretch !important;
        }
      }
      .super-admin-panel {
        flex: 1 1 auto;
        min-height: 0;
        overflow: auto;
        padding: 0 0 8px;
      }
      .super-admin-panel h3 {
        margin-top: 0;
        margin-bottom: 6px;
        font-size: 16px;
      }
      .super-admin-panel textarea {
        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
        font-size: 11px;
        line-height: 1.3;
        min-height: 92px;
      }
      #superAdminTabStatementTypes.super-admin-panel--statement-types-split {
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
      }
      .super-admin-statement-types-split {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
      }
      .super-admin-statement-types-split__top {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
      }
      .super-admin-statement-types-split__handle {
        flex: 0 0 auto;
        height: 10px;
        margin: 4px -16px 0;
        width: calc(100% + 32px);
        box-sizing: border-box;
        cursor: ns-resize;
        touch-action: none;
        border-radius: 6px;
        border: 1px solid #b8c8ec;
        background: linear-gradient(
          180deg,
          rgba(203, 216, 248, 0.45) 0%,
          rgba(248, 251, 255, 0.95) 45%,
          rgba(203, 216, 248, 0.45) 100%
        );
      }
      .super-admin-statement-types-split__handle:hover {
        border-color: #1b4d72;
        background: linear-gradient(
          180deg,
          rgba(27, 77, 114, 0.2) 0%,
          rgba(248, 251, 255, 1) 45%,
          rgba(27, 77, 114, 0.2) 100%
        );
      }
      .super-admin-statement-types-split__bottom {
        flex: 0 0 auto;
      }
      #superAdminTabStatementTypes .admin-builder-list--statement-types {
        display: flex;
        flex-direction: column;
        gap: 8px;
        flex: 1 1 auto;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        max-height: none;
        margin-top: 0;
        -webkit-overflow-scrolling: touch;
      }
      #superAdminTabEmails .admin-email-template-html {
        min-height: 220px;
        font-size: 12px;
      }
      #superAdminTabEmails .admin-email-template-text {
        min-height: 160px;
        font-size: 12px;
      }
      .super-admin-modal .section-grid {
        gap: 6px;
      }
      .super-admin-modal .field {
        margin-bottom: 4px;
      }
      .super-admin-modal .field label,
      .super-admin-modal .detail-label,
      .super-admin-modal .field-note {
        font-size: 12px;
      }
      .super-admin-modal input,
      .super-admin-modal select,
      .super-admin-modal textarea {
        padding: 6px 7px;
        font-size: 11px;
        line-height: 1.25;
      }
      .super-admin-modal button {
        font-size: 12px;
        padding: 7px 11px;
      }
      .super-admin-modal .modal-actions {
        gap: 6px;
      }
      #superAdminModal .super-admin-modal > .modal-actions:last-of-type {
        flex-shrink: 0;
        margin-top: auto;
      }
      #superAdminTabContent .admin-builder-card,
      #superAdminTabTexts .admin-builder-card {
        padding: 8px;
      }
      /* Stejná výška scrollovací oblasti jako „Správa všech stránek“ (karta se stejně roluje). */
      #superAdminTabContent .admin-builder-list,
      #superAdminTabTexts .admin-builder-list {
        max-height: 360px;
        min-height: 360px;
      }
      #superAdminTabContent .admin-builder-list--virtual-hosts {
        max-height: 140px;
        min-height: 0;
      }
      #superAdminTabStoryCategories .admin-builder-list--story-categories {
        max-height: 360px;
        min-height: 200px;
      }
      #superAdminModal .super-admin-panel > .field,
      #superAdminModal .super-admin-panel > .section-grid,
      #superAdminModal .super-admin-panel > .admin-builder-card,
      #superAdminModal .super-admin-panel > p.field-note,
      #superAdminModal .super-admin-panel > .detail-row {
        border: 1px solid #d8e2f8;
        border-radius: 10px;
        padding: 8px;
      }
      #superAdminModal #superAdminTabGeneral > .section-grid {
        background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
      }
      #superAdminModal #superAdminTabContent > .admin-content-card--header-nav {
        background: #fff1f1;
      }
      #superAdminModal #superAdminTabContent > .admin-content-card--footer-nav {
        background: #f8f4ff;
      }
      #superAdminModal #superAdminTabContent > .field {
        background: #fff9ef;
      }
      #superAdminModal #superAdminTabTexts > .admin-builder-card:nth-of-type(1) {
        background: #eef6ff;
      }
      #superAdminModal #superAdminTabTexts > .admin-builder-card:nth-of-type(2) {
        background: #fff6e8;
      }
      #superAdminModal #superAdminTabMunicipalities > .field,
      #superAdminModal #superAdminTabMunicipalities > .detail-row {
        background: #eef7ff;
      }
      #superAdminModal #superAdminTabUsers > .section-grid {
        background: #f3fff2;
      }
      #superAdminModal #superAdminTabOperations > .section-grid {
        background: #fff3f3;
      }
      #adminManagedPagesList .admin-pages-group {
        border-width: 2px;
      }
      #adminManagedPagesList .admin-pages-group--header {
        background: #e8f3ff;
        border-color: #93c5fd;
      }
      #adminManagedPagesList .admin-pages-group--footer {
        background: #ecfdf3;
        border-color: #86efac;
      }
      #adminManagedPagesList .admin-pages-group--hidden {
        background: #fff1f2;
        border-color: #fda4af;
      }
      /* Nad #superAdminModal (12050) a editačními modály (12150) — mimo .super-admin-modal (overflow:hidden ořezává fixed). */
      .admin-page-editor-window {
        position: fixed;
        z-index: 12600;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: var(--mp-modal-fluid-w);
        max-width: calc(100vw - 2 * var(--mp-modal-gutter));
        height: min(88dvh, calc(100dvh - 2 * var(--mp-modal-gutter)));
        min-width: min(328px, var(--mp-modal-fluid-w));
        min-height: 380px;
        max-width: calc(100vw - 16px);
        max-height: calc(100vh - 16px);
        background: #fffdf8;
        border: 1px solid #d1d5db;
        border-radius: 10px;
        box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
        overflow: hidden;
        display: flex;
        flex-direction: column;
        isolation: isolate;
      }
      @media (max-width: 520px) {
        .admin-page-editor-window {
          left: 8px !important;
          top: 8px !important;
          width: calc(100vw - 16px) !important;
          height: calc(100dvh - 16px) !important;
          min-width: 0 !important;
          min-height: 0 !important;
          max-width: calc(100vw - 16px) !important;
          max-height: calc(100dvh - 16px) !important;
        }
      }
      .admin-page-editor-window.hidden {
        display: none !important;
      }
      .admin-page-editor-window__header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 8px;
        padding: 8px 10px;
        background: #f3f4f6;
        border-bottom: 1px solid #e5e7eb;
        cursor: move;
        flex-shrink: 0;
        flex-wrap: wrap;
        user-select: none;
      }
      .admin-page-editor-window__header .admin-page-editor-window__actions button {
        cursor: pointer;
      }
      .admin-page-editor-window__header > strong {
        flex: 1 1 160px;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .admin-page-editor-window__actions {
        display: flex;
        gap: 6px;
      }
      .admin-page-editor-window__body {
        padding: 10px;
        flex: 1 1 auto;
        min-height: 0;
        overflow: auto;
        background: #fffdf8;
        position: relative;
        z-index: 1;
      }
      .admin-page-editor-window__resize-grip {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 24px;
        height: 24px;
        z-index: 6;
        cursor: nwse-resize;
        touch-action: none;
        box-sizing: border-box;
        background: linear-gradient(
          135deg,
          transparent 0%,
          transparent 52%,
          rgba(27, 77, 114, 0.22) 52%,
          rgba(27, 77, 114, 0.35) 100%
        );
        border-bottom-right-radius: 9px;
      }
      .admin-page-editor-window__resize-grip:hover {
        background: linear-gradient(
          135deg,
          transparent 0%,
          transparent 48%,
          rgba(27, 77, 114, 0.32) 48%,
          rgba(27, 77, 114, 0.48) 100%
        );
      }
      .admin-page-editor-window.is-minimized .admin-page-editor-window__resize-grip,
      .admin-page-editor-window.is-maximized .admin-page-editor-window__resize-grip {
        display: none;
      }
      .admin-page-editor-window.is-minimized {
        height: 44px !important;
        min-height: 44px !important;
      }
      .admin-page-editor-window.is-minimized .admin-page-editor-window__body {
        display: none;
      }
      .admin-page-editor-window input,
      .admin-page-editor-window select,
      .admin-page-editor-window textarea {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        padding: 6px 8px;
        font-size: 12px;
        line-height: 1.25;
      }
      .admin-page-editor-window textarea {
        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
        font-size: 11px;
      }
      .admin-page-editor-window textarea#adminPageHtmlInput {
        min-height: min(52vh, 520px);
        resize: vertical;
      }
      .admin-page-editor-window .modal-actions button {
        font-size: 12px;
      }
      .checkbox-row {
        display: flex;
        align-items: center;
        gap: 8px;
      }
      .checkbox-row input[type="checkbox"] {
        margin: 0;
      }
      /* Tematický ZIP v administraci: bez .field (které dělá sloupec checkbox nad textem), 2 sloupce, kompaktní řádky */
      .admin-thematic-zip-select-all-row {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 8px;
        margin: 0 0 6px;
        padding: 0;
        font-size: 12px;
        font-weight: 600;
        line-height: 1.35;
        color: #1f2937;
        cursor: pointer;
      }
      .admin-thematic-zip-select-all-row input[type="checkbox"] {
        margin: 0;
        flex-shrink: 0;
        width: 15px;
        height: 15px;
      }
      .admin-thematic-zip-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 14px;
        row-gap: 2px;
        margin-top: 4px;
        align-items: start;
      }
      @media (max-width: 520px) {
        .admin-thematic-zip-grid {
          grid-template-columns: 1fr;
        }
      }
      .admin-thematic-zip-topic {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 6px;
        margin: 0;
        padding: 3px 0;
        font-size: 12px;
        line-height: 1.35;
        font-weight: 500;
        color: #374151;
        cursor: pointer;
      }
      .admin-thematic-zip-topic span {
        flex: 1;
        min-width: 0;
      }
      .admin-thematic-zip-topic input[type="checkbox"] {
        margin: 2px 0 0;
        flex-shrink: 0;
        width: 15px;
        height: 15px;
        accent-color: #b91c1c;
      }
      .admin-builder-card {
        border: 1px solid #e5e7eb;
        border-radius: 10px;
        padding: 10px;
        background: #f9fafb;
      }
      .admin-builder-list {
        display: grid;
        gap: 8px;
        max-height: 220px;
        overflow: auto;
        margin-top: 8px;
      }
      .admin-builder-item {
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        background: #fff;
        padding: 8px;
        display: grid;
        gap: 6px;
      }
      .admin-builder-item-head {
        display: flex;
        justify-content: space-between;
        gap: 8px;
        align-items: center;
        flex-wrap: wrap;
      }

      /* Nahlášené příběhy — karty ve frontě super-admina */
      .admin-story-report-card {
        margin-bottom: 12px;
      }
      .admin-story-report-card:last-child {
        margin-bottom: 0;
      }
      .admin-story-report-card__block {
        margin-top: 8px;
      }
      .admin-story-report-card__actions {
        align-items: center;
      }

      /* Smazané příběhy (super-admin) — karty v seznamu */
      .admin-soft-deleted-story-host {
        display: flex;
        flex-direction: column;
        gap: 12px;
      }
      .admin-soft-deleted-card {
        margin: 0;
        background: #f3f4f6;
        border: 1px solid #e5e7eb;
        border-radius: 10px;
        padding: 14px 16px;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
      }
      .admin-soft-deleted-card__title {
        margin: 0 0 12px 0;
        font-size: 1.05rem;
        font-weight: 700;
        line-height: 1.35;
        color: #111827;
      }
      .admin-soft-deleted-card__meta {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px 18px;
        margin-bottom: 14px;
        align-items: start;
      }
      @media (max-width: 720px) {
        .admin-soft-deleted-card__meta {
          grid-template-columns: 1fr;
        }
      }
      .admin-soft-deleted-card__field {
        display: flex;
        flex-direction: column;
        gap: 4px;
        min-width: 0;
      }
      .admin-soft-deleted-card__label {
        font-size: 12px;
        font-weight: 600;
        color: #6b7280;
        text-transform: uppercase;
        letter-spacing: 0.02em;
      }
      .admin-soft-deleted-card__value {
        font-size: 14px;
        color: #1f2937;
        word-break: break-word;
      }
      .admin-soft-deleted-card__actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: flex-end;
        align-items: center;
        padding-top: 4px;
        border-top: 1px solid #e5e7eb;
      }

      .admin-hidden-json {
        display: none !important;
      }

      /* Modály úpravy uživatele — nad #superAdminModal (z-index 9999), mimo overflow super-admin karty */
      .admin-user-overlay-modal.modal-backdrop {
        z-index: 13060;
      }
      .admin-user-form-modal {
        width: min(435px, var(--mp-modal-fluid-w));
        max-height: min(88vh, 720px);
        overflow-y: auto;
        display: flex;
        flex-direction: column;
      }
      .admin-user-scopes-fieldset {
        border: 1px solid rgba(0, 0, 0, 0.1);
        border-radius: 10px;
        padding: 10px 12px 4px;
        margin: 0;
      }
      .admin-user-scopes-fieldset legend {
        font-weight: 700;
        font-size: 13px;
        padding: 0 6px;
      }
      .admin-user-scope-option {
        display: flex;
        gap: 10px;
        align-items: flex-start;
        padding: 8px 2px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.06);
        cursor: pointer;
        margin: 0;
      }
      .admin-user-scope-option:last-child {
        border-bottom: none;
      }
      .admin-user-scope-option input {
        margin-top: 3px;
        flex-shrink: 0;
      }
      .admin-user-scope-option__text {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
      }
      .admin-user-scope-option__key {
        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
        font-size: 12px;
        font-weight: 600;
        color: #1e3a5f;
      }
      .admin-user-scope-option__hint {
        font-size: 12px;
        color: #64748b;
        line-height: 1.35;
      }
      #superAdminModal #superAdminTabUsers .admin-users-hide-system-wrap {
        margin: 10px 0 12px;
      }
      #superAdminModal #superAdminTabUsers .admin-users-hide-system-toggle {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        cursor: pointer;
        user-select: none;
        margin: 0;
        padding: 8px 14px;
        border-radius: 10px;
        font-weight: 600;
      }
      #superAdminModal #superAdminTabUsers .admin-users-hide-system-toggle input {
        width: 16px;
        height: 16px;
        margin: 0;
        flex: 0 0 auto;
        cursor: pointer;
      }
      #superAdminModal #superAdminTabUsers .admin-users-hide-system-note {
        margin: 6px 0 0;
      }
      #superAdminModal #superAdminTabUsers .admin-users-list-field {
        width: 100%;
      }
      .admin-users-quick-list {
        width: 100%;
        max-height: min(58vh, 620px);
        overflow: auto;
        border: 1px solid rgba(0, 0, 0, 0.1);
        border-radius: 10px;
        padding: 8px;
        background: rgba(255, 255, 255, 0.75);
        box-sizing: border-box;
      }
      .admin-user-row {
        border: 1px solid rgba(0, 0, 0, 0.08);
        border-radius: 10px;
        padding: 10px 12px;
        margin-bottom: 8px;
        background: #fff;
        box-sizing: border-box;
      }
      /**
       * Skupina / „bez skupiny“ má vlastní barvu textu. Obecná pravidla modálu výše
       * (`.modal-backdrop .modal div` a `.modal-backdrop .modal *`) používají `color: … !important`,
       * takže zde musíme přebít explicitně — jinak zůstane černá/tmavá barva i na tmavém řádku.
       */
      #superAdminModal.modal-backdrop .modal .admin-user-row.admin-user-row--group-text .admin-user-row__meta {
        color: var(--admin-user-row-fg) !important;
      }
      #superAdminModal.modal-backdrop .modal .admin-user-row.admin-user-row--group-text .admin-user-row__title-link {
        color: var(--admin-user-row-fg) !important;
        -webkit-text-fill-color: var(--admin-user-row-fg) !important;
      }
      #superAdminModal.modal-backdrop .modal .admin-user-row.admin-user-row--group-text .admin-user-row__title-link:hover {
        color: var(--admin-user-row-fg) !important;
        -webkit-text-fill-color: var(--admin-user-row-fg) !important;
        filter: brightness(1.08);
      }
      #superAdminModal.modal-backdrop .modal .admin-user-row.admin-user-row--group-text .admin-user-row__title-link:focus-visible {
        outline-color: var(--admin-user-row-fg) !important;
      }
      /* Totéž mimo #superAdminModal, pokud by se řádek někdy vykreslil v jiném modalu */
      .modal-backdrop .modal .admin-user-row.admin-user-row--group-text .admin-user-row__meta {
        color: var(--admin-user-row-fg) !important;
      }
      .modal-backdrop .modal .admin-user-row.admin-user-row--group-text .admin-user-row__title-link {
        color: var(--admin-user-row-fg) !important;
        -webkit-text-fill-color: var(--admin-user-row-fg) !important;
      }
      .modal-backdrop .modal .admin-user-row.admin-user-row--group-text .admin-user-row__title-link:hover {
        color: var(--admin-user-row-fg) !important;
        -webkit-text-fill-color: var(--admin-user-row-fg) !important;
        filter: brightness(1.08);
      }
      .modal-backdrop .modal .admin-user-row.admin-user-row--group-text .admin-user-row__title-link:focus-visible {
        outline-color: var(--admin-user-row-fg) !important;
      }
      .admin-user-groups-list-host {
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin-top: 8px;
      }
      .admin-user-group-editor-row {
        border: 1px solid rgba(0, 0, 0, 0.1);
        border-radius: 10px;
        padding: 10px 12px;
        background: #fafafa;
      }
      .admin-user-group-editor-row__head {
        margin-bottom: 8px;
      }
      .admin-user-group-editor-row__grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        gap: 10px 14px;
        align-items: end;
      }
      .admin-user-group-editor-row__grid label {
        display: flex;
        flex-direction: column;
        gap: 4px;
        font-size: 13px;
      }
      .admin-color-palette {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin-top: 6px;
      }
      .admin-color-palette--inline {
        margin-top: 6px;
      }
      .admin-color-swatch {
        width: 26px;
        height: 26px;
        border-radius: 6px;
        border: 1px solid rgba(0, 0, 0, 0.2);
        padding: 0;
        cursor: pointer;
      }
      .admin-user-group-swatch-inline {
        display: inline-block;
        width: 14px;
        height: 14px;
        border-radius: 4px;
        margin-right: 6px;
        vertical-align: middle;
        border: 1px solid rgba(0, 0, 0, 0.2);
        flex-shrink: 0;
      }
      .mc-recipient-group-checks {
        display: flex;
        flex-direction: column;
        gap: 4px;
        margin-top: 6px;
      }
      .mc-automation-rules-host {
        max-height: min(52vh, 560px);
        overflow: auto;
        margin-top: 12px;
        padding-right: 6px;
      }
      .mc-automation-editor-grid {
        display: grid;
        grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1fr);
        gap: 12px;
        align-items: start;
      }
      .mc-automation-rule-picker {
        position: sticky;
        top: 0;
        z-index: 1;
      }
      #mcAutomationRuleSelect {
        width: 100%;
        min-height: 260px;
      }
      .mc-auto-rule-card .field {
        margin-top: 6px;
      }
      @media (max-width: 760px) {
        .mc-automation-editor-grid {
          grid-template-columns: 1fr;
        }
        .mc-automation-rule-picker {
          position: static;
        }
        #mcAutomationRuleSelect {
          min-height: 160px;
        }
      }
      .admin-user-row:last-child {
        margin-bottom: 0;
      }
      .admin-user-row__top {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        gap: 8px 14px;
      }
      .admin-user-row__title {
        font-weight: 700;
        font-size: 15px;
        line-height: 1.3;
        flex: 1 1 200px;
        min-width: 0;
        word-break: break-word;
      }
      .admin-user-row__title-link {
        border: 0;
        padding: 0;
        margin: 0;
        background: transparent;
        color: #1d4ed8;
        font: inherit;
        font-weight: inherit;
        line-height: inherit;
        text-align: left;
        text-decoration: underline;
        cursor: pointer;
      }
      .admin-user-row__title-link:hover {
        color: #1e40af;
      }
      .admin-user-row__title-link:focus-visible {
        outline: 2px solid #1d4ed8;
        outline-offset: 2px;
        border-radius: 4px;
      }
      .admin-user-row__actions {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 6px;
        flex: 2 1 280px;
        min-width: 0;
      }
      .admin-user-row__actions-row {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        justify-content: flex-end;
      }
      .admin-user-row__actions-row button {
        font-size: 11px;
        padding: 5px 9px;
        white-space: nowrap;
      }
      .admin-user-row__actions-row--risk button.danger-quiet,
      .admin-user-row__actions-row--risk button.secondary {
        border-color: rgba(220, 38, 38, 0.35);
      }
      .admin-user-row__meta {
        font-size: 12px;
        font-weight: 400;
        color: #64748b;
        line-height: 1.45;
        margin-top: 8px;
      }

      .admin-curator-muni-search-results {
        display: flex;
        flex-direction: column;
        gap: 6px;
        margin-top: 8px;
        max-height: min(40vh, 280px);
        overflow-y: auto;
      }
      .admin-curator-muni-hit-btn {
        text-align: left;
        justify-content: flex-start;
      }

      .super-profile-muni-picker {
        position: relative;
      }

      #superProfileStatusMunicipalityInput {
        width: 100%;
        box-sizing: border-box;
      }

      .super-profile-muni-suggest {
        list-style: none;
        margin: 6px 0 0;
        padding: 0;
        position: absolute;
        left: 0;
        right: 0;
        z-index: 50;
        max-height: min(40vh, 260px);
        overflow-y: auto;
        border: 1px solid rgba(15, 23, 42, 0.12);
        border-radius: 10px;
        background: var(--surface, #ffffff);
        box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
      }

      .super-profile-muni-suggest li > button {
        display: block;
        width: 100%;
        text-align: left;
        padding: 9px 12px;
        border: 0;
        background: transparent;
        cursor: pointer;
        font: inherit;
      }

      .super-profile-muni-suggest li > button:hover,
      .super-profile-muni-suggest li > button:focus-visible {
        background: rgba(59, 130, 246, 0.1);
      }

      .super-profile-nonpartner-warn:not(.hidden) {
        margin-top: 10px;
        color: #b45309;
        font-weight: 500;
      }

      .admin-municipality-toolbar select#adminMunicipalitySortMode {
        max-width: min(100%, 420px);
      }

      .admin-municipality-quick-list {
        max-height: min(58vh, 560px);
        overflow: auto;
      }

      .super-profile-rules-btn-wrap {
        margin-top: 8px;
      }

      /* Super-profil: tlačítko „Pravidla statusů“ — modré pozadí, bílý text (včetně proti dědění z .field-note) */
      #superProfileMotivationOpenRulesBtn.mp-super-profile-status-rules-btn {
        margin-top: 0;
        padding: 8px 14px;
        border-radius: 8px;
        font: inherit;
        font-weight: 600;
        cursor: pointer;
        color: #ffffff !important;
        background: #1b4d72;
        border: 1px solid #164060;
      }
      #superProfileMotivationOpenRulesBtn.mp-super-profile-status-rules-btn:hover {
        filter: brightness(1.07);
      }
      #superProfileMotivationOpenRulesBtn.mp-super-profile-status-rules-btn:focus-visible {
        outline: 2px solid #2563eb;
        outline-offset: 2px;
      }

      /* Partnerství obcí — admin karty (Stránka /obce, Objednávky, Partneři) */
      #superAdminModal .mpa-panel {
        max-height: min(72vh, 720px);
        overflow: auto;
      }
      #superAdminModal .mpa-settings-layout {
        display: flex;
        flex-direction: column;
        gap: 14px;
      }
      #superAdminModal .mpa-card {
        border: 1px solid #c5d4f0;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
        overflow: hidden;
      }
      #superAdminModal .mpa-card__head {
        padding: 14px 16px 12px;
        background: linear-gradient(180deg, #eef4ff 0%, #f8fbff 100%);
        border-bottom: 1px solid #dce6f5;
      }
      #superAdminModal .mpa-card__head h4 {
        margin: 0 0 4px;
        font-size: 1rem;
        font-weight: 700;
        color: #1e3a5f;
      }
      #superAdminModal .mpa-card__lead {
        margin: 0;
        font-size: 0.86rem;
        line-height: 1.45;
        color: #4b5563;
      }
      #superAdminModal .mpa-card__body {
        padding: 14px 16px 16px;
      }
      #superAdminModal .mpa-card__actions {
        margin-top: 12px;
        padding-top: 10px;
        border-top: 1px dashed #dce6f5;
      }
      #superAdminModal .mpa-public-text-groups {
        display: flex;
        flex-direction: column;
      }
      #superAdminModal .mpa-text-group {
        padding: 12px 16px 14px;
        border-bottom: 1px solid #e8eef8;
      }
      #superAdminModal .mpa-text-group:last-child {
        border-bottom: none;
      }
      #superAdminModal .mpa-text-group:nth-child(even) {
        background: #f9fbff;
      }
      #superAdminModal .mpa-text-group__title {
        margin: 0 0 4px;
        font-size: 0.94rem;
        font-weight: 700;
        color: #1e40af;
      }
      #superAdminModal .mpa-text-group__hint {
        margin: 0 0 10px;
        font-size: 0.82rem;
        line-height: 1.4;
        color: #6b7280;
      }
      #superAdminModal .mpa-editor-grid--group {
        display: grid;
        gap: 14px 18px;
        align-items: start;
        grid-template-columns: 1fr;
      }
      #superAdminModal .mpa-editor-grid--group.mpa-editor-grid--layout-duo {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      #superAdminModal .mpa-editor-grid--group.mpa-editor-grid--layout-single {
        grid-template-columns: 1fr;
      }
      @media (max-width: 640px) {
        #superAdminModal .mpa-editor-grid--group.mpa-editor-grid--layout-duo {
          grid-template-columns: 1fr;
        }
      }
      #superAdminModal .mpa-editor-grid--compact {
        gap: 12px 16px;
        grid-template-columns: 1fr;
      }
      #superAdminModal .mpa-block {
        border: 1px solid #d8e2f8;
        border-radius: 10px;
        padding: 10px 12px;
        margin-bottom: 12px;
        background: #f8fbff;
      }
      #superAdminModal .mpa-block summary {
        cursor: pointer;
        font-weight: 600;
        margin-bottom: 8px;
      }
      #superAdminModal .mpa-editor-grid:not(.mpa-editor-grid--group) {
        display: grid;
        gap: 12px 16px;
        align-items: start;
      }
      #superAdminModal .mpa-editor-grid.mpa-editor-grid--layout-single,
      #superAdminModal .mpa-editor-grid--compact {
        grid-template-columns: 1fr;
      }
      #superAdminModal .mpa-theme-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px 16px;
        align-items: start;
      }
      @media (max-width: 720px) {
        #superAdminModal .mpa-theme-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
      }
      @media (max-width: 480px) {
        #superAdminModal .mpa-theme-grid {
          grid-template-columns: 1fr;
        }
      }
      #superAdminModal .mpa-field {
        display: flex;
        flex-direction: column;
        gap: 6px;
        font-size: 0.88rem;
        min-width: 0;
        margin: 0;
      }
      #superAdminModal .mpa-field > span,
      #superAdminModal .mpa-field {
        line-height: 1.35;
      }
      #superAdminModal .mpa-field.check-row {
        flex-direction: row;
        align-items: flex-start;
        gap: 10px;
        padding: 10px 12px;
        border-radius: 8px;
        background: #f8fafc;
        border: 1px solid #e2e8f0;
      }
      #superAdminModal .mpa-field.check-row input[type="checkbox"] {
        margin-top: 3px;
        flex-shrink: 0;
      }
      #superAdminModal .mpa-field.wide,
      #superAdminModal .mpa-field.mpa-field--wide {
        grid-column: 1 / -1;
      }
      #superAdminModal .mpa-field input,
      #superAdminModal .mpa-field textarea {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        font: inherit;
        padding: 8px 10px;
        border: 1px solid #cbd5e1;
        border-radius: 8px;
        background: #fff;
      }
      #superAdminModal .mpa-field textarea {
        resize: vertical;
        min-height: 4.5rem;
        line-height: 1.45;
      }
      #superAdminModal .mpa-text-group {
        padding: 14px 16px 16px;
      }
      #superAdminModal .mpa-text-group + .mpa-text-group {
        border-top: 1px solid #e2e8f0;
      }
      #superAdminModal .mpa-bands-editor .mpa-band-row {
        display: grid;
        grid-template-columns: 1.2fr repeat(4, minmax(72px, 1fr)) auto;
        gap: 8px;
        align-items: center;
        margin-bottom: 8px;
      }
      #superAdminModal .mpa-sticky-bar {
        position: sticky;
        bottom: 0;
        z-index: 5;
        margin-top: 12px;
        padding: 12px;
        border-radius: 10px;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), #fff);
        border: 1px solid #c5d4f0;
        box-shadow: 0 -6px 20px rgba(15, 23, 42, 0.08);
      }
      #superAdminModal .mpa-sticky-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: flex-end;
      }
      #superAdminModal .mpa-status-ok {
        color: #136f3a;
      }
      #superAdminModal .mpa-status-error {
        color: #b42318;
        font-weight: 600;
      }
      #superAdminModal .mpa-toolbar {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 12px;
      }
      #superAdminModal .mpa-toolbar input[type="search"],
      #superAdminModal .mpa-toolbar input[type="text"] {
        flex: 1 1 180px;
        min-width: 140px;
      }
      #superAdminModal .mpa-orders-host {
        display: flex;
        flex-direction: column;
        gap: 12px;
      }
      #superAdminModal .mpa-order-card {
        border: 1px solid #d8e2f8;
        border-radius: 10px;
        padding: 12px;
        background: #fff;
      }
      #superAdminModal .mpa-order-card header {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        align-items: flex-start;
        margin-bottom: 8px;
      }
      #superAdminModal .mpa-order-meta {
        font-size: 0.88rem;
        color: #4b5563;
        margin: 0 0 8px;
      }
      #superAdminModal .mpa-order-note-callout {
        margin: 4px 0 12px;
        padding: 10px 12px 10px 14px;
        border: 2px solid #c2410c;
        border-left-width: 5px;
        border-radius: 8px;
        background: #fff7ed;
        color: #7c2d12;
        box-shadow: 0 1px 0 rgba(124, 45, 18, 0.08);
      }
      #superAdminModal .mpa-order-note-callout__label {
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #9a3412;
        margin: 0 0 6px;
      }
      #superAdminModal .mpa-order-note-callout__text {
        font-size: 0.95rem;
        line-height: 1.45;
        font-weight: 600;
        white-space: pre-wrap;
        word-break: break-word;
      }
      #superAdminModal .mpa-order-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
      }
      #superAdminModal .mpa-badge {
        display: inline-block;
        padding: 2px 8px;
        border-radius: 999px;
        font-size: 0.75rem;
        font-weight: 600;
        background: #e8eef8;
        color: #1e3a5f;
        vertical-align: middle;
      }
      #superAdminModal .mpa-badge--paid {
        background: #dcfce7;
        color: #166534;
      }
      #superAdminModal .mpa-badge--wait {
        background: #fef3c7;
        color: #92400e;
      }
      #superAdminModal .mpa-badge--renewal {
        background: #7c2d12;
        color: #fff;
      }
      #superAdminModal .mpa-badge--individual {
        background: #ede9fe;
        color: #5b21b6;
      }
      #superAdminModal .mpa-individual-order-dialog {
        border: none;
        border-radius: 12px;
        padding: 0;
        max-width: min(640px, 96vw);
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
      }
      #superAdminModal .mpa-individual-order-dialog::backdrop {
        background: rgba(15, 23, 42, 0.45);
      }
      #superAdminModal .mpa-individual-order-form {
        display: flex;
        flex-direction: column;
        max-height: min(90vh, 720px);
      }
      #superAdminModal .mpa-individual-order-head {
        padding: 12px 14px;
        background: #1b4d72;
        color: #fff;
      }
      #superAdminModal .mpa-individual-order-head h4 {
        margin: 0 0 6px;
        color: #fff;
      }
      #superAdminModal .mpa-individual-order-head .field-note,
      #superAdminModal .mpa-individual-order-head .mpa-individual-order-head-note {
        margin: 0;
        font-size: 12px;
        color: #cbd5e1 !important;
        line-height: 1.45;
      }
      #superAdminModal .mpa-individual-order-body {
        padding: 12px 14px;
        overflow-y: auto;
        flex: 1;
      }
      #superAdminModal .mpa-io-results {
        display: flex;
        flex-direction: column;
        gap: 4px;
        margin: -4px 0 10px;
      }
      #superAdminModal .mpa-io-result-btn {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        width: 100%;
        text-align: left;
        padding: 8px 10px;
        border: 1px solid #d8e2f8;
        border-radius: 8px;
        background: #f8fafc;
        cursor: pointer;
      }
      #superAdminModal .mpa-io-result-meta {
        font-size: 0.82rem;
        color: #4b5563;
        line-height: 1.35;
      }
      #superAdminModal .mpa-io-result-btn:hover {
        background: #eef4ff;
        border-color: #93b4e8;
      }
      #superAdminModal .mpa-io-selected {
        margin: 0 0 10px;
        padding: 8px 10px;
        border-radius: 8px;
        background: #ecfdf5;
        border: 1px solid #86efac;
        font-size: 0.9rem;
        display: flex;
        justify-content: space-between;
        gap: 12px;
        flex-wrap: wrap;
      }
      #superAdminModal .mpa-io-selected .mpa-io-selected-meta {
        font-size: 0.82rem;
        color: #166534;
        margin-top: 4px;
      }
      #superAdminModal .mpa-io-ico-field {
        grid-column: 1 / -1;
      }
      #superAdminModal .mpa-io-ico-verify-row {
        display: flex;
        gap: 8px;
        align-items: stretch;
        flex-wrap: wrap;
      }
      #superAdminModal .mpa-io-ico-verify-row input {
        flex: 1 1 140px;
        min-width: 0;
      }
      #superAdminModal .mpa-io-ares-panel {
        margin: 0 0 10px;
        padding: 10px 12px;
        border-radius: 8px;
        border: 1px solid #d8e2f8;
        background: #fff;
        font-size: 0.9rem;
        line-height: 1.45;
      }
      #superAdminModal .mpa-io-ares-panel.mpa-io-ares-panel--ok {
        border-color: rgba(19, 111, 58, 0.35);
        background: rgba(19, 111, 58, 0.06);
        color: #136f3a;
      }
      #superAdminModal .mpa-io-ares-panel.mpa-io-ares-panel--warn {
        border-color: rgba(152, 93, 18, 0.35);
        background: rgba(152, 93, 18, 0.08);
        color: #92400e;
      }
      #superAdminModal .mpa-io-price-field input {
        font-weight: 600;
        font-size: 1.05rem;
      }
      #superAdminModal .mpa-io-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 8px 12px;
      }
      #superAdminModal .mpa-io-check {
        display: flex;
        gap: 8px;
        align-items: flex-start;
        font-size: 0.9rem;
      }
      #superAdminModal .mpa-io-check input {
        margin-top: 3px;
      }
      #superAdminModal .mpa-io-ares-ok {
        margin: 0 0 8px;
        color: #166534;
      }
      #superAdminModal .mpa-io-ares-warn {
        margin: 0 0 8px;
        color: #92400e;
      }
      #superAdminModal .mpa-individual-order-foot {
        padding: 10px 14px;
        background: #f3f4f6;
        display: flex;
        justify-content: flex-end;
        gap: 8px;
        flex-wrap: wrap;
      }
      #superAdminModal .mpa-danger {
        color: #b42318;
        border-color: #f5c2c0;
      }
      #superAdminModal .mpa-table-scroll {
        overflow: auto;
        max-height: min(58vh, 520px);
      }
      #superAdminModal .mpa-partners-table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;
        font-size: 0.88rem;
      }
      #superAdminModal .mpa-partners-table th,
      #superAdminModal .mpa-partners-table td {
        border-bottom: 1px solid #e2e8f0;
        padding: 9px 11px;
        text-align: left;
        vertical-align: top;
      }
      #superAdminModal .mpa-partners-table thead th {
        position: sticky;
        top: 0;
        z-index: 2;
        font-size: 0.8rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.02em;
        color: #334155;
        background: #f1f5f9;
        border-bottom: 2px solid #cbd5e1;
        box-shadow: 0 1px 0 #e2e8f0;
      }
      #superAdminModal .mpa-partners-table--striped-cols th.mpa-col-alt,
      #superAdminModal .mpa-partners-table--striped-cols td:nth-child(even) {
        background-color: rgba(37, 99, 235, 0.05);
      }
      #superAdminModal .mpa-partners-table--striped-cols thead th.mpa-col-alt {
        background-color: #e8f0fe;
      }
      #superAdminModal .mpa-partners-table--striped-cols th.mpa-col-obec,
      #superAdminModal .mpa-partners-table--striped-cols td:nth-child(odd) {
        background-color: #fff;
      }
      #superAdminModal .mpa-partners-table--striped-cols thead th.mpa-col-obec {
        background-color: #f1f5f9;
      }
      #superAdminModal .mpa-partners-table tbody tr:hover td {
        background-color: rgba(254, 243, 199, 0.35);
      }
      #superAdminModal .mpa-partners-table--striped-cols tbody tr:hover td:nth-child(even) {
        background-color: rgba(254, 243, 199, 0.5);
      }
      #superAdminModal .mpa-partners-table th:not(:last-child),
      #superAdminModal .mpa-partners-table td:not(:last-child) {
        border-right: 1px solid #eef2f7;
      }
      #superAdminModal .mpa-progress {
        height: 8px;
        background: #e5e7eb;
        border-radius: 999px;
        overflow: hidden;
        margin-bottom: 4px;
      }
      #superAdminModal .mpa-progress span {
        display: block;
        height: 100%;
        background: #2563eb;
      }
      #superAdminModal .mpa-progress--warn span {
        background: #d97706;
      }
      #superAdminModal .mpa-progress--danger span {
        background: #dc2626;
      }
      #superAdminModal .mpa-muted {
        color: #6b7280;
        font-size: 0.82rem;
      }
      #superAdminModal .mpa-history {
        margin: 6px 0 0;
        padding-left: 1.1rem;
        font-size: 0.82rem;
      }
      #superAdminModal .mpa-actions-cell {
        white-space: nowrap;
      }
      #superAdminModal .mpa-actions-cell button {
        margin: 2px 4px 2px 0;
      }

      /* Partner banka (Fio) — karta Banka */
      #superAdminModal .mpb-sync-bar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        margin: 12px 0;
        padding: 10px 12px;
        border-radius: 10px;
        background: #f0f7ff;
        border: 1px solid #bfdbfe;
      }
      #superAdminModal .mpb-sync-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }
      #superAdminModal .mpb-kpi-row {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
        gap: 10px;
        margin: 0 0 14px;
      }
      #superAdminModal .mpb-kpi {
        padding: 10px 12px;
        border-radius: 10px;
        border: 1px solid #e5e7eb;
        background: #fff;
      }
      #superAdminModal .mpb-kpi-label {
        display: block;
        font-size: 0.78rem;
        color: #6b7280;
        margin-bottom: 4px;
      }
      #superAdminModal .mpb-kpi-value {
        font-size: 1.05rem;
        color: #111827;
      }
      #superAdminModal .mpb-kpi--in {
        color: #166534;
      }
      #superAdminModal .mpb-kpi--out {
        color: #b91c1c;
      }
      #superAdminModal .mpb-kpi--warn {
        color: #c2410c;
      }
      #superAdminModal .mpb-alerts-wrap {
        margin: 0 0 12px;
        padding: 8px 12px;
        border-radius: 10px;
        border: 1px solid #fed7aa;
        background: #fff7ed;
      }
      #superAdminModal .mpb-alerts-wrap summary {
        cursor: pointer;
        font-weight: 600;
        color: #9a3412;
      }
      #superAdminModal .mpb-alerts-list {
        margin: 8px 0 0;
        padding-left: 0;
        list-style: none;
        font-size: 0.88rem;
      }
      #superAdminModal .mpb-alert-row {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        margin-bottom: 6px;
      }
      #superAdminModal .mpb-alert-open,
      #superAdminModal .mpb-alert-text {
        flex: 1;
        min-width: 0;
        text-align: left;
      }
      #superAdminModal .mpb-alert-dismiss {
        flex: 0 0 auto;
        width: 26px;
        height: 26px;
        border-radius: 999px;
        border: 1px solid #cbd5e1;
        background: #fff;
        color: #334155;
        font-size: 1.1rem;
        line-height: 1;
        cursor: pointer;
        padding: 0;
      }
      #superAdminModal .mpb-alert-dismiss:hover {
        background: #fee2e2;
        border-color: #fca5a5;
        color: #991b1b;
      }
      #superAdminModal .mpa-table,
      #superAdminModal .mpb-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 0.86rem;
      }
      #superAdminModal .mpa-table th,
      #superAdminModal .mpa-table td,
      #superAdminModal .mpb-table th,
      #superAdminModal .mpb-table td {
        padding: 8px 10px;
        border-bottom: 1px solid #e5e7eb;
        text-align: left;
        vertical-align: top;
      }
      #superAdminModal .mpa-table thead th,
      #superAdminModal .mpb-table thead th {
        background: #f3f4f6;
        font-weight: 700;
        color: #374151;
      }
      #superAdminModal .mpb-table-wrap {
        overflow-x: auto;
      }
      #superAdminModal .mpb-table tbody tr {
        cursor: pointer;
      }
      #superAdminModal .mpb-table tbody tr:hover td {
        background: #f0f9ff;
      }
      #superAdminModal .mpb-amt--in {
        color: #166534;
      }
      #superAdminModal .mpb-amt--out {
        color: #b91c1c;
      }
      #superAdminModal .mpb-msg-cell {
        max-width: 200px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      #superAdminModal .mpb-badge {
        display: inline-block;
        padding: 2px 8px;
        border-radius: 999px;
        font-size: 0.72rem;
        font-weight: 600;
        background: #e5e7eb;
        color: #374151;
      }
      #superAdminModal .mpb-badge--matched_auto,
      #superAdminModal .mpb-badge--matched_manual {
        background: #dcfce7;
        color: #166534;
      }
      #superAdminModal .mpb-badge--waiting_order {
        background: #fef3c7;
        color: #92400e;
      }
      #superAdminModal .mpb-badge--amount_mismatch,
      #superAdminModal .mpb-badge--unknown_vs {
        background: #fee2e2;
        color: #991b1b;
      }
      #superAdminModal .mpb-badge--no_vs,
      #superAdminModal .mpb-badge--outgoing {
        background: #e0e7ff;
        color: #3730a3;
      }
      #superAdminModal .mpb-detail-dialog {
        border: none;
        border-radius: 12px;
        padding: 0;
        max-width: min(520px, 96vw);
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
      }
      #superAdminModal .mpb-detail-dialog::backdrop {
        background: rgba(15, 23, 42, 0.45);
      }
      #superAdminModal .mpb-detail-form {
        display: flex;
        flex-direction: column;
        max-height: min(85vh, 640px);
      }
      #superAdminModal .mpb-detail-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 14px;
        background: #1b4d72;
        color: #fff;
      }
      #superAdminModal .mpb-detail-header h4 {
        margin: 0;
        font-size: 1rem;
      }
      #superAdminModal .mpb-detail-body {
        padding: 14px;
        overflow-y: auto;
        flex: 1;
      }
      #superAdminModal .mpb-detail-dl {
        margin: 0;
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 6px 12px;
        font-size: 0.88rem;
      }
      #superAdminModal .mpb-detail-dl dt {
        font-weight: 600;
        color: #4b5563;
      }
      #superAdminModal .mpb-detail-footer {
        padding: 12px 14px;
        border-top: 1px solid #e5e7eb;
        background: #f9fafb;
      }
      #superAdminModal .mpb-detail-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 10px;
      }
      #superAdminModal .linklike {
        background: none;
        border: none;
        padding: 0;
        color: #1d4ed8;
        text-decoration: underline;
        cursor: pointer;
        font: inherit;
      }
      #mpbCategoriesDialog.mpb-categories-dialog {
        border: none;
        border-radius: 12px;
        padding: 0;
        max-width: min(560px, 96vw);
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
        z-index: 12200;
      }
      #mpbCategoriesDialog.mpb-categories-dialog::backdrop {
        background: rgba(15, 23, 42, 0.45);
      }
      #mpbCategoriesDialog .mpb-categories-form {
        display: flex;
        flex-direction: column;
        max-height: min(85vh, 640px);
      }
      #mpbCategoriesDialog .mpb-categories-head {
        padding: 12px 14px;
        background: #1b4d72;
        color: #fff;
      }
      #mpbCategoriesDialog .mpb-categories-head h4 {
        margin: 0 0 6px;
      }
      #mpbCategoriesDialog .mpb-categories-head .field-note {
        margin: 0;
        color: #cbd5e1 !important;
      }
      #mpbCategoriesDialog .mpb-categories-list {
        list-style: none;
        margin: 0;
        padding: 12px 14px;
        overflow-y: auto;
        flex: 1;
      }
      #mpbCategoriesDialog .mpb-cat-row {
        display: grid;
        grid-template-columns: 1fr auto auto;
        gap: 8px;
        align-items: end;
        margin-bottom: 10px;
      }
      #mpbCategoriesDialog .mpb-cat-label {
        margin: 0;
      }
      #mpbCategoriesDialog .mpb-cat-badge {
        display: inline-block;
        margin-left: 6px;
        font-size: 0.75rem;
        color: #64748b;
        font-weight: normal;
      }
      #mpbCategoriesDialog .mpb-categories-add {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: flex-end;
        padding: 0 14px 12px;
        border-top: 1px solid #e5e7eb;
      }
      #mpbCategoriesDialog .mpb-categories-add .mpa-field {
        flex: 1;
        min-width: 180px;
        margin: 0;
      }
      #mpbCategoriesDialog .mpb-categories-foot {
        padding: 10px 14px;
        background: #f3f4f6;
        text-align: right;
      }
      #superAdminModal .mpb-rules-dialog {
        border: none;
        border-radius: 12px;
        padding: 0;
        max-width: min(620px, 96vw);
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
      }
      #superAdminModal .mpb-rules-dialog::backdrop {
        background: rgba(15, 23, 42, 0.45);
      }
      #superAdminModal .mpb-auto-sync-dialog {
        border: none;
        border-radius: 12px;
        padding: 0;
        max-width: min(480px, 96vw);
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
      }
      #superAdminModal .mpb-auto-sync-dialog::backdrop {
        background: rgba(15, 23, 42, 0.45);
      }
      #superAdminModal .mpb-auto-sync-form {
        display: flex;
        flex-direction: column;
      }
      #superAdminModal .mpb-auto-sync-head {
        padding: 12px 14px;
        background: #1b4d72;
        color: #fff;
      }
      #superAdminModal .mpb-auto-sync-head h4 {
        margin: 0 0 6px;
        color: #fff;
      }
      #superAdminModal .mpb-auto-sync-head .field-note,
      #superAdminModal .mpb-auto-sync-head .mpb-auto-sync-head-note {
        margin: 0;
        font-size: 12px;
        color: #cbd5e1 !important;
        line-height: 1.45;
      }
      #superAdminModal .mpb-auto-sync-body {
        padding: 12px 14px;
      }
      #superAdminModal .mpb-auto-sync-times-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 14px;
        margin-top: 10px;
      }
      @media (max-width: 520px) {
        #superAdminModal .mpb-auto-sync-times-grid {
          grid-template-columns: 1fr;
        }
      }
      #superAdminModal .mpb-auto-sync-check {
        display: flex;
        gap: 8px;
        align-items: flex-start;
      }
      #superAdminModal .mpb-auto-sync-check input {
        margin-top: 3px;
      }
      #superAdminModal .mpb-auto-sync-foot {
        padding: 10px 14px;
        background: #f3f4f6;
        display: flex;
        justify-content: flex-end;
        gap: 8px;
      }
      #superAdminModal .mpb-rules-form {
        display: flex;
        flex-direction: column;
        max-height: min(85vh, 680px);
      }
      #superAdminModal .mpb-rules-head {
        padding: 12px 14px;
        background: #1b4d72;
        color: #fff;
      }
      #superAdminModal .mpb-rules-head h4 {
        margin: 0 0 6px;
      }
      #superAdminModal .mpb-rules-head .field-note {
        margin: 0;
        color: #cbd5e1 !important;
      }
      #superAdminModal .mpb-rules-list {
        list-style: none;
        margin: 0;
        padding: 12px 14px;
        overflow-y: auto;
        flex: 1;
      }
      #superAdminModal .mpb-rule-row {
        display: grid;
        grid-template-columns: 1fr auto auto;
        gap: 8px;
        align-items: center;
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #e5e7eb;
      }
      #superAdminModal .mpb-rule-summary {
        display: flex;
        flex-direction: column;
        gap: 2px;
      }
      #superAdminModal .mpb-rule-meta {
        font-size: 0.88rem;
        color: #64748b;
      }
      #superAdminModal .mpb-rule-enabled {
        margin: 0;
        white-space: nowrap;
        font-size: 0.88rem;
      }
      #superAdminModal .mpb-rules-add {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
        gap: 8px;
        align-items: end;
        padding: 0 14px 12px;
        border-top: 1px solid #e5e7eb;
      }
      #superAdminModal .mpb-rules-add .mpa-field {
        margin: 0;
      }
      #superAdminModal .mpb-rules-foot {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: space-between;
        padding: 10px 14px;
        background: #f3f4f6;
      }

      .obce-admin-banner {
        max-width: 1180px;
        margin: 0 auto;
        padding: 12px clamp(18px, 5vw, 72px) 0;
      }
      .obce-admin-banner:not(.hidden) {
        display: block;
      }
      .obce-admin-banner p {
        margin: 0;
        padding: 12px 16px;
        border-radius: 10px;
        background: #eef6ff;
        border: 1px solid #93c5fd;
        font-size: 0.95rem;
        line-height: 1.45;
      }
      .obce-admin-banner a {
        font-weight: 600;
      }

      /* Desktop filtr příběhů — finální přebíjení (po .category-card v souboru). */
      @media (min-width: 1200px) {
        body.site-global #hudLeftColumn .hud-filter-panel-card #categoryFilterList,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card #categoryFilterList {
          display: grid !important;
          grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
          grid-template-rows: repeat(2, 24px) !important;
          gap: 4px 6px !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.category-card,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.category-card {
          min-height: 0 !important;
          max-height: 24px !important;
          height: 24px !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-filter-row-top,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-filter-row-top {
          display: grid !important;
          grid-template-columns: 138px minmax(0, 1fr) !important;
          grid-template-rows: auto minmax(28px, auto) !important;
          align-items: start !important;
        }
        body.site-global #hudLeftColumn:has(.hud-filter-time-dates > .field:not(.hidden)) .hud-filter-panel-card,
        body.site-mistopribeh #hudLeftColumn:has(.hud-filter-time-dates > .field:not(.hidden)) .hud-filter-panel-card {
          grid-template-rows: auto auto auto auto !important;
        }
        body.site-global #hudLeftColumn .hud-filter-time-dates:has(> .field:not(.hidden) ~ .field:not(.hidden)),
        body.site-mistopribeh #hudLeftColumn .hud-filter-time-dates:has(> .field:not(.hidden) ~ .field:not(.hidden)) {
          flex-direction: column !important;
          align-items: stretch !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-filter-panel__body,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-filter-panel__body {
          overflow: hidden !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card > .hud-filter-panel__summary,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card > .hud-filter-panel__summary {
          display: block !important;
          color: rgba(210, 228, 245, 0.92) !important;
          -webkit-text-fill-color: rgba(210, 228, 245, 0.92) !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card > .hud-filter-panel__foot,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card > .hud-filter-panel__foot {
          z-index: 4;
          background: #1b4d72 !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-filter-panel__title,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-filter-panel__title,
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-filter-top-title,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-filter-top-title,
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-filter-col--categories > .hud-section-title,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-filter-col--categories > .hud-section-title {
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card > .hud-filter-panel__head,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card > .hud-filter-panel__head {
          background: #961f33 !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill--mine,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill--mine,
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill--mine span,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill--mine span {
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
        }
      }

      /* Mobil — panel filtrů: modrá karta, červená lišta, barevné kategorie 2×3, rovné rohy. */
      @media (max-width: 1199px) {
        body.site-global #hudLeftColumn .hud-filter-panel-card.hud-left-stack.hud-card.hud-skin--side,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card.hud-left-stack.hud-card.hud-skin--side {
          display: grid !important;
          grid-template-rows: auto 1fr auto auto;
          gap: 0 !important;
          padding: 0 !important;
          background: #1b4d72 !important;
          backdrop-filter: none !important;
          -webkit-backdrop-filter: none !important;
          border-color: rgba(255, 255, 255, 0.22) !important;
          color: #ffffff !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .desktop-filter-chrome.hud-filter-panel__head,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .desktop-filter-chrome.hud-filter-panel__head {
          display: flex !important;
          align-items: center;
          justify-content: space-between;
          gap: 8px;
          padding: 8px 10px;
          background: #961f33 !important;
          border-bottom: 1px solid rgba(255, 255, 255, 0.22);
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-filter-panel__title,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-filter-panel__title {
          margin: 0;
          font-size: 12px;
          font-weight: 800;
          letter-spacing: 0.06em;
          text-transform: uppercase;
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-filter-panel__close-x.spot-modal-close-x,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-filter-panel__close-x.spot-modal-close-x {
          background: var(--mp-window-close-bg, #ffffff) !important;
          color: var(--mp-window-close-fg, #111827) !important;
          -webkit-text-fill-color: var(--mp-window-close-fg, #111827) !important;
          border: var(--mp-window-close-border, 1px solid rgba(17, 24, 39, 0.16)) !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card > .mobile-filter-close-btn,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card > .mobile-filter-close-btn {
          display: none !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card > .hud-filter-panel__body,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card > .hud-filter-panel__body {
          grid-row: 2;
          min-height: 0;
          overflow: auto;
          padding: 10px 12px 8px;
          -webkit-overflow-scrolling: touch;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card > .hud-filter-panel__summary,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card > .hud-filter-panel__summary {
          grid-row: 3;
          display: block !important;
          margin: 0;
          padding: 8px 12px 6px;
          font-size: 11px;
          line-height: 1.4;
          font-weight: 600;
          color: rgba(210, 228, 245, 0.92) !important;
          -webkit-text-fill-color: rgba(210, 228, 245, 0.92) !important;
          border-top: 1px solid rgba(255, 255, 255, 0.14);
          background: rgba(0, 0, 0, 0.08);
          flex-shrink: 0;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-filter-panel__foot,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-filter-panel__foot {
          grid-row: 4;
          background: #1b4d72 !important;
          border-top: 1px solid rgba(255, 255, 255, 0.18);
          padding: 8px 10px max(8px, env(safe-area-inset-bottom));
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-section-title,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-section-title,
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-filter-top-title,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-filter-top-title,
        body.site-global #hudLeftColumn .hud-filter-panel-card .field label,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .field label,
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-category-intro,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-category-intro {
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-filter-panel__reset-btn,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-filter-panel__reset-btn {
          background: rgba(255, 255, 255, 0.14) !important;
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
          border: 1px solid rgba(255, 255, 255, 0.35) !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card #categoryFilterList,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card #categoryFilterList {
          display: grid !important;
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          gap: 5px 6px !important;
          width: 100%;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.category-card,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.category-card {
          position: relative;
          display: inline-flex !important;
          align-items: center !important;
          justify-content: flex-start !important;
          gap: 4px !important;
          width: 100% !important;
          max-width: 100% !important;
          min-width: 0 !important;
          min-height: 32px !important;
          max-height: none !important;
          height: auto !important;
          margin: 0 !important;
          padding: 3px 6px 3px 4px !important;
          border-radius: 0 !important;
          border: 1px solid rgba(255, 255, 255, 0.4) !important;
          box-shadow: 0 1px 4px rgba(0, 0, 0, 0.16) !important;
          box-sizing: border-box !important;
          font-size: 11px !important;
          font-weight: 700 !important;
          line-height: 1.2 !important;
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
          cursor: pointer;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.category-card.category-card--archiv,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.category-card.category-card--archiv {
          background: #4b5563 !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.category-card.category-card--stopy,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.category-card.category-card--stopy {
          background: #a16207 !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.category-card.category-card--puls,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.category-card.category-card--puls {
          background: #dc2626 !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.category-card.category-card--krajina,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.category-card.category-card--krajina {
          background: #16a34a !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.category-card.category-card--mystika,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.category-card.category-card--mystika {
          background: #7c3aed !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.category-card.category-card--vize,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.category-card.category-card--vize {
          background: #0ea5e9 !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill__text,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill__text {
          display: inline !important;
          flex: 1 1 auto;
          min-width: 0;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
          font-size: 11px !important;
          font-weight: 700 !important;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill input[type="checkbox"],
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill input[type="checkbox"] {
          position: static !important;
          width: 14px !important;
          height: 14px !important;
          min-width: 14px !important;
          min-height: 14px !important;
          margin: 0 !important;
          flex: 0 0 auto;
          opacity: 1 !important;
          visibility: visible !important;
          appearance: auto !important;
          -webkit-appearance: checkbox !important;
          accent-color: #ffffff;
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.hud-cat-filter-pill--off,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill.hud-cat-filter-pill--off {
          opacity: 0.42;
          filter: grayscale(0.5) saturate(0.55);
        }
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill--mine,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill--mine,
        body.site-global #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill--mine span,
        body.site-mistopribeh #hudLeftColumn .hud-filter-panel-card .hud-cat-filter-pill--mine span {
          border-radius: 0 !important;
          background: rgba(255, 255, 255, 0.12) !important;
          border: 1px solid rgba(255, 255, 255, 0.28) !important;
          color: #ffffff !important;
          -webkit-text-fill-color: #ffffff !important;
        }
      }
      /* Horní lišta desktop — finální přepis (grid pozice + šedé menu + účet bez modré). */
      @media (min-width: 1200px) {
        body.site-global .hud-top-bar #navMenuToggle.nav-menu-toggle.secondary,
        body.site-mistopribeh .hud-top-bar #navMenuToggle.nav-menu-toggle.secondary {
          background: #eceff3 !important;
          border: 1px solid rgba(0, 0, 0, 0.1) !important;
          color: #1a1a1a !important;
          -webkit-text-fill-color: #1a1a1a !important;
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12) !important;
        }
        body.site-global .hud-top-bar #navMenuToggle.nav-menu-toggle.secondary:hover,
        body.site-global .hud-top-bar #navMenuToggle.nav-menu-toggle.secondary:focus-visible,
        body.site-mistopribeh .hud-top-bar #navMenuToggle.nav-menu-toggle.secondary:hover,
        body.site-mistopribeh .hud-top-bar #navMenuToggle.nav-menu-toggle.secondary:focus-visible {
          background: #e2e6ec !important;
          border-color: rgba(0, 0, 0, 0.16) !important;
        }
        body.site-global .hud-top-bar #navMenuToggle .nav-menu-toggle__icon > span,
        body.site-mistopribeh .hud-top-bar #navMenuToggle .nav-menu-toggle__icon > span {
          background: #1a1a1a !important;
        }
        body.site-global .hud-top-bar #accountMenuToggle.nav-account-toggle.secondary,
        body.site-mistopribeh .hud-top-bar #accountMenuToggle.nav-account-toggle.secondary {
          background: transparent !important;
          border: none !important;
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.14) !important;
        }
        body.site-global .hud-top-bar #accountMenuToggle .nav-account-toggle__avatar-wrap,
        body.site-mistopribeh .hud-top-bar #accountMenuToggle .nav-account-toggle__avatar-wrap {
          border: 1px solid rgba(0, 0, 0, 0.12) !important;
          background: rgba(255, 255, 255, 0.96) !important;
        }
        body.site-global .hud-card.hud-top-bar .header-search-field-wrap #municipalitySearchInput,
        body.site-mistopribeh .hud-card.hud-top-bar .header-search-field-wrap #municipalitySearchInput {
          border: 0 !important;
          box-shadow: none !important;
          background: transparent !important;
          padding: 8px 0 !important;
        }
        body.site-global .hud-top-bar #showAllMunicipalitiesMapBtn.header-show-all-muni-link,
        body.site-mistopribeh .hud-top-bar #showAllMunicipalitiesMapBtn.header-show-all-muni-link {
          display: inline-flex !important;
          visibility: visible !important;
          opacity: 1 !important;
        }
        body.site-global .hud-top-bar .header-search-mode-switch,
        body.site-mistopribeh .hud-top-bar .header-search-mode-switch {
          gap: 0 !important;
        }
        body.site-global .hud-top-bar .header-search-mode-switch__btn.is-active,
        body.site-global .hud-top-bar .header-search-mode-switch__btn[aria-pressed="true"],
        body.site-mistopribeh .hud-top-bar .header-search-mode-switch__btn.is-active,
        body.site-mistopribeh .hud-top-bar .header-search-mode-switch__btn[aria-pressed="true"] {
          color: var(--color-accent, #9b1c31) !important;
          -webkit-text-fill-color: var(--color-accent, #9b1c31) !important;
        }
      }
      /* Mobil: menu Informace (#navDrawer) vjíždí z levého okraje; účet (#accountDrawer) zůstává vpravo. */
      @media (max-width: 1199px) {
        #navDrawer #navDrawerPanel.nav-drawer__panel {
          left: 0 !important;
          right: auto !important;
          border-left: none !important;
          border-right: 1px solid #681524 !important;
          box-shadow: 12px 0 40px rgba(0, 0, 0, 0.28) !important;
          transform: translateX(-100%) !important;
          border-radius: 0 14px 14px 0 !important;
        }
        #navDrawer.is-open #navDrawerPanel.nav-drawer__panel {
          transform: translateX(0) !important;
        }
        body.site-global #navDrawerPanel.nav-drawer__panel {
          border-radius: 0 14px 14px 0 !important;
          border-left: none !important;
          box-shadow: 12px 0 40px rgba(0, 0, 0, 0.1) !important;
        }
      }

      /* Desktop: menu Účet / Informace — dropdown pod ikonou; při mnoha položkách scroll uvnitř. */
      @media (min-width: 1200px) {
        #accountDrawerPanel.nav-drawer__panel.nav-drawer__panel--desktop-anchor,
        #navDrawerPanel.nav-drawer__panel.nav-drawer__panel--desktop-anchor {
          position: fixed !important;
          top: var(--mp-drawer-anchor-top, 72px) !important;
          right: var(--mp-drawer-anchor-right, 12px) !important;
          left: auto !important;
          bottom: auto !important;
          width: min(300px, calc(100vw - 24px)) !important;
          height: auto !important;
          max-height: min(
            calc(100dvh - var(--mp-drawer-anchor-top, 72px) - 12px),
            calc(100vh - var(--mp-drawer-anchor-top, 72px) - 12px)
          ) !important;
          min-height: 0 !important;
          display: flex !important;
          flex-direction: column !important;
          transform: translateY(-4px) !important;
          opacity: 0;
          border-radius: 10px !important;
          border: 1px solid rgba(0, 0, 0, 0.14) !important;
          border-left: 1px solid rgba(0, 0, 0, 0.14) !important;
          box-shadow: 0 14px 36px rgba(15, 23, 42, 0.22) !important;
          transition:
            opacity 0.16s ease,
            transform 0.16s ease !important;
          overflow: hidden !important;
          box-sizing: border-box !important;
        }
        #accountDrawer.is-open #accountDrawerPanel.nav-drawer__panel--desktop-anchor,
        #navDrawer.is-open #navDrawerPanel.nav-drawer__panel--desktop-anchor {
          transform: translateY(0) !important;
          opacity: 1 !important;
        }
        #accountDrawerPanel.nav-drawer__panel.nav-drawer__panel--desktop-anchor > .nav-drawer__head,
        #accountDrawerPanel.nav-drawer__panel.nav-drawer__panel--desktop-anchor > #accountDrawerSessionInfo,
        #navDrawerPanel.nav-drawer__panel.nav-drawer__panel--desktop-anchor > .nav-drawer__head {
          flex: 0 0 auto !important;
        }
        #navDrawerPanel.nav-drawer__panel.nav-drawer__panel--desktop-anchor #navDrawerList,
        #accountDrawerPanel.nav-drawer__panel.nav-drawer__panel--desktop-anchor #accountDrawerList {
          flex: 1 1 0% !important;
          min-height: 0 !important;
          overflow-x: hidden !important;
          overflow-y: auto !important;
          overscroll-behavior: contain;
          -webkit-overflow-scrolling: touch;
        }
      }

      /* Čítač příběhů na mapě vypnut (2026-05) — přehled zůstává na stránce Statistiky v menu */
      .hud-footer-panel--stats {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
      }

      /* Okno Ocenění — mp-window, scroll jen v těle */
      .author-awards-modal__body {
        padding: 12px 16px 8px;
      }
      .author-awards-banner {
        margin: 0 0 12px;
        padding: 10px 12px;
        border-radius: 8px;
        background: #eff6ff;
        border: 1px solid #bfdbfe;
        color: #1e3a5f;
        font-size: 0.92rem;
        line-height: 1.45;
      }
      .author-awards-admin-preview {
        margin: 0 0 12px;
        padding: 10px 12px;
        border-radius: 8px;
        background: #fef3c7;
        border: 1px solid #fcd34d;
        color: #78350f;
        font-size: 0.92rem;
        line-height: 1.45;
        font-weight: 600;
      }
      .author-awards-qa-note {
        margin: 0 0 10px;
        font-size: 0.85rem;
        color: #64748b;
      }
      .author-awards-loading,
      .author-awards-error {
        padding: 8px 0 12px;
        font-size: 0.95rem;
      }
      .author-awards-error {
        color: #b91c1c;
      }
      .author-awards-content {
        display: flex;
        flex-direction: column;
        gap: 18px;
      }
      .author-awards-section {
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        padding: 12px 14px;
        background: #fafafa;
      }
      .author-awards-section__title {
        margin: 0 0 8px;
        font-size: 1.05rem;
        color: #0f172a;
      }
      .author-awards-section__lead {
        margin: 0 0 10px;
        font-size: 0.9rem;
        color: #475569;
        line-height: 1.45;
      }
      .author-awards-gates {
        display: grid;
        gap: 8px;
        margin-bottom: 12px;
      }
      .author-awards-gate {
        padding: 8px 10px;
        border-radius: 8px;
        background: #fff;
        border: 1px solid #e2e8f0;
        font-size: 0.9rem;
      }
      .author-awards-gate--met {
        border-color: #86efac;
        background: #f0fdf4;
      }
      .author-awards-milestones {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 8px;
      }
      .author-awards-milestone {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 6px 10px;
        border-radius: 999px;
        border: 1px solid #cbd5e1;
        font-size: 0.85rem;
        background: #fff;
      }
      .author-awards-milestone--reached {
        font-weight: 600;
      }
      .author-awards-milestone__dot {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        flex-shrink: 0;
      }
      .author-awards-muni-list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 6px;
      }
      .author-awards-muni-row {
        padding: 8px 10px;
        border-radius: 8px;
        background: #fff;
        border: 1px solid #e2e8f0;
        font-size: 0.9rem;
        line-height: 1.4;
      }
      .author-awards-muni-row--granted {
        border-color: #86efac;
        background: #f0fdf4;
      }
      .author-awards-muni-row__label {
        font-weight: 600;
        color: #0f172a;
      }
      .author-awards-muni-row__meta {
        color: #475569;
        margin-top: 2px;
      }
      .author-awards-unassigned {
        margin-top: 8px;
        font-size: 0.88rem;
        color: #b45309;
      }
      .author-awards-titles {
        display: grid;
        gap: 12px;
      }
      @media (min-width: 640px) {
        .author-awards-titles {
          grid-template-columns: 1fr 1fr;
        }
      }
      .author-awards-title-card {
        padding: 10px 12px;
        border-radius: 8px;
        background: #fff;
        border: 1px solid #e2e8f0;
      }
      .author-awards-title-card--earned {
        border-color: #fcd34d;
        background: #fffbeb;
      }
      .author-awards-title-card h4 {
        margin: 0 0 8px;
        font-size: 0.98rem;
      }
      .author-awards-title-card dl {
        margin: 0;
        font-size: 0.88rem;
      }
      .author-awards-title-card dt {
        font-weight: 600;
        margin-top: 4px;
      }
      .author-awards-title-card dd {
        margin: 0 0 4px;
        color: #475569;
      }
      .author-awards-updated {
        margin-top: 12px;
        font-size: 0.82rem;
      }
      .author-awards-rules-link-wrap {
        margin: 12px 0 4px;
      }
      .author-awards-rules-btn {
        font-size: 0.88rem;
      }

      /* Finance admin (Evidence, Údaje projektu, Ceník) */
      #superAdminModal .mfin-kpi-row {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 10px;
        margin: 12px 0 16px;
      }
      #superAdminModal .mfin-kpi-card {
        border: 1px solid #e5e7eb;
        border-radius: 10px;
        padding: 10px 12px;
        background: #fff;
      }
      #superAdminModal .mfin-kpi-card--bank {
        background: #eff6ff;
        border-color: #bfdbfe;
      }
      #superAdminModal .mfin-kpi-card--cash {
        background: #fffbeb;
        border-color: #fde68a;
      }
      #superAdminModal .mfin-kpi-card--assets {
        background: #ecfdf5;
        border-color: #6ee7b7;
      }
      #superAdminModal .mfin-kpi-card--income {
        background: #ecfdf5;
        border-color: #86efac;
      }
      #superAdminModal .mfin-kpi-card--expense {
        background: #fef2f2;
        border-color: #fecaca;
      }
      #superAdminModal .mfin-kpi-card--manual {
        background: #f5f3ff;
        border-color: #ddd6fe;
      }
      #superAdminModal .mfin-kpi-card--bank-tx {
        background: #f8fafc;
        border-color: #cbd5e1;
      }
      #superAdminModal .mfin-kpi-card--accent {
        border-color: #1b4d72;
        background: #f0f7fc;
      }
      #superAdminModal .mfin-kpi-label {
        display: block;
        font-size: 0.78rem;
        color: #64748b;
        margin-bottom: 4px;
      }
      #superAdminModal .mfin-evidence-toolbar {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
        margin-bottom: 12px;
      }
      #superAdminModal .mfin-evidence-filters {
        margin-bottom: 6px;
      }
      #superAdminModal .mfin-evidence-filters .mfin-filter-date.hidden {
        display: none;
      }
      #superAdminModal .mfin-evidence-filter-meta {
        margin: 0 0 10px;
      }
      #superAdminModal .mfin-kpi-card--filtered {
        box-shadow: inset 0 0 0 2px #2563eb;
      }
      #superAdminModal .mfin-kpi-card--filtered .mfin-kpi-label::after {
        content: " · filtr";
        font-weight: 600;
        color: #2563eb;
      }
      #superAdminModal .mfin-evidence-fold {
        margin-bottom: 12px;
      }
      #superAdminModal .mfin-evidence-fold.hidden {
        display: none;
      }
      #superAdminModal .mfin-manual-form,
      #superAdminModal .mfin-cash-form {
        border: 1px solid #e5e7eb;
        border-radius: 10px;
        padding: 12px 14px;
        background: #fafafa;
      }
      #superAdminModal .mfin-manual-form h4,
      #superAdminModal .mfin-cash-form h4 {
        margin: 0 0 8px;
      }
      #superAdminModal .mfin-evidence-fold-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 12px;
      }
      #superAdminModal .mfin-evidence-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 0.9rem;
      }
      #superAdminModal .mfin-evidence-table th,
      #superAdminModal .mfin-evidence-table td {
        border-bottom: 1px solid #e5e7eb;
        padding: 8px 6px;
        vertical-align: top;
        text-align: left;
      }
      #superAdminModal .mfin-evidence-table .mfin-num {
        text-align: right;
        white-space: nowrap;
      }
      #superAdminModal .mfin-evidence-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        justify-content: flex-end;
      }
      #superAdminModal .mfin-amount-out {
        color: #b91c1c;
      }
      #superAdminModal .mfin-amount-in {
        color: #166534;
      }
      #superAdminModal .mfin-provider-dl {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 8px 16px;
        margin: 0 0 8px;
      }
      #superAdminModal .mfin-provider-dl dt {
        font-size: 0.78rem;
        color: #64748b;
      }
      #superAdminModal .mfin-provider-dl dd {
        margin: 0;
        font-weight: 600;
      }

      /* PWA — offline banner a standalone režim */
      .pwa-connectivity-banner {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 100000;
        padding: 10px 14px;
        padding-top: max(10px, env(safe-area-inset-top, 0px));
        background: #7f1d1d;
        color: #fff;
        font-size: 14px;
        line-height: 1.35;
        text-align: center;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
      }

      .pwa-connectivity-banner.hidden {
        display: none !important;
      }

      /* Mobil ≤1199px — seznamy příběhů a modály na celou šířku displeje (2026-07-05). */
      @media (max-width: 1199px) {
        .modal-backdrop[aria-hidden="false"]:not(#appDialogModal) {
          --mp-modal-fluid-w: 100%;
        }

        #municipalStatementsModal .modal[data-mp-window],
        #myProfileModal .modal[data-mp-window],
        #myProfileAccountModal .modal[data-mp-window],
        #myStoriesModal .modal[data-mp-window],
        #nearbyStoriesModal .modal[data-mp-window],
        #watchPlaceModal .modal[data-mp-window],
        #storyDetailModal .story-detail-modal[data-mp-window],
        #storyModal .modal[data-mp-window],
        #authorStoriesModal .modal[data-mp-window] {
          width: 100% !important;
          max-width: 100% !important;
          margin-inline: 0 !important;
        }

        #municipalStatementsModal.modal-backdrop,
        #myProfileModal.modal-backdrop,
        #myProfileAccountModal.modal-backdrop,
        #myStoriesModal.modal-backdrop,
        #nearbyStoriesModal.modal-backdrop,
        #watchPlaceModal.modal-backdrop,
        #storyDetailModal.modal-backdrop,
        #authorStoriesModal.modal-backdrop {
          padding: 0 !important;
        }

        #authorStoriesModal .modal.author-stories-modal > h2,
        #authorStoriesModal .modal.author-stories-modal > .field-note,
        #authorStoriesModal #authorStoriesList,
        #authorStoriesModal .modal.author-stories-modal > .modal-actions {
          width: 100% !important;
          max-width: 100% !important;
          margin-left: 0 !important;
          margin-right: 0 !important;
        }

        #spotModal .spot-star-intro,
        #mapFlowTimelineModal .spot-star-intro {
          max-width: 100% !important;
          width: 100% !important;
        }

        #spotModal .story-list-panel__body,
        #mapFlowTimelineModal .story-list-panel__body {
          padding-left: 0 !important;
          padding-right: 0 !important;
        }

        .modal-backdrop > section.modal[data-mp-window] > .mp-window__body .story-list-panel,
        body.site-global .modal-backdrop > section.modal[data-mp-window] > .mp-window__body .story-list-panel,
        body.site-mistopribeh .modal-backdrop > section.modal[data-mp-window] > .mp-window__body .story-list-panel {
          width: calc(100% + 24px) !important;
          max-width: none !important;
          margin-left: -12px !important;
          margin-right: -12px !important;
          padding-left: 0 !important;
          padding-right: 0 !important;
          border-left: none !important;
          border-right: none !important;
          border-radius: 0 !important;
          box-sizing: border-box;
        }

        .modal-backdrop > section.modal[data-mp-window] > .mp-window__body .story-list-panel__body {
          padding-left: 0 !important;
          padding-right: 0 !important;
        }

        .modal-backdrop > section.modal[data-mp-window] > .mp-window__body .story-list-panel__body .story-list {
          gap: 0 !important;
          margin-top: 0 !important;
        }

        .modal-backdrop > section.modal[data-mp-window] > .mp-window__body .story-list-panel__body .story-item {
          width: 100% !important;
          max-width: 100% !important;
          box-sizing: border-box;
          border-radius: 0 !important;
          border-left: none !important;
          border-right: none !important;
        }

        .modal-backdrop > section.modal[data-mp-window] > .mp-window__body .author-hub-modal__body > .story-list,
        .modal-backdrop > section.modal[data-mp-window] #nearbyStoriesList.story-list,
        .modal-backdrop > section.modal[data-mp-window] #municipalStatementsList.story-list,
        .modal-backdrop > section.modal[data-mp-window] #authorStoriesList.story-list {
          width: calc(100% + 24px) !important;
          max-width: none !important;
          margin-left: -12px !important;
          margin-right: -12px !important;
          gap: 0 !important;
          box-sizing: border-box;
        }

        .modal-backdrop > section.modal[data-mp-window] > .mp-window__body .author-hub-modal__body > .story-list .story-item,
        .modal-backdrop > section.modal[data-mp-window] #nearbyStoriesList.story-list .story-item,
        .modal-backdrop > section.modal[data-mp-window] #municipalStatementsList.story-list .story-item,
        .modal-backdrop > section.modal[data-mp-window] #authorStoriesList.story-list .story-item {
          width: 100% !important;
          max-width: 100% !important;
          border-radius: 0 !important;
          border-left: none !important;
          border-right: none !important;
          box-sizing: border-box;
        }

        #nearbyStoriesModal .modal.nearby-stories-modal[data-mp-window] {
          padding-left: 0 !important;
          padding-right: 0 !important;
        }

        #nearbyStoriesModal .modal[data-mp-window] .nearby-search-toolbar,
        #nearbyStoriesModal .modal[data-mp-window] #nearbySearchResultMeta,
        #nearbyStoriesModal .modal[data-mp-window] > .field-note,
        #nearbyStoriesModal .modal[data-mp-window] > h2,
        #nearbyStoriesModal .modal[data-mp-window] > .section-grid {
          padding-left: 12px;
          padding-right: 12px;
          box-sizing: border-box;
        }
      }

