      :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);
        --hud-footer-ribbon-h: clamp(62px, 10.5dvh, 92px);
        --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;
      }
      /* Č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: 1px solid rgba(255, 255, 255, 0.72);
        border-radius: 999px;
        font-size: 1.1rem;
        line-height: 1;
        font-weight: 700;
        cursor: pointer;
        color: #ffffff;
        background: rgba(17, 24, 39, 0.88);
        box-shadow: 0 2px 7px rgba(0, 0, 0, 0.36);
      }
      .hud-add-story-dismiss:hover {
        background: rgba(0, 0, 0, 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;
      }
      .map-point-actions .map-point-action--clear {
        color: #991b1b !important;
        border-color: rgba(153, 27, 27, 0.65) !important;
        background: #fff5f5 !important;
        font-weight: 700 !important;
      }
      .map-point-actions .map-point-action--clear:hover {
        background: #fee2e2 !important;
        color: #7f1d1d !important;
        border-color: rgba(127, 29, 29, 0.8) !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);
      }
      #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;
      }
      #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;
      }
      @media (min-width: 1200px) {
        .hud-top-bar {
          position: static;
          grid-template-columns: auto minmax(140px, 1fr) minmax(180px, 1.15fr) minmax(260px, 1.55fr) minmax(300px, 1.7fr) auto;
        }
        .hud-top-bar #brandHomeBtn {
          grid-column: 2;
          justify-self: start;
        }
        .hud-top-bar #headerPrivilegedActions {
          grid-column: 3;
          justify-self: center;
          justify-content: center;
          width: 100%;
          max-width: min(30vw, 420px);
          padding-left: 18px;
          padding-right: 18px;
        }
        .hud-top-bar .header-search {
          position: static;
          grid-column: 4;
          width: 100%;
          max-width: 100%;
          justify-self: center;
          justify-content: center;
          padding-left: 0;
          z-index: 1;
        }
        .hud-top-bar .header-session {
          grid-column: 5;
          justify-self: end;
          min-width: 0;
          justify-content: flex-end;
          gap: 6px;
        }
        .hud-top-bar .header-session__userline {
          flex: 0 1 300px;
          max-width: 300px;
          min-width: 0;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
        }
        .hud-top-bar .header-session #headerAccountActions {
          flex: 0 0 auto;
        }
        .hud-top-bar .nav-menu-toggle {
          grid-column: 6;
        }
        .hud-top-bar #brandHomeBtn,
        .hud-top-bar #headerPrivilegedActions,
        .hud-top-bar .header-session,
        .hud-top-bar .nav-menu-toggle,
        .hud-top-bar .nav-account-toggle {
          position: relative;
          z-index: 2;
        }
      }
      .hud-top-bar .header-search select,
      .hud-top-bar .header-search input[type="text"],
      .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);
        white-space: nowrap;
        max-width: min(42vw, 280px);
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .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;
      }
      #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: 0.95;
      }
      .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="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,
        .hud-actions-row--top #clearTestDataBtn {
          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: calc(var(--hud-edge) + var(--hud-header-block-h) + 2px);
          right: var(--hud-edge);
          bottom: calc(var(--hud-edge) + env(safe-area-inset-bottom));
          width: calc(100vw - 2 * var(--hud-edge));
          max-width: none;
          transform: translateX(calc(-100% - var(--hud-edge)));
          transition: transform 0.22s ease;
          z-index: 10080;
        }
        body.compact-left-open .hud-column-left {
          transform: translateX(0);
        }
        body.compact-left-open .hud-column-left .hud-left-stack {
          position: relative;
          min-height: 100%;
          padding-bottom: 34px;
        }
        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;
        }
        .hud-add-story--docked .hud-cta-btn {
          min-height: 0;
          padding: 9px 12px 9px 10px;
          font-size: clamp(0.9rem, 1.9vw, 1.02rem);
        }
      }
      /* 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;
      }
      #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;
      }
      /* Logo vlevo nahoře: nesmí ho useknout rozhraní karty (zaoblení + rozostření pozadí). */
      #appHeader .hud-card.hud-top-bar {
        overflow: visible;
      }
      #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;
      }
      .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 #municipalitySearchInput {
        flex: 1 1 140px;
        min-width: 0;
      }
      .header-search__filter-btn {
        display: none;
      }
      .header-search input[type="text"] {
        flex: 1 1 140px;
        min-width: 120px;
        max-width: 220px;
      }
      .header-search__col--find input[type="text"] {
        max-width: none;
      }
      @media (min-width: 1200px) {
        .hud-top-bar {
          overflow: visible;
        }
        .account-drawer-lang-li {
          display: none !important;
        }
      }
      .header-lang-picker {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        flex: 0 0 auto;
        min-width: 0;
        opacity: 0.92;
      }
      .header-search__lang {
        margin-left: auto;
        padding-left: 18px;
        border-left: 1px solid rgba(0, 0, 0, 0.1);
        align-self: center;
      }
      body.site-mistopribeh .header-search__lang {
        border-left-color: rgba(45, 48, 45, 0.18);
      }
      .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,
      .header-search__col--find #uiLangSelect {
        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,
      body.site-mistopribeh .header-search__col--find #uiLangSelect {
        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,
      .header-search__col--find #uiLangSelect: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);
      }
      .header-lang-picker--account-drawer {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
        width: 100%;
        box-sizing: border-box;
        opacity: 1;
      }
      .header-lang-picker--account-drawer label {
        font-size: 11px;
        font-weight: 400;
        color: rgba(15, 23, 42, 0.62);
      }
      .header-lang-picker--account-drawer select,
      #uiLangSelectMobile {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        min-height: 40px;
        padding: 6px 10px;
        font-size: 14px;
        font-weight: 400;
        border-radius: 10px;
        border: 1px solid rgba(0, 0, 0, 0.14);
        background: rgba(255, 255, 255, 0.92);
        color: var(--hud-ink, #1a1a1a);
      }
      .hud-skin--top .header-search__col--find #municipalitySearchInput {
        min-height: 36px;
        padding: 8px 16px;
        border-radius: 999px;
        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: 999px;
        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);
      }
      .nav-menu-toggle {
        min-width: 44px;
        min-height: 44px;
        padding: 0 12px;
        font-size: 18px;
        line-height: 1;
      }
      .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);
      }
      .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(320px, 92vw);
        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);
      }
      body.hide-prototype-nav-dev .nav-drawer__dev {
        display: none !important;
      }
      .nav-drawer__dev {
        margin-top: auto;
        padding-top: 14px;
        border-top: 1px solid rgba(0, 0, 0, 0.12);
      }
      .nav-drawer__dev-title {
        margin: 0 0 8px;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--hud-ink);
        opacity: 0.72;
      }
      .nav-drawer__dev select {
        width: 100%;
        min-height: 40px;
        box-sizing: border-box;
      }
      .nav-drawer__dev-hint {
        margin: 8px 0 0;
        font-size: 11px;
        line-height: 1.35;
        opacity: 0.85;
      }
      .nav-account-toggle {
        display: none;
        flex-shrink: 0;
        min-width: 44px;
        min-height: 44px;
        padding: 0 10px;
        font-size: 20px;
        line-height: 1;
        border-radius: 12px;
      }
      .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 {
          grid-template-columns: auto 1fr auto;
          grid-template-rows: auto;
          gap: 6px 10px;
          align-items: center;
        }
        .hud-top-bar .header-session {
          display: none !important;
        }
        .hud-top-bar .nav-account-toggle {
          grid-column: 3;
          grid-row: 1;
          justify-self: end;
        }
        .hud-top-bar .nav-search-toggle {
          grid-column: 1;
          grid-row: 1;
          justify-self: start;
        }
        .hud-top-bar .brand-block {
          grid-column: 2;
          grid-row: 1;
          justify-self: center;
          min-width: 0;
          transform: translateX(-20px);
        }
        .hud-top-bar .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__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 #municipalitySearchInput {
          order: 1;
          width: 100%;
          flex: 0 0 auto;
        }
        .header-search__findRow #municipalitySearchBtn {
          order: 2;
          width: 100%;
        }
        .header-search__findRow .header-search__lang {
          display: none !important;
        }
        .header-search__findRow .mobile-search-close-btn {
          order: 3;
          width: 100%;
        }
        .header-search__col--find input[type="text"] {
          flex: 1 1 auto;
          min-width: 0;
          min-height: 46px;
          max-width: none;
        }
        .header-search__col--find .secondary {
          flex: 0 0 auto;
          min-height: 46px;
          width: 100%;
        }
        body.compact-search-open .header-search__col--find {
          display: flex;
        }
        .header-search select,
        .header-search .header-search__col--find input[type="text"],
        .header-search .header-search__col--find .secondary,
        .header-search__filter-btn {
          min-height: 44px !important;
        }
        .header-search .header-search__col--find input[type="text"] {
          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;
        }
        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 {
        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;
      }
      .hud-map-corner-actions > * {
        pointer-events: auto;
      }
      @media (max-width: 1199px) {
        .hud-map-corner-actions {
          display: flex;
        }
        body.site-global .leaflet-control-layers-expanded,
        body.site-mistopribeh .leaflet-control-layers-expanded {
          max-height: 38vh;
          max-width: min(82vw, 320px);
          overflow: auto;
        }
      }
      .hud-map-corner-actions .hud-map-fab {
        min-width: 48px;
        min-height: 48px;
        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);
      }
      #mapLayersToggleBtn .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;
      }
      #siteInfoMenuToggle {
        order: 3;
      }
      #mapLocateUserBtn {
        order: 2;
        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;
      }
      .content-page-modal {
        width: min(760px, 96vw);
        max-height: min(88vh, 900px);
        display: flex;
        flex-direction: column;
      }
      .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;
      }
      .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);
      }
      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;
      }
      .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;
        overflow-y: auto;
        padding: 16px;
        z-index: 9999;
      }
      /* Karta autora musí být nad ostatními modály (např. okno příběhu). */
      #authorCardModal.modal-backdrop {
        z-index: 11500;
      }
      #appDialogModal.modal-backdrop {
        z-index: 25000;
        place-items: center;
      }
      #superAdminModal.modal-backdrop,
      #adminStaticTextEditorModal.modal-backdrop,
      #adminErrorTextEditorModal.modal-backdrop {
        z-index: 12050;
      }
      /* Náhled čekajícího příběhu — nad oknem super-admina. */
      #adminPendingStoryViewModal.modal-backdrop {
        z-index: 12500;
      }
      #appDialogModal .modal.app-dialog {
        width: min(440px, 94vw);
        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;
      }
      .modal {
        width: min(720px, 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: calc(100dvh - 32px);
        overflow-y: auto;
      }
      #storyModal .modal {
        width: min(1320px, 98vw);
      }
      body.modal-open {
        overflow: hidden;
      }
      .modal h2 {
        margin: 0 0 10px;
      }
      .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;
      }
      /* Rozvržení podle náčrtku: řádek1 základní info | čas; řádek2 obsah | (AI+kategorie nahoře, média dole); řádek3 dokončení */
      #storyForm.form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
          "sf-basic sf-time"
          "sf-body sf-meta"
          "sf-finish sf-finish";
        align-items: stretch;
      }
      /* Přihlášený uživatel: náčrt — vlevo obsah + dole čas, vpravo meta/média + dokončení */
      #storyForm.logged-in-layout.form-grid {
        grid-template-columns: minmax(0, 1.22fr) minmax(260px, 0.78fr);
        grid-template-areas:
          "sf-body sf-meta"
          "sf-time sf-finish";
        gap: 12px;
        align-items: stretch;
      }
      #basicInfoSection {
        grid-area: sf-basic;
      }
      #storyTimeSection {
        grid-area: sf-time;
      }
      #storyBodySection {
        grid-area: sf-body;
      }
      #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;
      }
      #storyFinishSection {
        grid-area: sf-finish;
      }
      #storyBodySection #storyText {
        min-height: 220px;
        resize: vertical;
      }
      #storyForm.logged-in-layout #storyBodySection #storyText {
        min-height: 200px;
        max-height: min(42vh, 360px);
      }
      #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);
      }
      .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;
      }
      .privacy-warning {
        margin-top: 8px;
        padding: 8px 10px;
        border: 1px solid #fecaca;
        background: #fef2f2;
        border-radius: 8px;
        color: #991b1b;
        font-size: 12px;
      }
      .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;
      }
      /* Počet příběhů na jednom místě (po rozpadnutí clusteru / vysoké přiblížení) — červená */
      .story-spot-pin {
        width: 32px;
        height: 32px;
        border-radius: 999px;
        background: #b91c1c;
        color: #fff;
        display: grid;
        place-items: center;
        font-weight: 700;
        border: 2px solid #fff;
        box-shadow: 0 6px 16px rgba(185, 28, 28, 0.35);
      }
      /* 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(560px, 94vw);
        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%;
        min-height: 82px;
        box-shadow: 0 8px 18px rgba(0, 0, 0, 0.24);
      }
      .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(720px, 96vw);
        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;
      }
      .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: 1px solid rgba(255, 255, 255, 0.72);
        border-radius: 999px;
        background: rgba(17, 24, 39, 0.88);
        color: #fff;
        font-size: 1.1rem;
        line-height: 1;
        font-weight: 700;
        cursor: pointer;
        box-shadow: 0 2px 7px rgba(0, 0, 0, 0.36);
      }
      .spot-modal-close-x:hover {
        background: rgba(0, 0, 0, 0.94);
      }
      /* Vynutí stejný vzhled jako × u "Vložit příběh zde". */
      #spotModal .spot-star-glass .spot-modal-close-x {
        background: rgba(17, 24, 39, 0.88) !important;
        border: 1px solid rgba(255, 255, 255, 0.72) !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        text-shadow: none !important;
      }
      #spotModal .spot-star-glass .spot-modal-close-x:hover {
        background: rgba(0, 0, 0, 0.94) !important;
      }
      #spotModal.modal-backdrop {
        background: transparent !important;
      }
      #spotTimelineModal.modal-backdrop {
        z-index: 10030;
      }
      #spotTimelineModal .modal {
        z-index: 10040;
      }
      #spotModal #selectedCategoryNote,
      #spotModal #emptyCategoryNote {
        color: #f0efea !important;
      }
      .spot-shell h2,
      .spot-shell .detail-row,
      .spot-shell .hint {
        color: #fff;
        text-align: center;
      }
      .spot-shell .modal-actions {
        justify-content: center;
      }
      #spotModal .modal.spot-shell {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
      }
      #spotModal .modal.spot-shell .modal-actions {
        background: transparent !important;
      }
      /* Jednotný „mléčný“ panel: úvod + hvězdice kategorií + tlačítko „všechny příběhy“ — bez rámečku, jen sklo */
      .spot-star-glass {
        position: relative;
        max-width: min(92vw, 680px);
        margin: 0 auto 14px;
        padding: 14px 16px 16px;
        border-radius: 18px;
        border: 0;
        background: rgba(253, 251, 247, 0.52);
        box-shadow: 0 10px 32px rgba(0, 0, 0, 0.2);
        backdrop-filter: blur(14px) saturate(1.15);
        -webkit-backdrop-filter: blur(14px) saturate(1.15);
      }
      .spot-star-intro {
        width: 100%;
        max-width: min(560px, 94vw);
        margin: 0 auto 6px;
        padding: 0;
        text-align: left;
        background: transparent;
        border: 0;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
      }
      .spot-star-topline {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 10px;
      }
      .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;
      }
      .spot-star-glass h2,
      .spot-star-glass .detail-row,
      .spot-star-glass .hint {
        color: #1a1a1a !important;
        text-shadow: none !important;
        text-align: left;
      }
      .spot-star-glass .category-grid {
        margin-top: 4px;
      }
      .spot-star-glass .spot-all-stories-wrap {
        margin-top: 10px;
      }
      #spotModal #selectedCategoryNote {
        color: #000 !important;
        text-shadow: none !important;
        font-weight: 600;
        letter-spacing: normal;
      }
      .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,
        #storyForm.logged-in-layout.form-grid {
          grid-template-columns: 1fr;
          grid-template-areas:
            "sf-basic"
            "sf-time"
            "sf-body"
            "sf-meta"
            "sf-finish";
        }
        #storyForm.logged-in-layout.form-grid {
          grid-template-areas:
            "sf-body"
            "sf-meta"
            "sf-time"
            "sf-finish";
        }
        #storyForm.logged-in-layout #storyBodySection #storyText {
          max-height: none;
        }
        .filter-panel {
          grid-template-columns: 1fr;
        }
        .section-grid,
        .story-type-toggle {
          grid-template-columns: 1fr;
        }
      }
      @media (max-width: 1200px) {
        #storyModal .modal {
          width: min(1080px, 97vw);
        }
      }
      @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 {
          --hud-header-block-h: clamp(64px, 10.5dvh, 86px);
        }
      }
      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 {
        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,
      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:hover,
      .nav-drawer__list button: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 {
        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 .nav-drawer__head h2 {
        color: #4e3b31;
        font-weight: 600;
      }
      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 .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 .spot-shell h2,
      body.site-global .spot-shell .detail-row,
      body.site-global .spot-shell .hint {
        color: #5d4a3f;
      }
      body.site-global .spot-star-glass h2,
      body.site-global .spot-star-glass .detail-row,
      body.site-global .spot-star-glass .hint {
        color: #5d4a3f !important;
      }
      body.site-global .spot-star-glass {
        background: rgba(245, 245, 220, 0.5);
        box-shadow: 0 8px 26px rgba(0, 0, 0, 0.12);
      }
      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 .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;
      }

      /* Místopříběh-specific visual block removed during style cleanup. */
      body.site-mistopribeh .leaflet-control-layers {
        border-radius: 14px;
        border: 1px solid rgba(45, 66, 50, 0.35);
        box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2);
        background: rgba(253, 251, 247, 0.98);
      }
      body.site-mistopribeh .leaflet-control-layers-toggle {
        border-radius: 12px;
        border: 1px solid rgba(45, 66, 50, 0.25);
        background: rgba(253, 251, 247, 0.96);
      }
      body.site-mistopribeh .leaflet-control-layers-expanded {
        padding: 10px 12px 12px;
        background: rgba(253, 251, 247, 0.98);
        color: #1a2820;
        border-radius: 14px;
      }
      body.site-mistopribeh .leaflet-control-layers-expanded label,
      body.site-mistopribeh .leaflet-control-layers-expanded span {
        color: #1a2820 !important;
        font-family: Inter, system-ui, sans-serif;
        letter-spacing: 0.01em;
      }
      body.site-mistopribeh .leaflet-control-layers-separator {
        border-top-color: rgba(45, 66, 50, 0.2);
      }
      body.site-mistopribeh .field-note {
        color: rgba(253, 251, 247, 0.72);
      }
      /* 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 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"] {
          max-width: 170px !important;
        }
        .nav-menu-toggle {
          min-width: 36px !important;
          min-height: 36px !important;
          font-size: 15px !important;
          padding: 0 8px !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;
        }
      }
      body.site-mistopribeh .hint {
        color: rgba(253, 251, 247, 0.78);
      }
      /* 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,
      body.site-mistopribeh .hud-card,
      body.site-mistopribeh .nav-drawer__panel,
      body.site-mistopribeh .modal-backdrop .modal {
        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;
      }
      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,
      body.site-global .hud-skin--side .secondary,
      body.site-global .hud-skin--bottom .secondary,
      body.site-mistopribeh .hud-skin--top .secondary,
      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;
      }
      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 *,
      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). */
      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;
        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;
      }
      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: 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-mistopribeh .hud-card input[type="checkbox"] {
        accent-color: #a0522d !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) + 38px) !important;
        padding: 0 0 2px !important;
      }
      .hud-footer-panel--center {
        order: 1 !important;
        flex: 1 1 auto !important;
        width: calc(100vw - 2px) !important;
        max-width: calc(100vw - 2px) !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-inline: auto !important;
        align-self: flex-end !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: 0.96 !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: calc(var(--hud-edge) + env(safe-area-inset-bottom) + 112px) !important;
      }
      /* 3) Výběr mapy: na úzkém HUD vlevo dole (FAB + panel), na širokém vpravo nahoře pod horní 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;
          /* Nad sloupcem FAB (3×48 + mezery) + stejný odsazení jako .hud-map-corner-actions od patičky */
          bottom: calc(
            var(--hud-edge) + env(safe-area-inset-bottom) + var(--hud-footer-ribbon-h) + 14px + 168px
          ) !important;
          right: auto !important;
          left: var(--hud-edge) !important;
          z-index: 10070 !important;
          pointer-events: auto !important;
        }
      }
      @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) + 70px) !important;
          bottom: auto !important;
          right: var(--hud-edge) !important;
          left: auto !important;
          z-index: 10070 !important;
          pointer-events: auto !important;
        }
        body.site-global .leaflet-control-layers-toggle,
        body.site-mistopribeh .leaflet-control-layers-toggle {
          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) + 16px);
        }
        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;
        }
        body.site-global .leaflet-control-layers-expanded,
        body.site-mistopribeh .leaflet-control-layers-expanded {
          position: relative !important;
          transform: translateY(-124px) !important;
          z-index: 10120 !important;
          padding-top: 32px !important;
        }
        .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: 41px !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 {
        display: none;
      }
      @media (min-width: 1200px) {
        .hud-footer-ribbon {
          left: var(--hud-edge) !important;
          right: auto !important;
          width: min(49.005vw, 831.6px) !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;
        }
        .hud-footer-panel--center {
          width: 100% !important;
          max-width: 100% !important;
          min-height: 36px !important;
          padding: 6px 9px !important;
          border-radius: 14px !important;
          display: flex !important;
          align-items: center !important;
          justify-content: space-between !important;
          gap: 10px !important;
        }
        .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-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: auto !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" */
      #myStoriesModal .modal,
      #myStoriesModal .modal *,
      #municipalStatementsModal .modal,
      #municipalStatementsModal .modal * {
        color: #1a1a1a !important;
      }
      #myStoriesModal .modal,
      #municipalStatementsModal .modal {
        background: rgba(250, 250, 250, 0.96) !important;
        border: 1px solid rgba(0, 0, 0, 0.2) !important;
        width: min(1220px, 96vw) !important;
        max-height: calc(100dvh - 20px) !important;
      }
      #myStoriesModal .field-note,
      #municipalStatementsModal .field-note {
        color: #4b5563 !important;
      }
      #myStoriesModal .story-item,
      #municipalStatementsModal .story-item {
        background: rgba(255, 255, 255, 0.92) !important;
        border: 1px solid rgba(0, 0, 0, 0.2) !important;
      }
      #myStoriesModal .story-item-title,
      #municipalStatementsModal .story-item-title {
        color: #8d4525 !important;
        font-size: calc(1em + 1.5pt) !important;
        font-weight: 700 !important;
      }
      #myStoriesModal .story-item-meta,
      #municipalStatementsModal .story-item-meta {
        color: #374151 !important;
      }
      #myStoriesModal .modal-actions,
      #municipalStatementsModal .modal-actions {
        background: transparent !important;
      }
      /* Červené „Zavřít“ — výrazné i při dlouhém seznamu; přebije #myStoriesModal .modal * kvůli ID. */
      #myStoriesModal #closeMyStoriesBtn.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;
      }
      #myStoriesModal #closeMyStoriesBtn.primary:hover {
        filter: brightness(0.92);
        color: #ffffff !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;
      }
      #municipalStatementsModal {
        z-index: 9998 !important;
      }
      #storyDetailModal {
        z-index: 10080 !important;
      }
      #myStoriesModal #myStoriesSearchInput {
        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;
      }
      #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 {
        gap: 6px !important;
      }
      #myStoriesModal .story-item,
      #municipalStatementsModal .story-item {
        cursor: pointer;
      }
      #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;
      }
      .spot-timeline-modal {
        max-width: 860px;
      }
      .spot-timeline-meta {
        margin-top: -4px;
        margin-bottom: 8px;
      }
      .spot-timeline-scroll {
        max-height: 62vh;
        overflow: auto;
        border: 1px solid rgba(15, 23, 42, 0.12);
        border-radius: 12px;
        background: #fff;
      }
      .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: 8px;
      }
      .spot-timeline-item {
        position: relative;
        background: rgba(255, 255, 255, 0.96);
        border: 1px solid rgba(15, 23, 42, 0.14);
        border-radius: 10px;
        padding: 8px 10px;
      }
      .spot-timeline-item::before {
        content: "";
        position: absolute;
        left: -25px;
        top: 12px;
        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: 8px;
        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-meta {
        margin-top: 4px;
        font-size: 11px;
        color: #475569;
      }
      /* 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 #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 — dvousloupec: meta + hlasování | text (méně rolování celé karty) */
      #storyDetailModal .story-detail-modal {
        width: min(1180px, 96vw) !important;
        max-width: min(1180px, 96vw) !important;
        max-height: calc(100dvh - 20px) !important;
        display: flex !important;
        flex-direction: column !important;
        padding: 10px 12px 10px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
      }
      #storyDetailModal .story-detail-modal > h2 {
        flex: 0 0 auto;
        margin: 0 0 8px !important;
        font-size: 1.15rem !important;
      }
      #storyDetailModal .story-detail-main-wrap {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
      }
      #storyDetailModal .detail-lock-panel {
        flex: 1;
        min-height: 0;
        overflow: auto;
        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);
        gap: 10px 14px;
        align-items: stretch;
      }
      @media (max-width: 720px) {
        #storyDetailModal .story-detail-grid {
          grid-template-columns: 1fr;
        }
        #storyDetailModal .story-detail-text-col {
          min-height: min(42dvh, 320px);
        }
      }
      #storyDetailModal .story-detail-meta-col {
        display: flex;
        flex-direction: column;
        gap: 8px;
        min-width: 0;
        min-height: 0;
        overflow: auto;
      }
      #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(520px, 94vw);
        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 {
        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 {
        flex: 1;
        min-height: 120px;
        overflow: auto;
        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;
      }
      .detail-story-photo-viewer-backdrop {
        z-index: 10060;
        place-items: center;
      }
      #reportStoryModal.report-story-backdrop {
        z-index: 10055;
        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 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-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;
      }
      .curator-tools-grid {
        display: grid;
        gap: 10px;
        margin-top: 12px;
      }
      .curator-tools-grid .field {
        margin: 0;
      }
      .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(920px, 96vw);
        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;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
        gap: 8px !important;
        padding-top: 4px !important;
      }
      #storyDetailModal .story-detail-footer .story-detail-footer-group {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
      }
      #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-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 #reactWithOwnStoryBtn {
        color: #b91c1c !important;
        border-color: rgba(185, 28, 28, 0.55) !important;
        font-weight: 800 !important;
        background: #fff !important;
      }
      #storyDetailModal #reactWithOwnStoryBtn:hover {
        background: #fef2f2 !important;
        color: #991b1b !important;
      }
      @media (max-width: 860px) {
        #storyDetailModal .story-detail-footer {
          grid-template-columns: 1fr;
        }
        #storyDetailModal .story-detail-footer .story-detail-footer-group--center {
          order: 1;
          justify-content: flex-start;
        }
        #storyDetailModal .story-detail-footer .story-detail-footer-group--left {
          order: 2;
        }
        #storyDetailModal .story-detail-footer .story-detail-footer-group--right {
          order: 3;
          justify-content: flex-start;
        }
      }
      #detailVoteHelpModal.detail-vote-help-backdrop {
        z-index: 10120;
        place-items: center;
      }
      #detailVoteHelpModal .detail-vote-help-modal {
        width: min(440px, 92vw);
        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 .detail-vote-section {
        margin-top: 0;
        padding-top: 8px;
        border-top: 1px solid rgba(0, 0, 0, 0.12);
        flex: 0 1 auto;
      }
      #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;
      }
      .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;
        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;
      }
      :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 *,
      .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;
      }
      .secondary,
      .hud-cta-btn.secondary,
      .modal .secondary,
      .hud-top-bar .secondary {
        background: var(--color-bg) !important;
        border: 2px solid var(--color-border) !important;
        color: var(--color-text) !important;
        box-shadow: none !important;
      }
      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: min(1180px, 96vw);
        max-height: calc(100dvh - 16px);
        padding: 10px 12px;
        border-radius: 12px;
      }
      #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 #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;
      }
      #storyModal textarea#storyText {
        min-height: 120px;
        max-height: min(22vh, 200px);
      }
      #storyModal #storyForm.logged-in-layout #storyBodySection #storyText {
        min-height: 100px;
        max-height: min(20vh, 170px);
      }
      #storyModal #storyFinishSection .finish-inner {
        gap: 8px 16px;
      }
      #storyModal #storyForm.logged-in-layout #storyFinishSection .finish-inner {
        gap: 8px;
      }
      #storyModal .author-compact-hint:not(.hidden) {
        margin: 0 0 8px;
        padding: 8px 10px;
        font-size: 12px;
        line-height: 1.35;
      }
      #storyModal .privacy-warning {
        margin-top: 6px;
        padding: 6px 8px;
        font-size: 11px;
        line-height: 1.35;
      }
      #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;
      }
      @media (max-width: 1199px) {
        #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;
        }
        #storyModal .modal {
          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: hidden !important;
        }
        #storyModal .modal > h2,
        #storyModal .modal > .form-legend,
        #storyModal .modal > .author-compact-hint {
          flex: 0 0 auto;
        }
        #storyModal .modal #storyForm {
          flex: 1 1 auto;
          min-height: 0;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
          padding-right: 2px;
        }
        #storyModal .modal > p.hint {
          flex: 0 0 auto;
          margin-top: 6px;
        }
        #storyModal .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;
        }
        #myStoriesModal .modal {
          display: flex !important;
          flex-direction: column !important;
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow: hidden !important;
        }
        #myStoriesModal .modal > h2,
        #myStoriesModal .modal > .detail-row,
        #myStoriesModal .modal > .my-stories-toolbar {
          flex: 0 0 auto;
        }
        #myStoriesModal .modal #myStoriesList {
          flex: 1 1 auto;
          min-height: 0;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
          padding-right: 2px;
        }
        #myStoriesModal .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;
        }
        /* "Plovoucí" zavírací patka u příběhových modalů na mobilu. */
        #storyModal .modal > .modal-actions,
        #myStoriesModal .modal > .modal-actions,
        #municipalStatementsModal .modal > .modal-actions,
        #nearbyStoriesModal .modal > .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 .story-detail-modal {
          max-height: min(calc(100dvh - 16px), calc(100svh - 20px)) !important;
        }
        /* Obsahové stránky (Menu 2) — stejný vzor jako ostatní modaly na kompaktním HUD. */
        #contentPageModal .modal.content-page-modal {
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow: hidden !important;
        }
        #contentPageModal .modal.content-page-modal > h2 {
          flex: 0 0 auto;
        }
        #contentPageModal .content-page-body {
          flex: 1 1 auto;
          min-height: 0;
          -webkit-overflow-scrolling: touch;
        }
        #contentPageModal .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;
        }
      }
      #myProfileModal.modal-backdrop {
        padding: 8px;
      }
      #myProfileModal .modal {
        width: min(1120px, 98vw);
        max-height: calc(100dvh - 16px);
        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(480px, 96vw);
        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 {
        margin: 0 0 4px;
        font-size: 1.25rem;
        line-height: 1.2;
        flex: 0 0 auto;
      }
      #myProfileModal .modal > .hint {
        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;
      }
      .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: 700;
        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;
      }
      body.site-mistopribeh .author-name-link {
        color: #14532d;
      }
      #authorCardModal .modal.author-card-modal {
        width: min(520px, 96vw);
        max-height: calc(100dvh - 24px);
        overflow-y: auto;
      }
      .author-card-modal-actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
        width: 100%;
      }
      #authorCardModal #closeAuthorCardBtn {
        margin-left: auto;
      }
      .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-empty {
        font-size: 13px;
        color: var(--text-muted);
        margin: 4px 0 0;
      }
      #myProfileModal .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;
      }
      .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: 0.88;
        background: rgba(0, 0, 0, 0.05);
      }
      #authModal .auth-mode-tab.auth-mode-tab--login.auth-mode-tab--active {
        background: rgba(59, 130, 246, 0.16);
        border-color: rgba(37, 99, 235, 0.5);
        color: #1e3a8a;
        opacity: 1;
      }
      #authModal .auth-mode-tab.auth-mode-tab--register.auth-mode-tab--active {
        background: rgba(155, 28, 49, 0.14);
        border-color: rgba(127, 29, 29, 0.48);
        color: #7f1d1d;
        opacity: 1;
      }
      @media (max-width: 1199px) {
        #myProfileModal .modal {
          display: flex !important;
          flex-direction: column !important;
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow: hidden !important;
        }
        #myProfileModal .modal > h2,
        #myProfileModal .modal > .hint {
          flex: 0 0 auto;
        }
        #myProfileModal .modal #myProfileForm {
          flex: 1 1 auto;
          min-height: 0;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
          padding-right: 2px;
        }
        #myProfileModal .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;
        }
        #superAdminModal .super-admin-modal {
          max-height: min(100dvh - 20px, 100svh - 24px) !important;
        }
        #authModal .modal,
        #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;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
          padding-right: 2px;
        }
        #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 .password-field-with-toggle,
        .modal .password-field-with-toggle {
          display: flex;
          gap: 8px;
          align-items: stretch;
          flex-wrap: nowrap;
        }
        #authModal .password-field-with-toggle input,
        .modal .password-field-with-toggle input {
          flex: 1 1 auto;
          min-width: 0;
        }
        #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;
        }
        .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(59, 130, 246, 0.12);
          border-color: rgba(37, 99, 235, 0.32);
          color: #1e3a8a;
        }
        .nav-drawer--account .nav-drawer__list .account-proxy-btn--login:hover,
        .nav-drawer--account .nav-drawer__list .account-proxy-btn--login:focus-visible {
          background: rgba(59, 130, 246, 0.2);
          border-color: rgba(37, 99, 235, 0.5);
        }
        .nav-drawer--account .nav-drawer__list .account-proxy-btn--register {
          background: rgba(155, 28, 49, 0.1);
          border-color: rgba(127, 29, 29, 0.32);
          color: #7f1d1d;
        }
        .nav-drawer--account .nav-drawer__list .account-proxy-btn--register:hover,
        .nav-drawer--account .nav-drawer__list .account-proxy-btn--register:focus-visible {
          background: rgba(155, 28, 49, 0.16);
          border-color: rgba(127, 29, 29, 0.48);
        }
        .nav-drawer--account .nav-drawer__list .account-drawer-logout-btn {
          width: 100%;
          justify-content: center;
          text-align: center;
          background: rgba(185, 28, 28, 0.08);
          border: 2px solid rgba(185, 28, 28, 0.42);
          color: #991b1b;
          font-weight: 700;
        }
        .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(185, 28, 28, 0.14);
          border-color: rgba(153, 27, 27, 0.62);
        }
        #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: hidden !important;
        }
        #curatorSupportModal .modal > h2 {
          flex: 0 0 auto;
        }
        #curatorSupportModal .curator-support-body {
          flex: 1 1 auto;
          min-height: 0;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
          padding-right: 2px;
        }
        #curatorSupportModal .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;
        }
        #spotModal .modal.spot-shell {
          width: calc(100vw - 16px);
          max-width: calc(100vw - 16px);
          margin-inline: auto;
          box-sizing: border-box;
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
        }
        #spotModal .modal.spot-shell .modal-actions {
          position: sticky;
          bottom: 0;
          z-index: 6;
          margin-top: 10px;
          padding: 10px 8px max(8px, env(safe-area-inset-bottom));
          border-radius: 12px;
          border: 1px solid rgba(0, 0, 0, 0.16);
          background: rgba(255, 255, 255, 0.98) !important;
          box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.14);
        }
        #spotModal .spot-star-glass,
        #spotModal .story-list-panel {
          width: 100%;
          max-width: 100%;
          margin-left: auto;
          margin-right: auto;
          box-sizing: border-box;
        }
        #spotModal .category-grid,
        #spotModal .spot-star-intro {
          width: 100%;
          max-width: 100%;
          margin-left: auto;
          margin-right: auto;
          box-sizing: border-box;
        }
        #spotModal .story-list-panel,
        #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;
        }
        #spotTimelineModal .modal.spot-timeline-modal {
          display: flex !important;
          flex-direction: column !important;
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow: hidden !important;
        }
        #spotTimelineModal .modal.spot-timeline-modal > h2,
        #spotTimelineModal .modal.spot-timeline-modal > .field,
        #spotTimelineModal .modal.spot-timeline-modal > #spotTimelineMeta {
          flex: 0 0 auto;
        }
        #spotTimelineModal #spotTimelineList {
          flex: 1 1 auto;
          min-height: 0;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
          padding-right: 2px;
        }
        #spotTimelineModal .modal.spot-timeline-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;
        }
        #nearbyStoriesModal .modal.nearby-stories-modal {
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
          display: block !important;
        }
        #watchPlaceModal .modal {
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
        }
        #municipalStatementsModal .modal {
          display: flex !important;
          flex-direction: column !important;
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow: hidden !important;
        }
        #municipalStatementsModal .modal > h2,
        #municipalStatementsModal .modal > .detail-row,
        #municipalStatementsModal .modal > .my-stories-toolbar {
          flex: 0 0 auto;
        }
        #municipalStatementsModal #municipalStatementsList {
          flex: 1 1 auto;
          min-height: 0;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
          padding-right: 2px;
        }
        #municipalStatementsModal .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;
        }
        #contactAuthorModal .modal {
          display: flex !important;
          flex-direction: column !important;
          max-height: min(100dvh - 16px, 100svh - 20px) !important;
          overflow: hidden !important;
        }
        #contactAuthorModal .modal > h2,
        #contactAuthorModal .modal > .hint {
          flex: 0 0 auto;
        }
        #contactAuthorModal .modal #contactAuthorForm {
          flex: 1 1 auto;
          min-height: 0;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
          padding-right: 2px;
        }
        #contactAuthorModal .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;
        }
        #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(100dvh - 16px, 100svh - 20px) !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(1020px, 97vw);
        }
      }
      /* 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 .author-compact-hint:not(.hidden) {
        padding: 8px 10px;
      }
      .super-admin-modal {
        width: min(980px, 90vw) !important;
        max-width: min(980px, 90vw) !important;
        max-height: calc(100dvh - 20px) !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        font-size: 12px;
        background: #fff4e6 !important;
        border: 1px solid #f4d4a8 !important;
      }
      #superAdminModal .super-admin-modal {
        background: #fff4e6 !important;
      }
      .super-admin-tabs {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin-bottom: 8px;
      }
      .super-admin-tab.is-active {
        border-color: #374151 !important;
        background: #1f2937 !important;
        color: #f9fafb !important;
      }
      .super-admin-panel {
        flex: 1 1 auto;
        min-height: 0;
        overflow: auto;
        padding: 0 0 8px;
      }
      .super-admin-modal h2 {
        font-size: 30px;
      }
      .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;
      }
      #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: 11px;
        padding: 6px 9px;
      }
      .super-admin-modal .modal-actions {
        gap: 6px;
      }
      #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;
      }
      #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 #f1dcc2;
        border-radius: 10px;
        padding: 8px;
      }
      #superAdminModal #superAdminTabGeneral > .section-grid {
        background: #fff1dc;
      }
      #superAdminModal #superAdminTabContent > .admin-builder-card:nth-of-type(1) {
        background: #f8f4ff;
      }
      #superAdminModal #superAdminTabContent > .admin-builder-card:nth-of-type(2) {
        background: #fff1f1;
      }
      #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 (backdrop 9999) — musí být mimo .super-admin-modal (overflow:hidden ořezává fixed). */
      .admin-page-editor-window {
        position: fixed;
        z-index: 11000;
        left: 12vw;
        top: 14vh;
        width: min(760px, 76vw);
        height: min(620px, 72vh);
        min-width: 420px;
        min-height: 320px;
        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);
        resize: both;
        overflow: hidden;
        display: flex;
        flex-direction: column;
      }
      .admin-page-editor-window.is-maximized {
        resize: none !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;
      }
      .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;
      }
      .admin-page-editor-window.is-minimized {
        height: 44px !important;
        min-height: 44px !important;
        resize: none;
      }
      .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 .modal-actions button {
        font-size: 12px;
      }
      .checkbox-row {
        display: flex;
        align-items: center;
        gap: 8px;
      }
      .checkbox-row input[type="checkbox"] {
        margin: 0;
      }
      .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;
      }
      .admin-hidden-json {
        display: none !important;
      }
    