/**
 * Design tokens — jedna paleta + font pro celý produkt.
 * Načítat před page-specific CSS (app-layout, spa styly).
 */
:root {
    --font-sans: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
    /* FlekMatch brand — Indigo (#3A2E7A) + zářivá Tyrkysová */
    --color-primary-indigo: #3A2E7A;
    --color-primary-teal: #4CE0C3;
    /* Alias: brand vs UI indigo — ať se nerozjíždí */
    --brand-indigo: var(--color-primary-indigo);
    /* Oblíbená žlutá / amber — CTA, tip (logo Match zůstává teal) */
    --color-accent-amber: #f59e0b;
    --color-accent-amber-hover: #d97706;
    --color-accent-amber-soft: rgba(245, 158, 11, 0.21);
    --color-accent-amber-glow: rgba(245, 158, 11, 0.32);
    /* Brand text / wordmark: Indigo → Teal (bez amber ve středu) */
    --brand-gradient: linear-gradient(
        135deg,
        var(--color-primary-indigo) 0%,
        var(--color-primary-teal) 100%
    );
    --brand-gradient-cta: linear-gradient(
        135deg,
        #4f46e5 0%,
        var(--color-accent-amber) 100%
    );
    --sidebar-bg: var(--color-primary-indigo);
    --sidebar-text: #ffffff;
    --sidebar-active: #ffffff;
    --sidebar-hover: rgba(255, 255, 255, 0.08);
    /* Šířka desktop sidebaru — layout + swipe expand overlay */
    --sidebar-width: 260px;
    --main-bg: #f7f8fc;
    --surface: #ffffff;
    --text: #0f172a;
    --muted: #64748b;
    /* UI akcenty (odkazy/tlačítka) — světlejší indigo než brand sidebar */
    --indigo: #4F46E5;
    --ui-indigo: var(--indigo);
    --indigo-hover: #4338ca;
    --indigo-dark: #4338ca;
    --indigo-text: #4338ca;
    --indigo-soft: #eef2ff;
    --border: #e2e8f0;
    /* Jednotný stav vybrané bubliny/chipu (filtry, profil, Partáci, sidebar) */
    --chip-selected-bg: var(--indigo);
    --chip-selected-bg-gradient: linear-gradient(135deg, #4f46e5 0%, #6366f1 100%);
    --chip-selected-text: #ffffff;
    --chip-selected-border: var(--indigo);
    --chip-selected-shadow: 0 6px 14px rgba(79, 70, 229, 0.2);
    --chip-selected-ring: rgba(79, 70, 229, 0.55);
    --chip-selected-hover-border: #818cf8;
    --chip-selected-soft-bg: var(--indigo-soft);
    --chip-selected-soft-text: var(--indigo-text);
    --metro-a: #00963f;
    --metro-b: #ffbe0b;
    --metro-c: #e30613;
    --green: #22c55e;
    --danger: #dc2626;
    --danger-soft: #fef2f2;
    --bubble-them: #e2e8f0;
    --red: #ef4444;
    --radius-lg: 1rem;
    --radius-pill: 999px;
    --bp-mobile-max: 767.98px;
    --bp-desktop-min: 768px;
    /* Tip / boost — amber paleta */
    --boost-border: var(--color-accent-amber);
    --boost-border-strong: var(--color-accent-amber-hover);
    --boost-bg: #fffbeb;
    --boost-bg-mid: #ffffff;
    --boost-text: #92400e;
    --boost-badge-bg: #fef3c7;
    --boost-badge-border: #fcd34d;
    --boost-shadow: 0 12px 28px rgba(245, 158, 11, 0.18), 0 4px 12px rgba(15, 23, 42, 0.06);
    --boost-shadow-hover: 0 16px 32px rgba(245, 158, 11, 0.22), 0 6px 16px rgba(15, 23, 42, 0.08);
    /* Landing surface tokens (light) */
    --fm-page: #f7f8fc;
    --fm-surface: #ffffff;
    --fm-text: #0f172a;
    --fm-muted: #64748b;
    --fm-indigo: var(--color-primary-indigo);
    --fm-teal: var(--color-primary-teal);
    --fm-amber: var(--color-accent-amber);
    --fm-amber-hover: var(--color-accent-amber-hover);
    --fm-glass: rgba(255, 255, 255, 0.82);
    --fm-glass-border: rgba(58, 46, 122, 0.08);
    --fm-glow-teal: rgba(76, 224, 195, 0.22);
    --fm-glow-indigo: rgba(58, 46, 122, 0.12);
    /* Amber glow silnější — třetí tón tria nesmí zmizet v indigo/teal wash */
    --fm-glow-amber: rgba(245, 158, 11, 0.30);
    --fm-hero-wash: linear-gradient(180deg, #ffffff 0%, var(--fm-page) 55%, #f3fffb 100%);
    /* Globální page wash (body / .main) — light: jemný mesh trio */
    --app-bg-color: #f7f8fc;
    --app-glow-teal: rgba(76, 224, 195, 0.20);
    --app-glow-amber: rgba(245, 158, 11, 0.16);
    --app-glow-indigo: rgba(58, 46, 122, 0.09);
    --app-bg-image:
        radial-gradient(ellipse 78% 58% at 6% -4%, var(--app-glow-teal), transparent 56%),
        radial-gradient(ellipse 62% 52% at 96% 4%, var(--app-glow-amber), transparent 54%),
        radial-gradient(ellipse 58% 48% at 48% 105%, var(--app-glow-indigo), transparent 58%),
        radial-gradient(ellipse 40% 32% at 70% 40%, rgba(76, 224, 195, 0.08), transparent 70%),
        linear-gradient(165deg, #ffffff 0%, #f7f8fc 42%, #f3fffb 78%, #faf8ff 100%);
}

/**
 * Dark režim:
 * - --text / --muted zůstávají tmavé (bílé karty, filtry, auth).
 * - --canvas-text pro text přímo na --main-bg (nadpisy mimo karty).
 * - Landing používá --fm-* (světlý text na tmavém pozadí).
 */
html[data-theme="dark"] {
    color-scheme: dark;
    --main-bg: #070b16;
    --surface: #ffffff;
    --text: #0f172a;
    --muted: #64748b;
    --border: #e2e8f0;
    --bubble-them: #e2e8f0;
    --canvas-text: #f1f5f9;
    --canvas-muted: rgba(226, 232, 240, 0.78);
    --indigo-soft: #eef2ff;
    --fm-page: #070b16;
    --fm-surface: #0f172a;
    --fm-text: #f8fafc;
    --fm-muted: rgba(226, 232, 240, 0.82);
    --fm-indigo: #c4b5fd;
    --fm-teal: #5eead4;
    --fm-amber: var(--color-accent-amber);
    --fm-amber-hover: var(--color-accent-amber-hover);
    --fm-glass: rgba(15, 23, 42, 0.72);
    --fm-glass-border: rgba(248, 250, 252, 0.1);
    --fm-glow-teal: rgba(45, 212, 191, 0.2);
    --fm-glow-indigo: rgba(129, 140, 248, 0.18);
    --fm-glow-amber: rgba(245, 158, 11, 0.34);
    --fm-hero-wash: linear-gradient(165deg, #070b16 0%, #0f172a 48%, #0b1224 100%);
    /* Dark: stejný Match Night wash jako dřív, přes sdílené --app-bg-* */
    --app-bg-color: #070b16;
    --app-glow-teal: var(--fm-glow-teal);
    --app-glow-amber: var(--fm-glow-amber);
    --app-glow-indigo: var(--fm-glow-indigo);
    --app-bg-image:
        radial-gradient(ellipse 70% 50% at 12% 8%, var(--app-glow-teal), transparent 58%),
        radial-gradient(ellipse 55% 45% at 88% 14%, var(--app-glow-amber), transparent 55%),
        radial-gradient(ellipse 50% 40% at 50% 100%, var(--app-glow-indigo), transparent 60%),
        var(--fm-hero-wash);
}

@media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]) {
        color-scheme: dark;
        --main-bg: #070b16;
        --surface: #ffffff;
        --text: #0f172a;
        --muted: #64748b;
        --border: #e2e8f0;
        --bubble-them: #e2e8f0;
        --canvas-text: #f1f5f9;
        --canvas-muted: rgba(226, 232, 240, 0.78);
        --indigo-soft: #eef2ff;
        --fm-page: #070b16;
        --fm-surface: #0f172a;
        --fm-text: #f8fafc;
        --fm-muted: rgba(226, 232, 240, 0.82);
        --fm-indigo: #c4b5fd;
        --fm-teal: #5eead4;
        --fm-amber: var(--color-accent-amber);
        --fm-amber-hover: var(--color-accent-amber-hover);
        --fm-glass: rgba(15, 23, 42, 0.72);
        --fm-glass-border: rgba(248, 250, 252, 0.1);
        --fm-glow-teal: rgba(45, 212, 191, 0.2);
        --fm-glow-indigo: rgba(129, 140, 248, 0.18);
        --fm-glow-amber: rgba(245, 158, 11, 0.34);
        --fm-hero-wash: linear-gradient(165deg, #070b16 0%, #0f172a 48%, #0b1224 100%);
        --app-bg-color: #070b16;
        --app-glow-teal: var(--fm-glow-teal);
        --app-glow-amber: var(--fm-glow-amber);
        --app-glow-indigo: var(--fm-glow-indigo);
        --app-bg-image:
            radial-gradient(ellipse 70% 50% at 12% 8%, var(--app-glow-teal), transparent 58%),
            radial-gradient(ellipse 55% 45% at 88% 14%, var(--app-glow-amber), transparent 55%),
            radial-gradient(ellipse 50% 40% at 50% 100%, var(--app-glow-indigo), transparent 60%),
            var(--fm-hero-wash);
    }
}

/* Text na tmavém plátně (mimo bílé karty) */
html[data-theme="dark"] body {
    color: var(--canvas-text, #f1f5f9);
}

@media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]) body {
        color: var(--canvas-text, #f1f5f9);
    }
}

html[data-theme="light"] body {
    color: var(--text, #0f172a);
}

html[data-theme="dark"] .content-heading,
html[data-theme="dark"] .content-heading h1,
html[data-theme="dark"] .content-heading .page-title,
html[data-theme="dark"] .page-title,
html[data-theme="dark"] .board-header .content-heading {
    color: var(--canvas-text, #f1f5f9);
}

html[data-theme="dark"] .content-heading .muted,
html[data-theme="dark"] .board-subtitle,
html[data-theme="dark"] .page-subtitle {
    color: var(--canvas-muted, rgba(226, 232, 240, 0.78));
}

/*
 * Nadpisy uvnitř bílých karet NESMÍ používat canvas-text
 * (jinak „Vytvořit novou nabídku…“ zmizí na bílém pozadí).
 */
html[data-theme="dark"] .listing-card .content-heading,
html[data-theme="dark"] .listing-card .content-heading h1,
html[data-theme="dark"] .listing-card .content-heading .page-title,
html[data-theme="dark"] .listing-card h1,
html[data-theme="dark"] .listing-card h2,
html[data-theme="dark"] .listing-card .page-title,
html[data-theme="dark"] .listing-card .form-section-title,
html[data-theme="dark"] .feed-card .content-heading,
html[data-theme="dark"] .feed-card h1,
html[data-theme="dark"] .feed-card h2,
html[data-theme="dark"] .board-card .content-heading,
html[data-theme="dark"] .board-card h1,
html[data-theme="dark"] .board-card .page-title,
html[data-theme="dark"] .settings-card .content-heading,
html[data-theme="dark"] .settings-card h1,
html[data-theme="dark"] .profile-card .content-heading,
html[data-theme="dark"] .profile-card h1,
html[data-theme="dark"] .profile-card-panel .content-heading,
html[data-theme="dark"] .profile-card-panel h1,
html[data-theme="dark"] .profile-card-panel h2,
html[data-theme="dark"] .profile-card-panel .profile-prefs-title,
html[data-theme="dark"] .profile-card-panel label,
html[data-theme="dark"] .modal .content-heading,
html[data-theme="dark"] .modal h1,
html[data-theme="dark"] .modal-panel .content-heading,
html[data-theme="dark"] .modal-panel h1,
html[data-theme="dark"] .listing-manage-dialog h1,
html[data-theme="dark"] .listing-manage-dialog h2,
html[data-theme="dark"] .listing-manage-title {
    color: var(--text, #0f172a) !important;
}

html[data-theme="dark"] .listing-card .content-heading .muted,
html[data-theme="dark"] .listing-card .page-subtitle,
html[data-theme="dark"] .listing-card .field-hint,
html[data-theme="dark"] .listing-card .field label {
    color: #334155 !important;
}

html[data-theme="dark"] .listing-card .form-section-title {
    color: #4338ca !important;
}

/* Bílé popovery / tooltips — vždy tmavý ink (nesmí zdědit canvas-text) */
.fm-popover,
html[data-theme="dark"] .fm-popover {
    color: #0f172a;
    background: #fff;
    border: 1px solid #e2e8f0;
}

html[data-theme="dark"] .fm-popover,
html[data-theme="dark"] .board-info-icon > p,
html[data-theme="dark"] .notif-popover,
html[data-theme="dark"] .notif-popover-title,
html[data-theme="dark"] .notif-popover-body,
html[data-theme="dark"] .notif-popover-empty,
html[data-theme="dark"] [role="tooltip"],
html[data-theme="dark"] .share-menu,
html[data-theme="dark"] .feed-share-menu,
html[data-theme="dark"] .feed-share-menu-item,
html[data-theme="dark"] .feed-share-menu-label,
html[data-theme="dark"] .feed-share-menu-recipient,
html[data-theme="dark"] .sp-report-dialog {
    color: #0f172a;
}

html[data-theme="dark"] .board-info-icon > p,
html[data-theme="dark"] .notif-popover-body,
html[data-theme="dark"] .notif-popover-empty {
    color: #334155;
}

html[data-theme="dark"] .board-info-icon > summary {
    border-color: rgba(248, 250, 252, 0.45);
    background: #1e293b;
    color: #f8fafc;
}

/* Bílé / světlé panely: vždy tmavý ink (i když body má canvas-text) */
html[data-theme="dark"] .feed-card,
html[data-theme="dark"] .apartment-card,
html[data-theme="dark"] .roommate-card,
html[data-theme="dark"] .listing-card,
html[data-theme="dark"] .form-wrap .listing-card,
html[data-theme="dark"] .filters,
html[data-theme="dark"] .filter-panel,
html[data-theme="dark"] .filter-sheet,
html[data-theme="dark"] .filters-panel,
html[data-theme="dark"] .dashboard-filter-panel,
html[data-theme="dark"] .modal,
html[data-theme="dark"] .modal-panel,
html[data-theme="dark"] .detail-panel,
html[data-theme="dark"] .liked-panel,
html[data-theme="dark"] .map-card,
html[data-theme="dark"] .board-card,
html[data-theme="dark"] .spa-auth,
html[data-theme="dark"] .auth-card,
html[data-theme="dark"] .settings-card,
html[data-theme="dark"] .settings-panel,
html[data-theme="dark"] .profile-card,
html[data-theme="dark"] .profile-card-panel,
html[data-theme="dark"] .landlord-panel,
html[data-theme="dark"] .landlord-card,
html[data-theme="dark"] .manage-card,
html[data-theme="dark"] .chat-panel,
html[data-theme="dark"] .messages-pane,
html[data-theme="dark"] .composer,
html[data-theme="dark"] .lang-switcher__menu,
html[data-theme="dark"] .listing-manage-dialog,
html[data-theme="dark"] .listing-modal,
html[data-theme="dark"] .community-modal-detail,
html[data-theme="dark"] .community-modal,
html[data-theme="dark"] .sp-report-dialog {
    color: var(--text, #0f172a);
}

/* Hinty + odkazy uvnitř bílých karet — nikdy canvas-muted / canvas-text */
html[data-theme="dark"] .listing-card .field-hint,
html[data-theme="dark"] .listing-card a,
html[data-theme="dark"] .profile-card .field-hint,
html[data-theme="dark"] .profile-card a,
html[data-theme="dark"] .profile-card-panel .field-hint,
html[data-theme="dark"] .profile-card-panel .field-hint span,
html[data-theme="dark"] .profile-card-panel .profile-verify-status:not(.is-verified),
html[data-theme="dark"] .settings-card .field-hint,
html[data-theme="dark"] .settings-card a,
html[data-theme="dark"] .settings-card .settings-card-desc,
html[data-theme="dark"] .settings-panel .field-hint,
html[data-theme="dark"] .settings-panel a,
html[data-theme="dark"] .board-card .field-hint,
html[data-theme="dark"] .board-card a,
html[data-theme="dark"] .landlord-panel .field-hint,
html[data-theme="dark"] .landlord-panel a,
html[data-theme="dark"] .landlord-panel p,
html[data-theme="dark"] .landlord-plus-card,
html[data-theme="dark"] .landlord-plus-card p,
html[data-theme="dark"] .landlord-plus-card .landlord-plus-text,
html[data-theme="dark"] .manage-card .field-hint,
html[data-theme="dark"] .manage-card a {
    color: #475569 !important;
}

html[data-theme="dark"] .listing-card a,
html[data-theme="dark"] .profile-card a,
html[data-theme="dark"] .profile-card-panel a,
html[data-theme="dark"] .settings-card a,
html[data-theme="dark"] .settings-panel a,
html[data-theme="dark"] .board-card a,
html[data-theme="dark"] .landlord-panel a,
html[data-theme="dark"] .landlord-plus-card a,
html[data-theme="dark"] .manage-card a {
    color: #4338ca !important;
}

html[data-theme="dark"] .profile-card-panel .profile-verify-status.is-verified {
    color: #15803d !important;
}

/* Auth SPA: canvas text jen bez karty; .spa-auth-card = bílý povrch (dark-white-surfaces) */
html[data-theme="dark"] .spa-auth:not(:has(.spa-auth-card)),
html[data-theme="dark"] .spa-auth:not(:has(.spa-auth-card)) h1 {
    color: var(--canvas-text, #f1f5f9) !important;
}
html[data-theme="dark"] .spa-auth:not(:has(.spa-auth-card)) .spa-auth-lead,
html[data-theme="dark"] .spa-auth:not(:has(.spa-auth-card)) .spa-auth-form label {
    color: var(--canvas-muted, rgba(226, 232, 240, 0.82)) !important;
}
html[data-theme="dark"] .spa-auth-card,
html[data-theme="dark"] .spa-auth-card h1 {
    color: #0f172a !important;
}
html[data-theme="dark"] .spa-auth-card .spa-auth-lead,
html[data-theme="dark"] .spa-auth-card .spa-auth-divider {
    color: #64748b !important;
}
html[data-theme="dark"] .spa-auth-card .spa-auth-form label,
html[data-theme="dark"] .spa-auth-card .spa-auth-footer,
html[data-theme="dark"] .spa-auth-card .spa-auth-footer a,
html[data-theme="dark"] .spa-auth-card .spa-auth-legal {
    color: #334155 !important;
}

/**
 * Globální motiv pozadí (light + dark) — mesh trio přes --app-bg-*.
 * !important: page CSS často přepisuje body/main shorthandem `background: var(--main-bg)`.
 */
html:not([data-theme="dark"]) body,
html:not([data-theme="dark"]) .main,
html[data-theme="light"] body,
html[data-theme="light"] .main {
    background-color: var(--app-bg-color, #f7f8fc) !important;
    background-image: var(--app-bg-image) !important;
    background-attachment: fixed !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

html[data-theme="dark"] body,
html[data-theme="dark"] .main {
    background-color: var(--app-bg-color, #070b16) !important;
    background-image: var(--app-bg-image) !important;
    background-attachment: fixed !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

@media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]) body,
    html:not([data-theme="light"]) .main {
        background-color: var(--app-bg-color, #070b16) !important;
        background-image: var(--app-bg-image) !important;
        background-attachment: fixed !important;
        background-repeat: no-repeat !important;
        background-size: cover !important;
    }
}

/**
 * Filtry / bílé panely: color-scheme light (jinak UA kreslí tmavé spin-buttony).
 * Number šipky schovat vždy — v dark vypadaly jako černé boxy u Kč.
 */
.filter-panel,
.filters,
.dashboard-filter-panel,
.filter-sheet,
.listing-card,
.profile-card-panel,
.settings-card,
.landlord-plus-card,
.listing-manage-dialog,
.listing-manage-modal,
.price-range-card,
.price-range-input-wrap,
.fm-popover {
    color-scheme: light;
}

.filter-field input[type="number"],
.filter-panel input[type="number"],
.filters input[type="number"],
.dashboard-filter-panel input[type="number"],
.price-range-input,
input.price-range-input[type="number"] {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

.filter-field input[type="number"]::-webkit-inner-spin-button,
.filter-field input[type="number"]::-webkit-outer-spin-button,
.filter-panel input[type="number"]::-webkit-inner-spin-button,
.filter-panel input[type="number"]::-webkit-outer-spin-button,
.filters input[type="number"]::-webkit-inner-spin-button,
.filters input[type="number"]::-webkit-outer-spin-button,
.dashboard-filter-panel input[type="number"]::-webkit-inner-spin-button,
.dashboard-filter-panel input[type="number"]::-webkit-outer-spin-button,
.price-range-input::-webkit-inner-spin-button,
.price-range-input::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    display: none !important;
    margin: 0 !important;
    width: 0 !important;
    height: 0 !important;
    background: none !important;
    border: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

html[data-theme="dark"] .filter-option input[type="checkbox"],
html[data-theme="dark"] .filter-panel input[type="checkbox"],
html[data-theme="dark"] .filters input[type="checkbox"],
html[data-theme="dark"] .dashboard-filters input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 1.05rem;
    height: 1.05rem;
    margin: 0;
    flex-shrink: 0;
    border: 2px solid #0f172a;
    border-radius: 0.28rem;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
    vertical-align: middle;
}

html[data-theme="dark"] .filter-option input[type="checkbox"]:checked,
html[data-theme="dark"] .filter-panel input[type="checkbox"]:checked,
html[data-theme="dark"] .filters input[type="checkbox"]:checked,
html[data-theme="dark"] .dashboard-filters input[type="checkbox"]:checked {
    background-color: var(--color-primary-indigo, #3A2E7A);
    border-color: var(--color-primary-indigo, #3A2E7A);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.2l3 3 6-6'/%3E%3C/svg%3E");
    background-size: 0.78rem 0.78rem;
    background-position: center;
    background-repeat: no-repeat;
}

html[data-theme="dark"] .filter-option input[type="checkbox"]:focus-visible,
html[data-theme="dark"] .filter-panel input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--color-accent-amber, #f59e0b);
    outline-offset: 2px;
}

/* Správa inzerátu: bílý dialog → tmavý ink (ne canvas-text) */
html[data-theme="dark"] .listing-manage-dialog {
    color: #0f172a !important;
}

html[data-theme="dark"] .listing-manage-title {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
}

html[data-theme="dark"] .listing-manage-meta,
html[data-theme="dark"] .listing-manage-desc,
html[data-theme="dark"] .listing-manage-boost-hint,
html[data-theme="dark"] .listing-stat span {
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
}

html[data-theme="dark"] .listing-manage-boost,
html[data-theme="dark"] .listing-manage-boost-label,
html[data-theme="dark"] .listing-manage-boost-row select {
    color: #78350f !important;
    -webkit-text-fill-color: #78350f !important;
}

html[data-theme="dark"] .listing-manage-photo {
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
    background: #e2e8f0 !important;
}

html[data-theme="dark"] .listing-stat strong {
    color: #4f46e5 !important;
    -webkit-text-fill-color: #4f46e5 !important;
}

html[data-theme="dark"] .listing-manage-btn--edit,
html[data-theme="dark"] .listing-manage-btn--boost {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

html[data-theme="dark"] .listing-manage-btn--delete {
    color: #b91c1c !important;
    -webkit-text-fill-color: #b91c1c !important;
}

/* Systémový dark bez data-theme: stejný ink uvnitř bílého manage dialogu */
@media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]) .listing-manage-dialog {
        color: #0f172a !important;
    }

    html:not([data-theme="light"]) .listing-manage-title {
        color: #0f172a !important;
        -webkit-text-fill-color: #0f172a !important;
    }

    html:not([data-theme="light"]) .listing-manage-meta,
    html:not([data-theme="light"]) .listing-manage-desc,
    html:not([data-theme="light"]) .listing-manage-boost-hint,
    html:not([data-theme="light"]) .listing-stat span {
        color: #475569 !important;
        -webkit-text-fill-color: #475569 !important;
    }

    html:not([data-theme="light"]) .listing-stat strong {
        color: #4f46e5 !important;
        -webkit-text-fill-color: #4f46e5 !important;
    }
}

/**
 * Brand text gradient Indigo → Teal (H1 hero, wordmark) — bez amber.
 */
.text-gradient {
    background: var(--brand-gradient);
    background-image: linear-gradient(
        90deg,
        var(--color-primary-indigo) 0%,
        var(--color-primary-teal) 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

html {
    font-family: var(--font-sans);
    /* Form controls (range, checkbox native) — jemný amber akcent napříč app */
    accent-color: var(--color-accent-amber);
}

/**
 * Primární amber CTA (Hledám flek, Accept cookies, …) — sdílený surface.
 */
.btn-amber,
.fm-btn-amber {
    background: var(--color-accent-amber);
    color: #0f172a;
    border: 2px solid var(--color-accent-amber);
    box-shadow: 0 10px 24px var(--color-accent-amber-glow, rgba(245, 158, 11, 0.32));
}

.btn-amber:hover,
.btn-amber:focus-visible,
.fm-btn-amber:hover,
.fm-btn-amber:focus-visible {
    background: #fbbf24;
    border-color: #fbbf24;
    outline: none;
}

/* Trust badge — ověřený e-mail / admin verified (byty + Partáci) */
.trust-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.45rem;
    border-radius: var(--radius-pill);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #166534;
    background: #dcfce7;
    border: 1px solid #86efac;
}

.trust-badge[hidden] {
    display: none !important;
}

.feed-name-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
}
